上下文工程
上下文是 AI 编程的命脉,学会管理它是高效协作的关键
什么是上下文
上下文(Context)是 AI 在回答问题时能「看到」的所有信息,包括:
- 你之前的对话历史
- 你提供的代码、文件、截图
- System Prompt 中的指令
- 项目相关的背景信息
AI 只知道上下文中的内容。如果你没告诉它的信息,它就不知道。如果上下文中的信息是错误的或过时的,AI 的输出也会受影响。
Token 限制
每个 AI 模型都有上下文窗口大小限制(通常用 token 数表示)。 当对话太长时,早期的内容会被「遗忘」或截断。所以及时压缩上下文很重要。
何时压缩上下文
以下情况说明你需要压缩上下文了:
对话变长
超过 20-30 轮对话
AI 开始遗忘
提到过的事情它不记得了
响应变慢
处理时间明显变长
回答质量下降
输出变得不相关或重复
如何总结上下文
让 AI 帮你生成一个结构化的总结,包含关键信息:
上下文总结 Prompt
请帮我总结当前对话的关键信息,用于开启新对话时恢复上下文:
1. 项目目标:[一句话描述]
2. 当前进度:[完成了什么]
3. 技术栈:[使用的技术]
4. 代码结构:[主要文件和功能]
5. 待解决问题:[如果有]
6. 下一步计划:[接下来要做什么]
请用简洁的格式输出,控制在 500 字以内。最佳实践
把总结保存到一个文本文件中,下次开新对话时直接粘贴。也可以让 AI 直接把总结写入项目的 README 或 CONTEXT.md 文件。
模型/窗口交接
当你需要换一个 AI 模型,或者开一个新的对话窗口继续工作时,需要做好「交接」。
交接的关键是提供足够的上下文,让新的对话能无缝继续:
交接 Prompt 模板
我要继续一个之前的项目,以下是上下文:
## 项目信息
[粘贴之前的总结]
## 当前状态
- 最后完成的任务:[任务描述]
- 相关代码文件:[文件列表]
## 本次目标
我现在想 [具体任务]。
请先确认你理解了上下文,有问题可以问我,然后我们继续。交接清单
- 1项目目标和背景
- 2当前进度和已完成的功能
- 3技术栈和代码结构
- 4遇到的问题和已知限制
- 5本次要完成的具体任务