跳到主要内容
版本:Next

Agent 框架选型

先说结论性观点:Agent 的核心循环(LLM + 工具调用 + 状态注入)简单到不值得恐惧,也简单到不必急着上框架。框架的价值在工程外围(状态持久化、恢复、流式、观测),而不在"让模型更聪明"。

自研:百行循环的底气​

回顾什么是 Agent 中的骨架:一个 while 循环、工具分发、上下文拼装,核心逻辑不足百行。适合自研的情形:

  • 工具数量少(个位数)、流程相对固定;
  • 对延迟、成本、日志格式有强定制要求;
  • 团队希望彻底掌控行为细节(排障不需要穿透框架抽象)。

自研的真实成本不在循环本身,而在外围:流式输出、断点恢复、并行工具、轨迹存储、重试语义——这些框架已经打磨过的东西。评估时按这些清单估工作量,而不是按"循环很简单"低估整体。

主流框架画像​

LangGraph:图状态机​

把 Agent 建模为节点(步骤)+ 边(转移)+ 共享 State 的图。每个节点可以是一个 LLM 调用、工具执行或纯代码;State 显式定义并全程流转。

  • 优点:流程结构显式可见、天然支持条件分支与循环、状态可持久化(checkpoint)与恢复(time travel 调试)、人工介入点(human-in-the-loop)是一等公民;
  • 代价:学习曲线偏陡,State 设计需要前期投入;
  • 适合:需要精细流程控制的生产级 Agent,多 Agent 协作的复杂拓扑。

LlamaIndex Agents:RAG 生态原生​

Agent 能力与其数据框架深度整合,工具可以直接是检索器、查询引擎。

  • 优点:做 Agentic RAG 路径最短(见 Agentic RAG),与索引、检索器复用同一套抽象;
  • 适合:以知识问答/检索为核心场景的 Agent。

AutoGen(AG2):多 Agent 对话​

以"Agent 间消息对话"为基本原语,擅长多角色协作与人在回路。

  • 优点:多角色讨论、代码执行环境(Docker 沙箱)内置;
  • 代价:对话式编排的流程透明度不如图式,成本随对话轮数快速增长;
  • 适合:研究型任务、需要多视角协作的场景。

CrewAI:角色分工​

以"团队 + 角色 + 任务"为心智模型,声明式定义每个成员的职责、目标与工具。

  • 优点:上手快,多角色协作的语义直观;
  • 适合:角色清晰、流程模式化的内容与研究工作流。

OpenAI Agents SDK(及各家原生 SDK)​

官方轻量实现:agent 循环、工具定义、交接(handoff)、护栏(guardrail)。

  • 优点:抽象极薄、与模型能力(函数调用、结构化输出)贴合紧密、迁移成本低;
  • 适合:深度绑定单一模型生态、追求最小抽象层。

对比速查​

框架心智模型优势场景学习成本生产成熟度
自研while 循环简单可控、强定制低(外围高)取决于投入
LangGraph图状态机复杂流程、断点恢复高高
LlamaIndex数据/检索中心Agentic RAG中高(RAG 侧)
AutoGen / AG2多方对话多视角协作研究中中
CrewAI角色团队模式化多角色流低中
官方 SDK薄抽象循环单生态轻量场景低生态相关

选型建议​

  1. 按场景主轴选:知识检索为核心选 LlamaIndex;复杂可控流程选 LangGraph;多角色协作为先试 CrewAI/AutoGen;简单场景先自研或官方 SDK。
  2. 按团队工程水位选:框架的抽象需要团队有能力穿透——出问题时能打印框架内部状态、能绕过框架直连模型 API 排障,否则调试黑盒会抵消框架收益。
  3. 警惕框架锁定:工具层(MCP 化)、提示词、评测集是真正的资产,尽量与框架解耦;框架只是运行容器,资产可迁移,选择才可逆。
  4. 对营销保持校准:框架宣传的"autonomous agents"能力上限,始终等于所配模型的能力上限乘以工程护栏的质量——框架不改变设计原则中的任何一条。

无论选什么,这几样自建​

  • 评测集与回归流水线:框架不提供属于你业务的成功标准;
  • 轨迹日志与观测:按自己的排障习惯落盘,不依赖框架默认格式;
  • 护栏语义:步数、预算、高危确认的最终解释权应在自己的代码里。

框架决定你写多少胶水代码,而 Agent 好不好用,仍由模型选择、工具质量、评测闭环决定——这是整个 Agents 分类的落点。