怎么喂上下文才不会让AI变钝?
TOPIC SOURCE
AI 编程真正拉开差距的,不是提示词,而是你有没有项目上下文
说起给AI喂上下文这件事,我踩过的坑真的太多了。
最开始用AI编程的时候,我特别实在——生怕它不知道我的项目啥样,恨不得把整个仓库都丢给它。目录结构、每一行代码、所有的历史记录,恨不能来一句“自己看”。结果呢?它确实看了,但输出质量反而开始飘,有时候甚至会写出一些风马牛不相及的东西。
我当时还挺困惑的,心想这不对啊,我给你这么多信息,你怎么反而变笨了?
后来才慢慢搞清楚,AI和人一样,注意力是有限的。你一次性塞太多无关信息,它的“注意力”就会分散,就跟考试时老师给你发了十张试卷让你同时做一样——哪张都做不好。
所以啊,上下文这件事,真不是越多越好。
那到底该怎么喂?我的经验是三步走。
第一步,先给“位置信息”。AI写代码最怕不知道自己在哪。你得告诉它,当前这个文件在项目里扮演什么角色,依赖哪些模块,上层调用是谁,下游又是谁。这就像给人指路,你得先说清楚他在哪个城市、哪条街、哪栋楼,他才知道怎么走。
第二步,给“风格约束”。每个项目都有自己的脾气。有的喜欢用函数式,有的全是面向对象;有的命名用下划线,有的用驼峰。你不告诉它这些,它就按最通用的套路写,写出来的东西在你们项目里看着特别扎眼,像个外来物种。
第三步,给“边界说明”。这次要解决什么问题,有什么限制不能用,什么坑已经有人踩过了。这些信息比代码本身还重要,因为AI最擅长的就是在你不说的地方替你做主,而它替你猜的那部分,往往是最容易出错的。
说白了,喂上下文这件事跟养宠物差不多——不是给得越多越好,而是要给对的、给够的、给及时的。
你要是实在拿不准,宁可少给一点,多问几轮,也别一次性喂撑了。它吃饱了工作效率才高,吃撑了反而会犯困。
参与讨论
这AI喂多了真跟人吃撑了一样,懂了😂
能不能出个模板?比如“当前角色+依赖模块+禁用项”这种套话?
之前搞过这个,确实折腾了好久,给太多它反而懵
为啥非要一次性全塞啊?分步不行吗?
那个啥,我试过只给文件路径,结果它连函数名都猜错
现在才知道,原来AI也会注意力分散…🤔
不是信息多就好,关键得精准,跟打针似的,药到病灶才行
我上次让AI改个接口,扔了八百行日志,它给我重写了数据库配置…太离谱了
喂上下文还得讲方法论,光堆料没用
位置信息这块我踩过坑,不说明白它真敢把controller写成util
风格约束太重要了,我们项目全是下划线,它偏来个camelCase,一眼假
这比喻挺形象,养AI像养猫,喂多了还上吐下泻666
要是只给核心文件但不说边界,它会不会自己脑补逻辑?
我们组新人直接把git history贴进去了,我以为要debug宇宙起源
感觉还行
你说的第三步特别对,坑已经踩过这事必须提前说,不然它又给你发明轮子