一只阿木木

8 大失败根因 × 3 层知识萃取 × L5 成熟度跃迁–我的Codex 系统实践复盘手册

——多 Agent 最大的坑不在技术层,在协议层

适用对象:正在使用或计划系统化使用 Codex 的工程团队 / 技术 Leader / AI 效能负责人 核心交付:1 套复盘 SOP + 8 大根因诊断框架 + 5 步操作法 + 多 Agent 预检协议模板


〇、开篇

让 Codex 重构一个模块,跑完之后测试全红;

三个 Agent 并行开发,各自跑得挺好,合并的时候一塌糊涂;

配好了自动化运维流程,第二天发现悄悄失效,没有任何告警;

叫 Codex 从零搭一个服务,生成的架构选型和团队现有规范完全冲突。

这些不是 Codex 不行。

我们复盘了团队三个月内的 38 次 Codex 任务记录:17 次出现不同程度的返工,其中 87% 的返工原因,在事后复盘时被证明是可以预防的。

但在这之前,我们的复盘率是零。

每次任务结束,就算了。下次遇到类似问题,继续踩。

从那之后,我们开始认真思考一个问题:

把 Codex 当工具的团队,每次任务结束之后,经验留在了哪里?

答案是:留在了空气里。

把 Codex 当工程师来管理的团队,每次任务结束之后,多做了那 30 分钟复盘。经验变成了模板、变成了规则、变成了下次的护城河。

这就是这篇文章存在的原因。


一、为什么 Codex 必须工程化复盘

在交付框架之前,先解决一个更根本的问题:

为什么 Codex 实践的复盘,和普通项目复盘不是同一件事?

1.1 Codex 复盘的三个特殊优势

普通项目复盘最大的困难是"现场还原难"——靠人回忆,容易失真,关键细节往往已经遗忘。

Codex 任务不存在这个问题。

text

┌──────────────────────────────────────────────────────────────┐
│          传统项目复盘 vs Codex 工程复盘:三个根本差异          │
├─────────────┬─────────────────────┬───────────────────────── ┤
│   维度       │   传统项目复盘        │   Codex 工程复盘          │
├─────────────┼─────────────────────┼──────────────────────────┤
│ 可还原性     │ 靠人回忆,易失真       │ 提示词+日志+产出完整可回放   │
│ 可标准化     │ 依赖个人经验          │ 根因可分类,改进可模板化      │
│ 可复利性     │ 经验留在人脑中        │ 沉淀为模板库/AGENTS.md      │
└─────────────┴─────────────────────┴──────────────────────────┘

每一次 Codex 任务,都有完整的"黑匣子数据":原始提示词、所有迭代版本、执行日志、中间输出、最终产出、人工干预节点。这些数据是普通项目复盘永远求之不得的客观证据。

Codex 实践天然适合被系统化复盘。问题只在于——大多数团队没有这样做。

1.2 "工具思维"正在让你付出的隐性成本

工具思维的逻辑链条是这样的:

text

把 Codex 当工具使用
    ↓
每次任务独立存在,互不关联
    ↓
经验不积累,规范不沉淀
    ↓
同类错误在不同任务中反复出现
    ↓
团队对 Codex 的信任度持续下降
    ↓
"Codex 不好用" → 逐渐弃用或降级使用

工程师思维的逻辑链条是这样的:

text

把 Codex 当工程师来管理
    ↓
每次任务之后进行结构化复盘
    ↓
根因被识别,规范被沉淀,模板被积累
    ↓
同类任务首次通过率持续提升
    ↓
团队形成 AI 工程文化
    ↓
效能飞轮越转越快

两条路径的分叉点,不在于谁的提示词写得更好,而在于:

任务结束之后,那 30 分钟有没有发生。

1.3 复盘触发机制:什么时候必须复盘

不是每次任务都需要深度复盘。根据任务规模和结果,匹配对应的复盘深度:

text

强制触发(L2 深度复盘,60-90 分钟):
  → 任务失败或最终产出完全不可用
  → 人工干预次数 ≥ 3 次
  → 实际耗时超预期 200% 以上
  → 多 Agent 任务出现大面积合并冲突

建议触发(L1 快速复盘,15-30 分钟):
  → 首次尝试某个新场景类型
  → 多 Agent 协作任务完成后
  → 重大发布节点前后
  → 产出质量"勉强过关"但明显有改进空间

定期触发(例行机制):
  → 双周例行复盘(15分钟快速版)
  → 季度专项复盘(90分钟完整版)

确认了"要复盘"之后,第一个问题就是:

这次任务,到底是哪里出了问题?


二、8 大失败根因:Codex 任务失败的完整诊断图谱

基于 38 次任务复盘、覆盖重构、调试、从零搭建、多 Agent 并行、长周期自动化等六大场景,我们将所有失败原因归纳为 8 种根因类型。

所有 Codex 任务的失败,都可以在这 8 条里找到答案。

2.1 根因全景图

text

┌────────────────────────────────────────────────────────────┐
│               Codex 任务失败 8 大根因全景图                  │
├──────────┬─────────────────────────────────────────────────┤
│ 输入层   │ ❶ 提示词工程缺陷          占比约 28%            │
│ Input    │ ❷ 上下文断层              占比约 15%            │
├──────────┼─────────────────────────────────────────────────┤
│ 设计层   │ ❸ 任务拆解失当            占比约 12%            │
│ Design   │ ❹ 验证机制缺失            占比约 14%            │
├──────────┼─────────────────────────────────────────────────┤
│ 协作层   │ ❺ 多 Agent 协议缺失       占比约 11% ⚠️ 后果最重 │
│ Collab   │ ❻ 人机协作节点设计错误    占比约  8%            │
├──────────┼─────────────────────────────────────────────────┤
│ 基础层   │ ❼ 环境与工具配置问题      占比约  5%            │
│ Infra    │ ❽ 预期管理偏差            占比约  7% ⚠️ 影响最深 │
└──────────┴─────────────────────────────────────────────────┘

注:占比数据来自团队内部 38 次任务复盘统计,供参考。
    ❺ 和 ❽ 以星标标注,原因在后文详解。

2.2 四条高频根因:深度拆解


❶ 提示词工程缺陷(占比 28%,最高频)

一句话定义:Goal / Context / Constraints / Done-when 四要素有缺失或表述模糊。

典型症状:

• Codex 产出"看起来对,但用不了"

• 产出方向与预期偏移,需要追加 3-5 轮指令才能纠偏

• 每次任务都需要重新解释背景,没有可复用的基础

诊断四问(逐条检查,缺失任意一项即判定为此根因):

text

□ Goal(目标)
  是否以"结果"而非"步骤"描述任务?
  ✗ 错误示例:"帮我重构这段代码"
  ✓ 正确示例:"将这段 JDBC 代码迁移为 MyBatis 实现,
               保持所有 SQL 语义不变,接口签名不变"

□ Context(上下文)
  是否提供了相关文件、文档、依赖关系的完整背景?
  ✗ 错误示例:只粘贴了需要修改的函数
  ✓ 正确示例:提供了函数本体 + 调用链上下两层 + 数据库 Schema

□ Constraints(约束)
  是否声明了不可触碰的边界和强制遵守的规范?
  ✗ 错误示例:无约束声明
  ✓ 正确示例:"不得修改业务逻辑,不得改变接口签名,
               必须遵守项目的 Checkstyle 规则"

□ Done-when(完成条件)
  是否定义了可验证的完成信号?
  ✗ 错误示例:"看起来差不多就行"
  ✓ 正确示例:"所有现有单元测试通过,新增覆盖边界场景
               的测试不少于 3 个,CI Pipeline 绿色"

改进动作:

text

即时(今天可做):
  → 将以上四问打印或存入 AGENTS.md,每次任务启动前过一遍

短期(本周可做):
  → 建立团队级"提示词预检表",作为任务启动的强制门控

长期(本月可做):
  → 按场景分类建立提示词模板库,覆盖团队最常用的 10 个场景


❷ 上下文断层(占比 15%)

一句话定义:Codex 缺乏做出正确决策所需的背景信息,导致产出与现有系统存在隐性冲突。

典型症状:

• 生成的接口参数类型与现有系统不一致

• 架构选型与团队历史决策冲突(比如团队用 Kafka,Codex 建议用 RabbitMQ)

• 代码风格与项目主体明显不同,像是两个人写的

核心问题:上下文断层的根本原因,不是 Codex 能力不足,而是我们没有把它需要知道的信息告诉它。

text

上下文投喂必备清单(按场景分类):

通用场景(每次必备):
  □ 相关模块的类型定义/接口文档
  □ 项目的编码规范文档(或 AGENTS.md 引用)
  □ 历史架构决策及其原因(特别是"为什么不用 X")

重构场景(额外必备):
  □ 当前测试覆盖情况(基线)
  □ 重构范围边界(哪些文件在范围内,哪些不在)
  □ 已知的技术债务说明

多 Agent 场景(额外必备):
  □ 各 Agent 的任务边界说明
  □ Agent 间的接口契约文档
  □ 共享资源的访问权限规则

改进动作:

text

核心动作:建立并维护 AGENTS.md

AGENTS.md 的三类核心内容:
  ① 编码规范(语言、框架版本、代码风格)
  ② 架构约定(技术选型原则、禁止使用的模式)
  ③ 项目背景(核心模块说明、历史决策记录)

AGENTS.md 的维护规则:
  → 每次复盘后检查是否需要新增条目
  → 季度清理一次过时规则
  → 所有新成员入职第一天必读


❺ 多 Agent 协议缺失(占比 11%,但后果最严重)⚠️

这是本文最重要的一个根因,也是最容易被忽视的一个。

一句话定义:多 Agent 并行执行时,任务边界、接口契约、共享资源权限、合并顺序未预先约定。

核心洞见:

多 Agent 最大的坑不在技术层,在协议层。

边界没定义的那一刻,失败就已经注定了。

为什么这条后果最严重:

text

单 Agent 任务失败:
  失败原因明确 → 修改提示词重跑 → 成本可控

多 Agent 协议缺失导致的失败:
  各 Agent 独立看都是"成功"的
      ↓
  合并阶段才暴露问题
      ↓
  需要逐一追溯每个 Agent 的输出才能定位根因
      ↓
  修复成本可能超过重做所有 Agent 任务的总成本

典型失败场景还原:

text

场景:前后端分离项目,Agent-A 做前端,Agent-B 做后端 API

启动方式(错误):
  → 两个 Agent 同时启动
  → 分别给了各自的任务描述
  → 没有预先锁定 API 接口格式

执行过程中:
  → Agent-A 自主设计了前端期望的接口格式:
    GET /api/user/{id} → 返回 {name, email, avatar}
  → Agent-B 自主设计了后端实现的接口格式:
    GET /api/user/{id} → 返回 {userId, username, mail}

合并结果:
  → 前端调用后端接口,字段名全部对不上
  → 需要人工介入,修改其中一方,并重跑所有相关测试
  → 实际耗时是预期的 3 倍

诊断四问:

text

□ 各 Agent 的任务边界是否在启动前书面确认?
  ("书面"= 文档、评论或消息记录,不接受口头约定)

□ Agent 间共享的接口契约是否预先锁定?
  (锁定 = 类型 + 签名 + 行为约定,三项都要)

□ 合并顺序是否按依赖图设计?
  (而非按完成时间随机合并)

□ 是否定义了共享文件的访问权限?
  (哪些文件各 Agent 只读,哪些文件归属某一 Agent 独占修改)

改进动作:

text

核心工具:多 Agent 启动前预检协议
(见第六章完整模板)

立即可执行的最小动作:
  → 下次多 Agent 任务启动前,花 20 分钟完成以下三件事:
    ① 手写各 Agent 的任务边界,让所有参与者确认
    ② 预定义所有 Agent 间的接口(类型 + 签名)
    ③ 确定合并顺序,写下来


❽ 预期管理偏差(占比 7%,但影响最深远)⚠️

这是所有根因中最难被发现的一条,也是"工具思维"的根源性表现。

一句话定义:对 Codex 能力边界认知不准确,导致任务设计超出其可靠执行范围,或远低于其实际能力而造成浪费。

两种常见偏差方向:

text

偏差方向一:期望过高(工具崇拜)
  → 将需要全局架构理解的设计决策交给 Codex
  → 期望 Codex 一次性完成需要多轮判断的复杂任务
  → 任务结束后不设验证,完全信任产出
  → 后果:返工率高,且问题往往在上线后才暴露

偏差方向二:期望过低(工具轻视)
  → 只拿 Codex 做简单代码补全
  → 不敢把完整任务交给它
  → 频繁中断执行,过度人工干预
  → 后果:效能提升有限,团队对 Codex 的印象固化在"能力有限"

核心论点:

把 Codex 当工具,会同时引发两种错误的预期管理——有时高估它,有时低估它,但永远没有建立准确的能力边界认知。

把 Codex 当工程师管理,意味着像对待新工程师一样:明确告诉它能做什么不能做什么,设定检查点,给予反馈,让能力边界在实践中持续校准。

诊断三问:

text

□ 任务设计时是否评估过 Codex 对该任务的可靠完成概率?
□ 是否设置了中间检查点(而非只看最终产出)?
□ AGENTS.md 中是否声明了 Codex 不应自主决策的事项?

改进动作:

text

建立"任务-能力匹配评估表":

  高适配任务(放心交给 Codex):
    → 结构明确、边界清晰的重构任务
    → 有完整测试基线的功能迁移
    → 文档生成、测试用例补全、代码审查建议

  中适配任务(需要人工检查节点):
    → 新功能脚手架搭建
    → 多模块联动的调试任务
    → 跨语言或跨框架的迁移任务

  低适配任务(人工主导,Codex 辅助):
    → 需要全局架构理解的设计决策
    → 涉及业务策略判断的需求拆解
    → 安全敏感模块的核心逻辑实现


2.3 其余四条根因速查表

text

┌──────────────────────────────────────────────────────────────┐
│ ❸ 任务拆解失当                                                │
│                                                              │
│   粒度过粗 → Codex 无法在一次执行中可靠完成                     │
│   粒度过细 → 上下文被割裂,多个产出无法有效组装                  │
│                                                              │
│   黄金粒度参考:                                               │
│   → 单任务预计执行时长:30 分钟 ~ 2 小时                        │
│   → 单任务影响文件数量:< 10 个核心文件                          │
│   → 单任务有且仅有一个可验证的完成标准                           │
├──────────────────────────────────────────────────────────────┤
│ ❹ 验证机制缺失                                                │
│                                                              │
│   没有测试基线 → 无法判断重构/修改是否破坏了原有行为              │
│   没有 Done 标准 → Codex 不知道什么时候停止                     │
│   没有中间检查点 → 长任务跑偏后才发现,成本极高                  │
│                                                              │
│   改进核心原则:每个任务在启动前必须完成这个句子——              │
│   "Done = 当______测试通过,且______行为被验证"                 │
├──────────────────────────────────────────────────────────────┤
│ ❻ 人机协作节点设计错误                                         │
│                                                              │
│   过度授权 → Codex 做了不该做的架构决策或业务判断               │
│   过度干预 → 频繁打断破坏了 Codex 的自主执行链                   │
│             (相当于雇了工程师,但每 10 分钟打断一次)            │
│                                                              │
│   改进:在任务启动前预定义两个清单:                             │
│   → "自动执行区":这些事 Codex 可以自主决策                     │
│   → "人工决策区":这些事必须等我确认再继续                       │
├──────────────────────────────────────────────────────────────┤
│ ❼ 环境与工具配置问题                                           │
│                                                              │
│   沙箱依赖缺失 → 执行中断,浪费已完成的进度                      │
│   AGENTS.md 规则冲突 → Codex 收到矛盾指令,行为不可预期          │
│   权限配置错误 → 访问受限导致任务失败                            │
│                                                              │
│   改进:                                                      │
│   → 建立标准化 setup.sh(覆盖所有常用场景的依赖预装)             │
│   → 季度清理 AGENTS.md 中的冲突规则                             │
│   → 新项目首次运行前执行"环境预检脚本"                           │
└──────────────────────────────────────────────────────────────┘

2.4 自检工具:你的团队中了几条

请根据团队真实情况打勾,不要基于"理想状态"作答:

text

╔════════════════════════════════════════════════════════════╗
║              Codex 团队失败根因自检记分卡                    ║
╠════════════════════════════════════════════════════════════╣
║                                                            ║
║  □ 我们的提示词经常缺少明确的完成判断标准             → ❶   ║
║  □ Codex 经常产出与现有系统风格/规范不一致的代码       → ❷   ║
║  □ 我们不确定一个任务应该拆解到什么粒度               → ❸   ║
║  □ 任务"完成"的标准通常是"看起来没问题就行"           → ❹   ║
║  □ 多 Agent 合并时经常出现意外冲突                   → ❺   ║
║  □ 我们不确定什么时候该介入 Codex 的执行过程          → ❻   ║
║  □ Codex 经常因为环境依赖缺失导致执行中断             → ❼   ║
║  □ 我们有时不清楚哪些任务适合交给 Codex,哪些不适合   → ❽   ║
║                                                            ║
╠════════════════════════════════════════════════════════════╣
║                                                            ║
║  得分 0-2 :基础较扎实,聚焦剩余短板逐项优化               ║
║  得分 3-5 :痛点明确,优先解决频次最高的根因(❶❷❹)         ║
║  得分 6-8 :需要系统性建立复盘机制,参考本文第三章           ║
║                                                            ║
╚════════════════════════════════════════════════════════════╝

三、5 步复盘法:每次 30 分钟的标准操作流程

把 9 章完整 SOP 压缩为可立即执行的最小闭环。

每步不超过 6-8 分钟,每步有明确的输入物和输出物。

总览

text

Step 1      Step 2      Step 3      Step 4      Step 5
现场还原 →  数据采集 →  根因定位 →  改进行动 →  知识沉淀
(6分钟)  (6分钟)  (8分钟)  (5分钟)  (5分钟)
  ↓           ↓           ↓           ↓           ↓
时间轴      指标表     根因编号   Action表   模板/规则

Step 1 — 现场还原(6 分钟)

做什么:在任何人发表观点之前,先用原始记录重建任务的客观时间轴。

怎么做:

text

① 调出本次任务的所有提示词版本(初始版 + 所有迭代版本)
② 调出 Codex 完整执行日志
③ 在时间轴上标注关键节点:

   任务启动 → 首次产出 → 问题出现 → 人工介入 → 完成/放弃

④ 多 Agent 任务:画泳道图还原并行执行关系

   时间 ──────────────────────────────────────────→
   Agent-A  [===执行===][等待][===执行===][完成]
   Agent-B  [======执行=====][冲突!][修复][完成]
   Agent-C  [===执行===][    等待合并    ][完成]

铁律:先看原始记录,后发表观点。

顺序反了,就会触发"事后合理化"偏见——人们会不自觉地按照自己现在的理解重新解读当时的决策,而不是真实还原当时发生了什么。

输出物:一张标注了关键节点的任务时间轴(手绘或文字均可)


Step 2 — 数据采集(6 分钟)

做什么:用数据替代感觉,建立客观评估基准。

text

╔══════════════════════════════════════════════════════╗
║              核心效能指标采集表                         ║
╠══════════════════════════════════════════════════════╣
║  ① 任务总耗时           _______分钟                   ║
║  ② Codex 自主运行时长   _______分钟                   ║
║  ③ 人工干预次数         _______次                     ║
║  ④ 首次产出可用率       _______%                      ║
║  ⑤ 最终产出质量评分     _______/5 分                  ║
║  ⑥ 与预期耗时偏差       _______%                      ║
╠══════════════════════════════════════════════════════╣
║  多 Agent 场景额外采集:                               ║
║  ⑦ 合并冲突次数         _______次                     ║
║  ⑧ 并行效率比           _______                       ║
║     (并行实际总时长 / 假设串行预计时长)                ║
║  ⑨ 接口契约符合率       _______%                      ║
╚══════════════════════════════════════════════════════╝

数据解读参考:

text

需要关注的预警信号:
  → 人工干预次数 ≥ 3 次:提示词或任务拆解存在问题
  → 首次产出可用率 < 50%:上下文投喂严重不足
  → 与预期耗时偏差 > 200%:任务粒度或能力匹配出现偏差
  → 并行效率比 > 0.8:多 Agent 并行收益不明显,考虑是否值得并行

输出物:一张填写完成的核心指标表


Step 3 — 根因定位(8 分钟)

做什么:用五层追问法从症状追到根因,用 8 大根因编号归类。

操作方法:

以"人工干预次数最多的那个节点"为起点,连续追问 5 个 Why。

text

示例追问链:

症状:Codex 生成的数据库 DAO 层无法通过集成测试

W1:为什么集成测试失败?
    → 因为 DAO 层的 SQL 语法与团队使用的 PostgreSQL 版本不兼容

W2:为什么 Codex 使用了不兼容的 SQL 语法?
    → 因为它不知道项目使用的是 PostgreSQL 14,而非通用 SQL

W3:为什么它不知道数据库版本?
    → 因为提示词中没有说明,AGENTS.md 中也没有记录

W4:为什么 AGENTS.md 中没有记录?
    → 因为团队认为这是"常识",没有意识到需要显式声明

W5:为什么团队没有意识到需要显式声明?
    → 因为没有"上下文必备清单"来提醒大家该提供什么信息

根因编号:❷ 上下文断层
根本改进:建立"数据库/中间件版本信息"作为上下文必备项,写入 AGENTS.md

常见根因判断快捷路径:

text

如果 Codex 的产出方向对,但细节不对    → 优先排查 ❷ 上下文断层
如果 Codex 根本不知道该做什么          → 优先排查 ❶ 提示词缺陷
如果 Codex 做完了但测试全挂            → 优先排查 ❹ 验证机制缺失
如果多 Agent 各自正常但合并出问题       → 优先排查 ❺ 协议缺失
如果任务跑了很久才发现方向错了          → 优先排查 ❸ 任务拆解失当

输出物:每个核心问题对应的根因编号(❶-❽),以及追问链记录


Step 4 — 改进行动(5 分钟)

做什么:每个已确认的根因,对应一个最小可执行改进。

text

╔════════════════════════════════════════════════════════════╗
║                    改进行动四要素表                         ║
╠════════╦══════════════════════╦═══════╦═════════╦═════════╣
║ 根因   ║ Action(做什么)      ║ Owner ║ Due     ║ Verify  ║
╠════════╬══════════════════════╬═══════╬═════════╬═════════╣
║        ║                      ║       ║         ║         ║
║   ❷    ║ 在 AGENTS.md 新增数据 ║ 张三  ║ 明天    ║ AGENTS  ║
║        ║ 库版本信息声明        ║       ║         ║ .md 条目║
║        ║                      ║       ║         ║ +1 确认 ║
╠════════╬══════════════════════╬═══════╬═════════╬═════════╣
║        ║                      ║       ║         ║         ║
║   ❹    ║ 建立任务 Done 标准    ║ 李四  ║ 本周五  ║ 下次任务║
║        ║ 填写模板              ║       ║         ║ 启动时  ║
║        ║                      ║       ║         ║ 使用验证║
╚════════╩══════════════════════╩═══════╩═════════╩═════════╝

三条铁律(违反任意一条,改进行动大概率流于形式):

text

铁律一:Owner 必须指定到具体个人
        "团队共同负责" = 没有人负责

铁律二:Due 必须精确到日期
        "尽快" = 永远不会发生

铁律三:Verify 必须可观测
        "感觉改了" 不是验收,
        "AGENTS.md 新增了这条规则/下次同类任务首次通过" 才是验收

输出物:一张填写完整的改进行动四要素表


Step 5 — 知识沉淀(5 分钟)

做什么:把本次复盘的经验转化为可复用的团队资产。

以下三类产出,每次至少完成一项:

text

产出类型一:提示词模板(适合本次任务调整了提示词的情况)
  记录内容:
    [场景标签] 遗留代码重构 - MyBatis 迁移
    [适用条件] JDBC 裸写 → MyBatis,保持 SQL 语义不变
    [模板正文] (填写优化后的完整提示词)
    [效果记录] 首次通过率提升,人工干预从 4 次降至 1 次
    [版本]     v1.1  日期:2026-07-25

产出类型二:反模式记录(适合发现了之前没意识到的错误做法)
  记录格式:
    [反模式名称] 多 Agent 启动不签约
    [错误做法]   未预定义接口契约,直接并行启动多个 Agent
    [触发后果]   合并冲突,实际耗时 3 倍于预期
    [正确替代]   启动前完成"多 Agent 预检协议"的全部五项确认
    [发现日期]   2026-07-25

产出类型三:AGENTS.md 更新(适合发现了规则缺失或冲突)
  记录格式:
    [新增规则]   数据库版本:PostgreSQL 14.x,禁止使用 PostgreSQL 16+ 专属语法
    [修改原因]   2026-07-24 集成测试失败,根因追溯为版本信息缺失
    [版本]       AGENTS.md v2.3

输出物:至少一条新增的提示词模板 / 反模式记录 / AGENTS.md 规则


复盘节奏参考

text

L1 快速复盘(常规任务):
  Step 1-5 全程 15-30 分钟
  可以一个人独立完成
  产出:指标表 + 根因编号 + 至少一条知识沉淀

L2 深度复盘(重要任务或失败任务):
  Step 1-5 全程 60-90 分钟
  需要 3-5 人参与(执行者 + 观察者 + 主持人)
  产出:完整复盘报告 + 改进行动表 + 知识沉淀包

L3 专项复盘(季度 / 大型项目结束):
  聚焦某个根因类型的专项深挖
  可产出跨任务的规律性洞见和体系性改进方案


四、3 层知识萃取:让每次经验长出复利

掌握了 5 步复盘法,只是解决了"当次任务"的问题。

知识萃取三层模型要解决的是:如何让每次复盘的价值不只是当次任务,而是在团队中持续叠加复利。

4.1 三层模型全景

text

          ╔══════════════════════════════════════╗
  第三层    ║         🔧 工具层(Tool Layer)        ║
  复用层    ║                                      ║
          ║  提示词模板库 / 反模式速查表            ║
          ║  AGENTS.md 规范 / 自动化检查脚本        ║
          ║                                      ║
          ║  核心问题:这条经验如何让下次自动受益?   ║
          ╚══════════════════╤═══════════════════╝
                             │ 固化
                             │
          ╔══════════════════╧═══════════════════╗
  第二层    ║         📐 规律层(Pattern Layer)    ║
  洞察层    ║                                      ║
          ║  跨项目通用的判断准则                   ║
          ║  反模式识别规则                         ║
          ║  能力边界的经验性认知                   ║
          ║                                      ║
          ║  核心问题:这次的经验,换个项目还成立吗? ║
          ╚══════════════════╤═══════════════════╝
                             │ 提炼
                             │
          ╔══════════════════╧═══════════════════╗
  第一层    ║         📋 案例层(Case Layer)       ║
  记录层    ║                                      ║
          ║  任务背景与执行过程                     ║
          ║  完整日志与提示词版本记录               ║
          ║  数据指标快照 / 复盘报告存档             ║
          ║                                      ║
          ║  核心问题:这次任务发生了什么?           ║
          ╚══════════════════════════════════════╝

4.2 从案例层到规律层:三个判断问题

每次完成案例层记录后,用三个问题判断是否需要提炼到规律层:

text

判断问题一:这个问题是"个例"还是"类型"?
  → 判断方法:查看历史复盘记录,同类问题是否出现过 ≥ 2 次
  → 答案是"类型"→ 提炼为规律层,记录为跨任务通用认知

判断问题二:这条经验换一个项目还成立吗?
  → 成立 → 记录为"通用准则"(高优先级固化到工具层)
  → 不成立 → 标注为"项目特定经验"(保留在案例层,不跨项目推广)

判断问题三:这条经验能否变成一条"规则"?
  → 能 → 立即升级到工具层,写入 Checklist 或 AGENTS.md
  → 不能(需要情景判断)→ 保留在规律层作为判断参考

实操示例:

text

案例层记录:
  "2026-07-20 的重构任务中,Codex 将一个涉及 12 个文件的
   模块一次性重构,第 7 个文件开始出现上下文截断,
   导致后续文件的重构不完整。"

规律层提炼(问题一:类型 ✓ 问题二:通用 ✓):
  "Codex 单次处理超过 ~8 个核心文件时,存在上下文截断风险,
   表现为后期产出质量明显下降。
   建议:超过 8 个文件的重构任务必须分批处理。"

工具层固化(问题三:可以变规则 ✓):
  → AGENTS.md 新增:
    "重构任务:单次批次核心文件数量 ≤ 8 个,
     超出部分必须拆分为独立任务"
  → 提示词模板新增:
    大规模重构场景的分批处理模板

4.3 从规律层到工具层:三种固化载体

载体一:提示词模板库

text

管理标准:
  → 每条模板有唯一 ID 和场景标签
  → 每次优化必须记录:改了什么 + 为什么改 + 效果对比
  → Codex 版本更新后,高频模板触发重新验证
  → 目标:6 个月内覆盖团队 80% 的常用场景

模板分类建议:
  [REFACTOR] 重构类
  [DEBUG]    调试排错类
  [BUILD]    从零搭建类
  [AGENT]    多 Agent 协作类
  [OPS]      自动化运维类

载体二:反模式速查表

text

管理标准:
  → 所有新成员入职必读
  → 每季度更新一次(新增 + 标注已过时的条目)
  → 将高频反模式嵌入 AGENTS.md 作为"禁止操作"声明

反模式记录格式:
  编号       RP-005
  名称       多 Agent 启动不签约
  错误做法   未预定义接口契约,直接并行启动
  触发后果   合并冲突,耗时超预期 300%
  正确替代   执行多 Agent 预检协议(见第六章模板)
  频率       高(每 3 次多 Agent 任务约触发 1 次)
  发现日期   2026-06-15

载体三:AGENTS.md 持续演进

text

AGENTS.md 的三条管理铁律:

① 每次复盘后检查是否需要新增/修改规则
  (不是"想到了就加",而是"复盘驱动更新")

② 维护 Changelog,记录每次变更的原因
  (AGENTS.md 本身也需要可追溯性)

③ 季度清理一次过时规则
  (随着项目演进,有些规则会失效,不清理会造成冲突)

AGENTS.md 成熟度参考:
  初始版:3-5 条核心规则(L1 团队)
  成长版:15-30 条分类规则(L2-L3 团队)
  成熟版:50+ 条精细化规则,有版本历史(L4-L5 团队)

4.4 知识复利曲线

text

首次通过率
    ↑
100%│                                         ╭─── L5 团队
    │                              ╭──────────╯    (AI辅助复盘)
 80%│                    ╭─────────╯
    │          ╭──────────╯              L4 团队
 60%│    ╭─────╯                         (多Agent成熟)
    │────╯ L1 团队
 40%│      (零复盘)       L3 团队(度量驱动)
    │
    │──────│───────│───────│───────│───────│
          第1月    第3月   第6月   第9月   第12月

关键转折点:
  第3月:模板库开始被高频复用,首次通过率开始显著提升
  第6月:新任务可以直接套模板,人工干预次数降至基线的50%
  第12月:复盘本身开始部分自动化,效能飞轮进入正向循环


五、L1→L5 成熟度跃迁:你在哪里,下一步去哪里

这张地图要回答一个问题:你的团队现在处于哪个成熟度,下一步的关键动作是什么?

5.1 五级成熟度模型全景

text

┌─────────────────────────────────────────────────────────────────┐
│                  Codex 团队效能成熟度模型                        │
├──────┬──────────┬────────────────────┬────────────────────────── ┤
│ 等级  │ 名称     │ 核心特征             │ 关键标志                 │
├──────┼──────────┼────────────────────┼──────────────────────────┤
│  L1  │ 探索期   │ 个人摸索             │ 同类问题反复踩坑           │
│      │          │ 无标准流程           │ 无复盘习惯                │
│      │          │ 工具思维             │ 经验全在个人脑子里         │
├──────┼──────────┼────────────────────┼──────────────────────────┤
│  L2  │ 规范期   │ 有流程但执行不稳定   │ 有 Checklist 但经常跳过   │
│      │          │ 开始记录提示词       │ AGENTS.md 存在但很薄      │
│      │          │ 偶尔复盘             │ 知识沉淀零散              │
├──────┼──────────┼────────────────────┼──────────────────────────┤
│  L3  │ 度量期   │ 稳定执行             │ 有效能看板                │
│      │          │ 数据驱动改进         │ 首次通过率持续提升         │
│      │          │ 知识库初步成型       │ 新成员有规范可循           │
├──────┼──────────┼────────────────────┼──────────────────────────┤
│  L4  │ 协同期   │ 多 Agent 协作成熟   │ 协议缺失率 < 10%          │
│      │          │ 知识库可跨团队复制   │ 合并冲突显著减少           │
│      │          │ 工程文化已形成       │ 新成员 1 周内可独立上手    │
├──────┼──────────┼────────────────────┼──────────────────────────┤
│  L5  │ 智能期   │ 复盘流程由 AI 辅助  │ 指标自动采集              │
│      │          │ 自动化程度高         │ 复盘报告初稿自动生成        │
│      │          │ SOP 自我演进         │ 复盘人工耗时 < L3 的 50%  │
└──────┴──────────┴────────────────────┴──────────────────────────┘

5.2 各级跃迁的关键动作


L1 → L2:从零到有

核心任务:让"复盘"这件事从无到有,建立最小可用的标准流程。

text

关键动作清单:

① 引入 5 步复盘法作为团队标准流程
   → 不需要一开始就做完整版,从 15 分钟快速版开始

② 创建第一版 AGENTS.md
   → 最少 3 条规则:编码语言版本、代码风格规范、禁止操作清单

③ 建立提示词模板库(初始 5-10 个高频模板)
   → 覆盖团队最常用的 2-3 个 Codex 使用场景

④ 指定"复盘守护者"角色
   → 一个具体的人负责提醒和推动复盘执行
   → 不需要单独的职位,轮值即可

L1→L2 成功标志:
  连续 4 周,每周至少完成 1 次复盘(长度不限)


L2 → L3:从有到稳

核心任务:让复盘从"偶尔做"变成"每次必做",并开始用数据说话。

text

关键动作清单:

① 建立效能度量看板(至少追踪 3 个核心指标)
   → 首次产出可用率(反映提示词质量)
   → 人工干预次数(反映任务设计合理性)
   → 任务耗时趋势(反映整体效率变化)

② 将复盘遵循率提升至 ≥ 80%
   → 实现路径:把复盘时间写入任务完成的定义中
   → "任务完成 = 产出物交付 + 复盘记录提交"

③ 提示词模板库扩展到 20-30 个
   → 每个模板有版本记录
   → 覆盖团队 60% 以上的常用场景

④ 反模式库积累到 10-15 条
   → 按根因类型分类归档

L2→L3 成功标志:
  首次通过率较 L1 基线提升 ≥ 30%
  连续 8 周复盘遵循率 ≥ 80%


L3 → L4:从稳到协同

核心任务:攻克多 Agent 协作的协议层难题。

text

关键动作清单:

① 建立"多 Agent 启动前预检协议"并强制执行
   → 见第六章完整模板
   → 将预检协议完成作为多 Agent 任务启动的门控条件

② 接口契约锁定机制标准化
   → 所有 Agent 间的接口在启动前书面锁定
   → 建立接口契约模板(类型定义 + 签名 + 行为约定)

③ 知识库质量达到可跨团队复制的标准
   → 提示词模板库:50+ 条,分类清晰,效果可查
   → 反模式库:25+ 条,覆盖所有主要场景
   → AGENTS.md:多项目版本,有迁移指南

④ 新成员上手效率达标
   → 新工程师通过知识库自学,1 周内能独立执行标准 Codex 任务

L3→L4 成功标志:
  多 Agent 任务合并冲突率 < 10%
  新成员上手周期较 L2 阶段缩短 ≥ 50%


L4 → L5:从协同到智能

核心任务:让复盘流程本身开始被 AI 辅助执行,实现元层面的效能提升。

text

关键动作清单:

① 自动化指标采集
   → 从 Codex 日志自动提取 Step 2 的核心指标
   → 人工干预节点自动标注(基于时间戳分析)

② 自动化复盘报告初稿生成
   → Codex 基于指标数据和执行日志生成报告框架
   → 人工只需补充判断性内容和改进决策

③ 自动化反模式检测
   → 新任务启动时,自动比对提示词和已知反模式库
   → 匹配到高风险反模式时,自动提示并建议修正

④ SOP 数据驱动自我演进
   → 基于复盘数据,自动识别哪些 SOP 步骤被频繁跳过
   → 自动生成 SOP 优化建议,人工决策是否采纳

L4→L5 成功标志:
  复盘人工耗时较 L3 阶段降低 ≥ 50%
  反模式自动检测覆盖率 ≥ 70%

5.3 成熟度自评工具(5 分钟完成)

text

请根据团队真实现状为每个维度打分(1-5 分):

维度一:复盘频率
  □1 几乎从不复盘
  □2 偶尔想起来才复盘
  □3 重要任务会复盘
  □4 所有任务都会复盘
  □5 复盘流程已部分自动化触发

维度二:数据驱动程度
  □1 完全凭感觉
  □2 偶尔记录一些数据
  □3 有 3 个以上核心指标持续追踪
  □4 有完整效能看板,数据驱动改进
  □5 指标自动采集,趋势自动分析

维度三:知识沉淀质量
  □1 无任何积累
  □2 有零散记录但难以查找
  □3 有分类归档,可检索
  □4 模板库 / 反模式库完善,可复用率高
  □5 知识库持续自动更新,新条目自动推荐

维度四:多 Agent 协作规范
  □1 未使用多 Agent,或完全没有规范
  □2 偶尔使用多 Agent,临时协商
  □3 有基本的边界划分规则
  □4 预检协议成熟,合并冲突率 < 10%
  □5 多 Agent 编排自动化,冲突自动检测

维度五:提示词标准化程度
  □1 每次任务从头重写提示词
  □2 有一些参考,但没有系统化
  □3 有模板库,覆盖主要场景
  □4 模板有版本管理,效果可追溯
  □5 提示词自动优化建议,基于历史数据

─────────────────────────────────────────
总分 5-10  →  L1 探索期
总分 11-15 →  L2 规范期
总分 16-20 →  L3 度量期
总分 21-23 →  L4 协同期
总分 24-25 →  L5 智能期


六、多 Agent 复盘专题:协议层的深度实战

多 Agent 并行开发是 Codex 最强大、也最容易出问题的场景。

它需要独立的复盘专题,原因有三:

text

特殊性一:失败不在个体,在"关系"
  → 每个 Agent 独立看都可能是成功的
  → 合并之后才暴露问题
  → 如果不理解这一点,复盘时会把锅错误地甩给某一个 Agent

特殊性二:根因在启动前,不在执行中
  → 执行阶段暴露的问题,根源往往在任务分配和协议设计
  → 复盘重心应放在"启动前做了什么",而不是"执行中哪里出错"

特殊性三:时间轴是并行的,不是线性的
  → 需要泳道图,而非单线时间轴
  → 因果关系是网状的,而非链式的

6.1 多 Agent 复盘增强步骤

在标准 5 步复盘法基础上,增加三个专项步骤:

text

标准流程          多 Agent 增强流程

Step 1 现场还原   →  Step 1 现场还原
                     ↕ 插入增强步骤 A
                  →  [A] 协议审计
Step 2 数据采集   →  Step 2 数据采集(含多 Agent 专项指标)
Step 3 根因定位   →  Step 3 根因定位
                     ↕ 插入增强步骤 B
                  →  [B] 跨 Agent 因果链分析
Step 4 改进行动   →  Step 4 改进行动
Step 5 知识沉淀   →  Step 5 知识沉淀
                     ↕ 插入增强步骤 C
                  →  [C] 协议文档迭代

增强步骤 A — 协议审计(插入在 Step 3 之前)

text

审查三项:

① 任务边界定义文档是否存在且完整?
   → 每个 Agent 的职责范围是否书面确认?
   → 边界重叠区域是否明确处理?

② 接口契约是否被完整遵守?
   → 对比实际产出接口和预先锁定的接口契约
   → 标注所有偏差点

③ 合并顺序是否按依赖图执行?
   → 实际合并顺序 vs 计划合并顺序
   → 标注任何顺序调整及其原因

增强步骤 B — 跨 Agent 因果链分析(插入在 Step 3 之中)

text

绘制"Agent 间影响关系图":

Agent-A的偏差 ──影响──→ Agent-B的产出异常
                               │
                               └──影响──→ 合并阶段冲突

分析两个关键问题:

问题一:是"协议设计遗漏"还是"执行偏离协议"?
  → 协议设计遗漏:协议里根本没有规定这种情况
    → 改进方向:完善协议模板
  → 执行偏离协议:协议有规定,但 Agent 没有遵守
    → 改进方向:检查 AGENTS.md 是否有对应约束声明

问题二:这个问题是个例还是系统性的?
  → 如果 2 个以上 Agent 出现类似偏差
    → 协议设计本身有系统性缺陷
    → 需要重新审视预检流程

增强步骤 C — 协议迭代(插入在 Step 5 之中)

text

三类协议更新:

① 预检清单更新:
   → 新增本次发现的遗漏检查项
   → 将本次触发问题的条件写入"必检项"

② 共享资源锁定清单更新:
   → 如果发现新的共享资源冲突模式
   → 将涉及资源加入"启动前必须明确权限"清单

③ 合并规则更新:
   → 如果发现新的依赖关系类型
   → 更新合并顺序的判断规则

6.2 多 Agent 启动前预检协议(完整可用模板)

说明:这份模板在每次多 Agent 任务启动前填写,完成后作为任务档案存档。

text

╔══════════════════════════════════════════════════════════════╗
║            多 Agent 启动前预检协议 v1.0                       ║
╠══════════════════════════════════════════════════════════════╣
║  任务名称:___________________  日期:___________________     ║
║  参与 Agent 数量:___________  预计总时长:_______________    ║
╠══════════════════════════════════════════════════════════════╣
║                                                              ║
║  一、任务边界定义(每个 Agent 必须独立填写,不允许合并)        ║
║                                                              ║
║  Agent-A 名称:________________                              ║
║  职责范围(涉及的模块/文件):__________________________       ║
║  明确不负责的内容:__________________________________         ║
║                                                              ║
║  Agent-B 名称:________________                              ║
║  职责范围:______________________________________________     ║
║  明确不负责的内容:__________________________________         ║
║                                                              ║
║  Agent-C 名称:________________(如有)                      ║
║  职责范围:______________________________________________     ║
║  明确不负责的内容:__________________________________         ║
║                                                              ║
║  边界重叠区域(如有):______________________________         ║
║  重叠区域处理方案:__________________________________         ║
║                                                              ║
╠══════════════════════════════════════════════════════════════╣
║                                                              ║
║  二、接口契约锁定(每对 Agent 间重复填写)                     ║
║                                                              ║
║  接口名称:______________________________________________     ║
║  提供方:Agent-___  消费方:Agent-___                        ║
║  函数签名:______________________________________________     ║
║  参数类型:______________________________________________     ║
║  返回类型:______________________________________________     ║
║  行为约定(成功/失败/边界条件):________________________      ║
║                                                              ║
║  (第二组接口:重复以上格式)                                  ║
║                                                              ║
╠══════════════════════════════════════════════════════════════╣
║                                                              ║
║  三、共享资源权限声明                                          ║
║                                                              ║
║  所有 Agent 只读(任何人不得修改):                           ║
║    □ __________________  □ __________________               ║
║    □ __________________  □ __________________               ║
║                                                              ║
║  排他修改权(仅指定 Agent 可写):                             ║
║    文件/目录:________________ → 仅 Agent-___ 可修改         ║
║    文件/目录:________________ → 仅 Agent-___ 可修改         ║
║                                                              ║
╠══════════════════════════════════════════════════════════════╣
║                                                              ║
║  四、合并规则                                                  ║
║                                                              ║
║  依赖顺序(基于任务依赖图确定,不按完成时间):                  ║
║    第一合并:Agent-___  (原因:___________________)          ║
║    第二合并:Agent-___  (原因:___________________)          ║
║    第三合并:Agent-___  (原因:___________________)          ║
║                                                              ║
║  每次合并后必须通过的测试集:                                  ║
║    □ 单元测试集:__________  □ 集成测试集:__________         ║
║                                                              ║
║  合并冲突责任人:_______  冲突升级处理人:________             ║
║                                                              ║
╠══════════════════════════════════════════════════════════════╣
║                                                              ║
║  五、中间检查点                                               ║
║                                                              ║
║  检查点一:时间 ________  检查内容:□进度 □接口一致性          ║
║  检查点二:时间 ________  检查内容:□进度 □共享资源完整性       ║
║                                                              ║
║  超时触发阈值:单 Agent 超过预估时长 ____% 自动触发人工检查     ║
║                                                              ║
╠══════════════════════════════════════════════════════════════╣
║                                                              ║
║  预检确认:                                                   ║
║  任务设计者:__________  确认日期:________                   ║
║  执行审查者:__________  确认日期:________                   ║
║                                                              ║
║  ⚠️ 此表未完整填写的多 Agent 任务,不得启动执行               ║
║                                                              ║
╚══════════════════════════════════════════════════════════════╝

6.3 多 Agent 任务的三种典型失败模式与复盘重点

text

失败模式一:接口漂移
  现象:各 Agent 独立测试通过,联调时接口对不上
  复盘重点:协议审计(增强步骤A)
  防御措施:启动前锁定接口契约 + 合并前自动接口一致性检查

失败模式二:共享资源污染
  现象:Agent-A 修改了 Agent-B 也在修改的配置文件
  复盘重点:检查启动时是否完成了共享资源权限声明
  防御措施:建立排他修改清单 + 添加文件锁机制

失败模式三:顺序合并错误
  现象:按完成时间合并,但先合并的 Agent 依赖后合并的 Agent
  复盘重点:检查合并顺序是否按依赖图而非时间顺序执行
  防御措施:每次任务启动前绘制依赖图,合并顺序严格按图执行


七、结尾:从复盘方法到工程文化

7.1 价值升华

真正拉开 Codex 使用者差距的,不是谁的提示词更精妙,不是谁用了更多 Agent,也不是谁第一个尝试了新功能。

是谁在每次任务结束之后,多做了那 30 分钟。

前者让你今天做得更好。

后者让你的团队永远比昨天更好。

把 Codex 当工具的团队,每天都在从零开始。

把 Codex 当工程师来管理的团队,正在用复盘建造飞轮。

半年之后,飞轮已经转起来的团队,和仍在从零开始的团队之间的差距,不是提示词水平的差距,而是一整套工程文化的差距。

而建造这个飞轮的代价,只是每次任务结束后,那 30 分钟的复盘。

7.2 行动号召

如果你的团队现在还没有任何 Codex 复盘机制,今天可以从最小的一步开始:

下一次 Codex 任务完成后,花 15 分钟回答这 3 个问题:

text

问题一:哪个环节我不得不人工介入?为什么?
         → 这指向了你最迫切需要改进的根因

问题二:如果重来,提示词会怎么改?
         → 把改进后的提示词存下来,这是你的第一个模板

问题三:这次的经验,能变成一条 AGENTS.md 规则吗?
         → 如果能,今天就写进去

这就是 L1 复盘。

从这里开始。

7.3 本文核心框架速查

text

┌──────────────────────────────────────────────────────────────┐
│                    本文核心框架总览                            │
├──────────────────────────────────────────────────────────────┤
│                                                              │
│  8 大失败根因(诊断工具)                                      │
│  ❶ 提示词工程缺陷(28%)  ❷ 上下文断层(15%)                  │
│  ❸ 任务拆解失当(12%)    ❹ 验证机制缺失(14%)                │
│  ❺ 多Agent协议缺失(11%) ❻ 人机协作节点错误(8%)             │
│  ❼ 环境配置问题(5%)     ❽ 预期管理偏差(7%)                 │
│                                                              │
├──────────────────────────────────────────────────────────────┤
│                                                              │
│  5 步复盘法(操作工具)                                        │
│  Step1 现场还原 → Step2 数据采集 → Step3 根因定位             │
│  → Step4 改进行动 → Step5 知识沉淀                            │
│  总计 30 分钟 / 每次任务                                       │
│                                                              │
├──────────────────────────────────────────────────────────────┤
│                                                              │
│  3 层知识萃取(积累工具)                                      │
│  案例层(记录)→ 规律层(洞察)→ 工具层(复用)                 │
│                                                              │
├──────────────────────────────────────────────────────────────┤
│                                                              │
│  L5 成熟度模型(演进地图)                                     │
│  L1 探索期 → L2 规范期 → L3 度量期 → L4 协同期 → L5 智能期   │
│                                                              │
├──────────────────────────────────────────────────────────────┤
│                                                              │
│  多 Agent 预检协议(专项工具)                                  │
│  边界定义 → 接口契约 → 资源权限 → 合并规则 → 检查点            │
│                                                              │
└──────────────────────────────────────────────────────────────┘

🚀


我们的方向是——AI + Obsidian 的结合。但请记住:Obsidian 的灵魂不是效率,是自由。不是自动化,是代理力。不是工具帮你想,而是你借工具想得更好。