上下文工程 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 分:

  1. 你的系统提示词超过 1500 token 吗?
  2. 你的 Agent 定义的工具超过 5 个吗?
  3. 对话超过 10 轮后 Agent 明显变笨吗?
  4. RAG 每次都召回 10+ 个文档块吗?
  5. 单次 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 砍了一半,质量反而涨了》

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐