M8-007M8: ML Systems, Engineering & ResearchML System Design FrameworkHard
Mastery:
ML System Design Framework: 设计一个 LLM Agent 服务系统。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 规划 + 工具调用 + 记忆 + 护栏;关键是成本/延迟控制、失败恢复、以及安全(提示注入)。
📌 Key Takeaways
- •架构:规划、工具、记忆(短期/长期)、护栏
- •成本/延迟:轮数 × 上下文 × 单价;用压缩/分级/缓存控制
- •安全:工具权限最小化、高风险确认、防提示注入
📐 Mathematical Derivations
数学机理:<strong>LLM Agent 服务系统的设计</strong>(结合 M5 的 Agent 题)——(1) <strong>核心循环</strong>——(a) <strong>规划</strong>(任务分解、TODO 列表);(b) <strong>工具调用</strong>(function calling,JSON Schema 约束);(c) <strong>观察</strong>(工具返回,需处理长结果);(d) <strong>循环</strong>直到完成;<strong>(e) 关键</strong>——<strong>显式计划 + 重规划</strong>(防迷路)。(2) <strong>记忆</strong>——(a) <strong>短期</strong>(上下文窗口);(b) <strong>长期</strong>(外部存储:向量库/文件/数据库);(c) <strong>工作记忆</strong>(任务状态、TODO);(d) <strong>上下文管理</strong>(压缩/摘要/检索);<strong>关键</strong>——'上下文是稀缺资源'(成本 ∝ 轮数 × 上下文,且随轮数超线性 O(R²))。(3) <strong>工具层</strong>——(a) <strong>工具设计</strong>(描述清晰、参数扁平、返回结构化);(b) <strong>权限最小化</strong>(不能读密钥/发外部请求);(c) <strong>错误可恢复</strong>(错误信息回填);(d) <strong>并行调用</strong>(互不依赖的并行);(e) <strong>工具数量控制</strong>(太多则选择错误率高 → 用检索筛选工具)。(4) <strong>护栏</strong>——(a) <strong>输入过滤</strong>(有害请求、注入尝试);(b) <strong>模型对齐</strong>(拒答有害);(c) <strong>输出过滤</strong>(有害内容、隐私);(d) <strong>运行时</strong>(限流、审计、人工升级);(e) <strong>提示注入防护</strong>(<strong>Agent 的头号风险</strong>:数据中藏指令 → 用标记区分数据与指令 + 权限最小化 + 高风险确认)。(5) <strong>成本与延迟控制</strong>——(a) <strong>成本结构</strong>——O(轮数²)(每轮带完整历史);(b) <strong>控制手段</strong>——(i) <strong>上下文压缩</strong>(摘要/丢弃/外部存储);(ii) <strong>模型分级</strong>(简单步骤用小模型);(iii) <strong>缓存</strong>(前缀缓存/结果缓存);(iv) <strong>并行化</strong>(并行工具/子任务);(v) <strong>预算上限</strong>(最大轮数/token 预算);(vi) <strong>减少轮次</strong>(更好的工具与规划)。(6) <strong>可观测性</strong>——(a) <strong>全链路日志</strong>(每步的输入/输出/工具调用);(b) <strong>指标</strong>(任务成功率、轮数、成本、延迟);(c) <strong>失败分析</strong>(循环/选错工具/忽略观察/目标漂移)。<strong>关键决策</strong>——(a) <strong>单 Agent vs 多 Agent</strong>(多 Agent 常被高估——收益部分来自更多算力);(b) <strong>工具粒度</strong>(粗粒度省轮次、细粒度更灵活);(c) <strong>记忆架构</strong>(外部存储 + 按需检索);(d) <strong>安全策略</strong>(权限最小化 + 高风险确认)。<strong>失败模式</strong>——(a) <strong>循环</strong>(反复调用同一工具);(b) <strong>选错工具</strong>;(c) <strong>忽略观察</strong>;(d) <strong>目标漂移</strong>;(e) <strong>提示注入</strong>;(f) <strong>成本失控</strong>。<strong>实践建议</strong>——(a) <strong>显式计划 + 工作记忆</strong>;(b) <strong>工具权限最小化</strong>(安全底线);(c) <strong>上下文压缩 + 模型分级</strong>(成本);(d) <strong>全链路日志</strong>(可观测);(e) <strong>预算上限</strong>(防失控);(f) <strong>先单 Agent,不足再拆</strong>。<strong>度量</strong>——(a) 任务成功率;(b) 平均轮数/成本/延迟;(c) 工具调用准确率;(d) 注入拦截率。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'成本 O(轮数²)'是核心约束</strong>——每轮带完整历史;面试中能指出是深度理解的标志。② <strong>'工具权限最小化'是安全底线</strong>——因为提示注入无法根治,故需'即使被注入也造不成大损害'。③ <strong>'提示注入是 Agent 头号风险'</strong>——数据中藏指令;需标记数据边界 + 权限控制 + 高风险确认。④ <strong>'上下文是稀缺资源'</strong>——需压缩/检索/外部存储。⑤ <strong>'多 Agent 常被高估'</strong>——收益部分来自更多算力;故'先单 Agent'。⑥ <strong>面试要点</strong>——被问'设计 Agent 系统',应给出'<strong>核心循环 + 记忆(短期/长期/工作)+ 工具层(权限最小化)+ 护栏(防注入)+ 成本控制(O(R²))+ 可观测</strong>';能指出'提示注入'与'O(R²) 成本'是深度理解的标志。
⚠️ Common Interview Pitfalls
- ✕给 Agent 无限制的工具权限(注入风险)
- ✕不做上下文管理(成本爆炸)
🎯 Interviewer Follow-ups
- ?如何控制 Agent 的成本?
- ?提示注入如何防护?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.