AI 创造 · AI Agents · 第 2 章

AI Agents 指南 · 第 2 章:CoT / ReAct / Swarm 三个模式的笔记

先吃透三个最常用的骨架:推理链、行动-观察循环、多 Agent 交接。

目录

本章在解决什么

第 2 章讲 Agent 的架构与模式,三个 Notebook 分别覆盖三种最常用的骨架:

  • CoT:让模型先想清楚步骤,再动手
  • ReAct:模型 → 工具 → 观察 → 再决策,循环到出最终答案
  • Swarm:多个 Agent 各管一件事,按需把控制权交给对方

CoT:链式推理 + 沙箱执行

Notebook ch02_CoT.ipynb 做了一个「数据分析 Agent」:模型按 CoT 结构思考,调用一个沙箱 Python REPL 工具加载 CSV、算统计、画图。

核心设计:

  • 三段式系统提示:描述数据集 → 找出规律 → 给出结论
  • 沙箱 REPL:模型写的代码在 Pyodide/WASM 里跑,不碰宿主文件系统
  • 图表回传:沙箱里不让用 matplotlib,模型手工拼 SVG,再用 base64 通过 stdout 传回宿主解码
agent = create_react_agent(model=llm, tools=[python_repl], prompt=SYSTEM_INSTRUCTIONS)
builder = StateGraph(AgentState)
builder.add_node("agent", agent_node)
builder.add_edge(START, "agent")
builder.add_edge("agent", END)
app = builder.compile()

关键点:推理结构写进 prompt,执行放进沙箱,结果可读、可追踪。

ReAct:最小行动-观察循环

Notebook ch02_react.ipynb 是最小可跑的 ReAct Agent,只有两个节点:

  • agent 节点:让模型决定要不要调工具
  • tools 节点:执行工具、返回 ToolMessage
workflow = StateGraph(AgentState)
workflow.add_node("agent", call_model)
workflow.add_node("tools", tool_node)
workflow.set_entry_point("agent")
workflow.add_conditional_edges("agent", should_continue, {"continue": "tools", "end": END})
workflow.add_edge("tools", "agent")

should_continue 判断最后一条消息还有没有 tool_calls:有就继续,没有就结束。这就是 ReAct 的循环本质。

它配了一个 SerpAPI 搜索工具,并用 print_react_trace() 打印可读的 Reasoning / Action / Observation / Final Answer,只展示动作和结果,不泄露完整思维链。

关键点:add_messages 累加消息、bind_tools 绑定工具、条件边做循环。

Swarm:多 Agent 交接

Notebook ch02_swarms.ipynb 用 create_swarm 组一个两个 Agent 的小团队:

  • research_assistant:搜索 + 抓网页,攒够 3–5 个来源后交接
  • writer_assistant:把来源综合成带引用的答案,来源不够再交回研究

交接靠 create_handoff_tool:

to_writer = create_handoff_tool(agent_name="writer_assistant", description="...")
swarm = create_swarm(
    agents=[research_assistant, writer_assistant],
    default_active_agent="research_assistant",
).compile()

关键点:每个 Agent 职责单一、按需 handoff、默认一个活跃 Agent 起手;以后加校验 Agent 不用改编排逻辑。

怎么套进「批量漫画 + 批量短视频」链路

你现在这条链路(千问出图 → Minimax H3 出视频 → DeepSeek 调度),正好可以用这三个骨架升级:

  • ReAct 做调度器:每个「动作」是一次工具调用(生成漫画、生成视频、校验结果),每次「观察」是返回状态,直到任务完成
  • CoT 沙箱执行 做批处理:让模型按「先验证单条 → 再批量 → 最后汇总质检」的推理结构写代码,在沙箱里跑,失败能看 traceback
  • Swarm 做分工:脚本 Agent、出图 Agent、成片 Agent、质检 Agent,靠 handoff 传递半成品,而不是一个模型从头发到尾

下一步

建议先手动跑 ch02_react.ipynb(最简单、最能建立“循环”直觉),再跑 CoT,最后 Swarm。三个都跑通后,可以把 ReAct 调度器直接替换成你 DeepSeek V4.1 Flash 的 API。

来源

— 完 —

返回首页

留言

还没有留言,来当第一个吧。

加载留言中…

写留言

无需登录,直接留言;想回复别人,点留言下方的「回复」。