用 Go 调度多个 AI 智能体:Artificial 框架实测与 CEO 自主招募机制
AIAI Summary (BLUF)
Artificial 是一个用 Go 编写的开源 AI 代理编排工具,让你从单一仪表板生成、管理和协调多个 AI 代理(如 Claude Code、OpenAI Codex、ACP 兼容模型和本地 LLM)。代理拥有角色、技能、通信渠道和共享任务板,支持实时 Web 仪表板和 REST API 管理。
核心洞察
这个项目解决的是多智能体协作里最烦人的那部分:怎么让一堆 AI 工人真正像团队一样干活,而不是各跑各的。作者用 Go 写了个调度中枢,还配了实时面板,思路挺实在。不过我比较怀疑的是,让 CEO 智能体自主招人这件事,实际跑起来会不会变成无限套娃。
核心结论
Artificial一个用 Go 编写的开源 AI 代理编排工具,可从单一仪表板管理多个 AI 代理。 是一个用 Go 编写的开源 AI 智能体调度框架,支持从单一网页面板或 REST API 管理多个 AI 工人,中心服务默认运行在 http://localhost:4000。
框架支持四种后端:Claude CodeAn AI coding assistant developed by Anthropic that provides code completion and explanations.、OpenAI CodexOpenAI 的 Agent 全家桶,包括 CLI、Cloud、IDE 形态,是 Harness Engineering 的发源地,曾用 3 名工程师 + Codex 在 5 个月内生成近 100 万行生产代码。、兼容 ACPAgent Client Protocol(代理客户端协议),一种让外部AI代理集成到IDE中的协议。 协议的服务端(已用 Cursor Agent 和 opencode 测试),以及通过 OpenAI 兼容接口接入的本地模型(如 LM Studio、ollama)。
每个智能体拥有独立的角色设定、技能、沟通频道和共享任务看板,并支持会话持久化——停止后恢复智能体会话时上下文不丢失。
系统内置 CEO 智能体,可自主招募和管理其他工人;运行环境要求 Go 1.25 以上,并需安装 Claude Code CLI、OpenAI Codex CLI 或兼容 ACP 的智能体服务端。
作者使用该框架调度 AI 开发流程,约 24 小时专注工作即完成了 MyUpMonitor——一个包含计费、团队、状态页、CLI 和 Terraform provider 的完整 uptime 监控 SaaS。
这是什么
一个用 Go 写的开源 AI 智能体调度框架,让你从一个面板里管理多个 AI 工人。
你可以把 Claude Code、OpenAI Codex、兼容 ACP 的模型、本地大模型都拉进来当团队成员。每个智能体有自己的角色设定、技能、沟通频道,还有一个共享的任务看板。管理入口有两个:实时网页面板,或者 REST API。
它能做什么
- 多智能体调度:并行跑多个 AI 智能体,每个有自己的角色和人格设定
- 实时面板:跟智能体聊天、在看板上管任务、盯活动状态
- 频道通信:智能体之间可以互相发消息,任务执行中途也能收到通知
- 多种后端:支持 Claude Code、OpenAI Codex、ACP 协议,以及通过 OpenAI 兼容接口接入的本地模型
- MCPModel Context Protocol - a protocol that enables AI models to access external tools, data sources, and services to enhance their capabilities and context awareness. 集成:每个工人通过 Model Context Protocol 向自己的智能体暴露工具
- 会话持久化:停掉再恢复智能体会话,上下文不丢
架构
┌───────────────────────────────────────────────────┐
│ svc-artificial │
│ Dashboard · REST API · WebSocket Hub │
│ SQLite DB │
└─────────┬──────────────┬─────────────┬────────────┘
│ WebSocket │ WebSocket │ WebSocket
┌─────┴──────┐ ┌────┴──────┐ ┌───┴────────┐
│ cmd-worker │ │ cmd-worker│ │ cmd-worker │
│ (Codex) │ │ (Claude) │ │ (ACP) │
│ ┌──────┐ │ │ ┌──────┐ │ │ ┌────────┐ │
│ │ GPT │ │ │ │Claude│ │ │ │Cursor/ │ │
│ │ 5.4 │ │ │ │Opus │ │ │ │opencode│ │
│ └──────┘ │ │ └──────┘ │ │ └────────┘ │
└────────────┘ └───────────┘ └────────────┘
快速上手
# 编译两个二进制文件
make build
# 启动中心服务(面板地址 http://localhost:4000)
make run-artificial
# 另开一个终端,启动一个工人(也可以从面板里直接生成)
make run-worker EMPLOYEE_ID=1
前置条件
- Go 1.25 以上
- Claude Code CLI、OpenAI Codex CLI,或者一个兼容 ACP 的智能体服务端
第一步做什么
- 搭好公司知识库:建一个文件夹,里面放个 README,写清楚你的项目、约定和优先级(参考下面的「公司知识」部分)。然后在面板设置里填上这个路径。
- 创建一个 CEO:从面板里加一个角色为「CEO」的员工。这是主智能体,能自己招人开人,也能自己生成新的智能体。
- 加一个项目:把你想要团队做的项目配上,填好路径和描述。
- 扩充团队:要么手动从面板加员工,要么直接跟 CEO 聊天,让它去招人干活。CEO 能自主生成和管理工人。
项目结构
src/
├── svc-artificial/ # 中心服务(面板、API、WebSocket 中枢、SQLite)
├── cmd-worker/ # 工人二进制(智能体生命周期、MCP 服务端、中枢客户端)
└── pkg-go-shared/ # 共享协议类型
面板
内置的网页面板提供这些功能:
- 聊天:跟智能体私聊,或者在频道里对话
- 看板:任务管理(待办、进行中、审核、完成)
- 团队:查看和管理活跃工人,生成新智能体
- 实时终端:实时流式查看智能体的终端输出
公司知识
建一个文件夹,作为团队的共享知识库。智能体就是从这里获取项目背景、约定和目标。
mkdir my-company
cat > my-company/README.md << 'EOF'
# My Company
## What we're building
Describe your product/project here.
## Conventions
- Language, framework, and style preferences
- How we name things, structure code, etc.
## Tools
- List CLI tools, scripts, or services agents can use
- e.g. `make test`, `npm run lint`, deployment commands
- Any internal APIs or databases they should know about
## Current priorities
- What the team is focused on right now
EOF
服务跑起来之后,在面板设置里填上知识库路径。之后生成的每个智能体都能读到这些上下文。
API
REST API 提供了管理员工、任务、频道、消息和工人生命周期的接口。完整列表看 src/svc-artificial/internal/server/api.go。
后端支持
| 后端 | 说明 | 状态 |
|---|---|---|
| Claude Code | 通过 PTY伪终端,用于在 worker 中生成和管理 CLI 代理进程。 启动 Claude Code CLI,带 MCP 工具 | 已测试 |
| Codex | 通过 PTY 启动 OpenAI Codex CLI,带 MCP 工具 | 已测试 |
| ACP | 连接任何 Agent Communication Protocol 服务端 | 已用 Cursor Agent 和 opencode 测试 |
| 本地模型 | 通过 opencode 加 OpenAI 兼容接口(LM Studio、ollama 等) | 能用,但需要强的本地模型 |
我怎么用的
我用 Artificial 调度 AI 开发流程,大概 24 小时的专注工作,就把 MyUpMonitor 做出来了。这是一个完整的 uptime 监控 SaaS,带计费、团队、状态页、CLI、Terraform provider 等等。
作者
由 André Baltazar 开发
许可证
MIT
常见问题(FAQ)
Artificial 是什么?它和普通 AI 代理工具有什么区别?
Artificial 是一个用 Go 编写的开源 AI 代理编排工具,让你从单一仪表板生成、管理和协调多个 AI 代理。与普通工具不同,它让代理拥有角色、技能、通信渠道和共享任务板,支持实时 Web 仪表板和 REST API 管理。
Artificial 支持哪些 AI 后端?本地模型能用吗?
支持 Claude Code、OpenAI Codex、ACP 协议,以及通过 OpenAI 兼容接口接入的本地模型。本地模型可经 opencode 加 LM Studio、ollama 等使用,但需要较强的本地模型才能跑得顺畅。
怎么快速上手 Artificial?第一步该做什么?
先编译并启动中心服务,再启动工人。第一步是搭好公司知识库,建文件夹放 README 写清项目、约定和优先级,并在面板设置里填路径;然后创建 CEO 角色,加项目,再手动或让 CEO 自主招人扩充团队。
版权与免责声明:本文仅用于信息分享与交流,不构成任何形式的法律、投资、医疗或其他专业建议,也不构成对任何结果的承诺或保证。
文中提及的商标、品牌、Logo、产品名称及相关图片/素材,其权利归各自合法权利人所有。本站内容可能基于公开资料整理,亦可能使用 AI 辅助生成或润色;我们尽力确保准确与合规,但不保证完整性、时效性与适用性,请读者自行甄别并以官方信息为准。
若本文内容或素材涉嫌侵权、隐私不当或存在错误,请相关权利人/当事人联系本站,我们将及时核实并采取删除、修正或下架等处理措施。也请勿在评论或联系信息中提交身份证号、手机号、住址等个人敏感信息。



