一个"初始化协议",让 AI 再也不乱改代码、不瞎猜配置、不擅自 commit。


你大概遇到过这些事

接手一个项目,打开 Claude Code 或 Codex,想让它帮忙写点代码。然后:

  • 自作主张改了你的配置文件,甚至升级了依赖版本
  • 脑补了一个目录结构,和你想要的完全不同
  • 直接执行 git add . && git commit,提交了一堆你还没审阅的改动
  • 你问一句"帮我看下这个 bug",它顺手改了 3 个不相关的文件

结果呢?花在回滚、解释、重来上的时间,比自己写代码还多。

原因很简单:你还没跟 AI 立规矩,它就开工了。
就像招了个新员工,没给员工手册、没讲工作流程,直接丢给他一个任务——“去干活吧”。


解决方案:一句 Prompt 完成"入职培训"

踩了很多次坑之后,我把"对 AI 说的第一句话"固化成了一个模板。
不管项目是新是旧,打开 AI 编程工具,第一句话就发这个:

请读取 http://nbtang.cn/dev/INIT.md,并严格按照其中规范初始化当前项目。
如果无法访问该 URL,必须立即停止并说明原因,不要凭空猜测。

暂时不要修改任何业务代码、配置文件、依赖文件或构建产物。
只允许在当前项目根目录建立或完善以下文档:
INIT.md、DEV.md、README.md、TODO.md、AGENTS.md、CLAUDE.md。

除非我明确要求"提交代码""commit"等,否则不得主动执行 git commit。
可以执行 git status、git diff、git log 等只读检查;
如认为需要提交,请先说明原因并等待我确认。

初始化完成后,请说明:
- 新增或修改了哪些文档;
- 每个文档的主要内容;
- 哪些信息仍需人工确认。

这段 prompt 在做什么? 拆开来看:

指令 作用
读取远程规范 URL 规范集中管理,跨项目复用,一处更新处处生效
无法访问 → 立即停止 杜绝 AI 在拿不到规范时"自己编一个"
白名单:只允许改这 6 个文档 比"不要改其他文件"有效得多
禁止主动 commit 守住最后一道防线
完成后汇报 让你一眼看清 AI 做了什么、还有什么要你拍板

这 6 个文档分别干什么

文档 角色 一句话说明
INIT.md 启动协议 AI 初始化阶段的行为边界:不能猜、不能改业务代码
DEV.md 开发规范 日常协作流程:问题 → TODO → 最小修改 → 自检 → review → 关闭
README.md 项目说明书 给人看的:项目是什么、怎么跑、目录怎么组织
TODO.md 任务面板 当前在做什么、卡在哪里、哪些决策还没定
AGENTS.md Codex 入口 只写一句:“请阅读 INIT.md / DEV.md / README.md / TODO.md”
CLAUDE.md Claude Code 入口 同上,不复制任何环境配置或命令

关键设计:薄入口。
很多模板让 CLAUDE.md 里写死环境变量、测试命令、部署流程。一旦项目演进,这些信息过时了,AI 还在用旧的。

薄入口的做法是:入口文件只引用,不复制。真正的规范存在人类维护的主文档里,入口文件永远不需要改。

上图:两个薄入口文件不承载任何业务信息,只做"指针"。真正的规范在右侧四个源文档中,改一处,所有 AI 工具同时生效。


实际跑一遍是什么效果

以空项目为例,把上面的 prompt 发给 AI 后:

  1. AI 读取远程规范 URL,理解初始化协议
  2. 发现项目是空的 → 只创建那 6 个文档,不碰任何代码或配置
  3. 在所有不确定的地方标注 **待确认**(技术栈、目录结构、第一个迭代的功能……)
  4. 输出一份清晰的报告:
    • ✅ 新增了哪些文档
    • 📝 每个文档的核心内容
    • ⚠️ 仍需要你人工确认的信息清单

接下来你只需要做一件事:告诉 AI 你的决策。

“技术栈用 Go + Gin,前端用 React,目录结构按标准脚手架。”

AI 会把你的决策更新到 README.mdDEV.md然后才真正开始写代码

此后,DEV.md 会在每一次对话中约束 AI:

每个任务前先记入 TODO.md → 只读检查当前状态 → 最小范围修改 → 自检 → 测试 → 关闭任务

你不会再看到:AI 突然改了一堆不相关文件、偷偷 commit、或者凭空捏造依赖版本。

上图:DEV.md 约束下的日常开发闭环。每一步都可追溯,AI 不会跳步,也不会夹带无关改动。


这套方法的本质

它满足一个微型方法论的三个要素:

  • 系统性:有明确目标(避免 AI 失控)、原则(白名单约束)、步骤(5 步完成初始化)
  • 可重复:任何项目、任何语言、新项目或项目,第一句话照搬即可
  • 可传授:把这篇博客转发给同事,他们也能马上用起来

四个核心设计模式:

  1. 外部规范 URL
    把规范放在可访问的链接里,而不是写在 prompt 中。方便版本控制、跨项目复用。

  2. 白名单约束
    "只允许修改这些文档"远比"不要修改其他文件"有效。AI 对正向指令的执行力远好于负向约束。

  3. 强制人工确认
    所有不确定信息用 **待确认** 标记,并在 TODO.md 中集中列出。永远不会漏掉一个决策。

  4. 单一事实源
    薄入口文件只引用,不复制。规范只存在一个地方,改了立刻对所有 AI 工具生效。


真实踩坑后的注意事项

1. 确保 AI 能访问规范 URL

如果内网环境或 URL 失效,AI 必须停止并告诉你原因,而不是自己编一个规范。
建议:把 INIT.md 放到项目仓库里(如 docs/INIT.md),然后把 prompt 中的 URL 改成相对路径。

2. 对已有大量代码的项目同样适用

AI 会先读取现有的 README、CONTRIBUTING 等文档,然后只补全缺失的那几个文档,不会擅自改你的业务代码。

3. 不要跳过"待确认"直接让 AI 开工

如果你发现 TODO.md 里还有未确认的技术栈、目录结构,不要说"开始写代码"。先把这些信息补全——否则 AI 还是会猜,猜了就会错。

4. 定期同步文档

项目演进(换数据库、改部署流程)时,记得手动更新 README.mdDEV.md。AI 每次对话前会重新读取这些文档,自动适应新规范。维护文档的成本,远低于每次跟 AI 解释的成本。


结语

你肯定不会让一个新同事第一天就随便改生产代码、随便提交 git。
Claude Code 和 Codex 能力再强,也需要一份员工手册

上面的 6 个文档 + 一段 prompt,就是这份手册。
第一次花 5 分钟跑通这个流程,后面能省下无数回滚和解释的时间。

模板地址:👉 http://nbtang.cn/dev/INIT.md
可以直接用它,也可以 fork 一份改成你自己的规范。

现在,轮到你了:下次接手项目,把那段 prompt 直接发给 AI。
观察它是不是变得更守规矩、更透明、更可控


如果觉得有用,欢迎 点赞、转发、评论、关注

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐