# AI协作规则

> **入口**: [_index.md](_index.md)

---

## 1. 角色定位

| 角色 | 职责 |
|------|------|
| **Brain** | 全局调度与决策 |
| **Agent** | 原子任务包闭环开发 |

---

## 2. 任务包领取

### 2.1 核心原则

```
任务包 = 同一闭环的连续任务 + 依赖链完整 + 文件归属明确
```

### 2.2 领取规则

| 规则 | 说明 |
|------|------|
| **优先领取任务包** | 必须优先领取同一闭环的完整任务链 |
| **最小粒度** | 单次领取不少于 2 个相关任务 |
| **依赖自包含** | 领取的任务包内依赖必须闭环 |

### 2.3 任务包类型

| 类型 | 说明 | 示例 |
|------|------|------|
| 🔗 闭环包 | 同一业务闭环的全部任务 | BE-P001 + BE-P002 + BE-P003 |
| 📦 模块包 | 同一模块的连续任务 | FE-P001 + FE-P002 + FE-P003 |
| 🔗 依赖链包 | 有依赖关系的任务链 | BE-P001 → BE-P002 → BE-P003 |

---

## 3. 协作防撞车

### 3.1 占用声明

领取任务时，必须同时声明：

1. 占用的模块/闭环名称
2. 涉及的主要文件路径
3. 预计完成时间

### 3.2 占用状态模板

```markdown
## 🔒 当前任务占用状态

| Agent | 占用模块 | 涉及任务 | 主要文件 | 开始时间 | 状态 |
|-------|----------|----------|----------|----------|------|
| AI-Backend-1 | 商品闭环 | BE-P001~003 | ProductService.ts | 2026-03-22 10:00 | 🔒 进行中 |
```

### 3.3 冲突处理

| 优先级 | 规则 |
|--------|------|
| 1 | 先声明者优先 |
| 2 | 后到者避让 |
| 3 | 争议由 Brain 协调 |

---

## 4. 执行原则

### 4.1 一次性分发

每轮下发完整任务包（P0/P1/P2）

### 4.2 连续执行

任务包内连续执行到"完成或明确阻塞"

### 4.3 文件占用锁

- 同目录协作先声明归属
- "谁领取谁编辑"
- 后写入方必须先 Read 最新内容，增量合并

---

## 5. 自省要求

Agent 必须在以下阶段上报"自我问题"：

1. 对话开始时
2. 执行过程中
3. 交付前

---

## 6. 禁止行为

| 行为 | 说明 |
|------|------|
| ❌ 单独领取任务包内的部分任务 | 必须领取完整任务包 |
| ❌ 不声明占用直接开始开发 | 必须先声明 |
| ❌ 跨模块同时占用多个任务包 | 一次只占一个模块 |
| ❌ 占用超过 24 小时未释放 | 及时释放占用 |

---

## 7. 任务ID格式

### 7.1 格式定义

```
[模块]-[子模块][序号]
```

### 7.2 模块代码

| 代码 | 含义 |
|------|------|
| **FE** | Frontend (前端) |
| **BE** | Backend (后端) |
| **PL** | Plugin (插件) |
| **AI** | AI (人工智能) |
| **DT** | Data (数据) |
| **OP** | Operation (运维) |

### 7.3 子模块代码

| 代码 | 含义 |
|------|------|
| **P** | Product (商品) |
| **O** | Order (订单) |
| **F** | Finance (财务) |
| **I** | Inventory (库存) |
| **C** | Collection (采集) |
| **A** | Advertisement (广告) |

### 7.4 示例

```
FE-P001   → 前端商品模块任务001
BE-O005   → 后端订单模块任务005
PL-C002   → 插件采集模块任务002
AI-A001   → AI广告模块任务001
```

---

*最后更新: 2026-03-22*
