NOTE
Agent
从 Agent 的定义和适用问题出发,理解工具调用、规划、ReAct 模式和可靠执行。
Agent
是什么
- 能够感知环境,并通过一系列动作作用于环境的系统。
为什么需要
- 普通LLM调用的局限
- 主要依赖已有上下文生成输出
- 无法仅凭文本生成完成外部操作
- 固定Workflow的局限
- 执行路径由开发者预先定义
- 难以灵活处理未知情况
- Agent的价值
- 动态决策
- 使用工具获取信息和执行操作
- 根据执行结果调整后续行动
- 自主完成多步骤任务
如何实现
- Agentic Design Patterns
- ReAct
- 如何实现
- 是什么
- 推理与行动交替执行的Agent模式
- 一种Agent Architecture,其核心贡献是把模型的推理和外部行动交替结合起来,而不是让模型只在内部生成一个完整答案或计划
- 如何工作
- Reasoning
- 根据任务和当前状态决定下一步
- Action
- 执行动作或调用工具
- Observation
- 获得执行结果
- 继续Reasoning
- 根据新信息调整后续动作
- 直到任务完成或触发停止条件
- Reasoning
- 其他
- Andrew NG
- 四类 Agentic Design Patterns
- Reflection(反思)
- 评价结果
- 根据反馈修正结果或计划
- Planning(规划)
- 将任务分解为步骤
- 根据执行结果调整计划
- Tool Use(工具使用)
- 让模型调用外部工具获取信息或执行操作
- Multi-Agent Collaboration(多智能体协作)
- 让多个智能体分工完成任务 / 分布式协作、Actor、主从协调
- Reflection(反思)
- 和ReAct区别
- Multi-Agent
- 四类 Agentic Design Patterns
- 其他
- Prompt Chaining
- 核心机制
- 多个LLM调用按固定顺序执行
- 传统工程中的类似技术
- Pipeline
- 适用场景
- 翻译
- 内容处理流水线
- 核心机制
- Routing
- 核心机制
- 根据任务选择不同处理分支
- 传统工程中的类似技术
- Router
- 策略模式
- 适用场景
- 按任务类型选择模型或Agent
- 核心机制
- Parallelization
- 核心机制
- 并行处理独立子任务并汇总
- 传统工程中的类似技术
- Fan-out/Fan-in
- MapReduce
- 适用场景
- 并行分析
- 代码审查
- 核心机制
- Planner–Executor
- 核心机制
- 先生成计划,再执行和调整
- 传统工程中的类似技术
- 工作流引擎
- 任务调度器
- 适用场景
- 复杂的多步骤任务
- 核心机制
- Evaluator–Optimizer
- 核心机制
- 生成 → 评分 → 修改 → 重新评分
- 传统工程中的类似技术
- 测试反馈循环
- 适用场景
- 代码生成
- 内容优化
- 核心机制
- Orchestrator–Workers
- 核心机制
- 主Agent动态分解任务并委派给子Agent
- 传统工程中的类似技术
- Master–Worker
- 适用场景
- 多领域复杂任务
- 核心机制
- Multi-Agent Collaboration
- 核心机制
- 多个Agent协商、交互、共同决策
- 传统工程中的类似技术
- Actor
- 分布式协作
- 适用场景
- 多角色讨论
- 联合研究
- 核心机制
- Human-in-the-Loop
- 核心机制
- 在关键决策或动作中引入人工确认
- 传统工程中的类似技术
- 人工审批工作流
- 适用场景
- 高风险操作
- 生产发布
- 核心机制
- Andrew NG
- ReAct
- 核心组成
- Environment
- 是什么
- 智能体所在的环境。
- 环境反馈
- Observation
- 环境或工具返回的观察结果
- Observation
- 是什么
- Tools
- 分类
- 知识增强
- 是什么
- 获取外部信息
- 搜索、SQL查询、文档检索
- 是什么
- 能力扩展
- 是什么
- 弥补模型能力不足
- 计算器、代码执行器
- 是什么
- 写入动作
- 是什么
- 修改外部环境
- 修改文件、发送邮件、更新数据库
- 是什么
- 知识增强
- 是什么
- 供Agent调用的外部能力接口
- 如何调用
- Function Calling
- 过程
- 模型生成Tool Call
- 运行时执行Tool
- 返回Tool Result
- 将结果加入Context
- 过程
- Function Calling
- 分类
- Planning
- 是什么
- 根据目标、约束及环境状态选择行动
- 规划策略
- 规划与执行分离
- 计划粒度
- 分层规划
- 反思与错误修正
- 检查计划
- 检查执行结果
- 必要时重新规划
- 是什么
- Environment
- Harness
如何优化
- 为什么会出错
- 规划故障
- 选错工具、参数错误、目标未完成
- 工具故障
- 工具执行出错、返回错误结果、缺少必要工具
- 效率故障
- 步骤过多、执行时间过长、成本过高
- 规划故障
拖动可平移,滚轮缩放,点击节点可展开或折叠。大型导图默认折叠较深层级,可点击节点继续展开。

讨论
使用 GitHub 账号参与讨论,评论会保存在 GitHub Issues 中。在 GitHub 查看