写代码越来越快,项目却越来越乱:我终于找到了解药
你有没有过这样的经历:让AI帮你写代码,一开始感觉特别爽,代码哗哗地出来。但做着做着,发现项目开始变味了——规范对不上了,风格不一致了,甚至前后代码开始打架了。
我有过。而且持续了很长时间。
作为一个天天和代码打交道的人,我曾经特别困惑:AI明明很强,为什么一到真实项目就“掉链子”?是我的用法有问题,还是这东西本来就不适合工程场景?
那些让人崩溃的瞬间
说起来都是泪。
我的项目是TypeScript+函数式优先,接口DTO早就定好了,目录结构也经过好几轮迭代。可每次让AI帮忙写新功能,它就像第一次来我项目的陌生人,完全无视已有的规范。
函数式?不存在的。稳定接口?自己造。更要命的是,对话一长,AI开始忘记前面确认过的方案。你跟它说“这里用泛型”,过几轮它又给你写成了any。
我试过各种办法:更详细的Prompt、反复强调规则、甚至把规范贴满对话。但没用。AI就像金鱼,真的记不住。
一个意外的发现
转机出现在一次偶然的尝试。
我没有继续在Prompt上下功夫,而是试着做了一个很小的改变:在项目根目录创建了一个GEMINI.md文件,把项目的技术栈、规范、约定、验收条件全部写进去。
然后我发现,AI进入项目后,自动加载了这些规则。
我不再需要反复说“记住这个”“注意那个”。项目本身的规则成了AI的默认设置。
那一刻我才明白,问题从来不在于AI不够聪明,而在于我们把上下文放错了地方——它不应该在对话里,而应该在项目里。
对话变长也不怕了
你可能会问:临时性的信息怎么办?比如数据库端口换了,鉴权方式临时调整了,这些不可能写进项目规范里。
我的做法是,用memory命令显式存储这些临时信息。
每次遇到关键变量,直接执行memoryadd。查看的时候,就像看一个项目状态板,清清楚楚。
还有一个让对话保持清醒的技巧:compress命令。当对话变长、开始发散的时候,让AI把历史压缩成一个摘要,保留决策,丢掉噪音。对话重新变得可以推进。
让AI真正“进入”项目
上面说的都是规则层面,但真实开发还需要更多。
我学会了三件事。
第一,不再给AI复制代码片段,而是直接引用真实文件。AI看到的是完整的项目结构,理解自然更准确。
第二,允许AI执行命令。不是“我觉得这段代码对”,而是“跑一下看看能不能过”。真实验证比主观判断可靠得多。
第三,接入MCP工具链,让AI直接读取ChromeDevTools的一手数据。性能问题、网络请求、控制台日志,AI可以基于真实信息判断,不再需要我转述。
用过对比才明白的事
我必须承认,2025年我用过的AI工具不止一个。
Codex5.2确实很强,代码质量和逻辑严谨性都很出色,在某些复杂算法场景甚至比Gemini表现更好。
但我在真实项目中感受到了一个关键差异:Codex的记忆能力很弱。会话之间难以继承项目认知,每次都要重新建立上下文。
这让我重新思考了一个问题:AI写代码的能力固然重要,但能否记住项目、能否持续协作,才是决定它能不能真正提升效率的关键。
我的2025年总结
这一年最大的收获,不是学会了什么高级Prompt技巧,而是思维方式发生了根本转变。
我开始花更多时间明确规则、设计验收标准、把“正确性”变成可执行的约束。
AI依然写得很快,但现在它不会失控了。
借用一个流行的说法:这大概就是真正的VibeCoding——不是放飞自我,而是在建立信任的前提下让AI真正成为帮手。
如果你也在为AI“不听话”而烦恼,不妨试试把上下文交给项目本身。也许,这就是你需要的解药。
