开场白#
“你有没有遇到过这种尴尬——聊了半天,AI 突然忘了你前面说过的话?这不是 AI 偷懒,是它的’记忆’用完了。今天聊聊上下文,以及怎么让 AI 记住真正重要的东西。”
第一部分:什么是上下文?(What)#
一个比喻#
想象你和朋友坐在一张咖啡桌旁聊天:
| 场景 | 对应 AI |
|---|---|
| 你们说的所有话 | 上下文(Context) |
| 桌子的大小 | 上下文窗口(Context Window) |
| 桌上放不下了,撤掉最早的杯子 | AI “忘记"前面的内容 |
| 你拿笔记本记下关键信息 | CLAUDE.md(md是一种便签语言文档) |
上下文 = AI 当前能"看到"的全部内容#
包括你发的消息、AI 的回复、引用的文件、系统提示词。
上下文窗口有多大?#
主流模型大约 128K-200K tokens,约 10-15 万字。听起来很大,但代码比普通文字更"吃"上下文——一个 500 行的代码文件可能就要 3000-5000 tokens。
第二部分:为什么要保护上下文?(Why)#
原因一:记忆会丢失#
上下文满了之后,AI 自动丢弃最早的内容。聊了 50 轮,第 1 轮说的技术栈信息早就被挤掉了。
原因二:浪费钱#
API 按 token 收费。冗余的粘贴、冗长的对话,都是在白花钱。精简对话可以省下 10 倍 token。
原因三:回答质量下降#
上下文里噪音越多,AI 注意力越分散。塞满无关内容时,AI 容易跑题、遗漏要点。
一句话总结:保护上下文 = 防遗忘 + 省钱 + 提质量。
第三部分:如何保护上下文?(How)#
方法一:用 CLAUDE.md 存放长期记忆#
执行项目初始化命名, 会在项目根目录创建 CLAUDE.md,AI 每次启动都会自动读取:
/init比如:
# 项目说明
## 技术栈
- 前端:React + TypeScript
- 后端:Node.js
## 代码规范
- 变量命名:camelCase
- 不要修改 config/ 目录不用每次重复说"我用的是 React”,写一次就够了。
方法二:让 AI 自己读文件,不要粘贴#
# 不要这样
"这是我的 config.js:(粘贴 200 行代码)"
# 应该这样
"读一下 src/config.js,帮我检查数据库配置"文件内容按需加载,不污染对话历史。
方法三:精简提问#
| 不好的做法 | 好的做法 |
|---|---|
| 粘贴 500 行代码让 AI “看看” | 告诉 AI 文件路径,让它自己读 |
| 复制整篇报错日志 | 只贴关键错误行 |
| “帮我优化一下这个项目” | “优化 utils/format.js 的日期格式化函数” |
方法四:用 /compact 压缩对话#
对话超过 20 轮,或感觉 AI 开始遗忘时:
/compactAI 会总结当前对话,释放上下文空间。
方法五:新任务开新对话#
修 bug A、修 bug B、开发猫咪相册——每个任务单独开对话。新对话 = 全新上下文,没有旧信息的干扰。
结尾#
“总结一下:
What — 上下文是 AI 的’工作记忆’,有大小限制,满了会丢弃最早的内容。
Why — 保护上下文 = 防 AI 失忆 + 省 token 费用 + 提升回答质量。
How — 五个方法:写 CLAUDE.md、让 AI 自己读文件、精简提问、用 /compact 压缩、新任务开新对话。
恭喜你,完成了全部课程!记住:AI 很强,但你怎么用它,决定了它有多强。”






