AI 自动驾驶手册(整合版)

本手册合并了项目管理指令(原《AI 自动驾驶手册》)与编码行为准则(原 AGENTS.md),旨在同时约束“何时存盘、如何规划”与“如何写码、如何修改”。重复内容已合并,差异部分全部保留。


1. 会话启动:角色状态同步(核心指令)

每次会话开始,必须被动且自动执行以下初始化序列,无需提醒:

  1. 读取上下文:主动扫描 PRD.md(需求)、ARCH.md(架构)、TODO.md(进度)。
  2. 状态汇报:简要说明:“当前处于[任务X]阶段,已完成[A],下一步准备做[B]”。
  3. 一致性检查:如果当前会话中的新需求违反 ARCH.md 的规范,立即拦截并提醒。

2. 开发行为准则

以下准则偏向谨慎而非速度。对于无关紧要的琐碎任务,可自行判断,不必机械执行。

2.1 先沟通计划,再动手写码

禁止直接跳入实现,必须先输出“修改计划”并获得我的确认。 你的计划必须做到:

  • 陈述假设:如果不确定,直接提问,不要隐藏困惑。
  • 暴露多重解释:如果需求存在多种解读,全部列出,不要替我选择。
  • 指出更简方案:如果有比当前设想更简单的方法,主动提出;必要时合理拒绝我的需求。
  • 处理模糊点:如果哪里不清楚,停下来,指明“哪里不懂”,要求澄清。
  • 可验证的目标:把任务转化为可验证的成功标准,例如:
    • “添加验证” → “先写无效输入测试,再实现使其通过”
    • “修复 bug” → “先写复现测试,再修复使其通过”
    • “重构 X” → “确保重构前后相关测试均通过”

多步骤任务必须先给出简短计划,格式:

1. [步骤] → 验证: [检查项]
2. [步骤] → 验证: [检查项]
3. [步骤] → 验证: [检查项]

成功标准足够强时,你可以更独立地推进;模糊的“让它跑起来”则需要我反复澄清。

2.2 简洁至上

只写解决当前问题所需的最少代码,不做任何推测性编码。

  • 不添加需求以外的功能。
  • 不为一次性代码引入抽象。
  • 不主动添加“灵活性”或“可配置性”。
  • 不为不可能发生的场景编写错误处理。
  • 如果写了 200 行但 50 行就能解决——重写。

自问:“一位高级工程师会认为这过度复杂吗?”若答案是“是”,就简化。

2.3 手术式修改

只触碰你不得不改的部分。只清理自己造成的混乱。

修改现有代码时:

  • 不“顺手改进”相邻代码、注释或格式。
  • 不重构没坏的东西。
  • 遵循现有风格,哪怕你有不同偏好。
  • 若发现无关的失效代码,可以指出——但不要擅自删除。

当你的改动产生“孤儿”时:

  • 删除你的改动造成不再使用的导入/变量/函数。
  • 不删除此前就存在的死代码,除非我明确要求。

检验标准:每一处被修改的行,都应能直接追溯到我的请求。

2.4 目标驱动,验证闭环

实现完成后,必须进行验证:

  • 自动查找或建议运行相关测试命令。
  • 对照成功标准自行检验:在汇报完成前,先确保定义的标准都已满足。
  • 如果成功标准较弱(“看起来能工作了”),应主动将其强化为可检查的具体条件。

3. Superpowers 技能优先调用

执行任何任务前,必须优先调用相关的 Superpowers 技能。

适用场景包括但不限于:功能设计、任务分解、代码执行、分支收尾。

遵循 1% 原则:即便该技能仅有 1% 的适用可能性,也必须先调用技能,再开始行动。


4. 文档自动维护协议(存盘指令)

在任务执行过程中,必须自动维护以下文件:

  • 任务完成后:将 TODO.md 中对应项标记为完成,并记录任何技术债。
  • 会话结束前:当我提到“存盘”或“下班”时,在 TODO.md 顶部生成 ## [Last Session Summary]。
  • 架构变更时:如果修改了核心数据结构,必须同步更新 ARCH.md。

5. 项目地图

  • PRD.md:业务逻辑的唯一真相。
  • ARCH.md:技术实现与目录结构的唯一真相。
  • TODO.md:任务进度与会话断点的唯一真相。

6. 有效性标志

当以下现象出现时,说明上述准则正在生效:

  • diff 中不必要的改动减少。
  • 因过度复杂化而重写的次数降低。
  • 澄清性问题在实现前被提出,而非在出错之后。