内容
# 代理组装 (AA)
**基于MCP的可配置、分层多代理编排。**
您决定组织结构图。指向一个*前端*代理到AA;它将编码任务委派给一个您在单个配置文件中定义的层次结构。前端不必是Claude,工作代理也不必是Antigravity/Codex — 任意供应商都可以接入任意位置。
## 为什么
大多数“PM代理→编码代理”的设置都硬编码了谁是老板。AA使层次结构成为**数据**:一个JSONC文件描述了节点和边,AA相应地路由委托 — 包括**嵌套**层次结构(一个工作代理本身就是一个PM,负责更深层次的工作代理)。
## 层次结构由您决定
```jsonc
{
"entry": "pm",
"agents": {
"pm": { "vendor": "claude", "role": "orchestrator", "delegates_to": ["coder", "designer"] },
"coder": { "vendor": "codex", "model": "gpt-5.5", "role": "both", "delegates_to": ["designer"] },
"designer": { "vendor": "antigravity", "model": "Gemini 3.1 Pro (High)", "role": "worker" }
}
}
```
此编码定义了`Claude → {Codex, Antigravity}`和`Codex → Antigravity`。您可以自由调整。
## 快速入门
1. `cp config/aa.config.example.jsonc aa.config.jsonc` 并编辑您的层次结构。
2. 将AA注册为您的前端代理(例如Claude Code)的MCP服务器:
```
claude mcp add aa -- node /path/to/AA/aa-mcp.mjs
```
3. 请求前端代理调用`aa_hierarchy`(参见图表),然后调用`aa_delegate`(传递任务)。
需要Node ≥ 20和[`oma`](https://github.com/)用于调度(MVP)。**零npm依赖。**
## MCP工具
| 工具 | 目的 |
|---|---|
| `aa_hierarchy` | 检查配置的图表(节点 + 边) |
| `aa_agents` | 列出代理(供应商/模型/角色) |
| `aa_delegate` | 将任务委派给代理 — 在隔离的git工作树中运行,返回差异 |
| `aa_quota` | 尽力而为的供应商限额/健康状况 |
## 状态
v0.1 MVP — 参见 [`DESIGN.md`](DESIGN.md)。调度通过`oma agent:spawn`进行;每个供应商的直接适配器(例如`agy`)是 [`adapters/`](adapters/) 中的扩展点。
## 许可证
MIT