90% 的人用 AI IDE 第一步就错了:上下文喂不对,代码全是废
·
“Cursor 不好用”、“AI 生成的代码全是错的”、“还不如自己写”——
每次听到这种评价,我都想问一句:你喂给它什么上下文了?
大部分情况不是 AI 不行,是你给的信息不对。就像你跟一个新来的实习生说"帮我写个页面",不告诉他任何项目信息,他写出来的东西能用才怪。
我踩过的 3 个坑
坑 1:把整个文件夹丢给 AI
我:@src/view/marketing 帮我在这个目录下加一个新页面
结果:AI 读了 30 个文件,上下文被无关信息占满,生成质量反而下降。
坑 2:什么上下文都不给
我:帮我写一个活动配置的三步表单
结果:AI 用了它自己的"默认风格",跟项目代码风格完全不搭。
坑 3:给太多文字描述
我:请用 TypeScript,用 antd,用 ProForm,用 dayjs,用 Rematch,
用 axios,用箭头函数,用 less modules,文件放在 src/view/marketing/ 下……
200 字的要求,AI 反而抓不住重点。
正确的做法:3 层上下文策略
下面是三层上下文策略的流程图,展示了信息如何分层加载和组合:
┌─────────────────────────────────────────┐
│ 第一层:自动加载(配置文件,每次自动生效) │
│ ┌─────────────────────────────────────┐ │
│ │ 技术栈 + 目录结构 + 禁止事项 │ │
│ │ ~1500 token,一次配置永久生效 │ │
│ └─────────────────────────────────────┘ │
│ │
│ 第二层:手动指定(范例文件,1-2 个) │
│ ┌─────────────────────────────────────┐ │
│ │ @CouponCreate/index.tsx │ │
│ │ AI 自动学习:结构/导入/hooks/样式 │ │
│ │ ~3000 token │ │
│ └─────────────────────────────────────┘ │
│ │
│ 第三层:需求描述(只写业务差异) │
│ ┌─────────────────────────────────────┐ │
│ │ "三步表单,字段是xxx,接口是xxx" │ │
│ │ ~500 token │ │
│ └─────────────────────────────────────┘ │
└─────────────────────────────────────────┘
总计:~5000 token,信息密度极高
一个反直觉的技巧:写"不要做什么"比"要做什么"有效
AI 见过太多种写法,你说"用 TypeScript"它知道,但它不知道你项目里哪些写法是被禁止的。
## 禁止事项(比正面要求有效 3 倍)
- 不要用 any 类型
- 不要用 moment
- 不要用 class 组件
- 不要在组件内直接写 axios.get
- 不要用 index.tsx 作为业务组件文件名
- 不要在一个文件里导出多个组件
给 AI 边界,它反而能在正确的范围内生成。
效果对比
方式 Token消耗 生成质量 需要手动修改
───────────── ───────── ──────── ──────────
丢整个文件夹 50K+ 低 60%+
什么都不给 1K 很低 80%+
3 层策略 5-8K 高 10-20%
信息密度比信息量重要。5K token 的精准上下文,比 50K token 的噪音信息效果好 10 倍。
可直接抄走的 Prompt 结构
## 每次生成代码时的标准 Prompt 结构
参考 @[范例文件路径] 的结构和写法,
帮我写一个 [功能描述]。
业务需求:
- [需求点 1]
- [需求点 2]
- [需求点 3]
接口信息:
- 接口地址:[URL]
- 入参类型见 @[类型文件路径]
不需要处理的部分:
- [路由配置我自己加]
- [权限控制不用管]
这个结构配合自动加载的配置文件,每次对话的有效信息密度极高。
一句话总结:不要让 AI 在 50K token 的噪音里找答案,给它 5K token 的精准信息就够了。
💬 你用 AI IDE 时,最常遇到的"生成不对"的情况是什么?评论区说说,我帮你分析是不是上下文的问题。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)