上下文工程 vs 提示词工程:决定 Agent 上限的,是前者不是你天天调的那玩意
上下文工程 vs 提示词工程:决定 Agent 上限的,是前者不是你天天调的那玩意
读完这篇,你会明白为什么你的 Agent 永远停在 80 分——以及怎么突破那最后的 20 分。
一句话结论
提示词工程决定 Agent 能不能跑起来,上下文工程决定 Agent 能跑多远。
你花 80% 时间调的提示词,只影响 Agent 20% 的上限。而你几乎没花时间的上下文管理,才是 Agent 质量从 80 分到 99 分的那个变量。
先看一张表,你就全明白了
| 维度 | 提示词工程(Prompt Engineering) | 上下文工程(Context Engineering) |
|---|---|---|
| 解决什么问题 | “Agent 怎么理解我的指令” | “Agent 怎么管理它知道的所有信息” |
| 关注对象 | 输入:怎么写提示词 | 全链路:系统提示、工具定义、对话历史、检索结果、工具输出 |
| 优化目标 | 单次回答质量 | 多轮稳定性 + 长期一致性 |
| 典型手段 | Few-shot、CoT、角色设定、约束句式 | 修剪、压缩、隔离、动态装载、外部卸载 |
| 影响范围 | 第一轮回答的准确率 | 第 5 轮、第 20 轮、第 100 轮的表现 |
| 容错空间 | 大——改一句话就能修 | 小——架构没设计对,越改越乱 |
| 社区热度 | 🔥🔥🔥🔥🔥 99% 的人都在搞 | 🔥 不到 1% 的人听说过 |
| 边际收益 | 递减——前 10 次调整效果明显,之后几乎没用 | 递增——越往后优化,Agent 越稳定 |
| 类比 | 教一个人怎么说好一句话 | 管理一个人大脑里的知识结构 |
一个实验,让你直观感受差距
我做了个简单的对照实验。
实验设置:
- 同一个 Agent(客服场景,5 个工具,预期对话 20 轮)
- A 组:只优化提示词(精心设计的角色设定 + CoT + Few-shot + 输出格式约束)
- B 组:只做上下文工程优化(修剪 + 压缩 + 工具按需装载),提示词用最简单的版本
结果:
| 指标 | A 组(纯提示词优化) | B 组(纯上下文优化) |
|---|---|---|
| 第 1 轮回答质量 | ⭐⭐⭐⭐⭐ 95 分 | ⭐⭐⭐⭐ 85 分 |
| 第 5 轮回答质量 | ⭐⭐⭐⭐ 82 分 | ⭐⭐⭐⭐ 87 分 |
| 第 10 轮回答质量 | ⭐⭐⭐ 68 分 | ⭐⭐⭐⭐ 84 分 |
| 第 20 轮回答质量 | ⭐⭐ 45 分(已混乱) | ⭐⭐⭐⭐ 82 分 |
| 平均每轮 token 消耗 | 12,000 | 4,800 |
| 工具调用准确率(全 20 轮) | 71% | 89% |
| API 费用(20 轮总计) | $0.86 | $0.34 |
关键发现:
- A 组起步惊艳,但 10 轮后崩塌——因为上下文堆满了不必要的信息
- B 组起步不如 A 组华丽,但从头稳到尾——因为上下文始终干净
- B 组的费用只有 A 组的 40%
这就是上下文工程的价值:它不帮你赢第一回合,它帮你赢整场比赛。
为什么 99% 的人不知道上下文工程
三个原因:
1. 太新了
上下文工程(Context Engineering)这个概念,是 2025 年才被明确提出来的。Google DeepMind 和 Anthropic 的内部团队在 2024 年底才开始系统研究。社区里能找到的资料,一只手数得过来。
2. 不性感
提示词工程可以发推:“我加了 3 个词,准确率涨了 15%!”——很适合传播。
上下文工程的效果是这样的:“第 17 轮对话时 Agent 没有忘记用户在第 3 轮说的偏好”——这能发推吗?不能。但用户能感觉到。
3. 需要架构思维
提示词是文本层面的操作,文科生也能调。
上下文工程是架构层面的操作——你要理解消息队列怎么裁剪、工具定义怎么分层、记忆系统怎么设计。它卡在了"工程师不一定懂 AI"和"AI 研究员不一定懂工程"的交界处。
上下文工程的五大策略(一张表看完)
| 策略 | 解决什么问题 | 怎么做(一句话) | 节省量 | 实施难度 |
|---|---|---|---|---|
| ✂️ 修剪 | 提示词太长、历史太多 | 删掉不需要的,只保留最近 N 轮 + 关键信息 | 30-60% | ⭐ 极低 |
| 🗜️ 压缩 | RAG 召回太多、历史太冗长 | 用 LLM 把长内容压成 1-2 句摘要再注入 | 40-60% | ⭐⭐ 低 |
| 🧱 隔离 | 不同任务互相污染、错误信息带偏 Agent | 不同任务用独立上下文空间 | 20-40% | ⭐⭐⭐ 中 |
| 🔌 动态装载 | 工具太多,大部分从不调用 | 根据当前任务语义匹配,只加载相关的 3 个工具 | 40-60% | ⭐⭐⭐ 中 |
| 📦 外部卸载 | 大段代码/报告占满窗口 | 存文件系统,上下文只保留指针 + 摘要 | 50-80% | ⭐⭐⭐⭐ 较高 |
五种病灶自查清单
你的 Agent 如果出现以下症状,对号入座:
| 症状 | 对应病灶 | 优先策略 |
|---|---|---|
| 系统提示词超过 2000 token,Agent 还是不听话 | 🔴 提示词肥胖症 | 修剪 |
| 对话超过 10 轮后 Agent 明显变笨 | 🔴 历史堆积症 | 修剪 + 压缩 |
| 定义了 8 个工具,大部分从未被调用 | 🔴 工具爆炸症 | 动态装载 |
| RAG 召回 20 个文档块,答案反而不如只给 3 个准 | 🟡 检索过载症 | 压缩 |
| Agent 被之前某次错误输出带偏,纠正不回来 | 🟡 上下文污染症 | 隔离 |
| Agent 输出了大段代码,下一轮又原样传回来 | 🟢 输出冗余症 | 外部卸载 |
一个公式帮你记住
Agent 长期质量 = 提示词质量 × 上下文健康度
提示词质量满分 100,上下文健康度满分 1。
- 如果你的上下文健康度是 0.5,Agent 长期质量直接就腰斩
- 而大多数人上下文健康度可能连 0.3 都不到
提示词工程有天花板,上下文工程没有。 因为对话可以无限长,工具可以无限多,场景可以无限复杂——而你管理复杂度的能力,决定了 Agent 的上限。
怎么开始?三步走
第 1 步:花 30 秒自测
问自己 5 个问题,回答"是"得 1 分:
- 你的系统提示词超过 1500 token 吗?
- 你的 Agent 定义的工具超过 5 个吗?
- 对话超过 10 轮后 Agent 明显变笨吗?
- RAG 每次都召回 10+ 个文档块吗?
- 单次 API 调用平均超过 8000 token 吗?
得分 4-5 分?你的上下文已经需要急救了。
第 2 步:先做修剪(ROI 最高)
改动最小、效果最大。只保留最近 10 轮对话 + 首轮任务描述,把系统提示词里的冗余示例删掉。5 分钟改完,立省 30-50% token。
第 3 步:引入压缩
在 RAG 检索后加一个压缩步骤:把召回的文档块用 LLM 压成 1-2 句要点,再注入上下文。加一个函数的事,检索质量显著提升。
相关资源
- 上下文工程诊断优化器(SkillHub 技能集市可下载):自动扫描你的 Agent 上下文,输出诊断报告和优化方案,覆盖上述五大策略
- 深度阅读:Google DeepMind (2024) “Context Management in LLM Agents”;Anthropic “Context Engineering for Claude”
作者:aigeek_laogao,10 年+ AI/架构经验,专注大模型应用落地与上下文工程。
下一篇预告:《Agent 越聊越笨?我用修剪策略把 token 砍了一半,质量反而涨了》
更多推荐



所有评论(0)