多智能体框架 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,已进入维护模式;用户基数仍大(PyPI autogen-agentchat 月下载 473,138)。

2. 怎么用

安装(README 原文):

# Python
pip install agent-framework

# .NET
dotnet add package Microsoft.Agents.AI
dotnet add package Microsoft.Agents.AI.Foundry
dotnet add package Azure.AI.Projects
dotnet add package Azure.Identity

# Go(出现于文档页)
go get github.com/microsoft/agent-framework-go

最小示例(README「Basic Agent - Python」原样复制):

import asyncio
from agent_framework import Agent
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential

async def main():
agent = Agent(
client=FoundryChatClient(credential=AzureCliCredential()),
name="HaikuAgent",
instructions="You are an upbeat assistant that writes beautifully.",
)
print(await agent.run("Write a haiku about Microsoft Agent Framework."))

asyncio.run(main())

组队形式:多 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 / Go workflow.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
pip install ag2[openai]

# Mac
pip install 'ag2[openai]'

# 老 API(Classic)
pip install ag2-classic

最小示例(README「Run your first agent」原样复制):

import asyncio

from ag2 import Agent
from ag2.config import OpenAIConfig

agent = Agent(
"assistant",
prompt="You are a helpful assistant.",
config=OpenAIConfig(model="gpt-4o-mini"),
)

async def main() -> None:
reply = await agent.ask("Summarize the main differences between Python lists and tuples.")
print(reply.body)

asyncio.run(main())

组队形式:开启 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 默认视图,自定义视图经 ViewPolicy Protocol 接入。
  • 持久化: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.* 命名空间)。
  • 本包不含任何可视化界面:ag2 v1.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.* 命名空间,照抄到 ag2 v1.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
crewai create crew <project_name> # JSON-first 项目
crewai create crew <project_name> --classic # 旧的 Python/YAML 脚手架
crewai install
crewai run

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_
from crewai import Crew, Agent, Task, Process
from pydantic import BaseModel

class MarketState(BaseModel):
sentiment: str = "neutral"
confidence: float = 0.0
recommendations: list = []

class AdvancedAnalysisFlow(Flow[MarketState]):
@start()
def fetch_market_data(self):
self.state.sentiment = "analyzing"
return {"sector": "tech", "timeframe": "1W"}

@listen(fetch_market_data)
def analyze_with_crew(self, market_data):
analyst = Agent(
role="Senior Market Analyst",
goal="Conduct deep market analysis with expert insight",
backstory="You're a veteran analyst known for identifying subtle market patterns"
)
researcher = Agent(
role="Data Researcher",
goal="Gather and validate supporting market data",
backstory="You excel at finding and correlating multiple data sources"
)

组队形式:两层——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] 泛型持有结构化状态(示例用 pydantic BaseModel)。
  • 任务上下文: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
pip install 'camel-ai[web_tools]'
export OPENAI_API_KEY='your_openai_api_key'

组队形式:从两个 agent 的角色扮演(RolePlaying)起步,再到规模化社会(Agent Society / Workforce)。官方定义:“Agent Society: Enabling multi-agent communication for the task solving.”

最小示例(官方教程《Creating Your First Agent Society》原样复制):

# 任务:由起始提示(inception prompt)初始化
task_kwargs = {
'task_prompt': 'Develop a plan to TRAVEL TO THE PAST and make changes.',
'with_task_specify': True,
'task_specify_agent_kwargs': {'model': model}
}

# AI User = 指令发出者
user_role_kwargs = {
'user_role_name': 'an ambitious aspiring TIME TRAVELER',
'user_agent_kwargs': {'model': model}
}

# AI Assistant = 指令执行者
assistant_role_kwargs = {
'assistant_role_name': 'the best-ever experimental physicist',
'assistant_agent_kwargs': {'model': model}
}

society = RolePlaying(
**task_kwargs,
**user_role_kwargs,
**assistant_role_kwargs,
)

运行循环(同教程原样复制):

input_msg = society.init_chat()          # 从 AI 助手发给 AI 用户的初始消息
assistant_response, user_response = society.step(input_msg) # 双方本轮响应
if response.terminated:
role = response.msg.role_type.name
reason = response.info['termination_reasons']
if 'CAMEL_TASK_DONE' in user_response.msg.content:
break

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 commit a0a63a1bc2(2026-08-31);安装于 C:\Users\Admin\AppData\Local\hermes\hermes-agent,源码完整可读。
  • 与其他四个的本质差异:Hermes 不是”库”,是已经跑起来的多 agent 运行时——多 agent 能力以 CLI 子命令、持久看板与进程隔离的形式直接可用,不需要写编排代码。

2. 怎么用

多 agent 相关的三条命令行入口(本机实测 --help 输出):

# 1. 持久任务板:跨 profile 协作
hermes kanban <43 个子命令>
hermes kanban swarm --worker P:T[:SKILL,SKILL] --worker ... --verifier V --synthesizer S "swarm 目标"
hermes kanban create "标题" --assignee <profile> --workspace worktree --triage

# 2. 跨机 bot-to-bot 直发
hermes peer add spark --url http://spark.lan:8377 --key <API_SERVER_KEY>
hermes peer dm spark/researcher "消息"
hermes peer run spark --idempotency-key ticket-123 < long-task.txt

# 3. 多模型聚合作答(Mixture of Agents)
hermes moa list
# 会话内:/moa <prompt>

组队形式: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. Use hermes 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 同时接进去、再调度两者干活”

客观列出四种可落法(只记录机制可行性,不含选型立场):

  1. MAF 当编排层,两边都做成 A2A agent service
    给 workbuddy(本端)与 Hermes 各提供一个 A2A 端点(Agent Card + 任务端点),在 MAF 里登记为 agent service 节点,再用图(sequential / concurrent / handoff)决定谁先谁后与转移条件。这是唯一一条两者都能接、且编排由图形/代码显式控制的标准化路线。前置条件是两端都要能对外提供 A2A 端点。
  2. Hermes 当 MCP server,被别家当”工具”调用
    hermes mcp serve 起服务 → 在 MAF / Langflow / Dify / n8n 中作为 MCP client 接入 → 由那一侧决定何时调用 Hermes 的会话。这条Hermes 侧已是现成能力,不需要改 Hermes。
  3. 共享看板当总线(双方不互调)
    Hermes Kanban 作为持久任务板;workbuddy 侧通过 hermes kanban create / claim / complete 领任务、写结果,双方只共享状态、不互相调用。这条与 99065 的结论一致(”可见层给人看、数据层给 agent 读”)。
  4. 可视化平台居中
    在 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 活跃

读表三个要点:

  1. “图形界面”这条路的用户规模明显更大。前三名(n8n 20.5 万 / Dify 15.6 万 / Langflow 15.5 万)的 ★ 量级明显高于四个代码框架(MAF 1.36 万 / AG2 0.49 万 / CrewAI 5.88 万 / CAMEL 1.77 万);五个框架里只有 Hermes(24.7 万)属同一量级。
  2. 两个必须知道的维护/许可事实:Flowise 已归档(选型前先确认后续去向);n8n 是 fair-code / Sustainable Use License(非 OSI 开源),Dify 是 “Apache 2.0 with additional conditions”(GitHub 识别为 NOASSERTION)——两者商用前都要读许可证原文。
  3. 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 与 ag2 v1.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

  1. 能力对照表中的 ✅ / ⚠️ / ❌ 仅表示本次抓取素材中是否出现该能力的官方描述,不代表框架绝对不具备。
  2. 同一项目的多个官方位置(README / 官方文档站 / 架构中心)表述可能不一致,本文已分别标注出处,引用时请以最新一手文档为准。
  3. 本文仅为个人调研整理,年代久远或来源不明的引用请指出以便更正。

已拆分的后续调研(互链)