1. 主流Agent框架 #
| 框架 | 优势 | 适用场景 |
|---|---|---|
| LangChain+LangGraph | 全能型框架,管道式编排与丰富生态 | 企业级复杂应用、RAG + 工具混合 |
| AutoGen | 对话式多 Agent | 科研、代码生成、多角色辩论 |
| Qwen-Agent | 针对中文场景优化,对长文本友好 | 私有化部署、对接通义千问 / 阿里云生态 |
| Coze/Dify | 低代码可视化 | 业务人员快速搭建应用 |
这里仅仅列举了几个不同类型的框架,另外还有CrewAI、Semantic Kernel等一系列框架,不再一一列举。
2. Agent框架功能 #
一个Agent框架需要有哪些功能,解决哪些核心问题?
1.1 LLM层适配 #
LLM是Agent框架的大脑,一个Agent框架首先要具有LLM适配功能。一般来说,框架都具有以下特性:
- 统一调用方式
- 统一了参数配置(如 temperature)
- 输出格式(统一转为 Message 对象)
具体例子可以查看上一篇,这里不再赘述如何调用LLM。简单来说,就是各家LLM都定义了自己的一套API接口,如果要开发者自己去集成这些API,会花费很多功夫,所以这些框架都会在API层的基础上再包装一层,以适配不同的LLM。当开发者需要修改模型时,只需要修改对应的参数即可。
LangChain demo
1.2 工具注册与调度 #
当LLM需要使用外部功能时,就需要使用工具。工具是Agent框架的双手,目前市面流行的MCP、RAG、Skills,都可以抽象为工具调用。从框架设计的角度出发,一个工具应该尽可能高内聚低耦合,即开发者只关心工具的逻辑,而不用去关心工具的定义、使用等。
LangChain demo
如上,在LangChain框架中,用户只需要使用@tool装饰器,就可以完成一个工具的开发。
1.3 Context管理 #
一个用户的问题通常需要多轮对话才能解决,但LLM本身是无记忆性的,这就要求框架本身能附带上下文记忆的功能。关于上下文管理,框架通常需要提供以下能力:
- 对话历史截断
- 滑动窗口策略
- 避免Token爆炸
LangChain demo
1.4 控制流编排 #
复杂的任务通常不能一次性完成,通常需要用ReAct的方式拆解多个流程步骤来完成,可以说控制流是框架的中枢。当然,Agent框架支持你以什么样的流程来完成任务。
| 模式 | 说明 | 适用场景 |
|---|---|---|
| 管道模式 (Pipeline) | 类似LangChain 的 prompt | llm 链式调用 | 线性处理流程 |
| 单人模式 (Loop) | 经典 ReAct 循环:思考 -> 行动 -> 观察 | 单 Agent 完成任务 |
| 多人模式 (DAG) | 接力赛:明确的执行顺序 | 流程化任务 (如投资决策) |
| 多人模式 (Chat) | 圆桌会议:自由讨论 | 开放式协作 |