智能体入门课
framework_selection进阶75 分钟

11C

框架不是 Agent:什么时候需要 LangGraph、CrewAI 或 ADK

参考:来源 F · 第 24 章

学完你能做到

  • 理解框架提供的抽象层而非背产品名
  • 按状态、循环、协作和运维需求选择框架
  • 避免在理解 Agent Loop 前被框架锁定

是搭建 Agent 的脚手架,不是智能本身。它通常帮你管理模型、工具、状态、节点、循环、事件和追踪。换一个框架不会自动修复目标不清、工具设计差或缺少评估的问题。

需求形态适合的抽象框架类别示例先问的问题
固定线性步骤链/流水线LangChain 一类真的需要 Agent 吗?
有循环和显式状态状态图LangGraph 一类状态与停止条件是什么?
角色分工的多 Agent团队/任务编排CrewAI、ADK 一类多角色是否真能降低错误?
以企业连接和权限为中心平台/托管运行时云 Agent 平台数据、权限和审计边界在哪?
以知识检索为中心索引与检索管线LlamaIndex、Haystack 一类核心难点是检索还是自主决策?
框架适配层 状态图 / 队列 模型适配器 工具适配器 追踪与部署 业务核心目标 · 状态 · 工具契约 · 权限 · 评估 · 停止条件
可迁移架构把业务契约放中间,框架只是外层适配器。

选框架前先做一个“裸循环”

能解释清这六行,才知道框架替你做了什么
state = initialize(goal, constraints)
while not stop(state):
  context = assemble_context(state)
  decision = model.choose(context, tool_schemas)
  observation = execute_with_policy(decision)
  state = reduce(state, decision, observation)
return verify_and_present(state)

常见误解

使用多 Agent 框架,就自然拥有可靠的多 Agent 系统。

实际上

框架只让消息能传递。角色边界、共享状态、冲突处理、授权和整体评估仍需产品团队设计。

框架选型评审

15 分钟
  1. 选择一个你要做的 Agent,画出最小裸循环。
  2. 指出框架必须替你解决的两个痛点。
  3. 写出一个防锁定方案:更换模型或框架时哪些业务契约保持不变。

案例推演:什么时候一个普通函数比 Agent 框架更好

团队只需“上传文件—抽取字段—校验—入库”,却引入多 Agent 框架、消息总线和图数据库。复杂度上升,但任务路径完全固定。

本节追问:应从需求选择运行时能力,还是从热门框架反推架构? 先不要急着看结论。沿着下面四步,逐项区分输入、决策、证据和失败信号。

每一步都要回答:看到了什么?为何这样决定?怎样证明? 1 列需求 明确状态、分支、并发、暂停恢复与人工确认 观察 → 决策 → 留证据 2 做最小实现 固定路径先用普通代码与队列 观察 → 决策 → 留证据 3 识别拐点 图状态、长任务恢复或动态工具选择出现时升级 观察 → 决策 → 留证据 4 隔离依赖 业务状态与框架对象分开,保留迁移边界 观察 → 决策 → 留证据 完整案例链:不是记住名词,而是能够用证据作出下一步决定
四步案例推演。手机上可左右滑动查看;每个箭头都代表一次需要证据支撑的状态转换。
阶段本步要做的决定什么算证据最常见的失败
列需求明确状态、分支、并发、暂停恢复与人工确认每项能力都有真实用例因为教程使用某框架就照搬
做最小实现固定路径先用普通代码与队列基线可测试、可部署、可观察第一天就设计通用多 Agent 平台
识别拐点图状态、长任务恢复或动态工具选择出现时升级升级解决已测量的痛点用未来可能需要解释当前复杂度
隔离依赖业务状态与框架对象分开,保留迁移边界核心数据可导出并重放全部逻辑绑定框架内部内存

阅读方式:先遮住后两列自己回答,再用“证据”和“失败”两列检查理解。

常见误解

用框架功能清单代替系统需求

实际上

可观察症状:组件都有,但数据契约、完成条件和错误语义仍缺失。

更可靠的修复:先定义任务模型和非功能要求,再比较框架的具体支持与代价。

案例工作坊 · 建议真正动手完成

25 分钟
  1. 为文件抽取流程写最小无框架实现。
  2. 列出三个出现后才值得引入图运行时的信号。
  3. 制作两个框架的需求对照表而非功能大表。
查看参考答案

框架是实现状态、编排、观察和集成的工具,不是 Agent 本身。固定任务应优先简单实现,复杂运行需求出现后再有证据地升级。

迁移检查:换一个场景还会不会

选择 Agent 框架前最先应该得到什么?