refactor(agent-collaboration-kit): split stable core from project overrides

- Reorganize flat files into core/ templates/ examples/ scripts/ with VERSION
- Deduplicate: single-source state machine, three-round policy, acceptance signals
- Abstract orchestration in closed-loop.md with manual mode; move Orca commands to orca-adapter.md
- Add tasks.schema.json + validate_tasks.py (jsonschema or builtin rules, no hard deps)
- Add filled examples, concurrency write rule, kitVersion tracking; unify to Chinese

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-06 10:01:09 +08:00
parent 58de2650c2
commit d7a74578dc
18 changed files with 1177 additions and 806 deletions
+55 -46
View File
@@ -1,68 +1,77 @@
# Agent Collaboration Kit
这是一套可复到其项目的多 Agent 协作规范。它把“产品/测试负责定义与验收,开发负责实现与白盒验证,协调者用 Orca 做闭环调度”的经验抽成项目无关模板
一套可复到其项目的多 Agent 协作规范**产品/测试负责定义与验收,开发负责实现与白盒验证,协调者做闭环调度**
当前版本见 `VERSION`。这不是 Agent Skill(无 `SKILL.md`),不由 skiff 安装,而是复制/引用到目标项目。
---
## 适用场景
- 项目需要多个 Agent 分工协作,而不是单个 Agent 从需求写到代码。
- 需要明确区分规格、测试、实现、复测的责任边界。
- 需要把测试失败项派发给开发 Agent`worker_done`由测试 Agent 复测。
- 需要连续修复多个问题,并把三仍未修好的问题留档。
- 多个 Agent 分工协作,而单个 Agent 从需求写到代码。
- 需要区分规格、测试、实现、复测的责任边界。
- 需要把失败项派发给开发 Agent`worker_done` 后由测试 Agent 复测。
- 需要连续修复多个问题,并把三仍未修好的问题留档。
## 推荐目录
---
把本目录复制到目标项目:
## 目录结构
```text
docs/agent-collaboration-kit/
agent-collaboration-kit/
VERSION # kit 版本,接入时记入项目
README.md
roles-and-permissions.md
orca-closed-loop.md
task-board-template.yaml
prompt-templates.md
optimization-method.md
adoption-checklist.md
core/ # 稳定核心:跨项目通用,随 kit 升级,尽量别改
roles-and-permissions.md # 角色/权限/状态机/完成定义(SSOT)
closed-loop.md # 编排无关闭环 + 手动模式 + worktree 对齐
optimization-method.md # 验收信号 + 三轮失败策略(SSOT)
prompt-templates.md # 派发 prompt 模板
orca-adapter.md # Orca 具体命令(一种编排实现,可选)
templates/ # 项目覆盖层:复制一次并填空
AGENTS.template.md
tasks.template.yaml
tasks.schema.json # 任务板权威结构(跨语言)
examples/ # 填好的最小可跑示例
AGENTS.example.md
tasks.example.yaml
scripts/
validate_tasks.py # 校验 tasks.yaml(参考实现)
```
目标项目还应在根目录保留一个项目级 `AGENTS.md`,引用本目录并填入项目自己的路径、测试命令和运行方式
**核心原则**`core/` 是稳定核心,每个概念只定义一次;`templates/` 是项目覆盖层。二者分离,让 kit 升级和项目定制互不干扰
## 核心原则
---
1. **事实源持久化**:任务、bug、验收证据写入任务板文件,不依赖聊天上下文。
2. **角色隔离**Product/Test Agent 只定义和验证;Developer Agent 只实现和自测。
3. **worker_done 不等于完成**:开发 Agent 声称修好后,必须由 Product/Test Agent 黑盒复测。
4. **最多三轮自动修复**:同一问题三轮仍未通过,记录为遗留项,然后继续处理下一个问题。
5. **服务与 worktree 对齐**:复测前确认服务、构建产物、分支和工作树一致,避免假通过或假失败。
## 分发方式(二选一)
## 快速接入步骤
### 方式 A:引用稳定核心(推荐,可升级)
1. 复制本目录到目标项目
2. 基于 `roles-and-permissions.md` 在目标项目根目录创建或更新 `AGENTS.md`
3. 基于 `task-board-template.yaml` 创建 `tasks.yaml`
4.`AGENTS.md` 中写清:
- 项目运行命令
- 单元测试命令
- 构建命令
- 集成/浏览器测试命令
- Product/Test 与 Developer 的路径权限
5. 使用 `orca-closed-loop.md` 的流程派发修复。
6.`optimization-method.md` 执行三轮失败留档和节奏优化。
`core/` + `scripts/` 通过 symlink / git submodule / sparse checkout 映射到项目 `docs/agent-collaboration-kit/`;项目只维护自己的 `AGENTS.md``tasks.yaml`。kit 升级时稳定核心自动生效,项目定制不受影响
## 建议的默认口令
### 方式 B:整份复制(简单,手动升级)
整目录复制到 `docs/agent-collaboration-kit/`。**务必**在项目 `AGENTS.md``tasks.yaml``kitVersion` 记录来源版本,日后照 `VERSION` diff 升级 `core/`
无论哪种方式,项目的 `AGENTS.md` 只填差异(路径、命令、handle),不复制 `core/` 内容。
---
## 快速接入
1. 选定分发方式,把 kit 放到项目 `docs/agent-collaboration-kit/`
2. 复制 `templates/AGENTS.template.md` → 项目根 `AGENTS.md`,填项目差异,记 `kitVersion`
3. 复制 `templates/tasks.template.yaml` → 项目根 `tasks.yaml`,填 `project` 与首个任务。
4.`python3 docs/agent-collaboration-kit/scripts/validate_tasks.py tasks.yaml` 确认结构。
5.`core/closed-loop.md` 跑闭环(Orca 见 `core/orca-adapter.md`,无 Orca 用手动模式)。
6. 逐项对照 `adoption-checklist.md`
参考 `examples/` 里填好的 `AGENTS.example.md``tasks.example.yaml`
---
## 默认口令
```text
用 Agent 协作闭环处理 tasks.yaml 里的未通过项;每个问题最多派发开发 Agent 修三轮,三轮仍不过就记录为遗留,然后继续下一个。
```
## 与具体项目解耦
本工具包使用占位符表达项目差异:
- `<repo_path>`:仓库根目录
- `<dev_worktree>`:开发 Agent 工作树
- `<base_url>`:待测服务地址
- `<test_commands>`:项目测试命令
- `<source_paths>`:开发可改源码路径
- `<spec_paths>`:产品/测试可改规格与测试路径
复制到新项目后,应先替换这些占位符,再开始调度。