首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >上下文工程比提示词工程更重要,6种上下文管理策略

上下文工程比提示词工程更重要,6种上下文管理策略

作者头像
Ai学习的老章
发布2025-07-27 09:46:54
发布2025-07-27 09:46:54
1.2K0
举报
Image
Image

大家好,我是Ai学习的老章

关于大模型中的上下文工程,刚看了一个Langchain的演讲,很不错,分享给大家

https://docs.google.com/presentation/d/16aaXLu40GugY-kOpqDU4e-S0hD1FmHcNyF0rRRnb1OU/edit?slide=id.p#slide=id.p
https://docs.google.com/presentation/d/16aaXLu40GugY-kOpqDU4e-S0hD1FmHcNyF0rRRnb1OU/edit?slide=id.p#slide=id.p

https://docs.google.com/presentation/d/16aaXLu40GugY-kOpqDU4e-S0hD1FmHcNyF0rRRnb1OU/edit?slide=id.p#slide=id.p

1、从提示词工程到上下文工程

2、“上下文工程” 体现了当下所面临的各类挑战

  • 上下文污染(Context Poisoning) 示例:Gemini在玩《宝可梦》时虚构了一个物品,并且试图重复使用该物品。
  • 上下文干扰(Context Distraction) 示例:当上下文超过10万个token时,Gemini更倾向于重复之前的行为,而非生成新计划。
  • 上下文混淆(Context Confusion) 示例:模型在使用更多工具时表现更差,尤其是当工具功能相似时。
  • 上下文冲突(Context Clash) 示例:如果连续的工具调用彼此矛盾,模型的表现会更差。

3、Andrej Karpathy:上下文工程是一门精细的艺术与科学

+1 for "context engineering" over "prompt engineering".

人们通常将提示与日常使用中给 LLM 的简短任务描述联系起来。而在每一个工业级的 LLM 应用中,上下文工程是填充上下文窗口以提供恰到好处的信息的艺术和科学,以便为下一步提供正确的背景信息。这是一门科学,因为正确地做到这一点需要任务描述和解释、少量示例、检索增强(RAG)、相关(可能跨模态)数据、工具、状态和历史记录,以及信息的压缩……如果信息不足或形式不对,LLM 将无法获得最佳性能所需的正确背景。如果信息过多或不相关,LLM 的成本可能会增加,性能可能会下降。做好这一点是非常非平凡的。而这也是一门艺术,因为它涉及到对 LLM 心理学和人类直觉的指导性理解。

4、上下文工程5大实践

1、转移上下文负担

  • 利用文件系统存储笔记(see: Drew’s post[1], Anthropic multi-agent[2])。
  • 借助文件系统(例如 todo.md)进行计划制定与进度追踪(参考:Manus[3]).。
  • 通过文件系统读写包含大量 token 的上下文(参考:Manus[4])。
  • 将文件用于存储长期记忆(参考:Ambient Agents course[5]/repo[6])。

2、精简上下文

  • 总结智能体的消息历史(参考:Drew’s post[7]、Claude Code)
  • 删减消息历史中不相关的部分(参考:Drew’s post[8])
  • 总结或删减工具调用的输出内容(参考: open-deep-research[9]).
  • 在智能体之间的交接环节进行总结或删减(参考: Cognition[10]).
  • 但需注意,要警惕信息丢失的问题(参考: Cognition[11] and Manus[12])!

3、检索上下文

  • 结合多种检索方法与重排序技术(参考: Varun’s take[13] from Windsurf).
  • 构建能将检索结果整合为提示词的系统(参考: Preempt[14] in Cursor).
  • 根据工具描述检索相关工具(参考: Drew’s post[15]).

4、隔离上下文

  • 在多智能体之间拆分上下文(参考: Drew’s post[16], Anthropic[17]).
  • 但需注意(参考: Cognition[18]/Walden Yan[19])!
  • 多智能体可能做出相互矛盾的决策(参考: Cognition[20]/Walden Yan[21]).
  • 如果子智能体避免自主决策,可降低风险(参考: open-deep-research[22]).

5、缓存上下文

  • 缓存 Claude-sonnet 的输入令牌,成本可降低 10 倍!
  • 将智能体指令、工具描述缓存至前缀部分。
  • 在前缀后添加可变上下文 / 近期观察结果。

总结:有得必有失,压缩过程中存在信息丢失的风险,这是一个问题。因此,更倾向于采用转移(上下文负担)的方式。多智能体之间存在协调问题,这也是一种风险。

正如Andrej Karpathy所说: 除了上下文工程本身之外,一个 LLM 应用还需要:

  • 将问题恰当地拆分成控制流
  • 把上下文窗口调整得刚刚好
  • 分配合适的 LLM 调用
  • 处理生成-验证的 UI/UX 流程
  • 还有很多 - 边界限制、安全措施、评估、并行处理、预取 ...

所以,上下文工程只是正在兴起的复杂软件层中的一个小部分,这一层软件协调着单个 LLM 调用(以及更多内容),使之成为完整的 LLM 应用。术语“ChatGPT 封装器”已经过时了,而且真的很不对。

5、六种上下文管理策略

PPT中附加的一篇文章写的也相当好《# How to Fix Your Context》[23]

文章承接前文 “长上下文如何失效”[24],探讨缓解或避免上下文失效的方法。

先回顾长上下文失效的四种模式:

上下文中毒,即幻觉或错误进入上下文并被反复引用;

上下文干扰,上下文过长使模型过度关注上下文而忽视训练内容;

上下文混淆,模型利用上下文中多余信息生成低质量回复;

上下文冲突,新信息与提示中的其他信息冲突。

接着介绍六种上下文管理策略:

  • RAG(检索增强生成),选择性添加相关信息辅助大语言模型(LLM)生成更好回复;工具加载,仅选择相关工具定义添加到上下文;
  • 上下文隔离,将上下文隔离在专用线程;
  • 上下文修剪,从上下文中删除无关或不需要的信息;
  • 上下文总结,把累积的上下文浓缩为摘要;
  • 上下文卸载,通过存储和管理数据的工具将信息存储在 LLM 上下文之外。

文章对每种策略详细阐述其原理、应用案例及优势,强调上下文管理在构建智能体时的重要性,提醒构建或优化智能体时需审视上下文信息的有效性,并利用这六种策略解决问题。

制作不易,如果这篇文章觉得对你有用,可否点个关注。给我个三连击:点赞、转发和在看。

参考资料

[1]

Drew’s post: https://www.dbreunig.com/2025/06/26/how-to-fix-your-context.html

[2]

Anthropic multi-agent: https://www.anthropic.com/engineering/built-multi-agent-research-system

[3]

Manus: https://manus.im/blog/Context-Engineering-for-AI-Agents-Lessons-from-Building-Manus

[4]

Manus: https://manus.im/blog/Context-Engineering-for-AI-Agents-Lessons-from-Building-Manus

[5]

course: https://academy.langchain.com/courses/ambient-agents/

[6]

repo: https://github.com/langchain-ai/agents-from-scratch

[7]

Drew’s post: https://www.dbreunig.com/2025/06/26/how-to-fix-your-context.html

[8]

Drew’s post: https://www.dbreunig.com/2025/06/26/how-to-fix-your-context.html

[9]

open-deep-research: https://github.com/langchain-ai/open_deep_research

[10]

Cognition: https://cognition.ai/blog/dont-build-multi-agents#a-theory-of-building-long-running-agents

[11]

Cognition: https://cognition.ai/blog/dont-build-multi-agents#a-theory-of-building-long-running-agents

[12]

Manus: https://manus.im/blog/Context-Engineering-for-AI-Agents-Lessons-from-Building-Manus

[13]

take: https://x.com/_mohansolo/status/1899630246862966837?ref=blog.langchain.com

[14]

Preempt: https://lexfridman.com/cursor-team-transcript

[15]

Drew’s post: https://www.dbreunig.com/2025/06/26/how-to-fix-your-context.html

[16]

Drew’s post: https://www.dbreunig.com/2025/06/26/how-to-fix-your-context.html

[17]

Anthropic: https://www.anthropic.com/engineering/built-multi-agent-research-system

[18]

Cognition: https://cognition.ai/blog/dont-build-multi-agents#a-theory-of-building-long-running-agents

[19]

Walden Yan: https://x.com/jxnlco/status/1945490018127987092

[20]

Cognition: https://cognition.ai/blog/dont-build-multi-agents#a-theory-of-building-long-running-agents

[21]

Walden Yan: https://x.com/jxnlco/status/1945490018127987092

[22]

open-deep-research: https://github.com/langchain-ai/open_deep_research

[23]

《# How to Fix Your Context》: https://www.dbreunig.com/2025/06/26/how-to-fix-your-context.html

[24]

“长上下文如何失效”: https://www.dbreunig.com/2025/06/22/how-contexts-fail-and-how-to-fix-them.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 1、从提示词工程到上下文工程
  • 2、“上下文工程” 体现了当下所面临的各类挑战
  • 3、Andrej Karpathy:上下文工程是一门精细的艺术与科学
  • 4、上下文工程5大实践
  • 5、六种上下文管理策略
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档