第一次写文给大家分享自己的经验,如果各种更好的建议请各位提出。你可以直接把这篇帖子扔给 Codex 或 Claude,让它们自己学学里面的套路。不过记住:可以让 AI 帮你做计划,但具体的落地操作和拍板权,必须死死捏在你自己手里。
我现在越来越觉得,Vibecoding(沉浸式 AI 编程)最让人头疼的,压根不是让 AI 写代码。
真正难的是:
怎么让 AI 在一个长线项目里不失忆、不跑题、不把过期的废稿当成新任务,更别因为“太积极”而越权瞎搞。
我以前也天真地以为,只要模型的上下文窗口够大,这些都不是事儿。后来发现根本不是这么回事。
上下文再长,项目一复杂,AI 照样懵圈。
旧文档、新任务、历史测试、临时方案、外部建议……这些东西全搅和在一起之后,AI 很容易把“曾经出现过的东西”当成“现在应该继续干的活”。
所以我现在的路子变了:不再指望 AI 自己死记硬背,而是给它外包一套“记忆系统”。
这套玩法不挑模型,Codex 能用,Claude 也行。
说白了,就是让 AI 每次开工前,都必须先强制对齐项目的规矩、任务的边界和当前的状况。
一、规则文件:先给 AI 发一本“项目基本法”
我做长项目,第一步绝对是先搞份规则文件。
名字随便起,比如:
让 AI 每次进项目,先搞懂这个世界的运行法则。
不然每次新开一个对话框,你都得像复读机一样从头解释。你嫌烦,AI 也容易听偏。
二、新项目开荒:先让 AI 自己写规则
如果是刚开坑的新项目,我绝对不会一上来就让 AI 写代码。
我会先让它帮我起草一份项目规则文件(比如 AGENTS.md 或 CLAUDE.md)。名字不重要,关键是得先把项目的边界给框死。
我一般会让 AI 按这个骨架来起草:
# AI Project Rules
## 1. Project Goal
这项目到底要解决啥问题。
## 2. Current Main Line
当前主线是什么,什么活儿优先级最高。
## 3. Non-Goals
现在明确【不干什么】,防着 AI 自己给自己加戏。
## 4. Priority Order
听话顺序:当前我的指令 > 项目规则 > 当前小批次任务 > 本地代码和测试 > 历史文件和外部建议。
## 5. Editable Areas
哪些目录和文件可以随便改。
## 6. Forbidden Areas
哪些文件、配置、密钥、生产数据、备份,绝对不能读、不能改、不能打印。
## 7. Batch Rule
一次只干一层的活,别把改代码、改测试、跑线上、发版全混在一起。
## 8. Test And Verification
改完之后必须跑哪些检查。
## 9. Release Gate
什么情况下才能发布,什么情况下必须停下来问我。
## 10. Handoff Format
每轮干完活,交接条(closure)应该怎么写。
这一步,别指望 AI 一次性写完美。它的任务只是出个草案,最后必须由你来修改和拍板。
因为这不仅是 AI 的作品,更是你给 AI 立的规矩。你可以这么给 AI 下指令:
“请根据当前项目情况,帮我起草一份 AGENTS.md。要求:先写目标,再写主线和非目标;明确哪些文件不能碰;排好任务优先级;定好小批次执行规则和发布门禁。注意:只输出草案,不要执行任何实际改动。”
有了这份“基本法”,后面的 Harness(门禁)和 RAG(检索)才算有了主心骨。不然门禁不知道按什么标准拦人,检索也不知道该过滤什么垃圾信息。
三、项目地图:告诉 AI 东西都放哪了
规则文件解决的是“该不该干”,项目地图解决的是“去哪找东西”。
我会单独弄一份地图,记清楚:
让 AI 少走弯路,多走正门。
四、Harness:干活前先过安检
我现在特别看重 Harness。
你可以把它当成**“开工前的安检门”或者“安全带”**。每次 AI 准备动手前,都得先过一遍脑子:
拿不准能不能干的,就先别干。
Vibecoding 不是让 AI 撒欢儿野跑,而是让它在画好的道道里跑得更快。
五、RAG:不是喂得越多越好,而是只喂该吃的
很多人一听 RAG(检索增强生成),就想着“把所有资料一股脑全塞进去”。
但我现在觉得,RAG 最牛逼的地方根本不是“捞得多”,而是**“过滤得准”**。
项目做久了,肯定会攒下一堆破烂:
RAG = 资料精准投放 + 垃圾信息过滤。
这次干活需要啥,就给它看啥;不该看的,半个字也别放进上下文里。资料绝对不是越多越好,不受控的资料越多,AI 跑偏得越快。
六、小步快跑:一次只开一个盲盒
我现在几乎不会对 AI 说:“你帮我把这事儿全搞定。”
长任务必须得拆,一口吃不成胖子。常见的拆法是:
L0:只读审计(只看不改)
L1:小范围修改
L2:针对性测试
L3:全量测试
L4:预发布或线上验证
L5:发布决策
每一批活儿都得交代得明明白白:
每次只打开一个盒子,出了问题立马就能按住。
七、决策报告:别让历史包袱带偏节奏
长项目里一定会堆积大量历史材料。有的还能用,有的早过期了,有的只是当初随便试了试。
所以我会让 AI 写决策报告,把这些破烂分个类:
keep:留着
rewrite:稍微改改
defer:以后再说
discard:直接扔掉
blocked:现在不能动
这一步真不是强迫症,纯粹是为了防跑题。
AI 的脑回路很直,它很容易觉得:“以前出现过的东西 = 现在还得接着干”。
但真实项目根本不是这样。很多东西只是迭代留下的残骸,如果不把它们筛掉,AI 就会一直被历史包袱拖着走。
八、Closure:给下一次对话留个交接条
每一批活儿干完,我会让 AI 写一份 Closure(交接条)。
不用搞得花里胡哨,把事儿说清楚就行:
## Changed Files
改了啥文件
## Checks Run
跑了啥检查
## Skipped Gates
啥没跑,为啥没跑
## Self-Audit
有没有越界的风险
## Remaining Risks
还有啥坑没填上
## Next Allowed Step
下一步只准干嘛
这玩意儿最大的价值是“跨会话连戏”。
换个窗口、换个上下文,甚至换个模型,只要把最近的交接条扔进去,它立马就能接上茬。这可比让 AI 自己去翻几百页的聊天记录靠谱太多了。
九、测试:看看 AI 有没有把规矩当耳旁风
规则文件是告诉 AI 应该怎么做,而测试就是用来抓它有没有偷懒或越界的。
有些红线,最好直接写成测试代码:
当 AI 开始放飞自我的时候,至少有东西能把它硬拽回来。
十、我现在最顺手的完整流程
我现在比较习惯这么个节奏:
新项目开荒
↓
先起草 AGENTS.md / CLAUDE.md
↓
【我】亲自修改并拍板规则
↓
建好项目地图
↓
Harness 按规矩判断任务边界
↓
RAG 按规矩筛选当前需要的资料
↓
AI 写小批次计划
↓
【我】确认计划
↓
AI 在画好的圈子里干活
↓
跑测试
↓
写交接条 (Closure)
↓
进入下一批
这里面最核心的逻辑就是:
AI 可以出谋划策,也可以下地干活,但方向盘必须死死握在人手里。
上不上线、扔不扔代码、扩不扩大范围、碰不碰高危区……这些事,绝对轮不到 AI 来做主。
AI 只管给建议,人来拍板做决定。
十一、这不是管得太死,而是为了跑得更稳
肯定有人会觉得:搞这么多规则、门禁、测试、交接条,会不会把 AI 给管死了?
我的实际体验恰恰相反。
没这些规矩的时候,AI 看着挺自由,但你得天天跟在它屁股后面收拾烂摊子。有了这些规矩,AI 反而能稳稳当当地跑上很久。
因为它心里有数了:
人定方向,AI 跑执行。
人做决策,AI 做推演。
人画好圈子,AI 在圈子里踩油门。
十二、最后总结一下
我现在理解的“AI 长效记忆”,根本不是让模型去死记硬背几万字的聊天记录。
而是把记忆拆解开,外包给系统:
基本法 (AGENTS.md) = 长期记忆
项目地图 = 空间记忆
Harness = 开工前的安检记忆
RAG = 资料的精准投放记忆
小批次计划 = 当前的任务记忆
决策报告 = 历史的筛选记忆
Closure = 换班的交接记忆
测试 = 规矩的校验记忆
把这套架子搭好,不管你用 Codex 还是 Claude,都不用再靠无限拉长聊天窗口来“续命”了。
每次重新开工,模型都能先读规矩、看地图、过安检、拿资料,然后再利索地干活。这也是我目前折腾下来,最适合长线项目的 AI 编程工作流。
附言
平时我也会顺手用 Mimo 这类国产长文本大模型帮我查漏补缺,挑挑刺,看看计划有没有毛病、AI 有没有越权瞎搞。
多找几个模型交叉“找茬”确实挺香的,但不管怎么折腾,最后的落脚点还是得回到咱们自己定的规则文件、项目地图、门禁和测试上。千万别让 AI 替你拍板做最终决定。
就像智能汽车自动驾驶再好,但是方向盘一定要紧紧握在自己的手里!