四大 Agent 设计框架概览
1. LangGraph(LangChain 生态)
仓库:https://github.com/langchain-ai/langgraph语言:Python / JavaScript 定位:低级编排框架,用于构建有状态、长期运行的 Agent
核心理念
- 受 Google Pregel 和 Apache Beam 启发
- 图结构编排:节点 = 计算单元,边 = 状态转移
- 持久化执行(Durable Execution):支持中断、恢复、时间旅行
- 流式输出、人机协作(Human-in-the-Loop)
关键模块
| 模块 | 功能 |
|---|---|
langgraph | 核心图编排引擎 |
checkpoint | 状态持久化(SQLite/Postgres) |
prebuilt | 预构建的 Agent 模板(ReAct 等) |
sdk-py / sdk-js | 客户端 SDK |
cli | 开发调试工具 |
设计特点
- 状态图驱动:Agent 行为由图结构定义,不是自由推理
- 确定性 + 自主性混合:部分路径确定性编排,部分节点内自主决策
- 适合场景:需要精确控制流程的生产级工作流
2. Microsoft Agent Framework (MAF)
仓库:https://github.com/microsoft/agent-framework语言:.NET / Python 定位:生产级多 Agent 编排框架,支持 .NET 和 Python 双语言
核心理念
- 从 Semantic Kernel 和 AutoGen 演化而来
- 多 Agent 协作模式:顺序、并发、交接(Handoff)、群组协作
- 声明式 Agent:YAML 定义 Agent 配置
- 中间件管道:请求/响应处理、异常处理、自定义管道
关键模块
| 模块 | 功能 |
|---|---|
Microsoft.Agents.AI | 核心 Agent 抽象(.NET NuGet) |
agent-framework | Python 包 |
| EvalCheck | Agent 评估框架(LocalEvaluator / MeaiEvaluator / FunctionEvaluator) |
| Agent Skills | 技能系统(文件/代码/类库三种来源) |
| Workflows | 图编排引擎(检查点、流式、人机协作) |
| Foundry Hosted Agents | Azure 托管 Agent |
| A2A Protocol | Agent 间通信协议 |
| AGUI | Agent 前端交互协议 |
设计特点
- 中间件模式:类似 ASP.NET 的中间件管道,可插拔
- EvalCheck 评估:执行与验证分离,支持规则/LLM裁判/自定义函数三种评估
- 多 Provider 支持:OpenAI、Azure、Anthropic、Google、Ollama 等
- 适合场景:企业级 .NET 生态、需要 Azure 集成的场景
3. AgentScope Java(阿里)
仓库:https://github.com/agentscope-ai/agentscope-java语言:Java(JDK 17+) 定位:面向 Java 企业的 Agent 编程框架
核心理念
- ReAct(Reasoning-Acting)范式:Agent 自主规划 + 工具调用
- 运行时可干预:安全中断、优雅取消、人工注入
- 企业级集成:MCP 协议、A2A 协议、RAG
关键模块
| 模块 | 功能 |
|---|---|
ReActAgent | 核心 ReAct 推理 Agent(3138 行) |
agent/ | Agent 抽象基类、事件系统、流式处理 |
tool/ | 内置工具(PlanNotebook、结构化输出等) |
memory/ | 长期记忆(语义搜索、多租户隔离) |
model/ | 多模型适配(DashScope、OpenAI、Anthropic 等) |
formatter/ | 消息格式化 |
runtime/ | 安全沙箱(GUI 自动化、文件系统、移动端) |
mcp/ | MCP 协议集成 |
设计特点
- ReAct 循环:思考 → 行动 → 观察 → 思考...
- 安全中断:可在任意时刻暂停 Agent,保留完整上下文和工具状态
- 结构化输出:自纠正的输出解析器,保证类型安全
- 响应式架构:基于 Project Reactor,非阻塞执行
- 适合场景:Java 企业级应用、需要阿里生态集成
4. Hermes Agent(Nous Research)
仓库:https://github.com/NousResearch/hermes-agent语言:Python 定位:全功能个人 AI Agent,终端原生
核心理念
- 终端优先(Terminal-First):CLI + TUI 双模式
- 工具自动发现:
tools/registry.py自动注册 - 插件化架构:记忆/模型/上下文引擎均可插拔
- 多平台网关:Telegram/Discord/Slack/微信/钉钉等 20+ 平台
关键模块
| 模块 | 功能 |
|---|---|
run_agent.py | 核心对话循环(~12k LOC) |
cli.py | CLI 交互编排器(~11k LOC) |
agent/ | Agent 内部组件(记忆、压缩、凭证等) |
tools/ | 工具实现(自动发现注册) |
gateway/ | 多平台消息网关 |
plugins/ | 插件系统(记忆/模型/上下文/看板等) |
skills/ | 内置技能 + 技能市场 |
hermes_cli/ | CLI 子命令、配置、皮肤引擎 |
cron/ | 定时任务调度 |
ui-tui/ | Ink (React) 终端 UI |
设计特点
- 工具注册表:
registry.register()自动发现,零配置 - 记忆插件:honcho/mem0/supermemory/openviking 等可插拔后端
- 模型插件:openrouter/anthropic/gmi 等推理后端
- Curator 系统:自动维护技能生命周期(创建→活跃→陈旧→归档)
- Kanban 多 Agent 协作:SQLite 持久化任务板
- 委托系统:子 Agent 隔离上下文 + 终端会话
- 适合场景:个人 AI 助手、多平台部署、终端重度用户
四大框架对比总结
| 维度 | LangGraph | MAF | AgentScope Java | Hermes |
|---|---|---|---|---|
| 语言 | Python/JS | .NET/Python | Java | Python |
| 编排模式 | 状态图 | 中间件+图 | ReAct循环 | 工具注册+委托 |
| Agent范式 | 图节点 | 声明式YAML | ReAct自主 | 对话循环 |
| 记忆 | Checkpoint | 中间件 | 长期记忆+RAG | 插件化后端 |
| 工具系统 | LangChain工具 | 函数工具 | MCP+内置 | 自动发现注册 |
| 多Agent | 图嵌套 | Handoff+群组 | Subagent事件 | 委托+Kanban |
| 评估 | LangSmith | EvalCheck | - | - |
| 部署 | 云/本地 | Azure/本地 | 企业服务器 | 终端/网关 |
| 生态 | LangChain | Azure/Foundry | 阿里/DashScope | 20+消息平台 |
共同核心抽象
所有框架都包含这些核心组件:
- Agent 循环:接收输入 → LLM 推理 → 工具调用 → 结果合并 → 输出
- 会话管理:多轮对话、上下文窗口管理
- 工具系统:函数注册、Schema 生成、调用执行
- 记忆/状态:短期(对话历史)+ 长期(持久化存储)
- 多 Agent:子 Agent 委托、任务分配
- 可观测性:日志、追踪、监控