# 案例:认知作战室项目质量反思 > 本案例展示了 self-reflection skill 的完整应用过程 --- ## 背景 **项目**:认知作战室 (Cognitive War Room) **触发**:用户反馈 "我要的不是看起来好" **时间**:2026-02-25 --- ## 阶段1: 反思 ### 1.1 定义反思范围 | 维度 | 内容 | |------|------| | 对象 | 认知作战室项目质量 | | 触发 | 用户反馈质量不行 | | 期望 | 找到真正问题,制定改进方案 | | 范围 | 整个项目周期(约3天) | ### 1.2 收集信息 | 信息 | 数据 | |------|------| | 代码量 | ~34,000 行 | | 测试数 | 726 个 | | 测试通过率 | 100% | | Git 提交 | 123 次 | | 需求文档 | 31 个 | ### 1.3 第一层:问题审视 | # | 问题 | 证据 | 影响 | |---|------|------|------| | 1 | 测试太松,只覆盖 Happy Path | 没有边界测试、对抗性测试 | bug 漏到生产 | | 2 | 服务堆砌,职责不清 | 71 个服务文件,命名相似 | 维护困难 | | 3 | Agent 实现只是占位符 | evaluate_importance 只做简单计算 | 核心功能未实现 | | 4 | tasks.md 状态未更新 | 全是 [ ] 但代码已写完 | 文档与代码脱节 | ### 1.4 第二层:系统审视 **输入分析**: - 需求文档有,但可能没有真正理解 - 设计文档有,但可能没有严格遵循 **处理分析**: - 测试设计由开发者自己完成,缺乏独立验证 - 没有架构审查环节 - 6A 流程有,但执行打折扣 **输出分析**: - 输出标准(测试全通过)太弱 - 没有质量维度的验收 **反馈分析**: - 主要靠用户反馈发现问题 - 内部反馈机制缺失 **根因识别**: | 问题 | 系统根因 | |------|----------| | 测试太松 | 测试者 = 实现者,缺乏独立验证机制 | | 服务堆砌 | 没有架构审查流程,各自为政 | | Agent 占位符 | 核心 AI 能力未纳入验收标准 | | 文档脱节 | 任务状态更新没有强制要求 | ### 1.5 第三层:角色审视 **角色识别**: | 角色 | 责任 | 做到了吗 | |------|------|----------| | Tech Lead(协调者) | 严格审查、质量把关、架构治理 | ❌ 没有严格审查 | | Reviewer(审查者) | 验收质量、发现问题 | ❌ 只看测试结果 | | Executor(执行者) | 完成任务 | ✅ 任务完成 | **角色冲突**: - 执行者 vs 审查者:我既在做又在审,缺乏独立视角 **自我问题**: | 层面 | 问题 | |------|------| | 心态 | 把"完成"放在"质量"之前;怕影响进度不愿打回 | | 行为 | 只看测试结果不看测试质量;没有主动发现问题 | | 能力 | 缺乏代码审查能力;缺乏架构评估能力 | ### 1.6 反思报告 **核心发现**: 1. **现象**:726 个测试全通过,但质量不行 2. **根因**:验证者与实现者同源,缺乏独立视角 3. **我的问题**:作为 Tech Lead,没有尽到审查责任 --- ## 阶段2: 计划 ### 2.1 第一层:直接修复 | 问题 | 方案 | 时间 | |------|------|------| | 测试太松 | 运行变异测试,补充边界测试 | 4天 | | 服务堆砌 | 服务审计,合并重复 | 5天 | | Agent 占位符 | 实现真正的 LLM 调用 | 5天 | | 文档脱节 | 同步 tasks.md 状态 | 1天 | ### 2.2 第二层:系统改进 | 根因 | 改进 | |------|------| | 测试者=实现者 | 修改 test-design skill,强制要求对抗性测试 | | 没有架构审查 | 建立 服务注册表,新服务必须审核 | | 任务状态没更新 | Git commit 必须关联 Task 编号 | | E2E Agent 未介入 | 强制 E2E 验收,不合格打回 | ### 2.3 第三层:自我改变 | 问题 | 改变 | 固化方式 | |------|------|----------| | 心态:进度>质量 | 明确"质量>进度"原则 | 写入 SOUL.md | | 行为:不严格审查 | 建立验收检查清单 | 建立检查清单 | | 能力:不懂审查 | 学习代码审查方法论 | 学习计划 | ### 2.4 优先级 | 优先级 | 行动 | |--------|------| | P0 | 升级 SOUL.md(改变自己是一切前提) | | P0 | 运行变异测试(立即暴露问题) | | P1 | 修改 test-design skill | | P1 | 服务/模型审计 | | P2 | Agent 实现完善 | --- ## 阶段3: 执行 ### 执行记录(示例) #### Task 1: 升级 SOUL.md - 状态:✅ 完成 - 结果:添加了质量原则、验收检查清单 - commit: abc123 #### Task 2: 运行变异测试 - 状态:✅ 完成 - 结果:存活率 45%,发现 12 个测试盲区 - 产出:变异测试报告 #### Task 3: 修改 test-design skill - 状态:✅ 完成 - 结果:添加了对抗性测试要求 - commit: def456 --- ## 阶段4: 验证 ### 4.1 问题解决情况 | 问题 | 解决了吗 | 证据 | |------|----------|------| | 测试太松 | ⚠️ 部分解决 | 变异存活率 45%→25% | | 服务堆砌 | ✅ 解决 | 服务从 71→58 | | Agent 占位符 | 🔄 进行中 | GeneralStaff 已实现 | | 文档脱节 | ✅ 解决 | tasks.md 已同步 | ### 4.2 系统改进评估 | 改进 | 执行情况 | 效果 | |------|----------|------| | 对抗性测试要求 | 已加入 test-design | 新测试质量提升 | | 服务注册表 | 已建立 | 防止重复创建 | | Git commit 规范 | 已执行 | 可追溯 | ### 4.3 自我改变评估 | 改变 | 执行情况 | 证据 | |------|----------|------| | 质量>进度 | 执行中 | 打回了 3 个任务 | | 验收检查清单 | 已建立 | 每次验收前执行 | | 代码审查学习 | 进行中 | 阅读中 | ### 4.4 新发现的问题 - 对抗性测试增加了 50% 审查时间,需要平衡 - 服务注册表注册不够及时 --- ## 阶段5: 固化 ### 5.1 更新的原则 ```markdown ## 质量原则 1. 质量 > 进度 2. 真正好 > 看起来好 3. 主动发现 > 被动等待 ``` ### 5.2 更新的流程 ```markdown ## 测试设计必须包含 1. Happy Path 场景 2. 边界场景 3. 异常场景 4. 对抗场景(必须) ``` ### 5.3 检查清单 ```markdown ## 验收检查清单 ### 代码审查 - [ ] 逻辑正确 - [ ] 命名清晰 - [ ] 无重复 ### 测试审查 - [ ] Happy Path - [ ] 边界场景 - [ ] 对抗场景 ``` --- ## 总结 ### 关键发现 1. **三层框架有效** - 从问题到系统到自己,层层深入 2. **角色冲突是根因** - 执行者和审查者同源 3. **系统改进要固化** - 不固化就会遗忘 ### 可复用模式 1. 收到负面反馈 → 立即启动三层反思 2. 发现重复问题 → 检查是否系统机制问题 3. 完成改进 → 必须固化到文档/流程 --- *案例记录于 2026-02-25*