框架选型指南
核对日期:2026-05-09。
1. 定义与边界
Agent 框架选型是根据团队能力、任务复杂度、部署环境、数据治理、工具权限、评测和运维要求选择技术栈。选型不是“哪个框架最火”,而是“哪个框架能以最低复杂度满足当前系统约束”。
2. 为什么重要
Agent 框架迁移成本高,因为它会渗透到工具 schema、状态、prompt、trace、评测和部署流程。早期选错会导致系统难以观测、难以回放、难以治理。
3. 核心决策矩阵
| 需求 | 优先考虑 | 不建议 |
|---|---|---|
| 紧贴模型官方能力 | OpenAI Agents SDK、Anthropic tool use/MCP | 过厚抽象层 |
| 复杂状态、恢复、人类在环 | LangGraph | 简单 chain 或纯 prompt |
| RAG/数据密集 Agent | LlamaIndex | 只靠长上下文 |
| 多模型/多工具快速集成 | LangChain | 自研所有 connector |
| Microsoft/.NET/Azure 企业应用 | Semantic Kernel | 与现有身份/审计脱节的框架 |
| 多 Agent 原型和角色协作 | AutoGen、CrewAI | 关键生产流程无状态控制 |
| 低代码产品化和运营 | Dify、Coze | 纯代码框架让运营无法维护 |
4. 架构选型流程
5. 工程选型清单
选型前逐项回答:
| 问题 | 判断 |
|---|---|
| 状态是否需要持久化和恢复? | 是则优先 state graph/workflow |
| 工具是否有写操作或高权限? | 必须有工具网关和审批 |
| 是否需要非工程人员维护? | 考虑可视化平台 |
| 是否涉及企业数据 ACL? | 框架必须支持或易于接入前置权限过滤 |
| 是否需要多模型供应商? | 需要 adapter、归一化和回归评测 |
| 是否已有 Azure/.NET 生态? | Semantic Kernel 可能更顺 |
| 是否主要是 RAG? | LlamaIndex 或专门 RAG 架构 |
6. 生产实践
- 先做一条端到端关键路径 PoC,包含失败路径、审计和回放。
- 不要在第一版同时引入多 Agent、多模型、多平台和复杂工作流。
- 框架层只解决编排,权限、数据治理和发布流程仍由业务系统负责。
- 对可视化平台配置做导出、版本管理和评审。
- 对代码框架锁定版本,建立升级回归集。
7. 常见反模式
| 反模式 | 后果 |
|---|---|
| “先上最全框架” | 学习和运维成本过高 |
| 多 Agent 当默认架构 | 复杂度和成本上升 |
| 低代码平台绕过工程流程 | 无法回滚和审计 |
| 框架选型只看 demo | 忽略权限、部署、评测 |
| 混用过多抽象层 | 故障定位困难 |
8. 评测方法
选型 PoC 不应只看 demo 成功。建议评分:
| 维度 | 权重示例 |
|---|---|
| 任务成功率 | 30% |
| 工具权限和安全 | 20% |
| 可观测和回放 | 15% |
| 部署与运维 | 15% |
| 团队学习成本 | 10% |
| 成本和延迟 | 10% |
9. 安全与治理
框架选型必须考虑供应链、插件权限、凭证管理、日志脱敏、数据保留、租户隔离和审计。任何框架都不应直接获得通配符凭证或生产写权限。
10. 权威资料
- OpenAI Agents SDK: https://openai.github.io/openai-agents-python/
- Anthropic docs: https://docs.anthropic.com/
- MCP specification: https://modelcontextprotocol.io/specification/2025-11-25
- LangGraph docs: https://docs.langchain.com/oss/python/langgraph/overview
- LangChain docs: https://docs.langchain.com/oss/python/langchain/overview
- LlamaIndex docs: https://docs.llamaindex.ai/en/stable/
- AutoGen docs: https://microsoft.github.io/autogen/stable/
- Semantic Kernel docs: https://learn.microsoft.com/en-us/semantic-kernel/
- CrewAI docs: https://docs.crewai.com/
- Dify docs: https://docs.dify.ai/
- Coze Studio GitHub: https://github.com/coze-dev/coze-studio
11. 二次精修:决策矩阵与迁移策略
11.1 一页决策矩阵
| 约束 | 首选 | 备选 | 避免 |
|---|---|---|---|
| 官方模型能力优先 | OpenAI Agents SDK / Anthropic tool use | LangChain provider adapter | 过厚抽象屏蔽新能力 |
| 长流程、暂停恢复、HITL | LangGraph | Semantic Kernel Process | 自由多 Agent 群聊 |
| 数据/RAG 为核心 | LlamaIndex | LangChain retrieval | 只靠长上下文 |
| Microsoft/.NET/Azure | Semantic Kernel / Microsoft Agent Framework | OpenAI SDK + Azure 基础设施 | 与 IAM/审计脱节的工具 |
| 多 Agent 原型 | CrewAI | AutoGen 维护项目 | 新生产默认 AutoGen |
| 低代码运营 | Dify / Coze | 代码框架加内部 UI | 工程人员独占全部配置 |
| 强合规/高风险写操作 | 业务工作流 + 工具网关 + 审批 | LangGraph/SK 承载编排 | 平台插件直连生产写 API |
11.2 评分模板
| 维度 | 权重 | 评分问题 |
|---|---|---|
| 任务适配 | 20 | 是否能覆盖主要任务和失败路径 |
| 状态控制 | 15 | 是否支持恢复、暂停、补偿和版本迁移 |
| 工具治理 | 15 | 是否容易接入最小权限、审批、审计 |
| 数据治理 | 15 | 是否支持 ACL、引用、脱敏和保留 |
| 可观测/评测 | 15 | 是否能 trace、回放、离线评测和线上监控 |
| 团队成本 | 10 | 团队是否熟悉语言、部署和调试方式 |
| 迁移风险 | 10 | 是否容易退出、替换或与现有系统并行 |
11.3 选型流程
11.4 迁移策略
| 迁移方向 | 触发条件 | 做法 |
|---|---|---|
| 低代码到代码 | 工具风险升高、流程复杂、审计要求增强 | 先抽高风险工具和状态节点,平台保留入口 |
| 代码到低代码 | 运营频繁改文案和流程,工程成为瓶颈 | 只迁移低风险配置,权限仍在后端 |
| LangChain 到 LangGraph | chain 出现循环、恢复、审批和状态痛点 | 先定义 state schema,再拆节点 |
| AutoGen/Crew 原型到生产 | 群聊成本高且不可控 | 固化角色为显式流程和工具权限 |
| 单供应商到多供应商 | 成本、可用性或模型能力要求 | 先建 eval 和 adapter,避免盲切 |
| 多框架收敛 | 调试和运维成本过高 | 选一个编排内核,其他框架降为组件 |
11.5 PoC 必测清单
poc_acceptance:
normal_tasks:
- top_20_real_user_tasks
- failure_and_retry_paths
security:
- prompt_injection
- data_exfiltration
- unauthorized_tool_call
- malicious_tool_description
operations:
- trace_replay
- version_rollback
- cost_limit
- incident_disable_tool
governance:
- approval_flow
- audit_export
- data_retention
11.6 反模式
| 反模式 | 更好的判断 |
|---|---|
| 根据 GitHub stars 选框架 | 用业务任务、风险和团队能力评分 |
| 第一个 demo 成功就上生产 | 必须跑失败路径和安全评测 |
| 同时引入多个编排框架 | 先确定一个系统 of record |
| 把平台能力当治理能力 | 权限、审批、审计需要业务系统兜底 |
| 忽略退出成本 | 一开始就抽象工具、状态和评测数据 |
11.7 当前资料核对提示
- OpenAI/Anthropic 的官方 Agent 和工具能力变化快,框架选型前必须重新核对模型、工具、MCP 和 SDK 文档。
- AutoGen 已不适合作为新生产项目的默认推荐,应关注 Microsoft Agent Framework 与 Semantic Kernel 方向。
- LangChain/LangGraph 文档体系近年迁移较多,生产项目应锁版本并保存文档核对日期。
- Dify/Coze 要区分云版、开源版、企业版和插件生态,不把平台宣传能力直接当生产承诺。
核对日期:2026-05-09。