问题所在:AI 看不见自己的 bug
构建和审计是互不相容的两种心理状态。当 AI 在构建时,它是乐观的:只想象唯一一条顺利的路径,一门心思「让它跑起来」。在这种模式下,它对自己的错误是盲目的。审计需要的恰恰相反:悲观,去想象一切可能出错的方式。
如果你让 AI 同时构建又检查,两件事都会做不好:构建做一半,审计也做一半。解决办法不是一个更聪明的提示词——而是把两个阶段拆到不同的回合里。
协议的 3 个阶段
C — 构建。 AI 带着创造力去构建:研究竞品的标准,做干净的架构,一边推进一边自测。做完后,它停下来给你交一份报告(做了什么、做了哪些决定、有什么没做以及为什么)。此时还不审计。
A — 审计(真正的 debug 就在这里)。 在一个全新的回合里(头脑清醒、悲观),AI 重读自己的全部成果并做 debug:抓真正的 bug(内存泄漏、竞态条件、安全漏洞、无障碍缺陷),尤其是修补构建者模式留下的缺口、空洞和不一致。它不只是「找错误」:它把一切打磨到位,做到传奇级。每一处发现都要用一条回归测试来固定住修复——没有测试,修复就不算完成。
R — 反思。 AI 写下这次审计的经验教训:在构建者模式下漏掉了什么,以及为什么。这份文档随着每一轮循环不断成长,成为项目的制度化记忆——下一次它就不会再犯同样的错。
完整的循环 · 它到底如何真正闭环(不只是 C-A-R)
在实践中,C-A-R 不止步于「反思」:它靠给你的整个生态系统喂料来闭环,好让知识不流失、下一轮循环起点更高。这才是真正的循环,就是每一次好的开发之后所应用的样子——它把你在整个系列里看到的一切串在一起:
- 构建 → AI 创建并给你交报告。
- 冒烟测试 → 你跑那些钉住成果的测试;全绿了才继续。
- 审计 / debug → 全新回合:抓 bug,修补缺口、空洞和不一致,打磨到传奇级(每处修复都配一条测试)。
- 反思 → AI 写下经验教训(漏掉了什么以及为什么)。
- 推送到 GitHub → 把好的节点存到云端(你的安全网)。
- 更新知识图谱 → 如果你用 Graphify,就重建图谱让它反映新内容。
- 把协议存进记忆 → 把它留在你的
CLAUDE.md里,让 AI 永远不忘。
如何一步步应用
- 让你的 AI 构建这个功能,并要求它做完后给你一份报告(先别审计)
- 读报告并批准
- 在一条新消息里写「开始审计」
- AI 用审计者的眼光重读一切,并为每个 bug 配上测试来修复
- 它把审计连同已修复的发现清单交给你
- AI 保存经验教训以免重蹈覆辙
主提示词(复制粘贴即可)
把这段粘到你项目的开头(放进你 AI 的指令文件里:CLAUDE.md、.cursorrules、你在 NeuralOS 里的 agent 指令,或者干脆放到对话开头)。从此,你的 AI 就会默认应用 C-A-R。
从现在起,对所有非琐碎的工作(新功能、重构、跨文件改动)应用「构建-审计-反思」(C-A-R)协议。只有在一行的琐碎修复,或我明确要求时,才跳过它。 === 阶段 1 · 构建 === 带着创造力去构建。写代码之前先研究竞品的标准。做边界清晰的架构。一边推进一边自测。 完成后,停下来给我一份报告: - 创建/修改的文件和关键决定 - 你在标准之上加了哪些改进 - 测试结果(type-check、build、tests) - 有什么没做以及为什么(范围边界) 然后等待。这个回合里不要审计。不要把审计和构建混在一起。 === 阶段 2 · 审计(独立回合 · 需要我批准)=== 等我说「开始审计」。然后: 1. 用审计者的头脑(清醒、悲观)重读每个文件 2. 分类记录发现: - 关键项:真正的 bug(内存泄漏、竞态条件、安全漏洞、无障碍缺陷、语义错误、数据损坏) - 改进项:健壮性、性能、UX 打磨 3. 为每个发现配一条回归测试来固定住修复——没有测试,修复就不算完成 4. 跑激进的边界用例测试:unicode、边界值、事件刷屏、并发操作、取消路径 5. 四重验证:type-check + build + 现有 tests + 新 tests,全绿了才收尾 === 阶段 3 · 反思(随审计一起)=== 写一份经验教训文档:每个发现连同它的根因(我在构建者模式下漏掉了什么?)、元教训,以及为下一次构建更新的检查清单。这份文档随每一轮循环成长,是项目的记忆。 规则: - 永远不要在构建的同一回合里审计。 - 永远不要在没对新代码跑过一次真正审计的情况下声称「没有 bug」。 - 永远不要跳过审计修复的回归测试。 - 根因,绝不打补丁。如果一个值到达时是空的,就找出为什么;不要用一个默认值把它盖过去。
根据你已有的东西,组装出属于你的协议
上面的提示词是基础。但当你把这个系列里的工具加进来,协议会变得更强。用与你的配置相匹配的提示词——从简到全。核心思路:让你的 AI 用你拥有的一切来闭环。
=== 循环收尾 · GITHUB === 在审计全绿之后(type-check + build + 冒烟测试全部通过),在把工作视为完成之前: 1. 如果我们还没跑冒烟测试,提醒我去跑。 2. 做一次 commit,写一条清晰描述我们成果的信息。 3. push 到 GitHub,把好的节点存到云端。 绝不在没把进度备份好的情况下收尾一个循环。
=== 审计的深层上下文 === 审计之前,查询项目的知识图谱(Graphify)或 RAG,理解我改动的东西如何与其余部分连接。审计时要理解对**整个系统**的影响,而不只是我改的那个文件。问自己:还有哪些部分依赖它?可能级联地弄坏了什么? === 循环收尾 · 全栈 === 当审计全绿时,按这个顺序把整个循环闭上: 1. 冒烟测试 → 全绿。 2. commit + push 到 GitHub(存好节点)。 3. 重建 / 更新知识图谱(Graphify)让它反映新改动,这样下一次审计就有新鲜的上下文。 4. 把审计的经验教训存进项目的记忆文档。 5. 确保 C-A-R 协议仍写在 CLAUDE.md 里,以免忘记。 这个循环在每个 sprint 或每一段重要的开发之后应用。
应用它需要哪些资源?
- 一个代码构建 AI:Claude Code、OpenAI Codex、Cursor,或 NeuralOS(它已经内置了 agents 和应用锻造炉)
- 一个用来粘贴主提示词的指令文件(
CLAUDE.md、.cursorrules,或 agent 的指令) - 等待的纪律:批准构建,然后在另一条消息里请求审计
- 可选但推荐:一个项目的知识图谱,好让审计有完整的上下文(见下方 Graphify 的资源)
把审计带到下一个层次
如果你的 AI 理解整个项目是如何连接的,而不只是它改的那个文件,那审计阶段会强大得多。这正是 Graphify 存在的意义:它把你的仓库变成一个知识图谱,AI 在审计前会去查询它。
面向 AI 助手(Claude Code、Codex、OpenCode)的多模态知识图谱构建器。把你整个仓库变成一个交互式图谱,解释代码做了什么、以及为什么这样设计。
Graphify · 为你的 AI 打造知识图谱(完整指南)学会给你的 AI 一张项目的完整地图,好让它审计得更好。