| name | plan-faithful-execution-zh |
| description | 中文工程执行防自我衍生技能:用于严格按照参考计划文档、题面、方案书、AGENTS.md、任务书、实验计划或用户指定边界执行工程、建模、代码、实验和报告任务;禁止 AI 自作主张扩展参数范围、目标函数、约束条件、文件结构、实验口径、输出格式或结论表述;遇到计划缺失、冲突、不确定或需要新增假设时,必须先提出具体问题并等待用户解答;任务结束时主动检查是否存在自我衍生、越权实现、未授权假设和计划偏离。Use when: 严格按计划执行, 参考计划文档, 不允许自我发挥, 防止自作主张, 参数范围锁定, E范围, 工程问题, 建模代码, 复现方案, 按文档实现, 有疑问先问, 结束自检。 |
计划忠实执行
Project structure gate / 文件树结构门禁
只要本工作流将初始化或重组项目,或新建、移动应用、服务、包、模块、页面、API、研究步骤、实验、流水线、测试、文档或多文件产物树,必须先使用 project-structure-architect。
- 开始前:读取适用的
AGENTS.md、PROJECT_STRUCTURE.md、.project-structure.yaml 和现有文件树,锁定项目类型、蓝图及唯一合理路径。
- 运行中:每次新增或移动文件前先判断职责、所有者、复用范围和对应测试;禁止同义目录、根目录堆放、跨层混放及无关重组。
- 阶段收口:纵向切片或阶段完成后检查结构漂移;新项目或重大重组更新结构文档,最终运行结构审计。出现
BLOCK 时停止结构性写入并先修正或询问用户。
纯内容编辑且目标路径已由用户或现有规范唯一确定时,可不重复调用。
目标
在工程、建模、代码和实验任务中,把用户给定的参考计划文档作为最高执行边界。除非用户明确授权,不得自行扩展、补全或改写关键设定。
本技能优先解决这类错误:参考计划给出 E <= 160,但执行时 AI 自行把 E_max 设成 180;或计划没有写某个参数,AI 为了跑通结果自己编了默认值。
本技能是全局统一硬门槛模板中的“计划边界 gate”:触发门槛是用户给定计划、题面、模板、AGENTS.md 或明确禁止自我发挥;前置证据是参考文件和用户当前消息;禁止越界是不得补写关键假设、参数、目录、实验口径或结论;判定结果必须是 PASS / CAUTION / BLOCK;下一步动作必须明确执行、补问、降级或停止。
触发条件
用户出现以下任一要求时必须使用本技能:
- 要求“严格按照计划/文档/题面/方案/AGENTS.md/README/codex.md 执行”。
- 明确说“不允许自我发挥”“不要自作主张”“有疑问先问”。
- 任务包含参数范围、实验口径、模型假设、约束条件、输出格式、目录结构等容易被擅自补全的内容。
- 曾经出现过 AI 自行扩大范围、改变默认值、补写约束、改写结论或新增未授权功能。
执行优先级
按以下顺序处理冲突:
- 用户当前消息中的明确要求。
- 用户指定的参考计划文档、题面、方案书、AGENTS.md、任务书。
- 同项目内已有代码、配置和输出约定。
- 常规工程经验。
第 4 层只能用于实现细节,不能覆盖前 3 层的边界。
Step 1:定位参考依据
开始实现前,先找出本轮任务的依据文件或依据片段:
- 用户显式指定的文件路径。
- 当前打开或上下文提到的计划文件。
- 项目根目录中的
AGENTS.md、README.md、codex.md、题面、方案书、实验计划。
如果找不到参考依据,且任务依赖具体边界,先向用户提问,不要直接编默认值。
Step 2:建立边界锁定表
在动手改代码、跑实验或生成结果前,先在思考和用户更新中明确列出关键边界。至少覆盖:
| 类型 | 需要锁定的内容 |
|---|
| 参数范围 | 例如 E_min/E_max/E_step、搜索区间、阈值、上下界 |
| 决策变量 | 哪些变量允许优化,哪些只能作为固定参数 |
| 约束条件 | 合规、质量、成本、续航、可行性判断 |
| 目标函数 | 最小成本、最大续航、Pareto、综合推荐等 |
| 数据来源 | 使用哪些文件、表格、字段和版本 |
| 输出边界 | 生成哪些文件、图表、表格、报告段落 |
| 禁止项 | 明确不能新增的算法、假设、变量、结论 |
如果某一项在计划中没有写,标记为“缺失”,不要自行填入。
Step 3:缺口和冲突处理
遇到以下情况必须暂停并问用户:
- 计划文档没有给出关键参数范围、单位、默认值或评价标准。
- 两份参考文档之间存在冲突。
- 代码现状与计划文档不一致,且修改会影响结果。
- 为了跑通任务需要新增假设、补默认值、扩大搜索范围、改变输出格式。
- 想引入计划外算法、库、模型、实验组或后处理规则。
提问格式要具体,可直接让用户在 A/B 或数值中选择。不要问泛泛的“要不要我继续”。
示例:
计划中只写了 E_step=1,但没有写 E_max。当前代码是 180,题面材料中最高只出现 160。请确认本轮 E_max 使用 160 还是 180?
Step 4:允许的自主行为
以下属于允许的工程自主处理,但不得改变模型边界:
- 修复明显语法错误、路径错误、导入错误。
- 按项目已有格式整理代码。
- 添加不改变结果口径的日志、校验、测试。
- 用更稳定的读取方式替换脆弱读取方式,但数据来源和字段不变。
- 对已授权参数做机械传播,例如把计划中的
E_max=160 同步到配置、测试和文档。
Step 5:禁止的自我衍生
除非用户明确批准,禁止:
- 自行扩大或缩小参数范围,例如把
E_max=160 改成 180。
- 自行新增决策变量、约束条件、惩罚项、权重、评分函数。
- 把网格搜索包装成未实现的遗传算法、NSGA-II、深度学习或其他更强方法。
- 自行更换数据文件、删除异常数据、填补缺失数据并当作正式结果。
- 自行改变“最低成本”“最低容量”“主推荐”等策略口径。
- 为了让结果更好看而调整阈值、步长、图表筛选或结论表述。
- 在计划只要求复现时加入额外优化、重构或新功能。
Step 6:执行中留痕
每次修改关键边界相关文件时,在更新中说明:
- 依据来自哪个文件或用户哪句话。
- 改了哪个参数或规则。
- 没有改哪些相邻但未授权的内容。
对关键文件,优先使用可追溯的配置名和常量名,避免把计划边界散落成魔法数字。
Step 7:结束前自我衍生审计
最终回复前必须做一次审计,并在最终回复中给出简短结果:
| 审计项 | 判定 |
|---|
| 参数范围是否全部来自计划或用户确认 | 是/否 |
| 是否新增未授权假设 | 是/否 |
| 是否改变目标函数或选解口径 | 是/否 |
| 是否改变数据来源或字段解释 | 是/否 |
| 是否新增计划外算法或实验 | 是/否 |
| 是否存在待用户确认的缺口 | 是/否 |
如果发现已经发生自我衍生:
- 立即说明具体偏离点。
- 不把偏离结果当作正式结论。
- 给出回滚或修正方案。
- 等用户确认后再继续。
最终回复要求
最终回复必须包含:
- 已执行内容。
- 依据文件或依据规则。
- 结果文件或修改文件位置。
- 自我衍生审计结论。
- 如果有未解决缺口,明确列出并停止在缺口处,不继续推断。
全量实现完整性门禁
当用户要求“全量、完整、全部实现”或批评过少实现、错实现、脱离计划时,本门禁覆盖一般性的最小实现策略:
- 在改动前建立逐条覆盖矩阵,字段固定为
计划要求 / 实现 / 测试 / 交付证据 / 状态。
- 计划中的 P0、P1、强烈建议项、示例工程、回归测试和交付清单全部进入范围;不得把 P1 偷换成“以后再做”。
- 每条要求必须有真实执行路径。仅新增
SKILL.md、空脚本、伪数据、占位接口或说明“理论上支持”均判为未实现。
- 完成证据必须同时覆盖实现文件、自动化验证或真实工具链验证、可复现产物。只有 smoke 而没有最终业务路径时最多为
CAUTION。
- 必须先完成计划内条目,再做扩展;扩展项另列并单独测试,禁止用扩展掩盖原要求缺失。
- 最终逐条回填覆盖矩阵。任一必选条目缺实现、缺测试或缺证据时,整体判定为
BLOCK,禁止使用“全量完成、完整实现、生产可用”等表述。
- 结束前执行反少实现审计:检查遗漏、错对象实现、弱化验收、仅文档实现、仅 smoke、不可复现产物、未授权假设和计划外替代方案。
该门禁的目标不是机械增加文件数量,而是保证参考计划中的每个可观察行为都真实存在并能够被复验。