开发与工程 multi-agent-orchestrationterminal-uimodel-context-protocolopenai-compatible-apilitellmfilesystem-sandboxingyaml-configuration

MassGen 多智能体协作系统

让多个模型在终端并行协作、迭代评审并投票产出答案。

FollowAgents 评估 · FARS-2.0
待评估
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

MassGen 是一个以 Python CLI 为入口的多智能体编排系统,可让多个模型同时处理同一任务。编排器通过共享摘要、迭代优化、重启和投票协调代理,并输出经集体验证的最终答案。默认界面是 Textual 终端 UI,可显示时间线、代理状态和投票;也提供 Web UI、Rich 显示、自动化模式以及 OpenAI 兼容 HTTP 服务。它支持 YAML 配置、Python API 和 LiteLLM 集成,并能连接 OpenAI、Anthropic、Gemini、Grok、Claude Code、Antigravity CLI、本地 vLLM、SGLang 与 LM Studio 等后端。会话可生成代理输出、协调事件、投票结果、执行元数据和调试日志,文件工作流则在项目的 .massgen/ 目录中组织状态。

用户通过 massgen 命令、YAML 配置或 massgen.run() 提交任务。系统为 agent 或 agents 中定义的后端发起模型调用,让代理并行完成任务、交换工作摘要、评审彼此答案,并在满足收敛条件后投票选择获胜答案。它可调用后端原生工具,或按 mcp_servers 配置启动 stdio MCP 服务、连接 streamable-http MCP 服务,并支持 allowed_tools 与 exclude_tools。对于文件任务,代理可在 cwd 工作区和 context_paths 中读取或写入文件;协调结果、vote.json、coordination_events.json、execution_metadata.yaml 及最终答案会写入日志目录。massgen serve 还提供 GET /health 与 POST /v1/chat/completions,可返回普通或 SSE 流式响应,并支持 OpenAI 风格工具调用。

  1. 研究团队需要让不同模型分别检索、推理和互相审阅复杂问题,再获得投票选出的综合结论。
  2. 软件团队希望以 Claude Code 或其他已配置后端,在受控工作区内分析现有项目、生成代码或补充测试。
  3. 平台工程师需要把多智能体工作流接入现有 OpenAI 兼容客户端,使用 massgen serve 的 /v1/chat/completions 接口。
  4. 自动化开发者需要从脚本或 LiteLLM 调用并行模型组合,并读取状态文件和结构化日志处理结果。
  5. 需要访问天气、搜索或内部服务的团队,可通过 YAML 将多个 MCP 服务器分配给代理。

这个 Agent 有哪些优点和局限?

优点
  • 以“所有代理处理完整问题、相互评审、迭代并投票”的执行模型协调多个模型,而非只做角色串联。
  • 同时提供终端 TUI、自动化 CLI、Python API、LiteLLM 注册和 OpenAI 兼容 HTTP 服务,适合交互与程序化接入。
  • 支持多家云端模型、Claude Code、Antigravity CLI 以及 vLLM、SGLang、LM Studio 等本地推理路径。
  • MCP 支持 stdio 与 streamable-http 传输,并可按名称白名单或排除工具。
  • 日志中保留协调事件、投票、代理输出和执行元数据,便于复盘与调试。
局限
  • 运行云端后端需要自行配置对应 API 密钥,实际模型成本、速率限制和能力取决于所选供应商。
  • 项目明确标注仍处于早期开发阶段,未来可能有破坏性架构变更。
  • 文件系统代理可在获准目录中读、写、修改和删除文件;采用写权限前需要隔离目录、备份和谨慎配置 context_paths。
  • 部分能力依赖额外运行时或服务,例如 Docker 代码执行、Node.js 启动某些 MCP 服务器,以及本地模型服务。
  • README 中说明权限引擎为 opt-in,且守卫提示词只是最佳努力的对齐措施;OS 沙箱才是主要执行层防护。

如何安装或部署这个 Agent?

需要 Python 3.11+,并为所选云模型准备相应 API 密钥。安装后可运行:

pip install massgen
uv run massgen --setup
uv run massgen --quickstart

将 OPENAI_API_KEY、ANTHROPIC_API_KEY、GOOGLE_API_KEY 或 XAI_API_KEY 等所需密钥写入当前工作目录的 .env。--setup 会协助配置密钥,并可选配置 Docker 代码执行镜像和技能;Docker 不是基础安装的必需项。

如何使用这个 Agent?

最快方式是在完成 quickstart 后直接启动交互模式:

uv run massgen

也可传入单个问题:

uv run massgen "解释机器学习"

使用多代理 YAML 配置:

massgen --config @examples/basic/multi/three_agents_default "分析可再生能源的利弊"

要作为 HTTP 服务运行:

massgen serve --host 0.0.0.0 --port 4000 --config path/to/config.yaml --default-model gpt-5

配置中以 agents 定义多个 id、backend.type 和 backend.model;需要外部工具时,在 backend 中配置 mcp_servers。

这个 Agent 与同类方案有什么区别?

项目说明其思路受 AG2 的“多智能体对话”及相关迭代优化思路启发,并提供 CrewAI、LangGraph 和 AutoGen/AG2 的比较页面。与单模型调用相比,MassGen 的核心差异是并行完整解题、跨代理反馈与投票收敛;具体质量和成本仍取决于所配置的模型与工具。

常见问题

需要为所有模型供应商都配置密钥吗?
不需要。只需为 YAML 或命令中实际选择的后端配置相应密钥;README 列出了 OpenAI、Anthropic、Google、xAI 及其他可选供应商。
MassGen 会修改我的项目文件吗?
只有授予文件访问并配置可写 context_paths 或工作区时才会进行文件操作。协调阶段的 context_paths 为只读,最终代理按配置获得读或写权限。
能否接入现有聊天应用?
可以。massgen serve 提供 OpenAI 兼容的 POST /v1/chat/completions,支持流式 SSE 和 OpenAI 风格工具调用。
如何审计一次运行?
会话日志包含 coordination_events.json、coordination_table.txt、vote.json、execution_metadata.yaml、代理输出及 massgen.log。
权限系统是否能单独保证安全?
不能完全依赖它。文档将应用层守卫提示描述为最佳努力对齐,并把 OS 沙箱描述为主要的强制执行层。

相关 Agents