Skip to content

十二、上下文工程(Context Engineering)⭐ 比提示工程更大的命题

管好"进入模型视野的全部内容"(指令+历史+资料+工具结果+记忆),而不只是写好一句话。接第一课"Context 就是一切"。

从提示工程到上下文工程

  • 提示工程 = 优化"你给的那段指令"
  • 上下文工程 = 优化"进入有限窗口的全部内容" → 应用长大(RAG/Agent/长对话)后,重点从"这句话怎么写"变成"窗口里该放什么"。

核心矛盾:窗口有限,想进来的太多

想挤进窗口的:System Prompt + 对话历史 + RAG资料 + 工具结果 + 记忆 + 当前问题
→ 装不下 / 太贵 / 相互干扰 → 必须当"守门人"决定优先给谁

核心技术

  1. 取舍:只放当前任务相关的,无关坚决剔除。
  2. 压缩/摘要:长对话历史 → 总结成几句再放(省窗口省钱)。
  3. 检索(RAG):知识库别全塞,只取最相关几块。RAG 本质就是上下文工程。
  4. 记忆管理:短期=当前上下文;长期=用户偏好/历史结论存外部(文件/DB),用时取回(Claude的MEMORY.md、龙虾记忆文件就是这个)。
  5. 排序:模型对开头/结尾更敏感,中间易忽略 → 重要信息放两头。

⭐ Agent 是最大战场

ReAct 每轮工具结果拼回 context,跑20轮就撑爆窗口 → 必须及时压缩/丢弃旧工具结果,关键结论存记忆。长程 Agent 会崩,一大半是上下文管不好。

常见"病"

说明
迷失在中间重要信息埋在长上下文中间被忽略
上下文污染塞太多无关/过时/矛盾内容带偏模型
窗口溢出超上限,老信息被挤掉
成本失控context 越长每次调用越贵

核心教训:context 不是塞越多越好,而是少而精、放对的。塞垃圾进去,输出就是垃圾。

"如何给模型对的输入"四层次

第1课 Context就是一切(为什么) → 第3课 RAG(取知识) 
→ 第10课 提示工程(写好指令) → 第12课 上下文工程(管好整个窗口,最高统筹)

© 曹宇春 · 个人学习整理,欢迎交流