用 Cursor、Kiro 这些 AI IDE 的人越来越多了,但很多人用着用着就觉得"不好使"——生成的代码不对、不理解我的项目、答非所问。

大部分情况不是 AI 不行,是你喂给它的上下文不对

AI 的上下文窗口(Context Window)是有限的。Claude 是 200K token,GPT-4 是 128K。听起来很大?一个中型前端项目 src 目录随便就有几万行代码,全塞进去根本不现实。

所以关键问题是:在有限的窗口里,放什么信息进去?

我踩过的坑:

❌ 错误做法:把整个文件夹丢给 AI
“@src/view/member 帮我在这个目录下加一个新页面”
→ AI 读了一堆无关文件,上下文被垃圾信息占满,生成质量反而下降

✅ 正确做法:精确喂养

  1. 给它一个同类页面当范例(“参考这个文件的结构”)
  2. 给它相关的类型定义(接口的 Request/Response 类型)
  3. 给它项目规范(命名规则、目录规则)
  4. 告诉它不需要知道的东西(“不用管路由配置,我自己加”)

一个实用技巧:写"负面约束"比写"正面要求"更有效。

比起说"请用 TypeScript 写,用 antd 组件,用 dayjs 处理日期",不如说:

  • “不要用 any 类型”
  • “不要用 moment”
  • “不要用 class 组件”
  • “不要在组件内直接调接口,走 service 层”

为什么?因为 AI 在没有约束时会"发散",给它边界反而能让它在正确的范围内生成。

更高级的做法:把这些约束固化成配置文件

我在项目里维护了一份 steering 文件(类似 .cursorrules),里面写清楚了技术栈、目录结构、编码规范。

AI IDE上下文管理策略对比

AI IDE上下文管理

错误做法

正确做法

高级做法

整个文件夹丢给AI

上下文被垃圾信息占满

生成质量下降

精确喂养策略

提供同类页面范例

提供相关类型定义

提供项目规范

明确排除范围

约束固化为配置文件

steering文件/.cursorrules

自动加载项目规范

每次对话有效上下文

项目规范
约2K token

参考文件
1-2个约3K token

需求描述
约500 token

总计: 6K token
信息密度极高

AI IDE 每次对话自动加载,不需要我手动 @ 任何东西。

这样每次对话的有效上下文就是:

AI IDE上下文组成

自动加载项目规范
固定开销 2K token

有效上下文
总计: 6K token

手动指定参考文件
1-2个 3K token

具体需求描述
约500 token

信息密度极高

比全文件夹效果好10倍

  • 自动加载的项目规范(固定开销,约 2K token)
  • 我手动指定的参考文件(1-2 个,约 3K token)
  • 我的具体需求描述(约 500 token)

总共不到 6K token,但信息密度极高。比你把整个 src 丢进去效果好 10 倍。


💬 你们用 AI IDE 时有没有总结出什么"喂上下文"的技巧?

Logo

一站式 AI 云服务平台

更多推荐