主要观点:在之前“How Long Contexts Fail”帖子的基础上,介绍了完全减轻或避免上下文失败的方法,包括上下文管理策略如 RAG、工具配置、上下文隔离、上下文修剪、上下文总结和上下文卸载等,强调上下文管理是构建智能体的关键部分,现代语言模型的大上下文窗口不是信息管理马虎的借口。
关键信息:
- 上下文失败的方式:上下文中毒、上下文分散、上下文混淆、上下文冲突。
- RAG:选择性添加相关信息帮助语言模型生成更好的响应,每次模型增加上下文窗口,就会有“RAG 已死”的争论。
- 工具配置:选择与任务相关的工具定义添加到上下文,可通过 RAG 技术选择工具,小模型在超过 30 个工具时会出现问题,“Less is More”论文提出动态选择工具的方法。
- 上下文隔离:将上下文隔离在自己的专用线程中,Anthropic 的多智能体研究系统就是一个例子,可加快信息收集和提炼,有助于工具配置。
- 上下文修剪:从上下文中删除无关或不需要的信息,Provence 是一种有效的修剪方法,可将文章修剪 95%。
- 上下文总结:将累积的上下文提炼成浓缩的摘要,超过 100,000 个 tokens 会导致模型依赖历史而不是合成新计划,总结上下文很重要。
- 上下文卸载:将信息存储在语言模型的上下文之外,通过“think”工具实现,Anthropic 发现其在三种场景下很有用。
重要细节: - 以游戏术语“loadout”描述选择相关工具,Tiantian Gan 和 Qiyao Sun 通过存储工具描述在向量数据库中选择工具。
- Anthropic 的多智能体研究系统中,子代理通过并行操作和分离关注来提高信息收集和提炼的效率。
- Provence 是一种高效的上下文修剪器,仅 1.75GB 且使用简单。
- Gemini 2.5 Pro 在超过 100,000 个 tokens 的上下文时会出现倾向于重复历史动作的问题。
- Anthropic 的“think”工具是一个 scratchpad,用于记录笔记和进度,在三种场景下很有用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。