现在很多人聊 AI 编程,还是很喜欢把重点放在提示词上。

怎么问更准确,怎么写更完整,怎么让它一步到位。这个方向当然不算错,但如果你真把 AI 编程用到项目里一段时间,就会发现真正拉开差距的,根本不是某一句提示词写得多漂亮,而是你有没有把足够对的项目上下文交给它。
这件事比很多人想得重要得多。
因为 AI 写代码最怕的,不是“不会写”,而是“在错误的理解上写得很自信”。
你只给它一个局部函数,它可能会很快给你补出一段看起来像样的实现。但你不给它目录结构、不给它现有约束、不给它命名习惯、不给它测试方式,它最后写出来的东西,大概率只是“这段代码本身能跑”,不是“这段代码能顺利进入你的项目”。
很多人用 AI 编程用不顺,问题就卡在这里。
他们以为自己是在让 AI 帮忙写代码,实际上更像是在做一段段脱离上下文的代码生成。这样当然也有用,尤其在写小脚本、搭 demo、验证思路的时候,很省时间。
但一旦进入真实项目,这种用法很快就会碰壁。
为什么?因为项目不是一堆孤立函数拼起来的。它有自己的结构,有自己的暗规则,有自己的技术债,也有自己的边界。你不给上下文,AI 只能按“最常见的写法”去猜。它猜得再像,也不一定是你这个项目真正要的那种像。
所以我现在看 AI 编程工具,重点已经不太放在“补全快不快”了。我更在意的是三件事:
第一,它能不能吃进足够多的项目上下文。
第二,它吃进去之后,会不会真的按项目的方式来写,而不是按通用教程的方式来写。
第三,它能不能在后续几轮对话里持续保持这份理解,而不是每次又从零开始。
这也是为什么很多人用了一圈之后,最后还是会回到像 Claude Code、Cursor 这类更强调项目上下文的工具上。因为真正让人省时间的,从来不是它一次性补出多少行,而是它能不能少让你反复解释“我们项目不是这么写的”。
当然,这里也有一个边界。
上下文不是越多越好。很多人一听到“上下文重要”,就恨不得把整个仓库都塞进去。这样也不行。因为上下文一旦失控,AI 反而会变钝,注意力会散,输出质量也会开始飘。
真正有效的做法是:给它足够的、相关的、干净的上下文。
比如:
- 当前文件在整个模块里的位置
- 相关接口和类型定义
- 已有实现风格
- 测试方式
- 这次改动的目标和限制
这些东西给到位,提示词本身反而不用写得很花。
我甚至越来越觉得,AI 编程这件事最后拼的不是“谁更会写提示词”,而是谁更会喂上下文,谁更知道该把哪些东西交给模型,哪些东西必须自己守住。
提示词当然重要,但它更像最后那层表达。
真正决定结果上限的,还是上下文。
你上下文给对了,AI 经常会比你想的稳。
你上下文给错了,它也会比你想的危险。因为它不是不会写,而是会在你没说明白的地方替你猜。
而项目里最贵的错误,往往就出在这些“它替你猜”的地方。

评论列表 (13条):
加载更多评论 Loading...