第 11 章 · 大模型算法岗
Agent 与工具调用
理解 ReAct、规划、工具协议、记忆与错误恢复,区分可控工作流和开放式 Agent。
什么是 LLM Agent?
30 秒口述版
Agent 是让模型在目标、状态和工具环境中循环观察、决策与行动的系统,不只是一次文本生成。
原理与推导
可靠性来自工具约束、状态机、验证和终止条件,而非“自主”标签。
公式、代码或工程案例
画出 observe→plan→act→observe 循环。
高频追问
- Agent 与 Workflow 有何区别?
- 如果规模、数据分布或延迟约束变化,方案应怎样调整?
易错点
不要把所有函数调用都称为 Agent。
权威来源
ReAct 的核心思想是什么?
30 秒口述版
ReAct 交替生成推理轨迹与外部行动,让模型根据工具观察更新后续决策。
原理与推导
它改善知识获取和可追踪性,但错误思路仍会导致错误工具链。
公式、代码或工程案例
用搜索→观察→继续搜索的例子说明闭环。
高频追问
- 何时隐藏内部推理只保留行动摘要?
- 如果规模、数据分布或延迟约束变化,方案应怎样调整?
易错点
不要把工具返回当成可信指令。
权威来源
工具调用 Schema 为什么重要?
30 秒口述版
明确名称、参数类型、必填项和描述能限制输出空间并减少解析歧义。
原理与推导
执行端仍必须做权限、验证、幂等与超时,模型生成合法 JSON 不等于安全。
公式、代码或工程案例
用 JSON Schema 拒绝未知字段。
高频追问
- 工具描述太相似会怎样?
- 如果规模、数据分布或延迟约束变化,方案应怎样调整?
易错点
不要直接执行模型拼接的 shell 或 SQL。
权威来源
规划与执行为什么要分离?
30 秒口述版
复杂任务可先形成可检查计划,再逐步执行并根据观察修订,减少一次生成承担全部决策。
原理与推导
短任务过度规划会增加延迟和错误面,需按复杂度选择。
公式、代码或工程案例
限制最大步骤并在关键操作前验证。
高频追问
- Plan-and-Execute 与 ReAct 如何结合?
- 如果规模、数据分布或延迟约束变化,方案应怎样调整?
易错点
不要把初始计划当不可修改事实。
权威来源
Agent 记忆有哪些类型?
30 秒口述版
工作记忆保存当前上下文,情景记忆记录历史事件,语义记忆抽取稳定知识。
原理与推导
长期记忆需要写入准则、检索、更新、遗忘和隐私控制。
公式、代码或工程案例
为每条记忆记录来源、时间和置信度。
高频追问
- 何时应该覆盖旧记忆?
- 如果规模、数据分布或延迟约束变化,方案应怎样调整?
易错点
不要把全部聊天历史永久向量化。
权威来源
Agent 如何处理工具失败?
30 秒口述版
把超时、权限、参数、可重试和不可重试错误结构化返回,采用有限重试、退避、替代工具或请求人工。
原理与推导
失败恢复必须有预算和终止条件,避免无限循环。
公式、代码或工程案例
为副作用工具使用幂等键。
高频追问
- 模型如何判断是否重试?
- 如果规模、数据分布或延迟约束变化,方案应怎样调整?
易错点
不要把异常堆栈原样暴露给不可信上下文。
权威来源
多 Agent 系统什么时候有价值?
30 秒口述版
任务可明确分解、需要不同工具或并行验证时可能有益;否则通信开销会超过收益。
原理与推导
角色边界、共享状态、冲突解决和最终责任人比角色数量重要。
公式、代码或工程案例
先与单 Agent baseline 比较成功率和成本。
高频追问
- 怎样避免 agents 相互放大错误?
- 如果规模、数据分布或延迟约束变化,方案应怎样调整?
易错点
不要用更多 Agent 替代明确流程。
权威来源
如何评测 Agent?
30 秒口述版
除最终成功率,还要测步骤数、工具正确率、恢复率、成本、延迟、安全违规和可重复性。
原理与推导
环境应可重置并记录完整轨迹,失败按规划、工具、观察和终止分类。
公式、代码或工程案例
建立 deterministic sandbox 与回放测试。
高频追问
- 离线轨迹能否代表在线表现?
- 如果规模、数据分布或延迟约束变化,方案应怎样调整?
易错点
不要只让另一个 LLM 给最终文本打分。
