Agent 框架设计与哲学比较矩阵
课题一:Agent 范式演进与关键技术转折 | A 补充
分层:Layer 1 | 元认知与认知框架
最后更新:2026-05-30
一、框架总览
| 框架 | 开发商 | 发布时间 | 语言 | 许可证 | GitHub Stars |
|---|
| LangChain | LangChain Inc. | 2022.10 | Python/TS | MIT | 100k+ |
| AutoGen | Microsoft | 2023.10 | Python | MIT | 30k+ |
| CrewAI | crewAI Inc. | 2023.11 | Python | MIT | 25k+ |
| MetaGPT | OpenAI (开源) | 2024.01 | Python | MIT | 45k+ |
| LangGraph | LangChain Inc. | 2024.07 | Python | MIT | 10k+ |
| OpenAI Agents SDK | OpenAI | 2024.06 | Python | MIT | 15k+ |
| Claude Agent SDK | Anthropic | 2025.05 | Python/TS | MIT | — |
| Google ADK | Google | 2025.09 | Python | Apache 2.0 | — |
| Hermes Agent | Nous Research | 2025.06 | Python | MIT | — |
| Semantic Kernel | Microsoft | 2023.05 | C#/Python | MIT | 23k+ |
| Strands Agents SDK | AWS | 2025.08 | Python | Apache 2.0 | — |
| Rivet | Rivet (YC) | 2023 | TS | MIT | — |
| Vellum | Vellum AI | 2023 | Python | Proprietary | — |
二、核心架构哲学对比
2.1 Agent 模型架构
| 维度 | LangChain | AutoGen | CrewAI | LangGraph | OpenAI SDK |
|---|
| Agent 模式 | ReAct / 自定义 | 会话Agent | 角色Agent | 状态图Agent | 函数调用Agent |
| 执行模型 | Chain / AgentExecutor | Agent ↔ Agent 对话 | Task → Agent 分配 | 图节点执行 | ToolLoop |
| 状态管理 | 隐式 (Memory) | 显式 (会话历史) | 隐式 (任务队列) | 显式 (状态图) | 简单轮次状态 |
| 持久化 | 需要外部存储 | 内置 | 无 | 内置持久化 | 无 |
| 维度 | Claude SDK | Google ADK | Hermes Agent | Semantic Kernel |
|---|
| Agent 模式 | MCP Agent | A2A Agent | 主/工具模型分工 | Planner + Functions |
| 执行模型 | Tool-use loop | Agent Pipeline | ReAct + Tool-model | 计划 → 执行 |
| 状态管理 | 会话上下文 | Session | 记忆系统 + session | Context 对象 |
| 持久化 | Claude Memory | Firestore | SQLite + 记忆系统 | 内存 |
2.2 设计哲学
| 框架 | 设计哲学 | 一句话概括 |
|---|
| LangChain | 组件化、可组合 | ”Agent 界的 React — 一切皆组件” |
| AutoGen | 多Agent 对话驱动 | ”Agent 之间说话就能解决问题” |
| CrewAI | 角色扮演协作 | ”给 Agent 一个职位,它会做得更好” |
| MetaGPT | 软件工程模拟 | ”模拟一家软件公司” |
| LangGraph | 图状态机 | ”Agent 是一个有状态的有向图” |
| OpenAI Agents SDK | 简洁、模型优先 | ”Agent 就是 Function Calling” |
| Claude Agent SDK | 安全、MCP 原生 | ”工具是能力,安全是底线” |
| Google ADK | 生态系统连接 | ”Agent 是 Google 生态的粘合剂” |
| Hermes Agent | 全栈、自动化 | ”让 Agent 真正干活” |
| Semantic Kernel | 企业级集成 | ”微软产品的 Agent 粘合剂” |
2.3 工具/插件生态
| 框架 | 工具定义 | 工具协议 | 第三方集成 |
|---|
| LangChain | 函数 / APIChain | 内部 Tool 抽象 | 大量内置集成 |
| AutoGen | 函数 / 代码执行 | 内部 | 可扩展 |
| CrewAI | 自定义 Tool | 内部 | 可扩展 |
| LangGraph | Prebuilt + 自定义 | LangChain Tool | 同 LangChain |
| OpenAI Agents SDK | Function schema | OpenAI schema | Function Calling 生态 |
| Claude Agent SDK | MCP Server | MCP 协议 | 任意 MCP 服务器 |
| Google ADK | A2A Agent / 工具 | A2A + MCP | Google 生态 |
| Hermes Agent | MCP Server + 内置 | MCP 协议 | MCP + Heremes Skills |
| Semantic Kernel | Plugins | Connectors | Microsoft 365 |
| Strands Agents SDK | MCP + Lambda | MCP | AWS 服务 |
2.4 关键设计差异解释
1. MCP vs 内部 Tool 抽象
传统框架(LangChain/OpenAI SDK):
Agent → 自定义 Tool 适配器 → 具体 API
└── 每个工具需要独立的适配器代码
MCP 模式(Claude SDK/Hermes Agent):
Agent → MCP Client → MCP Server → 具体 API
└── 统一协议,一次接入即可
Hermes Agent 与 Claude SDK 共享 MCP 原生支持,这是与 LangChain/AutoGen 最大的差异化优势。
2. 主/工具模型分工 vs 单模型
单模型模式(大多数框架):
LLM 调用 ─→ 规划 + 工具执行 + 结果分析 ─→ 全部在一个上下文
↑ token 膨胀、推理能力稀释
主/工具模型分工(Hermes Agent):
Agent Model ─→ 规划与决策(保持推理清晰)
│
▼
Tool Model ─→ 工具调用与结果处理(隔离噪音)
↑ 各司其职、上下文干净
这是 Hermes Agent 独有的架构选择,也是解决”Agent 上下文膨胀”问题的关键方案。
三、功能矩阵
3.1 Agent 构建能力
| 能力 | LangChain | AutoGen | CrewAI | LangGraph | OpenAI SDK |
|---|
| 单 Agent | ✅ | ✅ | ✅ | ✅ | ✅ |
| 多 Agent 协作 | ⚠️ 复杂 | ✅ | ✅ | ⚠️ 手动 | ⚠️ Handoffs |
| 工具调用 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 记忆系统 | ✅ 多种 Memory | ✅ 会话记忆 | ⚠️ 有限 | ✅ 检查点 | ❌ 无 |
| 推理增强 | ✅ Chain/Agent | ✅ | ✅ | ✅ | ⚠️ 内置 |
| 代码执行 | ✅ PythonREPL | ✅ | ✅ | ✅ | ✅ Code Interpreter |
| 多模态输入 | ⚠️ 有限 | ⚠️ 有限 | ❌ | ⚠️ 有限 | ✅ |
| 流式响应 | ✅ | ✅ | ⚠️ | ✅ | ✅ |
| 能力 | Claude SDK | Google ADK | Hermes Agent | Semantic Kernel |
|---|
| 单 Agent | ✅ | ✅ | ✅ | ✅ |
| 多 Agent 协作 | ⚠️ | ✅ A2A | ✅ Kanban | ⚠️ |
| 工具调用 | ✅ MCP | ✅ MCP+A2A | ✅ MCP | ✅ Plugins |
| 记忆系统 | ✅ Memory API | ✅ Session | ✅ 分层记忆 | ✅ Semantic Memory |
| 推理增强 | ✅ 原生 | ✅ Gemini | ✅ 主模型 | ⚠️ Planner |
| 代码执行 | ✅ | ✅ Code Execution | ✅ Terminal | ✅ |
| 多模态输入 | ✅ | ✅ | ⚠️ | ⚠️ |
| 流式响应 | ✅ | ✅ | ✅ | ⚠️ |
3.2 开发与部署
| 能力 | LangChain | AutoGen | CrewAI | LangGraph | OpenAI SDK |
|---|
| 调试工具 | LangSmith | 日志 | 日志 | LangSmith | 基本日志 |
| 可视化 | LangGraph Studio | ❌ | ❌ | LangGraph Studio | ❌ |
| 测试框架 | ✅ | ⚠️ | ⚠️ | ✅ | ✅ |
| 部署 | LangServe、云 | 自定义 | 自定义 | LangServe | OpenAI |
| 监控 | LangSmith | 自定义 | 自定义 | LangSmith | OpenAI Dashboard |
| 本地运行 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 能力 | Claude SDK | Google ADK | Hermes Agent | Semantic Kernel |
|---|
| 调试工具 | Claude Workbench | Cloud Logging | 日志 / session | Kernel Memory |
| 可视化 | ❌ | Console | TUI + Telegram | ❌ |
| 测试框架 | ✅ Sandbox | ✅ | ✅ | ✅ |
| 部署 | Claude API | Google Cloud | 本地 / 容器 | Azure |
| 监控 | Dashboard | Cloud Monitoring | Telegram通知 | Azure Monitor |
| 本地运行 | ✅ | ✅ | ✅ | ✅ |
3.3 编排与控制
| 框架 | 流程控制 | 错误处理 | Guardrails | 人机协作 |
|---|
| LangChain | Chain/LangGraph | Try-catch | Guardrails 库 | Human-in-the-loop |
| AutoGen | 对话流 | Agent 回复 | 自定义 | 用户 Agent |
| CrewAI | 任务序列 | Agent 重试 | 自定义 | 人工审查 |
| LangGraph | 图状态机 | 节点错误处理 | LangChain Guardrails | 中断机制 |
| OpenAI SDK | ToolLoop | 重试策略 | 系统 prompt | Function call 审核 |
| Claude SDK | MCP Loop | Tool 错误传播 | Safety filters | Review 模式 |
| Google ADK | Pipeline | 重试+降级 | Safety + 过滤 | Console |
| Hermes Agent | Kanban + 主/工具 | Heartbeat+超时 | YOLO 模式 | Gateway 审批 |
四、Agent 通信模式对比
4.1 内部通信
| 框架 | Agent 间通信方式 | 同步/异步 | 消息格式 |
|---|
| AutoGen | Agent 直接对话 | 同步 | 自然语言消息 |
| CrewAI | 任务传递结果 | 同步 | 结构化结果 |
| MetaGPT | 角色消息广播 | 同步 | 格式化的角色输出 |
| LangGraph | 图边传递状态 | 同步 | 状态字典 |
| OpenAI SDK | Tool Handoff | 同步 | 工具调用 |
4.2 外部通信协议
| 协议 | 提出者 | 目的 | 当前状态 |
|---|
| MCP (Model Context Protocol) | Anthropic (2024.11) | 统一 Agent-工具连接 | 广泛采用中 |
| A2A (Agent-to-Agent) | Google (2025.03) | 跨系统 Agent 协作 | 发展中 |
| Function Calling | OpenAI (2023.06) | 结构化工具调用 | 行业标准 |
| Tool API | 各框架自定义 | 框架内工具集成 | 碎片化 |
五、推荐使用场景
| 场景 | 推荐框架 | 理由 |
|---|
| 快速原型验证 | OpenAI Agents SDK | 最少代码量 |
| 企业级 Agent 应用 | Claude Agent SDK | MCP 生态 + 安全 |
| Google Cloud 集成 | Google ADK | 原生生态支持 |
| AWS 生态 | Strands Agents SDK | 原生 AWS 集成 |
| 个人/开发者 Agent | Hermes Agent | 全栈、灵活 |
| 复杂流程编排 | LangGraph | 图状态机最灵活 |
| 多角色协作任务 | CrewAI | 角色抽象最自然 |
| 研究/实验 | AutoGen | 多 Agent 对话易配置 |
| 微软生态 | Semantic Kernel | Copilot / M365 集成 |
| 代码生成 | Claude Code / Codex CLI | 编码专用优化 |
六、框架演进趋势(2026 视角)
趋势 1:协议标准化 → 框架同质化
2023: 各建各的 Tool API
2024: MCP 统一工具连接
2025: A2A 统一 Agent 间通信
2026: 框架差异缩小,竞争转向用户体验和生态
趋势 2:从”能跑”到”能运维”
2023: "Agent 能运行就算成功"
2024: "Agent 需要调试和测试"
2025: "Agent 需要监控和告警"
2026: "Agent 需要生产级的可观测性"
趋势 3:从通用到专业化
通用 Agent 框架 (LangChain) → 任务专用 Agent (Claude Code / Devin)
→ 领域 Agent (医疗、法律、金融)
→ 个人 Agent (Hermes Agent)
趋势 4:Workflow + Agent 融合
纯 Workflow (确定性) ───→ 混合模式 ───→ 纯 Agent (自主)
↑
Anthropic 2024.12 提出
"先 worklow,再 agent"
本文档为 interview-app 项目面试准备材料
建议与 evolution-timeline.md 配套阅读