Context Engineering 上下文工程:从信息过载到高信号 Token的精确管理

4014 字
20 分钟
Context Engineering 上下文工程:从信息过载到高信号 Token的精确管理

2026-07-28 Context Engineering 上下文工程:从”信息过载”到”高信号 Token”的精确管理#

学习日期:2026-07-28 主题:Context Engineering 上下文工程 综合文章:5 篇(Anthropic 工程实践、实战指南、Anthropic 革命、腾讯云 Mermaid 案例、ACE 自进化机制)


一、为什么选这个主题?#

回顾近几天的学习脉络:

  • 07-23 架构演进:解决”Agent 由什么组成”的问题
  • 07-24 记忆系统:解决”Agent 如何积累知识”的问题
  • 07-27 技能系统:解决”Agent 如何封装能力”的问题
  • 07-28 上下文工程:解决”Agent 如何在每一轮推理中看到最该看的东西”的问题

前几篇笔记中,我们都直接或间接触及了”上下文”这个概念:

  • 07-24 记忆系统提到的”信息过载”现象
  • 07-27 技能系统的”三层懒加载”机制,本质上就是 Context Engineering 中”选择策略”的具体实现
  • 07-27 笔记里讲”工具是 Skill 的依赖”,但工具臃肿本身就是上下文污染的根源

Context Engineering 是把这些散点串起来的主线——它既是提示工程(Prompt Engineering)的自然进化,也是 LLM 时代最被低估、最具杠杆效应的工程能力。Anthropic 的实测数据显示,单纯做上下文优化就能让 Agent 性能提升 54%、Token 消耗降低 84%。

今天这篇,把这条主线讲透。


二、核心要点#

要点 1:上下文腐蚀(Context Rot)——为什么不能”塞更多”#

LLM 上下文窗口已经普遍达到 128K 甚至 100 万 Token(Claude Sonnet 4)。但 Anthropic 的实验揭示了一个反直觉的事实:更长的上下文,不一定带来更好的结果。

现象原因后果
注意力稀释Transformer 的 O(n²) 成对关系,token 越多相互干扰越大关键信息被淹没
训练偏差训练数据中短序列占比远高于长序列模型”经验”不足
位置衰减模型对上下文窗口中间位置的信息关注度显著低于首尾信息放置不当 = 浪费
多轮叠加单次微小偏差会随推理轮次”滚雪球”放大长任务中”南辕北辙”

Anthropic 给出的核心原则:

“找到最小的、高信号 token 集合,最大化期望结果的概率。” 不要问”怎么把更多信息塞进上下文”,而要问”怎么让上下文中的每个 token 都值得模型注意”。

每多一个 token 都在消耗”注意力预算”。上下文是边际收益递减的有限资源,必须像管理内存一样精细管理。


要点 2:四大策略 —— Write / Select / Compress / Isolate#

Anthropic 与 LangChain 联合提出的四大核心策略,是上下文工程的方法论骨架:

策略核心思想解决什么问题典型工具/方法
Write(写入/卸载)不把所有东西塞进上下文,完整内容外置上下文过载文件系统、Scratchpad、Memory
Select(选择/检索)不是所有信息都相关,按需精准加载信息过载RAG、向量数据库、Reranking
Compress(压缩)裁剪 Token,只保留完成任务所需Token 爆满总结、滑动窗口、结构化笔记
Isolate(隔离)任务太复杂就拆分,让子 Agent 各管一摊任务过复杂多 Agent 架构

四大策略的协同关系:

完整信息 → [Write 外置] → 轻量指针进入上下文
↓
[Select 按需检索] → 相关片段加载
↓
[Compress 压缩] → 高密度信号 Token
↓
[Isolate 隔离] → 独立上下文窗口并行处理

关键洞察:四大策略不是二选一,而是组合拳。比如一个长任务研究 Agent 通常是:Write 外置原始数据 → Select 检索相关文献 → Compress 摘要成结构化笔记 → Isolate 用子 Agent 并行探索多个方向。


要点 3:四大维度的工程实践 —— Anthropic 工程师视角#

四大策略是”做什么”,那”具体怎么做”?Anthropic 工程师总结了 4 个落地维度:

维度 A:系统提示 —— 找到”刚刚好”的抽象层级#

两种典型失败:

  • ❌ 过度硬编码:塞满 if-else 逻辑试图覆盖所有情况,脆弱且维护成本高
  • ❌ 过度模糊:笼统的角色描述,缺乏具体信号

最佳实践:

  • 用 XML 标签或 Markdown 标题组织分区(如 <background_information>、## Tool guidance)
  • 追求”最小信息集”(注意:最小≠简短,复杂业务规则该写还得写)
  • 迭代流程:最小提示 → 测试 → 发现失败模式 → 添加针对性指令 → 再测试

维度 B:工具 —— 定义 Agent 与世界的契约#

最常见失败模式:工具集臃肿(功能重叠、边界模糊)

反面教材:search_database / query_database / find_in_database 三个功能重叠的工具 → Agent 每次都要”纠结”该用哪个。

好工具的四要素:

  • 自包含:职责清晰、功能不重叠
  • 健壮:优雅处理错误,返回有意义信息
  • 描述清晰:名称自解释、参数无歧义
  • 返回高效:不塞入无关数据(一个 10KB JSON 中可能 80% 字段用不到)

维度 C:示例 —— 价值千言万语的”图片”#

常见错误:堆砌边缘案例试图用规则穷举。

Anthropic 的策展三原则:

  • 多样性优先:覆盖不同类型常见场景,而非同一类反复变体
  • 典型性优先:选择最能代表”正常工作模式”的案例
  • 质量优先:每个示例都是完整的”行为画像”

“对 LLM 来说,一个好示例胜过十条规则。“

维度 D:消息历史 —— 容易被忽视的上下文大户#

核心问题:几十轮交互后,消息历史可能占据 80% 以上的上下文窗口,大部分是早已过时的中间结果。

自检方法:审视每段信息,问”如果去掉这段,模型输出质量会下降吗?“如果”不会”或”不确定”,它就不该出现在上下文里。


要点 4:量化效果 —— 实测数据说话#

光讲方法不够,看真实数据:

Anthropic 官方数据(2025-09 发布)#

方案性能提升Token 节省
基线(无优化)0%0%
仅上下文编辑(Context Editing)+29%-84%
上下文编辑 + 记忆工具(Memory Tool)+39%-84%
完整上下文工程+54%-84%

Anthropic 推出的两项新功能(Claude Developer Platform Public Beta):

  • Context Editing:当接近 Token 限制时,自动清除过时的工具调用和结果
  • Memory Tool:让 Claude 通过基于文件的系统在上下文窗口外存储和查阅信息

腾讯云 Agent Memory 方案(基于”上下文卸载 + Mermaid 无限画布”)#

评测集任务类型通过率/准确率提升Token 节省
WideSearch网页搜索任务相对**+51.52%**(33% → 50%)最高61.38%
SWEbench代码修复任务相对 +9.93%(58.4% → 64.2%)最高 33.09%
Toolathlon复杂长任务绝对 +15pp(20% → 35%)最高 26.18%
AA-LCR长文总结分析准确率 44.0% → 47.5%总节省 30.98%

核心启示:

  • 性能提升和 Token 节省可以同时获得(不是零和博弈)
  • 效果在长任务、多任务场景下尤为显著(任务越复杂,收益越大)
  • 工程优化(Context Engineering)能比模型微调带来更大杠杆

要点 5:腾讯云 Mermaid 无限画布 —— 工业级案例拆解#

腾讯云 TencentDB Agent Memory 的方案是 Context Engineering 的一次教科书级实践。

核心思想#

“压缩不是让 Agent 少知道,而是让 Agent 少背负;信息可以离开上下文窗口,但不能离开 Agent 的可达范围。“

四层折叠存储架构#

每次工具调用结束后,信息被拆成四种形态分别存放:

层级存储位置内容作用
Level 0:原文refs/*.md完整 tool result保存原始证据
Level 1:工具摘要offload-<sessionId>.jsonl工具调用级 summary快速检索工具调用
Level 2:任务画布mmds/<task>.mmd任务步骤级 summary(带状态、时间戳)让 Agent 理解任务进度
Level 3:元信息metadatataskGoal、status、updatedTime、mmdFilePath历史任务入口

信息流向:完整 tool result → refs/.md → offload-.jsonl → mmds/*.mmd → 当前上下文

为什么选 Mermaid?#

  • 通用知识:所有主流 LLM 预训练数据中广泛存在
  • 语法简单:节点 + 箭头 + 标签,生成和理解认知负担一致
  • 表达自由:任意形状、方向、长度、嵌套、分支

Mermaid 节点示例(一张可读的任务卡片):

003-N4["timeseries-module-structure
status: done
summary: 列出 timeseries 目录,发现 core.py/sampled.py/binned.py
Timestamp: 2026-04-16T22:19:53.895+08:00"]

实验对比:Flowchart 比 StateDiagram 效果好 15%(长任务中 Agent 需要表达并行分支、汇聚节点、回退路径,Flowchart 更适合开放探索式执行)。

层次化注意力机制(找回信息的三个步骤)#

  1. 鸟瞰(Overview):看任务级概览,判断方向
  2. 聚焦(Focus):打开对应任务画布,查看结构
  3. 下钻(Drill-down):必要时追溯到 JSONL 摘要或原始材料

消融实验结论(SWEbench):

  • 仅上下文卸载:+5% 成绩,约 15% Token 节省
  • 上下文卸载 + MMD:+9.93% 成绩,31%-33% Token 节省

MMD(Mermaid Diagram)解决了”结构丢失”问题,与上下文卸载形成互补,组合方案效果显著。

适用场景#

该方案尤其适合办公提效、创作、研究和编程等长任务和多任务场景——这些场景有三个共同特点:资料多、步骤长、反复改。


要点 6:ACE(Agentic Context Engineering)—— 让 Agent 自我进化#

前 5 个要点都是”外部工程”——由开发者设计上下文策略。但如果 Agent 能自己学会优化上下文呢?斯坦福 + SambaNova + UC Berkeley 团队提出的 ACE 框架给出了答案。

核心思想#

不用微调,不改变模型参数,让智能体自己成长。

ACE 的目标不是”训练一个更聪明的 LLM”来让 Agent 更聪明,而是让 Agent 学会”训练自己”——通过不断调整和丰富它的上下文,实现类似”自我学习”的能力。

四大组件#

Playbook 策略知识库
↓ 提供策略
Generator 生成器(行动者)
↓ 执行结果
Reflector 反思器(复盘者)
↓ 提炼经验
Curator 策划器(策略管家)
↓ 更新策略
Playbook 策略知识库(循环)
组件角色职责
Playbook记忆中枢存储和管理所有学到的策略,含生命周期管理
Generator行动者执行任务,产生动作、推理轨迹和结果
Reflector复盘者复盘轨迹,提炼”这一步我为什么错了?下次该注意什么?“
Curator策略管家把反思转化为可复用策略,做去重、修剪、评分、优先级排序

完整循环#

生成 → 反思 → 策划 → 再执行

客服智能体案例:

  • 第一次任务:回答”退款到账时间”时给出笼统答案”1-7 个工作日”
  • Reflector 反思:“我没区分支付渠道(支付宝/微信/信用卡),导致回答模糊”
  • Curator 策划:“当回答退款周期时,需根据支付方式提供具体时间范围”(注入 Playbook)
  • 第二次任务:智能体参考这条经验,回答变为”支付宝 1-2 个工作日,信用卡 3-7 个工作日”

ACE 的本质创新:让上下文从”静态配置”变成”可演化资产”——这与昨天(07-27)技能系统讲到的”可进化资产”是同一思想在不同层级的体现。


三、与前几篇笔记的关联#

把 4 篇笔记放一起看,会发现一个清晰的”信息流治理”图谱:

笔记主题解决的问题在信息流中的位置
07-23 架构演进Agent 架构由什么组成?静态骨架
07-24 记忆系统记忆系统如何积累知识?纵向时间维度
07-27 技能系统技能封装如何封装能力?横向能力维度
07-28 上下文工程Context Engineering每轮推理看到什么?实时信息流

Context Engineering 是连接三者的”血液循环系统”:

  • 技能系统的”三层懒加载” = Context Engineering 中 Select 策略的具体实现
  • 记忆系统的”分层记忆” = Context Engineering 中 Write/Compress 策略的延伸
  • 架构演进的”Harness” = Context Engineering + 流程治理的统称

四、思考题#

  1. 如果你正在设计一个 7×24 运行的客服 Agent,你会如何组合四大策略(Write/Select/Compress/Isolate)?哪些信息应该预加载,哪些应该按需检索?
  2. ACE 的”自我进化”听起来很美好,但反思器(Reflector)本身的判断质量如果不可靠,会不会导致”垃圾进、垃圾出”?如何设计机制防止 Playbook 变成错误经验的堆积?
  3. Mermaid 画布方案在长任务中表现优异(-61% Token、+52% 成功率),但它本质上是”开发者替 Agent 画地图”。如果把这个画图能力交给 Agent 自己,效果会更好还是更差?
  4. Anthropic 数据显示完整上下文工程能带来 54% 性能提升和 84% Token 节省,但 80% 的 Agent 项目仍然不做上下文工程。这是为什么?是认知问题、技术问题还是优先级问题?
  5. Context Engineering 和 Prompt Engineering 是替代关系吗?还是 Context Engineering 把 Prompt Engineering 收编为子集?两者的边界在哪里?

五、行动项#

🔬 立即可做(1-2 天内)#

  1. 审查自己当前 Agent 项目的系统提示:删除冗余描述,识别 if-else 硬编码的脆弱逻辑,改为结构化分区
  2. 精简工具集:找出功能重叠的工具(比如 search_database / query_database),合并或删除
  3. 实施消息历史自检:在每轮对话后问”这段信息如果去掉,输出质量会下降吗?”
  4. 添加 RAG 替代预加载:把”塞文档进上下文”改为”按需检索相关片段”

🛠 进阶优化(1-2 周内)#

  1. 构建结构化笔记机制:让 Agent 在长任务中定期把关键信息写入外部存储,需要时再读取(参考 Claude 玩宝可梦案例)
  2. 尝试子 Agent 架构:把复杂任务拆分为主 Agent + 多个专门化子 Agent,避免单一 Agent 背负全部上下文
  3. 关键信息前置原则:把最重要的信息放在上下文窗口的开头或结尾(避开中间衰减区)
  4. 监控 Token 使用模式:识别哪些环节消耗最多上下文,针对性优化

🚀 前沿探索(长期)#

  1. 尝试 Mermaid 画布模式:在长任务 Agent 中引入结构化任务地图,让 Agent “少背负但都知道”
  2. 设计 Playbook 机制:参考 ACE 框架,让 Agent 在执行中积累可复用的策略手册
  3. 建立上下文预算体系:为系统提示、工具定义、消息历史、检索结果各分配 Token 预算,避免单一部分挤占其他部分
  4. 关注 Anthropic Context Editing & Memory Tool:Claude Developer Platform 上的新功能已开放 Public Beta,可直接集成

六、参考文章#

  1. Anthropic 工程实践:为 AI Agent 进行高效上下文工程(四大维度:系统提示/工具/示例/消息历史)
  2. 史上最详细的上下文工程实战指南(七大组件 + 四大策略 + 上下文腐蚀)
  3. Anthropic 重磅发布:AI 代理的上下文工程革命(性能+54%、Token-84%)
  4. 腾讯云 Agent Memory 节省 61% Token 提升 52% 成功率:Mermaid 无限画布×上下文卸载
  5. Agentic 上下文工程(上):无需微调,让智能体自我学习与进化(ACE 框架)

学习心得:Context Engineering 可能是当前 LLM 应用工程化中被严重低估的杠杆点。与其花精力做模型微调,不如先把这”看不见的 80% 上下文”管好——这是一条投入产出比极高的路径。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Context Engineering 上下文工程:从信息过载到高信号 Token的精确管理
https://www.zgf.me/posts/2026-07-28-context-engineering-上下文工程从信息过载到高信号-token的精确管理/
作者
赵某人
发布于
2026-07-28
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
赵某人
俯视泥土,仰望星辰
公告
欢迎来到我的博客!这是一则示例公告。
分类
标签
最新动态
站点统计
文章
28
分类
1
标签
58
总字数
129,420
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.14.5
文章许可
CC BY-NC-SA 4.0