Agent 架构模式
ReAct、CoT、Planner-Executor、DAG Agents。
35 分钟
Agent 架构模式
同一组工具与记忆,编排方式 决定延迟、成本与可调试性。本课对比 ReAct、CoT、Planner-Executor、DAG Agents——在 ai-agents 路线图 上从「能跑」到「可维护」的关键一步。入门工作流见 agt-workflow。
学习目标
- 说清四种模式的控制流与适用任务
- 会选择单 Agent 循环 vs 多角色分工
- 知道何时用 DAG 固定流水线
ReAct
Reason + Act:每步输出思考(可选)、调工具、读 observation,直到结束。
while not done and steps < MAX:
msg = llm.chat(history, tools=tools) # 可能含 tool_calls
if msg.tool_calls:
for tc in msg.tool_calls:
history.append(run_tool(tc))
else:
return msg.content
| 优点 | 缺点 |
|---|---|
| 灵活、易实现 | 步数不可控、难并行 |
| 与主流 API 天然契合 | 长链易 drift |
适合:开放调研、故障排查、工具种类少的中等任务。
Chain-of-Thought(CoT)
先推理再行动;Planner 用 CoT 产出 JSON plan,Executor 低 temperature 逐步执行。与 ReAct 比:CoT 批量规划,ReAct 边想边做——实时证据变化快时 ReAct 更稳。
Planner-Executor
| 角色 | 职责 |
|---|---|
| Planner | 拆任务、选工具顺序、不写副作用 |
| Executor | 严格按计划调工具,参数校验 |
| (可选)Replanner | 工具失败时局部重规划 |
plan = planner.create(goal, tools_catalog)
for step in plan.steps:
result = executor.run(step)
if result.failed and plan.allow_replan:
plan = replanner.patch(plan, step, result)
适合:步骤清晰、需 审计计划、执行层要强约束的企业流程。
DAG Agents
把子任务画成 有向无环图,节点可并行:
┌─ search_docs ─┐
start ──┤ ├── merge ── summarize ── end
└─ web_search ──┘
| 适用 | 不适用 |
|---|---|
| ETL、批处理、固定 pipeline | 高度依赖上一步结果的探索型任务 |
| 要并行降延迟 | 计划频繁大变 |
框架如 LangGraph 常用来表达 DAG + 条件边(见 aga-frameworks)。