跳转至

Stage 4 — Workflow Graph 与 Agent 框架

繁体中文 | 简体中文 | English

你在 Stage 3 已经自己写过 Agent Loop。这一关先把多步工作画成 Workflow Graph,再选 Framework(框架) 来帮你接线。先看懂工作地图,再选工具箱,才不会因为某个框架很流行就硬把事情变复杂。

📌 学习目标

完成这一关后,你可以:

  • 用自己的话分清 Agent Loop、Workflow Graph、Agent framework 与多角色系统。
  • 先选最简单能完成任务的工具,不为了流行硬加角色。
  • 跑完五个练习,亲手比较 LangGraph、CrewAI、Smolagents 与 Pydantic AI。
  • 说出交接、存档与人工批准各自解决什么问题。

🧩 先认识八个核心词

  • Workflow(工作流程)/Workflow Graph(工作流程图):像照食谱做菜,再把每一步和下一站画出来。程序先写好 node、edge 与分支,模型只完成其中需要判断的工作。
  • Framework(框架):一盒已经整理好的积木。它帮你接好循环、工具、记录与错误处理;但盒子越大,藏起来的细节也越多。
  • Agent(智能体):像拿到目标的助手。模型可以根据当前结果决定下一步,但真正的权限、验证与停止条件仍由程序控制。
  • Orchestration(编排):像交通指挥。它安排谁先做、谁后做、数据交给谁,以及失败时怎么回来。
  • State(状态):像工作中的笔记本。它记住当前输入、工具结果、进度与下一步需要的数据。
  • Checkpoint(检查点):像游戏存档。流程中断后,可以从已保存的位置继续,不必全部重来。
  • Handoff(交接):像把工作单交给另一位同学。新的 Agent 接手后,需要拿到足够背景,也不能得到不需要的权限。
  • Human-in-the-loop(HITL,人在循环中):像先举手请老师看。程序在花钱、寄信、删除数据或发布前暂停,等人批准才继续。

🧭 先分清:Loop、Graph 与 Framework

名称 五岁也懂的说法 正确边界与学习位置
Agent Loop 助手做一步、看结果,再决定下一步 Stage 3 的一次执行内循环:model → tool call → execute → tool result → model
Workflow Graph 把每一站和道路画出来 用 node、edge、branch 与 state 表示工作顺序;格子里可以是 Agent、工具、检查或人工批准
Agent Framework 一盒帮你接线的工具积木 提供 runner、tool、state、handoff、checkpoint 等零件;一个 Agent 也能使用
Loop Engineering 设计它怎么反复做、怎么验证、何时停 Stage 7 才加入预算、验证、恢复与人工升级
Production orchestration(上线编排) 把整张工作地图做成真的能安全运行 Stage 7 才为多个 loop、工具和人工批准加上观测、恢复与停止规则;新兴文章也可能称为 Graph Engineering

Framework 是工具箱;Workflow Graph 是你画出的工作地图;Production orchestration 是让地图能安全运行的工程工作。 Graph Engineering 是新兴但还未统一的称呼,不是 Framework 的另一个名字。Multi-Agent 可以放进图里,但不是每张图都需要多个 Agent,也不是每个 node 都必须是 Agent。

🗺️ 先看一张选择地图

Agent 系统选择图:先分辨由程序或 Agent 决定下一步,再看需要一个或多个 Agent,最后先选最简单能完成任务的形状
打开原图(新标签页)

先问两题:谁决定下一步?需要几个 Agent? 如果固定路线已经能完成,就停在左上角;多一个 Agent 会多一份 context、测试与失败方式。

🚪 进入条件

先完成 Stage 3 的六道练习,至少能说出 schema → call → execute → result → answer。会读 async/await 很有帮助,但不是开始第一题的门槛。

⏱ 展开时间、环境与预算
  • 建议时间:2–3 周,约 10–15 小时。不用一次看完 19 个项目。
  • Python:现有示例先用 3.11。CrewAI 1.15.18 当前要求 Python >=3.10,<3.14;Python 3.14 用户请另外建立 3.11 环境。紧接着的 stacked 04B 会把五个示例迁移到当前 major,并在干净环境中验收;本内容层不把旧 requirements 说成已经升级。
  • Path A:Ollama 练习不收 API 费;你的硬件、电力与下载时间仍有成本。
  • Path B:本章用 Anthropic Haiku 比较。单次成本公式是 输入 tokens ÷ 1,000,000 × $1 + 输出 tokens ÷ 1,000,000 × $5;五题总成本是五次实际用量相加,不先猜固定小数。

📚 必修阅读

先读“怎么选简单形状”,再从第 4 步的两个 framework Quickstart 中挑一个。下面共有 4 个阅读步骤、5 个官方链接;先按顺序读,不必一次读完每一页。

  1. Anthropic — Building Effective Agents:先分清 workflow 与 agent,也看懂为什么要从简单方案开始。
  2. LangGraph — Workflows and Agents:看固定路线与动态路线怎么写成图。
  3. OpenAI Agents SDK — Multi-agent orchestration:比较 manager-as-tools 与 handoff。
  4. Quickstart 二选一:LangGraph 或 CrewAI;只要先深入一个。

第三方排行榜可以提供候选名单,但不能证明版本、授权、可用性或哪个“最强”。这些事以官方文件与你自己的 eval 为准。

🤔 什么是 Agent framework?

Agent framework 是帮一个或多个 Agent 接好模型、工具、state、重试、存档与人工批准的工具箱。一个 Agent 也能使用 framework;Multi-Agent 只是后面的一种系统形状,不是 framework 的定义。 Framework 不是魔法,也不是每个项目的默认答案。

两个维度先分清楚(workflow vs agent / single vs multi)

Workflow:程序先写好路线 Agent:模型动态选下一步
一个 Agent 线性流程或固定分支 Stage 3 写过的工具循环
多个 Agent 固定角色与顺序 动态 handoff、supervisor 或辩论

这四格会重叠。例如 LangGraph 的 conditional edge 可以同时有固定规则与模型决策。表格是帮你问问题,不是把所有系统硬塞进盒子。

什么时候真的需要 Multi-Agent(不要硬上)

先用一个 Agent。只有出现下面的证据,再考虑增加角色:

  • 任务真的能拆成彼此较独立的工作,而且每份工作有清楚输出。
  • 不同角色需要不同工具、权限或 context,分开能降低混乱。
  • 多个方向可以同时探索,最后也有明确的合并与验证方法。
  • 你的 eval 显示多 Agent 比单 Agent 更可靠,增加的 token、延迟与调试成本值得。

没有这些证据时,一个 Agent 加好工具、好 context 与有限循环通常更容易测试。多 Agent 不保证比较准,也不保证比较快。

展开 Anthropic/Cognition 证据与成本限制
  • Anthropic — Building Effective Agents 建议先从最简单可行方案开始;framework 可能遮住 prompt 与 response,用户仍要懂底层。
  • Anthropic — Multi-agent Research System 说明 multi-agent 适合 breadth-first、可平行的研究。文中的 90.2% 是特定 research eval 的相对提升,不是“90% 用例”通则;该系统约使用一般 chat 的 15× tokens,也不能套到所有任务。
  • Cognition — Don't Build Multi-Agents 强调 context fragmentation:细节散在不同 Agent 后,整体判断可能变差。文章没有提出“90% 用例不该使用”的统计。
  • 平行分支的完成时间取决于最慢分支、rate limit、重试与最后整合,不是固定 1/N。

五种协作 pattern

Supervisor(主管 Agent) 像班长,负责拆工作与合并答案。Worker(工作 Agent) 像组员,只拿完成自己任务所需的数据与工具。

Pattern 一句话形状 适合什么 先注意什么
Routing/Handoff A 判断后交给 B 客服分类、专家转接 交接数据与权限
Sequential A 做完才轮到 B 有固定先后的流程 前一步错误会往后传
Parallel 多份工作同时做 可独立搜索或检查 最慢分支与合并规则
Supervisor–Worker 一位主管分派多位工作者 大任务拆解与汇总 主管可能成为瓶颈
Debate/Peer Review 多个角色互相批评 高风险判断与复查 角色多不等于事实正确
展开完整 pattern、论文与 Claude Code subagent 对照
  • Routing/Handoff:OpenAI Agents SDK handoffs 是现行官方入口。OpenAI Swarm 只保留作为教育用 source reading;官方已建议 production 迁移到 Agents SDK。
  • Sequential/Supervisor–Worker:LangGraph 可以把 node、edge、state 与 checkpoint 明确画出。
  • Parallel:适合彼此独立的研究方向;若工作共享大量 context 或紧密依赖,分开反而会丢失信息。
  • Debate/Society:可延伸阅读 AutoGen paper、CAMEL、ChatDev 与 Generative Agents。论文证明一种设计能被研究,不代表它是你的 production 默认方案。
  • Claude Code subagent 是 runtime 内置的另一条路:用配置文件隔离 context 与工具,不必自己写 Python orchestration。完整比较留在 Stage 5.5。

依需求选工具

你现在的情况 先看什么 为什么
一个简单工具循环已经够用 Raw SDK/Stage 3 写法 最透明、最容易调试
要图式 state、checkpoint、HITL LangGraph 低阶 orchestration runtime,控制清楚
要快速做角色式雏形 CrewAI Agent、Task、Crew 容易上手;Flows 也支持 persistence 与 human feedback
已使用 OpenAI 生态、需要 handoff 与 tracing OpenAI Agents SDK 官方 SDK;Sandbox Agents 当前仍是 beta
Python/.NET 的 Microsoft 团队 Microsoft Agent Framework 已 stable,并有 AutoGen/Semantic Kernel 迁移指南

Ollama 练习先从 LangGraph 或 CrewAI 路线开始。不要因为工具清单超过某个固定数字就换框架;先用 eval 看 context、选错率与延迟是否真的恶化。

展开进阶 tool patterns
  • Dynamic tool selection:先搜索或路由出少量相关工具,再交给模型。可看 LlamaIndex tools。
  • Tool composition:把 A 的输出直接接到 B 的输入,减少不必要的中间文字。
  • Tool-augmented retrieval:把 retriever 当工具,再让 Agent 根据结果决定下一步;完整 RAG 留到 Stage 6。

这三种做法不一定要用 framework。Framework 的价值是少写重复程序、留下 state 与 trace;raw SDK 也能实现。

🛠 动手练习

每题先安装该文件夹的 requirements,再运行离线测试。看到成功后,再按同一文件夹里的 README 选择 Ollama Path A 或 Anthropic Path B。

练习 1:同一个 agent、两个 framework

成果:同一个搜索加摘要任务各走 LangGraph 与 CrewAI,说出两者藏起来的工作有什么不同。

Set-Location examples/stage-4/01-same-agent-two-frameworks
py -3.11 -m pip install -r requirements.txt
py -3.11 test.py

预算:Path A 单次 API 费 $0;Path B 依 $1/$5 每百万输入/输出 tokens 计算。若五题各跑一次,本章总额就是五次实际 token 成本相加。

练习 2:多 agent 角色分配

成果:让 researcher、writer 与 reviewer 各做一件清楚的事,并看见每次交接的输出。

Set-Location examples/stage-4/02-multi-agent-roles
py -3.11 -m pip install -r requirements.txt
py -3.11 test.py

预算:Path A 单次 API 费 $0;Path B 使用同一公式。角色越多,通常会多出 prompt 与调用,但没有固定倍数,请记录实际 tokens。

练习 3:图式 workflow

成果:在 LangGraph 建立分支、checkpoint 与 HITL 暂停点,再从保存位置继续。

Set-Location examples/stage-4/03-graph-workflow
py -3.11 -m pip install -r requirements.txt
py -3.11 test.py

预算:Path A 单次 API 费 $0;Path B 依实际 tokens 计算。Checkpoint 保存的是进度,不会自动降低模型费用。

练习 4:CodeAct vs JSON tool

CodeAct 是让模型写代码当 action。它像请助手自己写一把临时工具,灵活性高,但模型生成的程序一律视为不可信,必须放在 sandbox 或受限环境,不能直接在主机任意执行。

成果:用同一题比较受限 CodeAct 与 JSON tool call,说出哪一条更容易验证。

Set-Location examples/stage-4/04-codeact-vs-json-tool
py -3.11 -m pip install -r requirements.txt
py -3.11 test.py

预算:Path A 单次 API 费 $0;Path B 依实际 tokens 计算。Sandbox、容器或受管执行环境可能另收费。

练习 5:类型安全 agent

Type-safe(类型安全) 像先画好表格格子,再检查每格放对数据。Pydantic 可以验证 Structured Output 的形状与范围;它不能保证答案内容一定是真的。

成果:让 Pydantic AI 返回 answer、confidence 与 sources,并亲眼看到不合规数据被拒绝。

Set-Location examples/stage-4/05-typed-agent
py -3.11 -m pip install -r requirements.txt
py -3.11 test.py

预算:Path A 单次 API 费 $0;Path B 依实际 tokens 计算。Schema 验证失败后的重试也会产生 token 成本。

展开五题的 Path A/Path B 与排错入口

每个文件夹都有三语 README、starter.py、starter_anthropic.py、test.py 与 test_anthropic.py。先安装 requirements,再运行 mock test;成功后才按 README 启动真实模型:

  1. 练习 1 README
  2. 练习 2 README
  3. 练习 3 README
  4. 练习 4 README
  5. 练习 5 README

如果 py -3.11 找不到 Python,先跑 py -0p 看已安装版本。不要在 Python 3.14 强装 CrewAI 1.15.18;建立 Python 3.11 virtual environment。

🎒 推荐小项目:有人先检查的研究摘要流程

把五题合成一个小作品:一位 researcher 找数据,一位 writer 写摘要;程序保存 state,最后停在 HITL,等你检查来源后才输出。先用两个角色就好,不要一开始做十人团队。

成功标准:你能重新启动程序并从 checkpoint 继续;没有人的批准,流程不会进入最后发布步骤。

🎯 精选 Projects

第一个入口先看 LangGraph ⭐⭐⭐⭐⭐:你能直接看到 state、edge、checkpoint 与中断点。其余 18 条已按用途分组放在下面;推荐度是本章学习顺序,不是人气排行榜。

既有框架信息核查:2026-08-27 UTC;Bifrost:2026-09-03 UTC

分类 Project 适合谁 状态/授权与限制 推荐度
Production orchestrationLangGraph要 state、checkpoint、HITL 与可重播流程。维护中;MIT。低阶 runtime,需要自己做较多设计。⭐⭐⭐⭐⭐
Microsoft Semantic Kernel既有 .NET/Java/Python Microsoft 技术栈。维护中;MIT。Microsoft 另提供迁移到 Agent Framework 的指南。⭐⭐⭐⭐
Agno要把 Agent、Team、Workflow 接到 AgentOS 管理。维护中;Apache-2.0。平台范围大,先确认是否真的需要整套。⭐⭐⭐⭐
Microsoft Agent Framework新建 Python/.NET Microsoft Agent 项目。Python 1.x stable;MIT。有 AutoGen/Semantic Kernel 官方迁移路径。⭐⭐⭐⭐
快速雏形/多 AgentCrewAI快速做 researcher → writer → reviewer 角色流程。维护中;MIT。Flows 已支持 persistence、resume 与 human feedback。⭐⭐⭐⭐
Microsoft AutoGen维护现有 group-chat、辩论或 peer-review 项目。Maintenance mode,由社区维护;CC-BY-4.0。现有 Python 项目使用 autogen-agentchat 0.7.x;新的 Microsoft 项目改用 Agent Framework,并避开旧 0.2 教程。⭐⭐⭐⭐
OpenAI Agents SDK已使用 OpenAI 生态,需要 handoff、guardrail 与 tracing。维护中;MIT。Sandbox Agents 是 beta,不等于所有 production 问题已解决。⭐⭐⭐⭐⭐
Deep Agents要 planning、filesystem、subagent、memory 与 permissions 的完整 harness。维护中;MIT。建在 LangGraph 上;简单 Agent 用它可能太重。⭐⭐⭐⭐
OpenAI Swarm想读小型 source,理解 Agent 与 handoff。冻结/历史教育用途;MIT。官方已由 Agents SDK 取代,不用于新 production 项目。⭐⭐⭐⭐(教育)
Strands AgentsAWS/Bedrock 团队,或需要 Python/TypeScript SDK。维护中;Apache-2.0。canonical repo 已由旧 sdk-python 移到 harness-sdk。⭐⭐⭐⭐
特殊路线Hugging Face Smolagents想比较 CodeAct 与 tool calling,或使用 Hugging Face 生态。维护中;Apache-2.0。模型生成 code 必须隔离执行。⭐⭐⭐⭐
Pydantic AI重视 typed dependency、structured output 与 validation。维护中;MIT。Schema 验证外形,不保证语意正确。⭐⭐⭐
Letta长 session、跨日记忆与 persona-stable 助手。维护中;Apache-2.0。Memory-first,完整记忆观念留到 Stage 6。⭐⭐⭐⭐
Vercel EveTypeScript/Vercel 团队,需要 durable workflow、sandbox 与 approvals。Public Preview;Apache-2.0。2026-06 才公开,API 仍可能快速变动。⭐⭐⭐
特化LlamaIndex Agents文件密集、retrieval 与知识工作流程。维护中;MIT。强项是数据与 retrieval,不是所有 orchestration 场景。⭐⭐⭐
AgentScope研究多 Agent、需要可视化与 studio 工具。维护中;Apache-2.0。先确认社区、部署与语言需求。⭐⭐⭐
LangChain要模型、retrieval、tool 与 middleware 的高阶积木。维护中;MIT。复杂 orchestration 可下沉到 LangGraph。⭐⭐⭐
基础设施Bifrost想自建 gateway,以统一接口连接多家 provider,并练习 routing、fallback 与 load balancing。维护中;Apache-2.0。它是 infrastructure,不是 Agent framework;adaptive load balancing、clustering 与部分 guardrails 属于 enterprise 功能。⭐⭐⭐⭐
LiteLLM想用 Python SDK 或 OpenAI-compatible proxy 统一切换多家 provider。维护中;根目录 LICENSE 说明 enterprise 以外采用 MIT,enterprise/ 另有授权。它不是 Agent framework。⭐⭐⭐⭐

✅ 进 Stage 5 前的自我检查

  • 我能分清 Agent Loop、Agent framework、Workflow Graph 与 Multi-Agent,不把它们当同一件事。
  • 我会先用最简单方案,只有看到可量化证据才增加 Agent。
  • 我能说明 State、Checkpoint、Handoff 与 HITL 各自保存或控制什么。
  • 我跑过五题的离线测试,并完成至少一条 Ollama Path A。
  • 我知道 CodeAct 要隔离执行,type-safe output 也仍需检查内容。

都做到后,进入 Stage 5 — Claude Code Ecosystem。如果还分不清四格,回到上面的选择地图;不必重读 19 笔表格。

💡 展开疑难排解与后续路由
  • 想了解 Claude Code subagent:到 Stage 5.5。
  • 想了解 checkpoint 与长期记忆:到 Stage 6。
  • 想把 multi-agent 上线、做 eval 与 observability:到 Stage 7。
  • 想看更前沿的 harness、dynamic workflow 与失败研究:到 Stage 7.5。
  • 想让 Agent 操作浏览器、电脑或 sandbox:到 Stage 8。