Appearance
Agent 框架不是帮你"接一个大模型",而是帮你把大模型变成可编排、可调用工具、可多人协作、可观测、可上线的智能应用系统。
过去做 AI 应用,常见路径是:用户输入 → Prompt → LLM → 返回答案。再进一步,是 RAG:用户输入 → 检索知识库 → LLM 生成 → 返回答案。
但到了企业级 Agent 场景,仅靠一次 LLM 调用或一个 RAG 链路就不够了。真实业务往往需要理解任务、拆解步骤、调用工具/API、查询数据库、多轮推理、人工审批、执行动作、记录日志、评估效果。
Agent 框架到底解决什么问题
一个 Agent 应用通常由 8 个核心组件组成:
Agent = LLM + Prompt + Memory + Tools + Planning + Workflow + Guardrails + Observability| 组件 | 作用 | 没有它会怎样 |
|---|---|---|
| LLM | 负责理解、推理和生成 | 只能做传统规则系统 |
| Prompt | 定义角色、任务、边界和输出格式 | 输出不稳定、不可控 |
| Memory | 保存上下文、历史偏好、长期状态 | 每次对话都像第一次见面 |
| Tools | 调用函数、API、数据库、搜索、代码执行等 | Agent 只能"说",不能"做" |
| Planning | 拆解任务、决定下一步动作 | 复杂任务容易丢步骤 |
| Workflow | 控制执行顺序、分支、循环、暂停和恢复 | 难以承载企业流程 |
| Guardrails | 输入输出校验、安全约束、人工审批 | 容易幻觉、越权、误操作 |
| Observability | tracing、日志、评估、成本监控 | 出问题不知道错在哪里 |
一个成熟 Agent 框架至少要解决四类问题:
1. 任务如何被拆解?
用户说"帮我分析库存风险并给出补货建议",背后可能需要查询库存、销量、采购周期、安全库存、供应商交期、历史促销等多个系统。
2. 工具如何被调用?
Agent 不能只生成文字,而要能调用:
python
get_inventory()
get_sales_trend()
search_policy_docs()
create_purchase_order()
send_approval_request()3. 多个 Agent 如何协作?
例如:主 Agent 理解目标与任务拆解,库存 Agent 判断缺货和滞销,定价 Agent 给出调价建议,采购 Agent 给出补货建议,风险 Agent 检查是否需要人工审批,报告 Agent 生成最终建议。
4. 如何确保安全和可观测?
什么情况下拒绝执行,什么情况下暂停等待人工审批,出现异常时如何回滚和告警。
主流 Agent 框架横向对比
下面按复杂度从低到高,逐一解析各框架的设计理念、核心能力和选型建议。
1. LangChain / LangGraph
定位:轻量级脚本 → 生产级应用
LangChain 早期定位是快速原型,主打 Chains(链式调用)和 LCEL(LangChain Expression Language)。但随着企业级需求出现,LangChain 的局限性逐渐暴露:状态管理弱、并行控制差、调试困难。
LangGraph 应运而生。LangGraph 核心是把应用建模成一张图(Graph),节点是计算单元,边是状态流转。支持循环、条件分支、并行执行,非常适合复杂 Workflow。
典型应用场景:
- RAG 增强问答
- 多步骤数据处理流水线
- 简单的 Agent 循环
优势:
- 入门简单,文档丰富
- 与 LlamaIndex 无缝集成
- LangGraph 支持复杂流程
不足:
- LangChain Python 版早期设计较松散,生产环境需谨慎
- LangGraph 相对更成熟,但学习曲线略陡
- 调试和追踪仍是痛点
代码示例:
python
from langgraph.graph import StateGraph, END
from typing import TypedDict
class AgentState(TypedDict):
input: str
output: str
graph = StateGraph(AgentState)
graph.add_node("process", process_node)
graph.add_edge("process", END)
app = graph.compile()2. LlamaIndex
定位:企业级知识库 RAG
LlamaIndex 专注于知识密集型应用,核心是"索引-检索-合成"链路。相比 LangChain,LlamaIndex 的 RAG 管道更成熟,支持多种索引策略、召回优化、重排集成。
如果你的需求是让大模型精准回答企业知识库里的问题,LlamaIndex 是首选。如果还需要复杂的 Workflow 编排,可以考虑 LlamaIndex + LangGraph 组合。
典型应用场景:
- 企业知识库问答
- 合同/文档检索
- 多文档综合分析
优势:
- RAG 管道成熟,索引策略丰富
- 数据源连接器完善(PDF、Notion、Slack 等)
- 与 LangChain、LangGraph 可组合
不足:
- 非 RAG 场景能力较弱
- Workflow 编排不如 LangGraph 灵活
3. AutoGen / Microsoft Agent Framework
定位:多 Agent 协作与对话式应用
微软的 AutoGen 核心是多 Agent 对话框架。每个 Agent 可以是人、工具或 LLM,Agent 之间通过消息传递协作。支持人类在环(Human-in-the-loop),适合需要人工审批的场景。
AutoGen Studio 提供低代码界面,降低使用门槛。
典型应用场景:
- 复杂任务的多 Agent 协作
- 需要人工审批的工作流
- 研究助手、代码生成助手
优势:
- 多 Agent 对话模型清晰
- 支持人类在环审批
- 与 Azure AI 服务集成
不足:
- 学习曲线较陡
- 生产部署依赖微软生态
代码示例:
python
from autogen import ConversableAgent, UserProxyAgent
assistant = ConversableAgent("assistant", llm_config={"model": "gpt-4"})
user_proxy = UserProxyAgent("user", code_execution_config={"work_dir": "coding"})
chat = assistant.initiate_chat(user_proxy, message="分析库存数据")4. CrewAI
定位:角色驱动的多 Agent 协作
CrewAI 受剧本式协作启发,提出 Agent → Task → Crew 三层抽象。Agent 有明确的角色和目标,Task 定义具体任务,Crew 编排多个 Agent 按顺序或并行执行。
CrewAI 的优势是业务语义清晰,适合业务流程明确、需要多角色协作的场景。
典型应用场景:
- 销售流程自动化
- 内容创作流水线
- 市场调研与分析
优势:
- 角色和流程抽象直观
- 任务依赖关系清晰
- 上手快,业务友好
不足:
- 灵活性受限,高级定制需要深入源码
- 并行执行支持有限
代码示例:
python
from crewai import Agent, Task, Crew
researcher = Agent(role="研究员", goal="收集竞品信息", backstory="专注市场分析")
writer = Agent(role="作家", goal="撰写报告", backstory="专业商业写手")
crew = Crew(agents=[researcher, writer], tasks=[research_task, writing_task])
result = crew.kickoff()5. MetaGPT
定位:模拟团队协作的 Agent 框架
MetaGPT 模拟软件公司的组织结构,引入 SOP(标准操作程序)。每个 Agent 有角色(产品经理、架构师、工程师、测试),通过结构化消息传递协作。
MetaGPT 的野心是让 LLM 自主完成复杂软件项目。
典型应用场景:
- 软件开发任务分解与执行
- 需要多角色协作的复杂任务
- 研究性任务的自动化
优势:
- SOP 机制让多 Agent 协作更稳定
- 角色定义清晰
- 适合软件工程场景
不足:
- 资源消耗大
- 适用场景相对垂直
6. OpenAI Agents SDK / Swarm
定位:轻量级多 Agent 编排
OpenAI 的 Agents SDK(前身是 Swarm)主打轻量、实验性。不依赖重型框架,通过简化的 API 实现 Agent 路由和交接。
适合快速实验和简单场景,生产环境使用需谨慎。
典型应用场景:
- 快速原型验证
- 简单的 Agent 路由场景
- 教育和小规模实验
优势:
- 极其轻量
- 与 OpenAI API 集成好
- 学习成本低
不足:
- 功能有限
- 生产环境稳定性存疑
- 不适合复杂 Workflow
7. Semantic Kernel
定位:企业级 AI 应用开发(微软生态)
Semantic Kernel 是微软面向企业推出的 SDK,支持 C#、Python、Java。与 Azure AI、Copilot
