多智能体框架 agent team 实现方式调研:MAF / AG2 / CrewAI / CAMEL / Hermes
多智能体框架 agent team 实现方式调研:MAF / AG2 / CrewAI / CAMEL / Hermes
调研日期:2026-09-19 | 数据来源:GitHub API 实测 / PyPI(pypistats)实测 / 官方 README 与文档原文抓取 / Hermes 本机 CLI 实测
协议层(A2A / ACP / ANP / AGNTCY 等)不在本文范围,那部分见 《Agent 互通与群聊方案调研》(abbrlink 99065)
目录定位:AI&agent —— 承接 99065 的「框架层」,本文只回答一件事:这五个东西内部是怎么把多个 agent 组起来的
一句话定位
五个东西都在解决「多个 agent 怎么协作」,但分属两个层次:MAF / AG2 / CrewAI / CAMEL 是用代码搭多智能体系统的框架(编排由你自己写),Hermes 是已经跑起来的 agent 运行时(多 agent 能力由 CLI、看板与进程隔离直接提供,不用自己写编排代码)。本文只记录使用形式(代码写成什么样、命令怎么敲)与能力边界(能做到哪、做不到哪)。
关键认知(破除常见误解):「多智能体」在 2026 年已经不是一个东西。同样叫”让多个 agent 协作”,五者的组队形态互不相同——MAF 是有向图、AG2 是协议频道网络、CrewAI 是角色化团队 + 流程枚举、CAMEL 是双角色对话、Hermes 是持久看板 + 进程隔离。把 A 的心智模型套到 B 上,是最常见的踩坑来源。
第二个关键认知(关于”有没有界面””是不是只能写代码”):这五个里只有 Hermes 是”打开就能用”的,其余四个都必须先写代码把系统搭出来——但它们并非都没有图形界面,而是界面的性质完全不同:MAF 的 DevUI 是开发调试工具(官方明示 non-production)、AG2 的 Studio 已独立成库且停更 19 个月、CrewAI 的官方可视化在企业版 AMP 里、CAMEL 核心没有界面(要靠在它之上另建的 OWL 项目)、只有 Hermes 的 Desktop / Dashboard 属于产品级图形界面。逐项对照见第十节;”怎么把已有 agent 接进框架(含 workbuddy / Hermes 的接线路线)”见第十一节;图形化多智能体协作平台的横向对比见第十二节。
另一个必须先建立的认知:这五个里有两个正在换代。MAF 是微软对 AutoGen 的官方继任(AutoGen 本体已维护模式);AG2 v1.0 又从”AutoGen 社区延续”改道成了协议驱动框架(Classic 拆分到独立仓库)。下面各段会分别标注「口径来源」,避免把旧文档的说法当成现状。
五者一览(先看这个)
| 维度 | MAF | AG2 | CrewAI | CAMEL | Hermes |
|---|---|---|---|---|---|
| 组队形态 | 有向图(executor + edge) | Hub + Channel(4 种 adapter) | Crew(角色队)+ Flow | 双角色对话 → Society | Kanban 看板 + profile 进程 |
| 谁决定下一步 | 图的边与条件 | adapter 的 TransitionGraph |
Process 枚举(sequential / hierarchical) |
两个 agent 轮流对话 | dispatcher 调度器 |
| 主要语言 | Python / .NET / Go | Python | Python | Python | Python(CLI / Desktop / Gateway) |
| 仓库 | microsoft/agent-framework | ag2ai/ag2 | crewAIInc/crewAI | camel-ai/camel | NousResearch/hermes-agent |
| ★(实测) | 13,595 | 4,940 | 58,753 | 17,745 | 247,038 |
| PyPI 月下载 | 407,366 | 218,199 | 9,516,134 | 44,554 | —(非库,走 CLI/Desktop) |
| 许可 | MIT | Apache-2.0 | MIT | Apache-2.0 | MIT |
| 上手难度 | 中(多语言 + 图概念) | 中高(v1.0 换代,资料断层) | 低(角色化直觉) | 低(双角色模板) | 零代码(已有实例) |
| 图形界面 | DevUI(本地 Web,官方标注非生产) | 主包无;AG2 Studio 已独立且停更 | 官方 Crew Studio 在企业版;社区有 Streamlit 版 | 核心无;生态项目 OWL 有 Gradio Web UI | Desktop + Dashboard(:9119),产品级 |
| 不写代码能用吗 | ❌ 必须写 | ❌ 必须写 | ❌ 必须写(企业版另有可视化) | ❌ 必须写 | ✅ CLI / Desktop 直接用 |
数据口径:★ / fork / issue / 时间一律取自 GitHub API;下载量取自 pypistats
recent接口;抓取时间 2026-09-19。
一、调研口径
- 六段式:每个项目按「项目背景 / 怎么用 / 对用户的价值 / 能力边界 / 与同类对比 / 社区反馈与可靠性」六段记录,文末另附全项目统一的「环境」与「安全风险评估」两节(2026-08-27 起的强制小节)。
- 只记录不评判:本文不写选型结论;能力清单只列官方原文出现过的术语与 API,抓不到的一律写「未在素材中出现」,不做推断。
- 数据必须实测:star / fork / issue / 推送时间走 GitHub API,下载量走 pypistats;官方文档以 raw 原文为准,不用二手总结。
- 口径冲突如实标注:同一项目在不同官方位置表述不一致时(如 MAF 的编排模式数量),两处都写并标明出处,不做择一。
- 抓取方式:四个开源框架的 README / 文档页由 Qoder CLI 并行抓取后结构化提炼;Hermes 因是本地实例,直接跑 CLI + 读本地仓库源码实测。
二、MAF(Microsoft Agent Framework)
1. 项目背景
- 微软把 AutoGen + Semantic Kernel 合并后的官方继任框架,
microsoft/agent-framework,MIT。 - GitHub API 实测(2026-09-19):★ 13,595 / fork 2,342 / open issues 619 / 创建 2025-04-28 / 最后推送 2026-09-18(日更)。
- 官方描述原文:“A framework for building, orchestrating and deploying AI agents and multi-agent workflows with support for Python and .NET.”
- 前身 AutoGen(
microsoft/autogen,★ 61,057)最后推送 2026-04-15,已进入维护模式;用户基数仍大(PyPIautogen-agentchat月下载 473,138)。
2. 怎么用
安装(README 原文):
# Python |
最小示例(README「Basic Agent - Python」原样复制):
import asyncio |
组队形式:多 agent 不是靠”群聊对象”,而是靠画图——WorkflowBuilder 连接 typed executors,Agent Executor 把 agent 作为节点塞进图,Sub-Workflows 把整张图当作一个执行器再套进更大的图。
3. 对用户的价值(分场景适配记录,客观记录各来源共识,非本报告立场)
- 要交付可控的多步流程:官方给出显式判据——“Use a workflow when… The process has well-defined steps | You need explicit control over execution order | Multiple agents or functions must coordinate”,即流程步骤明确、需要显式控制执行顺序、多 agent 或函数必须协同。
- 要跨语言:Python / .NET / Go 三套 SDK 均支持图式工作流,Python 另有实验性的函数式工作流 API(
@workflow/@step)。 - 要长时运行与人工审批:官方强调 “durability, restartability, observability, governance, or human-in-the-loop control” 是选用它的理由;
ctx.request_info()/RequestInfoExecutor是 HITL 通道,另有 “don’t-ask-again tool approval”(问一次就不再问的工具审批)。 - 要审计与回溯:superstep 边界 checkpoint + time-travel,可回放执行路径。
4. 能力边界
✅ 能做
- 图式编排:
WorkflowBuilder(.NET)/ Python 实验性@workflow+@step/ Goworkflow.NewBuilder;概念是executors / edges / events——“Executors receive inputs, perform work, and emit outputs. Edges route values between executors.” - 编排模式(README 口径):“graph-based workflows supporting sequential, concurrent, handoff, and group collaboration patterns; includes checkpointing, streaming, human-in-the-loop, and time-travel”——即 sequential / concurrent / handoff / group collaboration 四种。
- 图内并行:Graph 用并行边组 + superstep 执行;Functional 用
asyncio.gather。 - agent 当节点 / 工作流当 agent:
Agent Executor把 agent 集成进图;AsAIAgent()、agentworkflow.New(...)、.as_agent()反向把工作流暴露成标准 agent。 - 状态:
session-based state management、workflow state(durable 与 run-scoped)、Resettable Executors(多次运行间重置)。 - HITL:
ctx.request_info()(Functional)/RequestInfoExecutor(Graph)。 - 中间件与 MCP:middleware 拦截 agent 动作、MCP clients 做工具集成、context providers 做记忆。
- 图形界面(DevUI):
agent-framework-devui提供本地 Web(默认:8080),可跑 agent 与工作流、看 OpenTelemetry trace、并暴露 OpenAI 兼容 API——官方明示是 sample app、“not intended for production use”;要做生产前端则走 AG-UI(Preview,可配 CopilotKit)或 ChatKit(Preview)。 - 接外部 agent(A2A):官方 agent services 表把 A2A 列为三语言(C# / Python / Go)全支持,定义为 “Remote A2A-compliant agent definition, tools, sessions, tasks, and execution”;同表还可接入 GitHub Copilot 运行时、Copilot Studio、Anthropic Claude Agent SDK。
❌ 不能做 / 未出现
- README 口径中未见
group chat、magentic字样——素材中只出现group collaboration。 - 首轮抓取的 README / 文档素材中未见 MAF 专用 CLI;补充调研修正:DevUI 自带
devui命令(devui ./agents --port 8080,属agent-framework-devui包)。除此之外命令行仍以安装/认证类为主(pip install、dotnet add package、az login)。 - 官方未给出 agent 数量上限或 token 成本提示(素材中未出现)。
⚠️ 注意事项
- 口径冲突(必须知道):README 的表述是”sequential / concurrent / handoff / group collaboration”四种;而微软 Azure 架构中心文档给出的是”五种编排模式,含 Group chat 与 Magentic“。两者都是官方,位置不同、表述不同——引用时必须标明出处,不要把旧口径当成现状。
- Python 的函数式工作流 API 官方标注为 experimental(“Python additionally provides an experimental functional workflow API”)。
- 官方那句劝退式判据值得贴在墙上:“If you can write a function to handle the task, do that instead of using an AI agent.”
5. 与同类对比
| 项目 | 组队形态 | 与 MAF 的关系 |
|---|---|---|
| AutoGen(microsoft/autogen) | GroupChat 圆桌 | 前身,MAF 是官方继任;AutoGen 2026-04-15 后维护模式 |
| AG2 | Hub + Channel | 竞争(同源分叉),但 AG2 v1.0 走协议网络路线,MAF 走图路线 |
| CrewAI | 角色队 + Process | 竞争;CrewAI 抽象层级更高(角色化),MAF 控制粒度更细(图) |
| LangGraph | 图编排 | 形态最接近;MAF 的差异化在多语言(含 .NET/Go)与官方企业特性 |
6. 社区反馈与可靠性
- ★ 13,595 / fork 2,342 / 日更(2026-09-18 推送);PyPI
agent-framework月下载 407,366。 - 官方背景:微软第一方项目,文档站
aka.ms/agent-framework,官方宣称融合 “AutoGen’s simple agent abstractions with Semantic Kernel’s enterprise features — session-based state management, type safety, middleware, telemetry”。 - 可靠性判断:维护活跃度与官方投入是五个里最确定的;但文档口径仍在迁移中(README 与架构中心表述不一致、AutoGen 用户向 MAF 的迁移资料尚不完全覆盖),跨版本引用需核对日期。
三、AG2
1. 项目背景
ag2ai/ag2,Apache-2.0,仓库描述原文:“AG2 (formerly AutoGen): The Open-Source AgentOS.”- GitHub API 实测(2026-09-19):★ 4,940 / fork 720 / open issues 27 / 创建 2024-11-11 / 最后推送 2026-09-19。
- 本项目最大变化(决定它是什么):README 原文 “As of AG2 v1.0, the protocol-driven framework is the top-level package, imported as
ag2. The classic framework has moved to its own repository — ag2ai/ag2-classic… The agent model, orchestration, and imports all changed.” —— 即pip install ag2拿到的是协议驱动的新框架,祖传的autogen.*群聊那套已拆到pip install ag2-classic。
2. 怎么用
安装(README 原文):
# Windows/Linux |
最小示例(README「Run your first agent」原样复制):
import asyncio |
组队形式:开启 ag2.network 后,把 Agent 注册进 Hub,agent 之间通过带类型的 Channel 交换 Envelope。原文:“The ag2.network module turns one or more Agent instances into a multi-agent network — a hub-and-spoke topology where a central registry coordinates channel-based, protocol-driven exchanges between named agents. It is fully opt-in.”
四种 Channel 对应四种”组队形态”(官方 adapter 表原文):
| Channel 类型 | 参与者 | 发言规则 | 终止方式 |
|---|---|---|---|
conversation |
恰好 2 方 | 自由形式,任一方随时可发言 | 显式关闭或 TTL(永不自动关闭,由应用限定并关闭) |
consulting |
严格 1 问 1 答(发起方 → 应答方) | 问答 | 应答方回复后自动关闭 |
discussion |
2 方及以上 | ordering="round_robin" 轮询 |
显式关闭或 TTL |
workflow |
2 方及以上 | 声明式 TransitionGraph |
图终止(TerminateTarget / max_turns) |
3. 对用户的价值(分场景适配记录,非本报告立场)
- 要可审计的多 agent 交互:Hub 持有 “registry, audit log, channel table, write-ahead logs, expectation evaluators, sweepers”;
hub.read_wal(channel_id)可重放,hub.audit_log.read_all()可做治理。这是五个框架里唯一把预写日志与审计轨迹做成核心组件的。 - 要跨进程 / 跨机部署:把
LocalLink换成WsLink,“run the hub and each agent as separate OS processes connected over WebSocket”。 - 要”谁先说、什么条件触发、何时终止”显式声明:
TransitionGraph是 JSON 可序列化的声明式图,“who speaks first, what conditions fire, when to terminate”,且能挺过Hub.hydrate()。 - 要复现 AutoGen 老例子:走
ag2-classic(独立仓库,仍在维护,autogen.*命名空间不变)。
4. 能力边界
✅ 能做
- 身份与治理:
Passport(name / agent_id / owner / model)、Resume(claimed_capabilities / domains / summary + hub 改写的 observed 战绩)、Rule(per-agent 访问列表、速率限制、收件箱上限、频道类型白名单)。 - 消息模型:
Envelope(hub 盖章的事件记录:event_type / event_data / sender_id / audience / causation_id)。 - 频道生命周期状态机:
INVITED → ACTIVE → CLOSED,含 ack 超时违规关闭、显式 close、TTL 到期。 - handoff 与条件路由:
AgentTarget/RevertToInitiatorTarget()/StayTarget()/TerminateTarget(reason=...);条件用TransitionCondition+register_condition(...);工具返回ReplyResult(target=...)会自动发EV_HANDOFF信封。 - 预设图:
TransitionGraph.round_robin(participants=[...], max_turns=6)、TransitionGraph.sequence([...])。 - 期望(Expectations)取代 max_round:可声明
reply_within(60s, auto_close),违规记入审计日志并自动关频道。 - 视图(Views)取代上下文裁剪:
FullTranscript/WindowedSummary默认视图,自定义视图经ViewPolicyProtocol 接入。 - 持久化:
MemoryKnowledgeStore/DiskKnowledgeStore;compact=/SummarizeCompact限制历史增长;attach_plugin=True免写”收消息→跑 LLM→回复”的胶水代码。 - HITL:在工具内
context.input(...)暂停运行并向人提问,由hitl_hook决定问题怎么被回答(CLI / Web UI / 队列);HumanClient是”非 LLM 参与者”,同一套信封管道。 - 远程/进程隔离:
HubClient、LocalLink/WsLink、serve_ws、at-least-once 投递、重连、task durability。官方博客另称 AG2 具备 first-class A2A remote support(把 agent 部署在标准 API server 之后、作为原生组件参与编排)——该表述出自官方博客,v1.0 文档正文中未见对应 API 细节,引用需注明来源。
❌ 不能做 / 未出现
GroupChat/GroupChatManager/ConversableAgent/AssistantAgent/UserProxyAgent已不在ag2包里——它们属于ag2-classic(autogen.*命名空间)。- 本包不含任何可视化界面:
ag2v1.0 的 README 与pyproject.optional-dependencies中检索不到 studio 字样;曾有的 AG2 Studio 现已独立为ag2ai/ag2studio(★52 / fork 15 / 最后推送 2025-01-24,停更约 19 个月)。 - 素材中未出现
speaker_selection_method的auto/manual/custom策略名(仅见 classic 代码示例里的round_robin)。 - 未出现
is_termination_msg、human_input_mode这两个祖传参数(新版改用 expectations /max_turns/hitl_hook)。 - 未出现独立的类名
Swarm(仅以小写复数 “swarms” 出现在 Classic 能力对照中)。 - 官方未给出 agent 数量建议与成本提示(素材中未出现)。
⚠️ 注意事项
- 不是 drop-in 升级:官方原话 “AG2 v1.0 (pip install ag2) is not a drop-in upgrade from Classic. The agent model, orchestration, and imports all changed.”
- 中文资料基本全是 Classic 的:网上 99% 的 AutoGen 教程基于
autogen.*命名空间,照抄到ag2v1.0 会直接 ImportError。 conversation频道永不自动关闭,必须由应用显式限定与关闭——忘了关就是资源泄漏。- handoff 在频道层描述(per-channel,不是 per-agent),官方给的迁移理由:“easier to reason about and serialisable”。
5. 与同类对比
| 项目 | 组队形态 | 与 AG2 的关系 |
|---|---|---|
| AutoGen | GroupChat 圆桌 | 同源:AG2 曾是 AutoGen 的社区延续,v1.0 后走自己的协议路线 |
| MAF | 图编排 | 竞争;官方定位差异在”协议 + 审计 + 可部署”vs”图 + 多语言” |
| ag2-classic | GroupChat / swarm / nested chat | 自家旧版,正式拆分但仍在维护 |
| Hermes peer / OpenClaw sessions_send | 直接点对点消息 | 形态不同:AG2 是中心 hub,Hermes/OpenClaw 是无中心的直发 |
6. 社区反馈与可靠性
- ★ 4,940 / fork 720 / open issues 仅 27 / 最后推送 2026-09-19(当日);PyPI
ag2月下载 218,199。 - 社区渠道:官方 Discord(仓库描述内给出邀请链接)。
- 可靠性判断:代码与文档维护活跃、issue 积压极少;风险主要在资料断层——v1.0 换代幅度大(agent 模型、编排、导入全变),社区存量内容与新版不匹配,接入时必须以
docs.ag2.ai/docs/user-guide/network/的一手文档为准。
四、CrewAI
1. 项目背景
crewAIInc/crewAI,MIT。官方描述:“Framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks.”- GitHub API 实测(2026-09-19):★ 58,753 / fork 8,507 / open issues 390 / 创建 2023-10-27 / 最后推送 2026-09-19。
- 五个框架里社区体量最大:PyPI
crewai月下载 9,516,134。
2. 怎么用
安装与脚手架(README 原文):
uv tool install crewai |
README 原文说明:“CrewAI requires Python >=3.10 and <3.14.”、“CrewAI uses UV for dependency management and package handling.”
项目的形态(JSON-first):“crewai create crew creates a JSON-first crew project. Agents live in agents/*.jsonc, tasks and crew-level settings live in crew.jsonc, and crewai run loads that JSON definition directly.”
最小示例(README「Using Crews and Flows Together」原样复制前 29 行):
from crewai.flow.flow import Flow, listen, start, router, or_ |
组队形式:两层——Crew(角色队,两个 Process 枚举)与 Flow(事件驱动流程)。官方 FAQ 的分工原文:“Crews provide autonomous agent collaboration, ideal for tasks requiring flexible decision-making and dynamic interaction. Flows offer precise, event-driven control, ideal for managing detailed execution paths and secure state management.”
3. 对用户的价值(分场景适配记录,非本报告立场)
- 要最快理解”多个 agent 组队”:抽象最贴近直觉——每个 agent 有
role/goal/backstory,官方对 Crew 的定义是 “Teams of AI agents with true autonomy and agency, working together to accomplish complex tasks through role-based collaboration.” - 要”经理派活”式组织:
hierarchical流程原文——“Organizes tasks in a managerial hierarchy, where tasks are delegated and executed based on a structured chain of command.”,且任务不预先分配:“Tasks are not pre-assigned; the manager allocates tasks to agents based on their capabilities, reviews outputs, and assesses task completion.” - 要业务代码与 agent 混合:Flows 提供 “Clean integration of AI agents with production Python code” 与条件分支。
- 要扩展面广:官方列了五条扩展途径——“Tools, MCPs, Apps, Skills, and Knowledge”,另有
checkpointing、async execution与MCP/A2A support。
4. 能力边界
✅ 能做
- 两种 Process:
sequential(“Task execution follows the predefined order in the task list, with the output of one task serving as context for the next.”);hierarchical(需指定manager_llm或manager_agent)。 Process是 Enum:“The Process class is implemented as an enumeration (Enum), ensuring type safety and restricting process values to the defined types (sequential, hierarchical).” —— 即只有这两个值,没有第三种编排模式。- 自动委派工具:
allow_delegation=True时自动给每个 agent 两个工具——Delegate work to coworker(task, context, coworker)与Ask question to coworker(question, context, coworker);原文 “Enables agents to ask specific questions to gather information from colleagues.” - Flow 控制流:
@start/@listen/@router装饰器,配合逻辑运算or_/and_组合触发条件;Flow[State]泛型持有结构化状态(示例用 pydanticBaseModel)。 - 任务上下文:
Task的context参数指定”哪些前序输出作为本任务的上下文”。 - 记忆:
Agent(memory=True)——“agents learn from previous collaborations and improve their delegation decisions over time”;另有统一 Memory 系统与 Knowledge。 - 观测协作:
Crew(step_callback=...)监控协作(可检测输出中的 “Delegate work to coworker” / “Ask question to coworker”)。 - 启动:
crew.kickoff(),可传命名输入kickoff(inputs=...)。 - 可视化(不在开源框架本体):官方 Crew Studio 属 CrewAI AMP 平台(三栏界面 AI Thoughts / Visual Canvas / Resources + Execution View 的 Event Timeline);社区另有开源
strnad/CrewAI-Studio(Streamlit,http://localhost:8501,支持 OpenAI / Groq / Anthropic / Ollama / Grok / LM Studio 多后端)。开源框架本身不自带 GUI。 - 接外部系统:README Key Features 提到 “MCP/A2A support”(无细节);AMP 侧可把 crew 导出为 MCP server、React 组件(
ag-ui-crewai+ CopilotKit)或 ZIP 源码。
❌ 不能做 / 未出现
- 编排模式只有两种(
Process是 Enum 强制),没有 group chat / handoff / swarm 这类第三种原语;需要更复杂控制时走 Flows(事件驱动)而不是新 Process。 - 素材中未出现
crewai train/crewai test子命令(HTML 导航只有对应的 “Training” / “Testing” 文档页)。 - 官方未给出明确的 agent 数量建议;README 遥测章节仅提到采集 “Number of agents and tasks in a crew” 用于内部测试与最佳实践宣导。
- 官方未给出 token 成本提示(素材中未出现)。
⚠️ 注意事项
- 遥测默认开启:匿名遥测会采集 CrewAI 版本、Python 版本、通用 OS 信息(CPU 数、macOS/Windows/Linux)、crew 中 agent 与任务的数量;用户可 opt-in 更进一步的 “Further Telemetry”(
share_crew=True会采集goal/backstory/context/output)。官方 FAQ 原话:“Sensitive data such as prompts, tasks, or API responses are never collected unless explicitly enabled by the user.” - Python 版本窗口窄:
>=3.10 and <3.14。 - package 管理强制 UV:官方文档与脚手架都按 UV 组织,无 UV 的既有环境需先补。
- 角色设计有官方最佳实践:“✅ Good: Specific, complementary roles … ❌ Avoid: Overlapping or vague roles”;委派策略上*”Enable delegation for coordinators and generalists … Disable for focused specialists (optional)”*。
5. 与同类对比
| 项目 | 组队形态 | 与 CrewAI 的关系 |
|---|---|---|
| MAF | 图 + 多语言 | 竞争;CrewAI 抽象更高、上手更快,MAF 控制粒度更细、企业特性更全(.NET/telemetry) |
| LangGraph | 图 / swarm | 竞争;CrewAI 是”角色 + 流程”,LangGraph 是”状态图” |
| CAMEL | 双角色对话 | 定位不同:CAMEL 偏会话与研究,CrewAI 偏生产任务派发 |
| MetaGPT / ChatDev | SOP 公司模拟 | 思路最近(都是角色分工),但 CrewAI 是活跃生产框架,后两者偏论文/演示 |
6. 社区反馈与可靠性
- ★ 58,753 / fork 8,507 / 最后推送 2026-09-19(当日);PyPI 月下载 9,516,134(五个里最大,量级领先一个数量级)。
- 官方背景:有商业公司 CrewAI Inc. 与云端产品(CrewAI AMP/Cloud,README 出现 Cloud Trial 入口),开源版 MIT。
- 生态:
crewAIInc/crewAI-examples提供 trip planner / stock analysis / job postings 等实例;官方crewAIInc/skills仓库提供面向 AI 编码助手的插件市场(Claude Code 一行命令接入)。 - 可靠性判断:社区规模、更新频率与实例生态都是五个里最成熟的;需注意的是开源版与云端产品能力边界不同(README 中 “What additional features does CrewAI AMP offer?” 即属商业侧),引用能力时以开源文档为准。
五、CAMEL
1. 项目背景
camel-ai/camel,Apache-2.0。官方描述:“🐫 CAMEL: The first and the best multi-agent framework. Finding the Scaling Law of Agents.”- GitHub API 实测(2026-09-19):★ 17,745 / fork 2,082 / open issues 486 / 创建 2023-03-17(五个里最早) / 最后推送 2026-09-14。
- 定位是研究导向:官方原文 “CAMEL is an open-source community dedicated to finding the scaling laws of agents… To facilitate research in this field, we implement and support various types of agents, tasks, prompts, models, and simulated environments.”
- PyPI
camel-ai月下载 44,554。
2. 怎么用
安装(README 原文):
pip install camel-ai |
组队形式:从两个 agent 的角色扮演(RolePlaying)起步,再到规模化社会(Agent Society / Workforce)。官方定义:“Agent Society: Enabling multi-agent communication for the task solving.”
最小示例(官方教程《Creating Your First Agent Society》原样复制):
# 任务:由起始提示(inception prompt)初始化 |
运行循环(同教程原样复制):
input_msg = society.init_chat() # 从 AI 助手发给 AI 用户的初始消息 |
3. 对用户的价值(分场景适配记录,非本报告立场)
- 要理解”两个 agent 对话”这一原始范式:CAMEL 是这类设计的开山之作,
RolePlaying的官方设计说明原文——“We design this in an instruction-following manner. The essence is that to solve a complex task, you can enable two communicative agents collaboratively working together step by step to reach solutions.” - 要做大规模涌现行为研究:官方口径 “The framework is designed to support systems with millions of agents”、“Simulate up to 1M agents to study emergent behaviors and scaling laws”。
- 要做合成数据生成:官方列的研究优势中包含 “Automate the creation of large-scale, structured datasets while seamlessly integrating with multiple tools”。
- 要最小可读的编排代码:相比图/协议/流程枚举,
RolePlaying(**kwargs)的形式最接近”给两个角色发剧本”。
4. 能力边界
✅ 能做
- 双角色指令跟随:
RolePlaying,参数分三组——任务(task_prompt/with_task_specify/task_specify_agent_kwargs)、用户角色(user_role_name/user_agent_kwargs)、助手角色(assistant_role_name/assistant_agent_kwargs)。 - 逐步交互 API:
society.init_chat()(取首条消息)、society.step(input_msg)(一次拿到双方本轮响应)。 - 终止控制:
response.terminated+response.info['termination_reasons'];内容级哨兵CAMEL_TASK_DONE;轮数上限run(society, round_limit: int=10)。 - 模块化能力(README「Key Modules」原文):
Agents(“Core agent architectures and behaviors for autonomous operation.”)、Agent Societies(“Components for building and managing multi-agent systems and collaboration.”)、Memory、Tools、Human-in-the-Loop(“Interactive components for human oversight and intervention.”)。 - 工具挂载:
SearchToolkit等,示例ChatAgent(model=model, tools=[search_tool])。 - 有状态记忆:官方设计原则 “Agents maintain stateful memory, enabling them to perform multi-step interactions with environments”。
- 规模化:
Society/Workforce模块(README 中Workforce以 cookbook 名称、文档导航项与仓库路径camel/societies/workforce形式出现,示例为”黑客松评审委员会”)。
❌ 不能做 / 未出现
- 素材中未出现独立的
Society类名;出现的是概念名Agent Society与文档模块名 “Societies”、以及Workforce。 - 未出现
Workforce的类签名与构造参数(仅见模块路径、cookbook 名与文档导航)。 - 官方未给出 token 成本提示(素材中未出现)。
- 核心框架不自带图形界面:README 中检索不到 streamlit / web UI / gradio 字样。图形化交互要靠建在 CAMEL 之上的生态项目 OWL(Gradio Web UI,
python run_app.py/run_app_en.py,官方 README:“OWL now includes a web-based user interface”,功能含模型选择、环境变量管理、交互式聊天、任务历史)。
⚠️ 注意事项
CAMEL_TASK_DONE是内容级哨兵:靠检查回复文本里有没有这个字符串来结束,不是状态机级终止。round_limit默认 10:不改的话长任务会被截断。- 官方规模口径(1M agents)属研究宣称(面向 scaling law 研究);与生产可用性不是同一件事,引用时不要混淆。
5. 与同类对比
| 项目 | 组队形态 | 与 CAMEL 的关系 |
|---|---|---|
| CrewAI | 角色队 + Process | 都讲”角色”,但 CrewAI 角色服务于任务派发,CAMEL 角色服务于对话推进 |
| MetaGPT / ChatDev | 公司 SOP 模拟 | 同走”角色扮演”路线,CAMEL 更偏底层机制与规模化研究 |
| AG2 | Hub + Channel | 竞争;CAMEL 是双人对话范式,AG2 是多频道协议范式 |
| MAF | 图编排 | 形态互斥:CAMEL 无显式图,”下一步”由对话双方轮流产生 |
6. 社区反馈与可靠性
- ★ 17,745 / fork 2,082 / 最后推送 2026-09-14;PyPI 月下载 44,554(四个开源框架里最小)。
- 官方背景:CAMEL-AI 社区/Oxford 系研究项目起家,文档站
docs.camel-ai.org,仓库创建最早(2023-03-17)。 - 可靠性判断:代码维护持续(issue 486 相对偏多,符合研究型项目特征);文档站存在 404 页(本次抓取
docs.camel-ai.org的 societies 页时命中 “Page Not Found”,而教程页有效)——按文档导航跳转时需留意失效链接。
六、Hermes(本机实测)
1. 项目背景
NousResearch/hermes-agent,MIT License,Copyright (c) 2025 Nous Research。官方定位原文:“The self-improving AI agent built by Nous Research. It’s the only agent with a built-in learning loop — it creates skills from experience, improves them during use…”- 页面实测(2026-09-19,GitHub HTML):★ 247,038。
- 本地实例实测:版本 0.20.6(
pyproject.toml),git commita0a63a1bc2(2026-08-31);安装于C:\Users\Admin\AppData\Local\hermes\hermes-agent,源码完整可读。 - 与其他四个的本质差异:Hermes 不是”库”,是已经跑起来的多 agent 运行时——多 agent 能力以 CLI 子命令、持久看板与进程隔离的形式直接可用,不需要写编排代码。
2. 怎么用
多 agent 相关的三条命令行入口(本机实测 --help 输出):
# 1. 持久任务板:跨 profile 协作 |
组队形式:Hermes 的”team”不是对象组合,而是任务卡 + 认领 + 隔离工作区。kanban 帮助原文:“Durable SQLite-backed task board shared across Hermes profiles. Tasks are claimed atomically, can depend on other tasks, and are executed by a named profile in an isolated workspace.”
一条命令组出固定拓扑:kanban swarm 生成 “parallel workers → verifier → synthesizer” 的 Swarm v1 图。
3. 对用户的价值(分场景适配记录,非本报告立场)
- 本机已具备完整多 agent 协作层,零改造成本:Kanban 是 SQLite 持久板,跨 profile 共享,原子认领 + 依赖图 + 隔离工作区 + 评审流转,全部由 CLI 暴露。
- 要”派活—验收—汇总”三步走:
swarm --worker ... --verifier ... --synthesizer ...一条命令建图;decompose还能把 triage 任务自动拆成子任务图并按描述路由到专员 profile。 - 要跨机协作:
peer是原生 bot-to-bot 通道(hermes peer dm <peer>/<agent>投递到远端 agent 的 Bot Chat 并打印回复),支持异步长任务(peer run+--idempotency-key)与status/stop。 - 要隔离上下文:任务可指定
--workspace scratch | worktree | worktree:<path> | dir:<path>,worker 拿到的上下文由hermes kanban context精确界定(title + body + parent results + comments)。 - 要通知层与干活层分离:
notify-subscribe把网关订阅到任务的终态事件,群聊只做通知、Kanban 负责状态。
4. 能力边界
✅ 能做(均为本机 CLI 实测输出)
- 任务生命周期:
create(支持--parent重复传参建依赖、--triage自动补规格、--idempotency-key去重、--max-runtime超时 SIGTERM 重排、--max-retries、--skill强制加载技能)→claim(原子认领并打印解析后的 workspace 路径)→comment/attach/heartbeat→complete/block/schedule→archive。 - 调度器:
dispatch(一趟:回收 stale、提升 ready、spawn workers);注意daemon已废弃——“dispatcher now runs in the gateway. Usehermes gateway start“。 - 拓扑生成:
swarm(parallel workers → verifier → synthesizer)、decompose(拆成子任务图并按描述路由到专员 profile,不值得 fan-out 时退化为单任务提升)、specify(把 triage 任务补成具体 spec)。 - 评审流转:
request-review(“implementation done, awaiting review — NOT a block”)、request-changes、reopen-review、promote(人工恢复路径)。 - 可观测性:
runs(每次尝试一行:profile / outcome / elapsed / summary)、log(worker 日志)、events流(tail/watch)、stats(按状态与认领人计数 + 最老 ready 时长)、diagnostics、gc、repair(kanban.db 完整性检查与自动修复)。 - 多 profile 治理:
assignees列出已知 profile 与各自任务数(~/.hermes/profiles/与当前认领的并集);set-model设任务级模型覆盖(下次 dispatch 生效);reassign/reclaim处理认领冲突。 - 子智能体(delegated subagents):源码
agent/subagent_lifecycle.py实测——SubagentLaunchRequest含goal/context/role(默认"leaf")/model/allowed_toolsets/blocked_tools/working_directory/parent_session_id/correlation_id/timeout_seconds;SubagentState状态机PENDING → STARTING → RUNNING → SUCCEEDED | FAILED | INTERRUPTED | CANCEL_REQUESTED | CANCELLED;终态保留 3600 秒。 - 跨机互通:
peer(add / set / list / remove / dm / run / status / stop),远端须开api_server,密钥存~/.hermes/.env。 - 多模型聚合:
moa(list / configure / delete),会话内/moa <prompt>走多模型槽位。 - 编辑器集成:
acp(VS Code / Zed / JetBrains)。 - 图形界面(产品级):
hermes desktop(Electron 桌面应用)/hermes dashboard(Web 面板,默认127.0.0.1:9119,“for managing config, API keys, and sessions”)/hermes serve(JSON-RPC 与 WebSocket 后端,headless);另有hermes insights(会话历史、token 用量、成本、工具模式分析)、hermes monitoring(OTLP 导出,内容无关设计)。 - 作为 MCP server 对外暴露:
hermes mcp serve—— “Run Hermes as an MCP server (expose conversations to other agents)”;同时hermes mcp add / catalog / install让它反向充当 MCP 客户端(如hermes mcp install n8n)。本地源码agent/transports/hermes_tools_mcp_server.py另有把 Hermes 工具面(delegate_task子智能体、kanban_*、web/browser/vision/TTS 等)通过 stdio MCP 暴露给外部 agent 运行时的实现。 - 官方文档:本地
docs/hermes-kanban-v1-spec.pdf(213 KB 规范)+ 在线hermes-agent.nousresearch.com/docs/user-guide/features/kanban。
❌ 不能做 / 未出现
- 不是库:没有
pip install后import的编排 API;多 agent 只能通过 CLI / Gateway / Desktop 使用。 - kanban worker 是 profile(Hermes 的多身份),不是任意第三方框架的 agent;跨异构框架组队不在 kanban 职责内。
- 本机实测 CLI 在 Windows Git Bash 下有 UnicodeDecodeError 噪声输出(
hermes --version触发读线程解码异常,stdout 内容不受影响)。
⚠️ 注意事项
kanban daemon已废弃:调度器并入 gateway,旧脚本需改hermes gateway start。- 紧急刹车:
hermes pause会同时暂停 cron、kanban dispatch 与新网关轮次;hermes resume解除。 - 任务级模型覆盖只对下一次 dispatch 生效(
set-model说明原文)。 - 工作区类型选择影响隔离强度:
scratch(默认)/worktree(git 隔离)/dir:<path>,写代码类任务建议 worktree。
5. 与同类对比
| 维度 | Hermes Kanban | CrewAI / MAF | OpenClaw 多 agent |
|---|---|---|---|
| 组队形式 | 持久看板 + profile 进程 | 代码内对象 / 图 | 同进程多 agent + sessions_send |
| 状态载体 | SQLite(可 gc / repair) | 内存 / checkpoint 文件 | SQLite 会话库 |
| 持久性 | 任务级持久,跨会话存活 | 取决于实现 | 会话级 |
| 是否需写代码 | 否(CLI 即用) | 是 | 配置为主 |
| 跨机 | peer 原生支持 |
需自建(AG2 有 WsLink) |
Gateway 内为主 |
6. 社区反馈与可靠性
- GitHub 页面实测 ★ 247,038(2026-09-19);本地版本 0.20.6,源码完整、
docs/含 RFC、ADR、spec PDF 等工程化文档。 - 官方背景:Nous Research 出品,MIT,是多语言文档(英 / 中 / 乌尔都 / 西)的成熟产品线。
- 可靠性判断:仓库体量与文档工程化程度都属第一梯队;
kanban子命令数量(43)说明该能力仍在快速迭代——跨版本使用前建议先hermes kanban --help核对子命令是否存在。
七、环境
| 项目 | 运行时依赖 | 体积 / 安装 | 平台兼容 | 网络 | 账号密钥 |
|---|---|---|---|---|---|
| MAF | Python(+ .NET SDK / Go SDK 可选);pip install agent-framework 首次安装可能耗时(README 注明 Windows 上”may take a minute”) |
纯 Python 包,含 .NET/Go 的独立包 | Python / .NET / Go 三语言 | 官方示例走 Microsoft Foundry,需 az login(Azure CLI 认证) |
Azure 凭据(示例用 AzureCliCredential) |
| AG2 | Python >= 3.10;pip install ag2[openai] |
纯 Python 包 | 跨平台(Mac 安装命令需引号包裹) | 分布式模式需 WebSocket(WsLink / serve_ws) |
模型 provider key;跨机 peer 场景另需远端凭据 |
| CrewAI | Python >=3.10 且 <3.14;强制 UV 管理依赖 | 纯 Python 包 + JSON-first 项目脚手架 | 跨平台 | 无特殊要求;MCP/A2A 为可选扩展 | 模型 key;云端 AMP 另需账号 |
| CAMEL | Python;pip install camel-ai(web 工具需 camel-ai[web_tools]) |
纯 Python 包 | 跨平台 | 无特殊要求 | 官方示例默认 OPENAI_API_KEY |
| Hermes | 本机已装(AppData\Local\hermes\hermes-agent,uv 管理的 Python 3.11 venv);Desktop / CLI / Gateway 三种入口 |
完整仓库 + venv;docs/hermes-kanban-v1-spec.pdf 213 KB |
Windows 可用(Git Bash 下有 Unicode 解码噪声);官方支持 VPS/集群/serverless | 跨机 peer 需对端 api_server 可达;网关类功能需网络 |
模型 provider 凭据;peer 需对端 API_SERVER_KEY(存 ~/.hermes/.env) |
共性:四个开源框架都是纯 Python 包(MAF 另有 .NET/Go),无 GPU 要求;唯一的环境强约束是 CrewAI 的 Python 版本窗口(<3.14)与它对 UV 的依赖。
八、安全风险评估
| 项目 | 许可与来源 | 遥测 | 代码执行面 | 风险等级 | 使用注意 |
|---|---|---|---|---|---|
| MAF | MIT,微软官方仓库 | 素材中未见默认遥测说明;含 telemetry 作为企业特性表述 |
agent 工具调用 + MCP client;官方示例仅调模型 | 低 | 官方明言”能写函数就别用 agent”,生产接入前先确认工具权限边界 |
| AG2 | Apache-2.0,ag2ai 组织 | 素材中未出现遥测说明 | Hub 持 write-ahead log + 审计日志 + 频道表:审计友好,但日志会落盘,注意敏感数据入 WAL | 低 | 跨机模式(WsLink / serve_ws)需自行配置认证;Rule 提供访问列表与速率限制 |
| CrewAI | MIT,CrewAI Inc. | 匿名遥测默认开启:版本、Python 版本、OS 信息、crew 中 agent 与任务数量;share_crew=True 可 opt-in 进一步上报 goal/backstory/context/output |
agent 可挂工具(Tools/MCP/Apps/Skills/Knowledge) | 中 | 官方声明”未经显式启用不采集 prompt/任务/API 响应”;在意数据外发的场景需先确认遥测开关(README Telemetry 节) |
| CAMEL | Apache-2.0,camel-ai 社区 | 素材中未出现遥测说明 | agent 可挂 SearchToolkit 等工具;示例默认 OpenAI API |
低 | 官方定位为研究框架,规模化实验(1M agents)属仿真宣称,勿直接等同生产负载 |
| Hermes | MIT,Nous Research | 素材与本地 CLI 未见遥测提示 | 本地执行 + 进程隔离 + worktree 隔离;blocked_tools / allowed_toolsets 限制子智能体工具面;peer 涉及跨机凭据 |
低-中 | ✅ 强项:子智能体有工具白名单与黑名单、超时、父会话绑定(parent_session_id 防冒充);⚠️ 注意:hermes pause 是唯一紧急刹车,跨机 peer 的 API_SERVER_KEY 属敏感凭据,勿写入记忆或文档 |
逐项核验说明:遥测一项对四个开源框架均以「README/文档原文是否出现」为判据——只有 CrewAI 的 README 明确存在 Telemetry 章节(默认匿名采集 agent/任务数量),其余三家在本次抓取的素材中未出现遥测说明,故记为”素材中未出现”,不等于”确认无遥测”。代码执行面按”框架是否允许 agent 执行任意代码/调用任意工具”核验:五者均支持工具调用,其中 Hermes 额外提供工具集白名单与黑名单控制。
九、横向:五种「组队形式」的能力矩阵
| 能力 | MAF | AG2 | CrewAI | CAMEL | Hermes |
|---|---|---|---|---|---|
| 组队原语 | 有向图 | Hub + Channel | Crew / Flow | RolePlaying | Kanban 任务卡 |
| 显式声明”谁下一步说话” | ✅ 图的边与条件 | ✅ TransitionGraph |
⚠️ 由 Process 枚举决定 |
❌ 双方轮流 | ⚠️ dispatcher 按就绪状态派发 |
| 固定拓扑模板 | ⚠️ 需自己画 | ✅ round_robin / sequence |
⚠️ 仅 sequential / hierarchical | ⚠️ 双人 | ✅ swarm(worker→verifier→synthesizer) |
| 持久化 / 可恢复 | ✅ checkpoint + time-travel | ✅ WAL + Hub.hydrate() |
✅ checkpointing | ⚠️ 有状态记忆 | ✅ SQLite 板 + 任务级持久 |
| 人类介入(HITL) | ✅ ctx.request_info() |
✅ context.input() + hitl_hook |
⚠️ 文档有 Human Review 概念 | ✅ HITL 模块 | ✅ 评审流转 + triage |
| 跨机部署 | ⚠️ 未在素材中出现 | ✅ WsLink / serve_ws |
⚠️ 未在素材中出现 | ⚠️ 未在素材中出现 | ✅ peer |
| 进程 / 工作区隔离 | ⚠️ 未在素材中出现 | ✅ 每 agent 独立 OS 进程(可选) | ⚠️ 未在素材中出现 | ⚠️ 未在素材中出现 | ✅ worktree / dir: 隔离工作区 |
| 审计与重放 | ✅ time-travel | ✅ 审计日志 + WAL 重放 | ⚠️ step_callback 监控 |
⚠️ 未在素材中出现 | ✅ runs / log / 事件流 |
| 需要写代码 | 是 | 是 | 是 | 是 | 否(CLI 即用) |
| 官方图形界面 | DevUI(本地 Web,官方标注非生产) | 无(AG2 Studio 已独立且停更) | 企业版 Crew Studio / 社区 Streamlit | 无(生态 OWL) | ✅ Desktop + Dashboard(产品级) |
| 接外部 agent 通道 | ✅ A2A(三语言全支持)+ MCP client | ⚠️ 博客称 first-class A2A,文档无 API 细节 | ⚠️ README 提 “MCP/A2A support” | ⚠️ 以库内 Agent 为主 | ✅ hermes mcp serve + peer + acp |
表中 ✅ / ⚠️ / ❌ 仅反映本次抓取素材中是否出现该能力的官方描述,不代表框架绝对不具备。标记 ⚠️ 的项表示”素材中未出现明确说明”。
形式差异的一句话总结(客观描述,不含选型立场):
- MAF:把多 agent 写成数据流图——节点是 executor,边是值路由。
- AG2:把多 agent 写成协议网络——中心 hub 记日志,agent 走带类型的频道。
- CrewAI:把多 agent 写成团队 + 流程——角色定人,Process 定序,Flow 定分支。
- CAMEL:把多 agent 写成剧本——两个角色按指令跟随逐步推进。
- Hermes:把多 agent 写成看板上的卡片——认领、干、评审、汇总,状态落在 SQLite。
十、图形化能力:这五个框架到底有没有界面
一句话答案:五个都有”某种图形界面”,但只有 Hermes 的是产品级可用;其余四个的 GUI 要么是开发调试工具、要么归企业版、要么已停更、要么根本不在核心框架里。
| 框架 | 官方 GUI | 形态与入口(实测/原文) | 官方定位原话 | 状态 |
|---|---|---|---|---|
| MAF | DevUI | 本地 Web,默认 http://localhost:8080。Python:pip install agent-framework-devui --pre,然后 devui ./agents --port 8080;或代码里 serve(entities=[agent], auto_open=True)。.NET:dotnet add package Microsoft.Agents.AI.DevUI --prerelease |
“a lightweight, standalone sample application for running agents and workflows… allowing you to visually debug, test, and iterate”;“It is not intended for production use.” | 活跃(PyPI 1.0.0b260918),官方明示 sample app |
| AG2 | 主包无;曾有的 AG2 Studio 已独立为 ag2ai/ag2studio |
旧入口为 pip install ag2[studio] → ag2 studio → :3000(属旧版);现为独立仓库 |
— | ⚠️ ★52 / fork 15 / 最后推送 2025-01-24(停更约 19 个月);ag2 v1.0 的 README 与 pyproject 中已检索不到任何 studio 字样 |
| CrewAI | 官方 Crew Studio(在 CrewAI AMP 平台内);社区另有 strnad/CrewAI-Studio |
官方:AMP 平台 Web,三栏(AI Thoughts 左 / Visual Canvas 中 / Resources 右)+ Execution View(Event Timeline / Detailed Logs);社区版:Streamlit,http://localhost:8501 |
官方 Crew Studio 属 enterprise/AMP 能力 | 官方活跃(商业);社区 Streamlit 版活跃 |
| CAMEL | 核心框架无;生态项目 OWL(CAMEL-AI 官方生态,NeurIPS 2025)有 Web UI | OWL:python run_app.py(英文版 run_app_en.py),基于 Gradio,本地运行 |
OWL README:“OWL now includes a web-based user interface”,功能含模型选择、环境变量管理、交互式聊天、任务历史 | CAMEL 主仓库 README 检索无 streamlit / web UI / gradio 字样;OWL 活跃 |
| Hermes | ✅ Desktop(Electron)+ Dashboard(Web)+ serve(后端) | hermes desktop(桌面应用)/ hermes dashboard(Web,默认 127.0.0.1:9119)/ hermes serve(JSON-RPC/WebSocket 后端,headless,不自己开浏览器) |
hermes dashboard 帮助原文:“Launch the Hermes Agent web dashboard for managing config, API keys, and sessions” |
产品级;本地实例 0.20.6 |
MAF 的补充说明(重要):DevUI 只是它的调试界面。官方 “UI Framework integrations” 表另列了两项,可用来做正规前端(均为 Preview 状态):
| UI 方案 | 状态 | 用途 |
|---|---|---|
| AG-UI | Preview | 面向”人-智能体交互”的事件协议;官方在 .NET 10 公告里说明可用 MapAGUI(...) 暴露端点,再用 CopilotKit 等 AG-UI 客户端框架搭富 UI |
| ChatKit | Preview | OpenAI 的 ChatKit 集成 |
| DevUI | Preview | 开发期可视化调试 |
DevUI 官方 Features 原文:Web Interface / Flexible Input Types / Directory-Based Discovery / In-Memory Registration / OpenAI-Compatible API / Sample Gallery / Tracing(OpenTelemetry);CLI 选项含 --port --host --headless --no-open --tracing --reload --mode developer|user --auth --auth-token;与 Aspire 集成时可用 AddDevUI().WithAgentService(...) 聚合多个 agent 服务的实体。
⚠️ 口径差异提醒:第三方教程里常见”DevUI 能渲染 agent 图、支持执行回放(execution replay)”的说法;本次在官方文档 Features 列表中没有找到这两项表述。引用时请标明来源。
⚠️ AG2 的界面坑(容易踩):网上关于 pip install ag2[studio] / ag2 studio / :3000 的资料仍大量存在,但它不在 ag2 v1.0 的能力范围内,且独立仓库已近两年未更新。看到 AG2 可视化教程时,先确认是 Classic 时代产物还是 v1.0。
十一、怎么把已有 agent 接进框架(workbuddy / Hermes 的接线路线)
先回答”是不是都只能靠代码调度”:
- 四个框架(MAF / AG2 / CrewAI / CAMEL):是。 编排单元必须是框架自己定义的 Agent 对象,所以要接入外部 agent,只有两条路——用它自己的 SDK 写,或把外部 agent 包装成它认得的形态(见下)。
- Hermes:不是。 它的多 agent 能力在 CLI 与看板层,
hermes kanban create / claim / complete本身就是调度动作,不需要写编排代码。
四条”把外部 agent 接进框架”的通道(按标准化程度排序)
| 通道 | 机制 | 谁支持(实测/官方原文) | 适用性 |
|---|---|---|---|
| A2A | 外部 agent 暴露 A2A 端点(Agent Card + 任务),框架作为 A2A client 调用并编排 | MAF:官方三语言全支持——官方 agent services 表列 A2A 一行为 “Remote A2A-compliant agent definition, tools, sessions, tasks, and execution“(C# / Python / Go 全 ✅);同表还支持把 GitHub Copilot 运行时、Copilot Studio、Anthropic Claude Agent SDK 作为 agent service 接入。CrewAI README Key Features 提到 “MCP/A2A support”(无细节);AG2 官方博客称已具备 first-class A2A remote support | ✅ 最标准。前提是被接入方要能对外提供 A2A 端点 |
| MCP | 把 agent 的能力包成 MCP server,框架作为 MCP client 调用 | Hermes:hermes mcp serve 可直接把 Hermes 本身作为 MCP server 暴露(帮助原文:“Run Hermes as an MCP server (expose conversations to other agents)”),另可用 hermes mcp add/catalog/install 反向作为 MCP 客户端。MAF 有 MCP client(MCPStreamableHTTPTool / MCPStdioTool);Langflow / Dify / n8n 均双向支持 MCP |
✅ 成本最低。Hermes 侧已现成 |
| 框架自有 remote 通道 | 框架自己的跨进程 / 跨机机制 | AG2:ag2.network 的 Hub + LocalLink / WsLink(可让 hub 与每个 agent 作为独立 OS 进程跨 WebSocket 运行);Hermes:hermes peer(跨机 bot-to-bot DM,peer dm <peer>/<agent> "...") |
⚠️ 只能接同框架的 agent(AG2 接 AG2、Hermes 接 Hermes) |
| CLI 包装 | 把命令行 agent 当成可调用工具包给框架(本质是一次 subprocess 调用) | 任何框架都能这么做(自定义工具函数 / 代码节点 / HTTP 调本地命令)。Hermes 有 hermes -z "<prompt>" 单次执行入口 |
✅ 最土但最通用;本次调研派 Qoder 小弟干活用的就是这个模式 |
落到”workbuddy + Hermes 同时接进去、再调度两者干活”
客观列出四种可落法(只记录机制可行性,不含选型立场):
- MAF 当编排层,两边都做成 A2A agent service
给 workbuddy(本端)与 Hermes 各提供一个 A2A 端点(Agent Card + 任务端点),在 MAF 里登记为 agent service 节点,再用图(sequential / concurrent / handoff)决定谁先谁后与转移条件。这是唯一一条两者都能接、且编排由图形/代码显式控制的标准化路线。前置条件是两端都要能对外提供 A2A 端点。 - Hermes 当 MCP server,被别家当”工具”调用
hermes mcp serve起服务 → 在 MAF / Langflow / Dify / n8n 中作为 MCP client 接入 → 由那一侧决定何时调用 Hermes 的会话。这条Hermes 侧已是现成能力,不需要改 Hermes。 - 共享看板当总线(双方不互调)
Hermes Kanban 作为持久任务板;workbuddy 侧通过hermes kanban create / claim / complete领任务、写结果,双方只共享状态、不互相调用。这条与 99065 的结论一致(”可见层给人看、数据层给 agent 读”)。 - 可视化平台居中
在 Langflow / Dify / n8n 里用节点把外部 agent 串起来——Dify 的 Workflow-as-Tool、n8n 的 Sub-agents / Call n8n Workflow Tool 都是现成的”把一个 agent 当另一个的工具”机制,MCP 则负责把外部 agent 接进来。
各路线都还缺一个前置确认:workbuddy(本端)与 Hermes 各自对外暴露端点的现成方式(Hermes 侧有
mcp serve、peer、acp;本端需要单独确认)。这一点列进了待研究清单。
十二、图形化多智能体协作平台横向对比
本节背景:既然五个框架的 GUI 各有短板(见第十节),这里把以图形界面为主入口的多智能体协作方案单列一表。★ 与时间均为 2026-09-19 实测。
| 平台 | ★(实测) | 界面与入口 | 多 agent 协作机制(官方原文要点) | 外部接入 | 许可 | 维护状态 |
|---|---|---|---|---|---|---|
| n8n | 205,348 | Web http://localhost:5678(Docker / 一键脚本)+ 云 |
Sub-agents:“Other published agents this agent can delegate work to”,可设并行 sub-agent 上限;“Agents can also delegate to other agents and run on a schedule”;agent 的推理循环里可 “hand off to another agent”;Call n8n Workflow Tool 把 workflow 当工具调 |
MCP 双向:MCP Client Tool 节点接入任意 MCP server + 实例级 MCP server(“build and manage agents from an MCP client, such as Claude Desktop or Claude Code”) | fair-code(Sustainable Use License + Enterprise License) | 活跃(push 2026-09-19) |
| Dify | 156,435 | Web(docker compose up -d → http://localhost/install)+ Dify Cloud 托管 |
两种 Agent:Classic 节点(模型+工具)与 New Agent(“arrives as a complete worker with its own capabilities and sandbox”);Workflow-as-Tool(“Turn any Workflow that starts with a User Input node into a tool”);多 agent 交接原文 “a few specialized agents handing off to each other”;节点里 Invite an Agent(“You can invite any published agent”);节点组可存为 Snippet 复用 | MCP 双向(应用可发布为 MCP server / 可接入 MCP server,仅支持 HTTP transport)+ REST API + difyctl + Dify Marketplace | NOASSERTION(README:“Apache 2.0 with additional conditions”) | 活跃 |
| Langflow | 155,003 | Web http://127.0.0.1:7860(uv run langflow run / Docker)+ Desktop(Windows / macOS) |
README 明写 “Multi-agent orchestration”;“An Agent component can use any Langflow component as a tool, including other agents and MCP servers”;Playground 可看 agent 的 tool calls 与原始输出 | MCP 双向(“Deploy as an MCP server and turn your flows into tools for MCP clients” / 也可作为 MCP client)+ built-in API(“turn every workflow into a tool”)+ 源码级自定义 Python 组件 | MIT | 活跃 |
| Flowise | 55,469 | Web http://localhost:3000(npm / Docker) |
Supervisor + Worker 层次图:“A Supervisor agent can formulate and delegate tasks to multiple Worker agents, with outputs… returned to the Supervisor”;Execute Flow Node 作子流程调用;含 Recursion Limit / Max Iteration / One Supervisor per flow 等约束 |
MCP 工具(Agentflow 支持把 MCP tools 接进流程)+ REST API + 自定义函数节点(服务端 JS) | NOASSERTION(Apache 2.0) | ⚠️ 仓库已归档(README 首行:“Flowise has been archived.”) |
| CrewAI Crew Studio | —(商业) | Web,在 CrewAI AMP 平台内 | 三栏界面(AI Thoughts / Visual Canvas / Resources)+ Execution View(Event Timeline、Detailed Logs);支持 hierarchical / sequential / parallel 与人工审批门 | 可导出 MCP server、React 组件(ag-ui-crewai + CopilotKit)、ZIP 源码 |
商业(企业版) | 活跃 |
| AG2 Studio | 52 | Web(原 :3000) |
拖拽编排 + 实时会话 + 步进调试 | 素材中未出现 | Apache-2.0 | ⚠️ 停更(最后推送 2025-01-24) |
| CAMEL OWL | 见 camel-ai/owl |
Web(Gradio,本地 python run_app.py) |
多 agent 协作完成真实任务(任务分解 + 按专长分工),含浏览器自动化与代码执行工具集 | CAMEL 工具集 / MCP | Apache-2.0 | 活跃 |
读表三个要点:
- “图形界面”这条路的用户规模明显更大。前三名(n8n 20.5 万 / Dify 15.6 万 / Langflow 15.5 万)的 ★ 量级明显高于四个代码框架(MAF 1.36 万 / AG2 0.49 万 / CrewAI 5.88 万 / CAMEL 1.77 万);五个框架里只有 Hermes(24.7 万)属同一量级。
- 两个必须知道的维护/许可事实:Flowise 已归档(选型前先确认后续去向);n8n 是 fair-code / Sustainable Use License(非 OSI 开源),Dify 是 “Apache 2.0 with additional conditions”(GitHub 识别为 NOASSERTION)——两者商用前都要读许可证原文。
- MCP 是这四家的共同接入面:n8n / Dify / Langflow / Flowise 全部支持 MCP,且前三家是双向(既接别人的 MCP,也把自己暴露成 MCP server)。这与第十一节的结论互相印证——要把外部 agent 接进可视化平台,MCP 目前是事实通道;而 A2A 在这四家里均未出现(MAF 是唯一把 A2A 做成一等 agent service 的)。
十三、待研究清单
- MAF:README 的四种模式与 Azure 架构中心的五种模式(含 Group chat / Magentic)具体差在哪、是否同一套 API 的两种表述
- MAF:Python 实验性函数式工作流 API(
@workflow/@step)与 Graph 模式的取舍边界 - AG2:
ag2.network的四种 adapter 与 Pattern Cookbook(Pipeline / Star / Feedback Loop / Triage-with-Tasks)逐个对照 - AG2:
ag2-classic与ag2v1.0 的共存策略(迁移期是否值得并行跑) - CrewAI:
share_crew=True之外,遥测的关闭方式与影响面 - CrewAI:Crews(自主协作)与 Flows(事件驱动)混用时的状态传递最佳实践
- CAMEL:
Workforce的构造参数与它和RolePlaying的关系(本次素材中只有模块路径与 cookbook 名) - CAMEL:
docs.camel-ai.org的 societies 文档页 404 是否为临时问题 - Hermes:
docs/hermes-kanban-v1-spec.pdf规范全文(本次只用 CLI--help实测) - Hermes:
decompose的路由规则(如何按描述把子任务分派到专员 profile) - 跨框架:AG2 的
WsLink与 Hermes 的peer能否对接成跨 harness 通道 - 跨框架:MAF 的
AsAIAgent()与 AG2 的Agent是否可互包(跨框架组队的最小实验) - 本端(workbuddy)对外暴露 agent 端点的方式:有无现成 A2A server / MCP server,还是只能靠 CLI 包装——这一条决定第十一节哪条路线可走
- Hermes
hermes mcp serve实测:起服务后,MAF / Langflow 能否真的把 Hermes 当 MCP server 调起来 - Hermes
hermes dashboard实测(默认 :9119):面板里有哪些多 agent 相关视图(Kanban 看板 / 会话 / 任务状态) - MAF DevUI 实测:
pip install agent-framework-devui --pre跑一次,确认多 agent 工作流在界面上的呈现形态(官方 Features 里的 Tracing / OpenAI-compatible API 是否真的够用) - MAF:AG-UI + CopilotKit 这条”生产级 UI”路线的接入成本(Preview 状态是否可跟)
- n8n:Sub-agents 委派 + 实例级 MCP server 实测(能否从外部 MCP 客户端反向管理 agent)
- Dify:”Invite an Agent” + Workflow-as-Tool 组合出的多 agent 拓扑能到什么复杂度
- Flowise 已归档 → 其 “Future of Flowise” 讨论帖指向什么后继方案
- 平台侧通用:n8n 的 Sustainable Use License 与 Dify 的 “Apache 2.0 with additional conditions” 具体限制条款
refer
- MAF 仓库与文档:https://github.com/microsoft/agent-framework
- MAF 官方文档站:https://aka.ms/agent-framework
- AutoGen 仓库(维护模式):https://github.com/microsoft/autogen
- AG2 仓库:https://github.com/ag2ai/ag2
- AG2 官方文档(Network):https://docs.ag2.ai/docs/user-guide/network/overview/
- AG2 Classic 仓库:https://github.com/ag2ai/ag2-classic
- CrewAI 仓库:https://github.com/crewAIInc/crewAI
- CrewAI 官方文档:https://docs.crewai.com/
- CrewAI 示例仓库:https://github.com/crewAIInc/crewAI-examples
- CAMEL 仓库:https://github.com/camel-ai/camel
- CAMEL 官方文档:https://docs.camel-ai.org/
- Hermes 仓库:https://github.com/NousResearch/hermes-agent
- Hermes 官方文档:https://hermes-agent.nousresearch.com/docs/
- Hermes Kanban 文档:https://hermes-agent.nousresearch.com/docs/user-guide/features/kanban
- pypistats(下载量数据源):https://pypistats.org/
- MAF DevUI 官方文档:https://learn.microsoft.com/en-us/agent-framework/integrations/by-component/ui/devui
- MAF agent services(A2A / GitHub Copilot / Copilot Studio / Anthropic Claude):https://learn.microsoft.com/en-us/agent-framework/integrations/by-component/agent-services/
- MAF 集成总览(AG-UI / ChatKit / DevUI):https://learn.microsoft.com/en-us/agent-framework/integrations/
- AG2 Studio 独立仓库:https://github.com/ag2ai/ag2studio
- 社区版 CrewAI-Studio(Streamlit):https://github.com/strnad/CrewAI-Studio
- CAMEL OWL(含 Gradio Web UI):https://github.com/camel-ai/owl
- Langflow 仓库:https://github.com/langflow-ai/langflow
- Langflow 文档:https://docs.langflow.org/
- Dify 仓库:https://github.com/langgenius/dify
- Dify 文档:https://docs.dify.ai/
- Dify 发布为 MCP server:https://docs.dify.ai/en/cloud/use-dify/publish/publish-mcp
- n8n 仓库:https://github.com/n8n-io/n8n
- n8n 构建与管理 agent:https://docs.n8n.io/build/build-and-manage-agents
- n8n MCP servers:https://docs.n8n.io/build/integrate-ai/mcp-servers
- n8n 许可说明(Sustainable Use License):https://docs.n8n.io/sustainable-use-license/
- Flowise 仓库(已归档):https://github.com/FlowiseAI/Flowise
- Flowise 归档说明讨论帖:https://github.com/FlowiseAI/Flowise/discussions/6727
- 能力对照表中的 ✅ / ⚠️ / ❌ 仅表示本次抓取素材中是否出现该能力的官方描述,不代表框架绝对不具备。
- 同一项目的多个官方位置(README / 官方文档站 / 架构中心)表述可能不一致,本文已分别标注出处,引用时请以最新一手文档为准。
- 本文仅为个人调研整理,年代久远或来源不明的引用请指出以便更正。
已拆分的后续调研(互链)
- 平台化地接入多个自有 agent(把 Hermes / Qoder / WorkBuddy / OpenClaw 拉进同一个群或协作平台)→ 接入自有 Agent 的群聊与协作平台调研(abbrlink 99070)|2026-09-20,实测 20+ 开源项目
- 协议族与群聊形态(A2A / ACP / Moltbook / IM 多 bot)→ Agent 互通与群聊方案调研(abbrlink 99065)
- 闭源商业产品对照(阿里 QoderWake 数字员工平台)→ QoderWake 调研(abbrlink 99069)











