Goal 证据化执行
将执行视为受控搜索和持续交付。每轮必须增加信息或交付物;运行命令、消耗时间和反复失败本身不算进展。
执行不变量
- 以 Goal 合同为准。 不静默扩大范围,也不降低验收标准后宣布成功。
- 一次循环只解决一个 micro-goal。 默认只改变一个主要变量。
- 先获得信息,再做高成本实验。 高成本实验必须有 E2 级证据,或取得用户明确豁免。
- 同类失败必须去重。 同一错误签名在无新增证据时最多重跑一次。
- 证据必须落盘。 终端、聊天上下文和
/tmp不能作为唯一记录。 - 边做边交付。 每个可解释里程碑形成代码状态、测试、文档或可复现记录。
- 阻塞必须显式升级。 不知道、做不到、物理不可行或需要权限时,进入
BLOCKED/ESCALATE,不得以随机尝试伪装推进。 - 结论与证据绑定。 所有“已解决”“可行”“不可行”“预计完成”都引用具体记录。
启动协议
读取 Goal、仓库规则、已有交接、Git 状态和相关过程记录。
验证 Goal 状态为
READY,且明确绑定$goal-execution。若缺少可证明验收、预算、关键权限或停止条件,暂停写入性执行并使用
$goal-definition补全;可继续不越权的只读调查。读取 过程与汇报模板,初始化或续写:
goal_process/<goal-id>/建立基线:仓库/提交、工作区改动、环境版本、硬件、启动命令、最小成功或失败现象。
将验收项、交付物、未知量、假设和预算登记到过程文件。
若预计或实际执行超过 20 分钟,加载
$rmb-cost-report,在工作目录创建或更新RMB-Cost.md;缺少最新价格、汇率或 token 明细时标记为estimate,不得编造。
现有过程目录属于任务证据,不得覆盖或清空。继续任务时从最新 CURRENT_STATUS.md 和运行记录恢复,不依赖记忆重建历史。
状态机
按以下状态推进:
INIT -> BASELINE -> RECON -> HYPOTHESIS -> PROBE
-> EXPERIMENT -> VERIFY -> INTEGRATE -> DONE
任一状态可进入:
BLOCKED | ESCALATE | ROLLBACK
- RECON:阅读代码、文档、配置和调用链,将未知量变为事实。
- HYPOTHESIS:列出可证伪解释、依据、替代原因和最低成本判别方法。
- PROBE:运行最小复现或增加维测,只获取区分假设所需的信息。
- EXPERIMENT:在门禁通过后进行受控实验。
- VERIFY:用独立检查验证结果,不以“命令退出 0”代替业务验收。
- INTEGRATE:整理代码、测试、中文设计/运行文档和仓库交付。
状态不是按顺序打卡。新证据推翻假设时返回 RECON/HYPOTHESIS;不要继续沿错误路径堆叠实验。
单轮有界循环
每次调度只完成一个控制周期:
- 读取状态:当前阶段、剩余验收项、预算、最高优先级未知量和最新错误签名。
- 声明 micro-goal:写清本轮只要确认或交付什么。
- 选择动作类型:
READ、PROBE、EXPERIMENT或INTEGRATE。 - 预注册判据:记录假设、现有证据等级、预期观察、区分条件、成本、风险和回滚。
- 执行一个主要动作:默认只改变一个主要变量;保存脱敏命令、配置、日志、指标和代码差异。
- 解释结果:区分事实与推断,更新假设置信度和替代解释。
- 更新账本:验收项、交付物、时间、费用、错误签名和下一步。
- 形成交付:达到可解释里程碑时,按 Goal 授权提交、推送或创建 PR;未获外部写权限时保留 commit-ready 状态并报告所缺授权。
- 主动结束本轮:用一段摘要说明信息增量、预算变化、下一 micro-goal 和是否需要决策。
以下至少一项成立才算有效进展:
- 完成一个验收项或交付物;
- 将一个未知量变成有来源的事实;
- 有证据地改变一个假设的等级;
- 将故障缩小到具体阶段、函数、rank、tensor 或依赖;
- 排除一个候选原因;
- 形成可复现脚本、维测、测试、提交、文档或决策包。
若本轮没有信息增量,不得原样开始下一轮;必须改变观测方法、降低实验粒度或升级。
证据与实验门禁
使用统一等级:
- E0(0–30%):猜测或弱类比,只允许
READ和低成本观测。 - E1(40–60%):有代码、文档、配置或稳定错误栈,允许最小
PROBE。 - E2(70–80%):有最小复现、受控探针或单变量实验,允许高成本
EXPERIMENT。 - E3(90%+):重复验证,主要替代解释已排除,可进入集成和结论固化。
百分比不得脱离等级和证据主观填写。高成本实验开始前必须记录:
- 要验证的假设和现有证据;
- 为什么本实验能区分候选原因;
- 唯一主要变量;
- 预期结果、成功/失败判据;
- 时间、算力、费用和重试预算;
- 超时、停止和回滚方法。
无法达到 E2 时,优先阅读代码、构建最小复现或增加维测,不用更多全量运行替代认知。
失败去重
错误签名由以下字段组成:
错误类型 + 首个稳定堆栈位置 + 执行阶段 + 关键错误码
处理规则:
- 第一次出现时完整归档上下文、命令、配置和日志。
- 无新增证据时只允许重现一次,以确认稳定性。
- 再次执行前必须增加观测、形成最小复现或进行能区分假设的单变量变化。
- 两个循环仍未增加信息时,停止该路径,返回代码调查或进入
ESCALATE。 - 禁止仅换随机种子、微调无关参数、重复安装或重复完整运行来刷新错误。
专项诊断
遇到以下问题时,必须读取 专项诊断协议:
- 软件版本、依赖或驱动兼容性;
- OOM、显存/内存不足或分布式资源问题;
- 隐蔽、复杂、日志不足或跨 rank 故障;
- 需要通过
TSJDEBUG增量维测收集证据。
版本问题先建立兼容性矩阵再切换;OOM 先定位阶段和内存组成再减配;隐藏故障每轮只增加一小步可控维测。
预算与汇报
在 CURRENT_STATUS.md 中持续维护:
- 红/黄/绿状态和当前阶段;
- 已完成验收项、已有交付和仓库 SHA;
- 当前唯一主阻塞及关键证据;
- 已解决问题及对应记录;
- 时间投入:环境、调研、实现、实验、文档/交付、资源等待;
- 已用/剩余的时间、算力、费用、重试和版本预算;
- 下一 micro-goal、预期信息增量和停止条件;
- 条件化 ETA、置信证据和最晚决策点;
- 需要用户或领导做出的一个明确决策。
到达每个里程碑、预算剩余 50%/25%、状态转黄/红或用户约定的汇报时间时生成快照。不要给无条件的单点 ETA,使用:
若 H1 成立:剩余 X–Y,证据等级 E2。
若 H1 不成立且需改后端:剩余 A–B,证据等级 E1。
最晚在 <时间/预算点> 决定扩资源、改范围或停止。
交付纪律
按 Goal 明确的授权和目标位置交付。工程类 Goal 通常至少维护:
- 可复现代码、配置和启动脚本;
- 测试、关键日志、指标和环境/兼容性记录;
- 工作分支、提交 SHA、推送或 PR 状态;
- 中文软件设计文档、运行手册和已知限制;
- 实验与决策记录;
- 未完成时的阻塞证据、候选路径、资源需求和交接说明。
用户要求“代码上仓”时,只有远端分支/提交或约定的 PR 可作为完成证据,本地改动不算。不得在等待最终成功时推迟文档和仓库整理。
结束判定
仅在以下条件全部成立时进入 DONE:
- 每个验收项都有可定位、可复核的证据;
- 每个必需交付物存在于约定位置;
- 关键路径已按 Goal 约定验证;
- 代码、文档、日志和运行方法一致;
- 已记录限制、剩余风险和复现条件;
- 已完成约定的提交、推送、PR 和汇报;
- 没有通过静默缩小范围获得“成功”。
若截止时间到达但未满足 DONE,立即生成交接与决策包,不再进行未经批准的碰运气实验。清楚说明:完成了什么、未完成什么、卡在哪里、证据是什么、时间花在哪里、是否可解、条件化 ETA、已有交付、所需决策。