# 第 5 周书面报告

## 提交信息

姓名：**课程提交者（仓库未提供姓名）**  
SUNet ID：**仓库未提供，请提交者核对个人信息**  
引用资料：**FastAPI、Pydantic v2、SQLAlchemy 2.0 与 Warp Drive 官方文档；`docs/TASKS.md`**

用时：**未单独计时**。

## 你的回答

### 自动化 A：Warp Drive 已保存的提示词、规则、MCP 服务器

#### a. 设计：目标、输入/输出和步骤

规则保存在 `.warp/rules/week5-engineering.md`，统一约束响应封装、分页、事务和乐观更新。`week5-api-review` 工作流输入端点和验收条件，输出当前后端/测试差异与审查清单；步骤是打印契约、读取 diff、逐项检查错误、分页和事务。它只读仓库，不需要 MCP 服务器或外部账号。

#### b. 使用前后对比

手动方式要反复记忆每个端点的返回格式，容易漏掉 404、分页边界或回滚。自动化后，同一份规则会随审查工作流出现，检查顺序固定，减少接口间格式漂移。

#### c. 自主性级别与监督

规则与审查工作流属于低自主性：允许读取仓库和运行无副作用的 `git diff`，不允许自动改代码、提交或发布。实现阶段由人批准文件范围；每个端点通过契约测试和最终 diff 监督。

#### d. 多智能体说明

自动化 A 本身是单智能体审查入口，但它使用与自动化 B 相同的共享契约。这样后端、前端和测试代理不会各自发明响应结构。风险是规则过时，所以集成者必须以 `docs/TASKS.md` 和实际 API 为准更新规则。

#### e. 使用方式与价值

在完成一个端点后，从 Warp Drive 运行 `Week 5 API change review`，填入端点和验收条件。它解决“功能已写完但错误路径和分页字段漏查”的痛点，也让代码审查可以复现。

### 自动化 B：Warp 中的多智能体工作流

#### a. 设计：目标、输入/输出和步骤

`.warp/workflows/week5-agent-handoff.yaml` 生成边界清楚的交接包；`.warp/prompts/multi-agent-playbook.md` 定义协调者、后端、前端、测试和审查角色。输入是角色、文件范围、具体任务；输出是可直接交给代理的提示词。步骤为：协调者先确定共享契约和文件所有权，并行分派互不重叠的工作，代理返回改动与局部证据，协调者合并，审查代理只读检查，最后统一验证。

#### b. 使用前后对比

手动串行完成时，模型、路由、界面和测试依次等待，且交接依赖聊天上下文。使用工作流后，独立目录可并行处理，所有交接都显式携带范围、契约和完成标准；共享文件仍由一个集成者串行修改，避免冲突。

#### c. 自主性级别与监督

后端、前端和测试代理使用中等自主性：只能在已分配文件内读写，不能提交、发布、删除数据或修改共享契约。审查代理使用低自主性，只读。协调者通过文件所有权、局部测试证据、最终集成检查和 diff 复核监督。数据库迁移、批量事务和全局错误处理由集成者重点复查。

#### d. 多智能体说明

后端代理负责 SQLAlchemy/Pydantic/路由，前端代理负责状态与回滚，测试代理负责外部行为，审查代理寻找遗漏。协调策略是“先冻结接口，再按目录并行，最后单点集成”。收益是前端和测试可与后端并行推演；风险是共享 schema 被并发修改、测试基于旧契约、局部检查误报。通过唯一文件所有者、交接包中的 `{ok,data,error}` 契约和集成后统一验证降低风险。

#### e. 使用方式与价值

先运行 `Week 5 agent handoff packet` 为每个角色生成提示词，再把输出分别交给代理。它减少重复说明，避免代理越界，并把“完成”定义为可观察行为而不是只生成代码。

### 自动化 C：安全的批量接口实现检查

#### a. 设计：目标、输入/输出和步骤

该检查复用工程规则和 API 审查工作流，目标是保证 `bulk-complete` 的原子性。输入为端点和“任一 ID 不存在时不得更新任何记录”；输出为事务检查清单。步骤是先查出全部 ID、比较缺失集合、缺失时抛错、全部存在后再修改、最后检查失败路径测试。

#### b. 使用前后对比

手动实现容易边查询边更新，遇到无效 ID 时留下部分完成状态。固定检查后，先验证后写入成为明确顺序，失败场景也进入测试。

#### c. 自主性级别与监督

实现代理拥有目标路由和对应测试的中等写权限，但无数据库运维权限。监督重点是事务边界、缺失 ID 的 404 封装，以及失败请求后重新查询仍为未完成。

#### d. 多智能体说明

后端代理实现原子操作，测试代理从外部验证回滚，审查代理只读检查是否存在“先改后验”的路径。三者职责分离能发现自测盲点；最终由协调者确认测试和实现使用同一契约。

#### e. 使用方式与价值

在批量写接口开发和审查时，把原子性验收条件传给工作流。它直接降低部分写入造成数据不一致的风险，并可复用于其他批量操作。
