上下文工程:别再教 AI 说话,开始给它设计信息环境
任务跑到第 40 轮,你发现 agent 正在改一个它二十轮前已经改过的文件,还把你们刚删掉的旧接口调用又加了回来。
你没换模型。你没改提示词。你只是让它跑得久了一点。
这不是错觉,也不是模型今天状态不好。它是一个有名字、有机制、有对策的工程问题。过去两年,行业把大部分精力花在”怎么把话说清楚”上——提示词工程。但当 agent 开始连续跑几十轮工具调用、读上百个文件、跨越几个小时,决定成败的已经不是你那句话写得好不好,而是每一轮送进模型的那几万个 token 里,到底装了什么。
这就是上下文工程要管的事。
这份教程会给你什么
读完之后,你能做四件现在做不了的事:
- 诊断:看到 agent 开始犯蠢,你能说出具体是哪一类问题——是状态丢了、检索脏了、结论被埋了,还是上下文里两份规范在互相打架。
- 盘点:你能说清自己的上下文窗口里装了什么、谁占了大头、哪些是常驻成本、哪些是每轮累积。
- 动手:你会用四个动作——写、选、压、隔——对症下药,而不是一遇到问题就清空重开。
- 落地:你能为一个真实仓库产出一份可执行的上下文预算方案,并用一张量规自检。
全书围绕同一个项目展开:shopfront,一个多人维护的 Node + React 电商前台,约 1200 个文件。任务是把结算流程从内部 v1 API 迁到 v2 并补齐测试——一个典型的、会跨越几十轮和几个小时的长任务。四个动作在这个仓库里全都用得上。
需要什么前置
你会用终端和 git,用过至少一个 AI 编程 agent(Claude Code、Codex CLI、Cursor 都行),知道 token 和上下文窗口大概是什么意思。不假设你读过任何官方文档,也不假设你了解模型内部结构。
如果”上下文窗口”这个词你还没什么概念,可以先读主站那篇《什么是上下文窗口》,十分钟。
怎么读
第 1、2 章建立判断力:先弄明白为什么会变笨,再学会盘点。这两章不动手,但后面九章都建立在它们之上,不要跳。
第 3 章是全书的枢纽,给出一张症状-动作决策矩阵。第 4、5 章处理常驻成本(系统提示、工具定义),第 6 到 9 章逐个展开四个动作,每章一个可复用的产物。
第 10 章把所有东西装进一次三小时的真实任务,第 11 章是实战演练——你自己的仓库,你自己的方案。
本书涉及的工具字段名、命令名和默认阈值都会随版本变化。正文里凡是提到具体字段或数值的地方,都会提醒你去核对当前版本的官方文档。方法本身比字段名活得久。
章节目录
11 章 · 约 154 分钟- 01 越跑越笨不是错觉 任务越长质量越差不是错觉:把上下文窗口的直觉从储物间换成注意力预算。 11 min
- 02 给窗口做一次盘点 一次调用里躺着八样东西,用一张盘点表找出吃掉你预算的前两名。 14 min
- 03 写、选、压、隔 四个动作与一张症状-动作决策矩阵:别再一遇到问题就清空重开。 12 min
- 04 系统提示的海拔 CLAUDE.md 该写多细:用海拔三问把枚举分支的长条款改写成可迁移的短规矩。 12 min
- 05 工具就是上下文 工具定义是每轮都在付的常驻成本,重叠的工具会让模型选不出来。 11 min
- 06 写:把状态挪到窗口外 把跨轮次的状态挪到窗口外:一份能让 agent 自己维护的任务笔记模板。 12 min
- 07 选:需要时才取回来 不预先塞满,而是逐层收窄:目录、元数据、核心内容、附属细节。 11 min
- 08 压:compaction 的取舍 压实会丢什么:压之前先固化四类决定性事实,压之后做三问验证。 13 min
- 09 隔:子代理与它的代价 用子代理隔离调查工作,同时把 15 倍 token 这笔代价算清楚。 18 min
- 10 让任务跑过三小时 六个阶段、四个检查点,把四个动作组合成一条能撑住三小时的策略。 22 min
- 11 实战:给你的仓库配一份预算 实战:为你自己的仓库产出一份上下文预算方案,并用六维量规自检。 18 min
常见问题
需要先读过官方文档吗?
不需要。只假设你会用终端和 git、用过至少一个 AI 编程 agent,知道 token 和上下文窗口大概是什么。
和《Claude Code 上手指南》第 5 章什么关系?
那一章讲某个工具里上下文管理的具体命令,这一篇讲跨工具通用的方法:为什么要管、管什么、按什么顺序管。
只用 Cursor 或 Codex,这套东西适用吗?
适用。四个动作是模型侧的规律,不绑定工具。涉及具体字段名和命令的地方都注明了要按你当前版本的官方文档核对。
可以跳着读吗?
第 1、2、3 章建议按顺序读透,后面九章都建立在它们之上。第 6 到 9 章按四个动作分开,可按需取用。
教程里的数字可以直接用吗?
不建议。成本比值、token 倍数、触发阈值都来自特定系统在特定时间点的测量,用来理解量级可以,当常数用不行,你自己的仓库该测一遍。