管理好上下文,是智能体取得成功的关键

简介: 只要上下文窗口足够大,就可以把可能用到的所有内容——工具、文档、指令等——统统放进提示词里,剩下的工作交给模型处理就行了。

0 前言

只要上下文窗口足够大,就可以把可能用到的所有内容——工具、文档、指令等——统统放进提示词里,剩下的工作交给模型处理就行了。

长上下文一度:

  • 削弱了人们对RAG热情(既然可以把所有内容都放进提示词,又何必费心寻找最合适的文档?)
  • 推动 MCP 的热潮(只要连接所有工具,模型就能胜任任何任务!)
  • 进一步激发对智能体的期待

但上下文越长,并不意味着回答质量越高。上下文中塞入过多信息,可能会以一些意想不到的方式导致智能体和应用程序失效。上下文可能受到错误信息的污染,也可能让模型分心、产生混淆,甚至出现相互矛盾的内容。这对智能体尤其不利,因为智能体需要依靠上下文收集信息、整合发现,并协调执行各种操作。来看如下各种上下文失效情况:

1 上下文污染

幻觉或其他错误信息进入上下文,并在后续处理中被反复引用。

这个问题尤其严重的一种表现形式是“上下文污染”:上下文中的多个部分,例如目标和摘要,都被错误的游戏状态信息所污染。这类问题往往需要很长时间才能纠正。因此,模型可能会执着于实现不可能完成或与当前任务无关的目标。

如果上下文中的“目标”部分受到污染,智能体就可能制定毫无道理的策略,并不断重复某些行为,只为追求一个根本无法实现的目标。

2 上下文干扰

上下文变得过长,导致模型过度关注上下文内容,反而忽略了训练过程中学到的知识。

在智能体执行任务的过程中,随着模型不断收集信息、积累历史记录,上下文会越来越长。但这些累积的信息不一定总能提供帮助,有时反而会干扰模型。Gemini 智能体玩《宝可梦》的案例就清楚地展示了这一问题:

当上下文长度大幅超过 10 万个 Token 时,模型开始倾向于重复庞大历史记录中的既有操作,而不是综合信息、制定新的计划。虽然这一现象只是观察性证据,但它揭示了一个重要区别:利用长上下文进行信息检索,与利用长上下文进行多步骤生成式推理,是两种不同的能力。

模型没有利用训练中学到的知识制定新策略,反而执着于重复上下文历史中已经出现过的操作。

对于较小的模型,这种干扰出现得更早。Databricks 的研究发现,Llama 3.1 405B 的回答正确率在上下文长度达到约 32K Token 时就开始下降,而更小的模型往往更早受到影响。

既然模型在上下文窗口还没填满之前就可能开始表现异常,那么超大上下文窗口究竟有什么用?简单来说,它最适合用于信息摘要3和事实检索。如果你的任务不涉及这两类工作,就需要留意所选模型能够承受的上下文干扰程度。

3 上下文混淆

模型利用上下文中多余的信息生成质量较差的回答。

曾经有那么一段时间,似乎所有人都准备推出自己的 MCP。当时,人们相信,只要让强大的模型连接所有服务和工具,就能轻松处理各种日常琐事。这个愿景看起来触手可及:只需把所有工具的描述都放进提示词,然后启动模型即可。Claude 的系统提示词也让人看到了这种做法的可能性,因为其中大部分内容都是工具定义或工具使用说明。

但即使MCP 的整合趋势和市场竞争不会让其发展放缓,上下文混淆也可能成为制约因素。事实证明,工具并不是越多越好。

伯克利函数调用排行榜(Berkeley Function-Calling Leaderboard)是一项用于评估模型工具调用能力的基准测试,主要考察模型能否有效使用工具来响应提示词。该排行榜目前已发展到第三个版本,结果显示,当提供的工具数量超过一个时,所有受测模型的表现都会变差4。此外,伯克利团队还设计了一些场景,其中提供的所有函数都与任务无关,预期模型不应该调用任何函数。然而,所有模型都偶尔会调用与任务无关的工具。

浏览函数调用排行榜的数据还可以发现,模型越小,这个问题通常就越严重:

最近的一篇研究论文提供了一个很有代表性的案例。该研究评估了小型模型在 GeoEngine 基准测试中的表现。这个测试包含 46 种不同的工具。研究团队向经过量化压缩的 Llama 3.1 8B 提供了全部 46 种工具及一个查询。尽管这些内容完全没有超出模型 16K Token 的上下文窗口限制,模型仍然未能完成任务。但当工具数量减少到 19 个时,模型却成功了。

问题在于:只要把某些内容放进上下文,模型就可能不得不分配注意力去处理它。 这些内容可能是无关信息,也可能是不必要的工具定义,但模型仍然可能受到它们的影响。大型模型,尤其是推理模型,正在逐渐提高忽略或舍弃多余上下文信息的能力,但无用的信息仍然可能导致智能体出错。更长的上下文确实让我们能够塞入更多信息,但这种能力也伴随着相应的代价。

4 上下文冲突

随上下文不断累积,新增的信息和工具与已有信息发生矛盾。

这是比上下文混淆更严重的问题:这里的问题不只是上下文中的信息无关紧要,而是不同信息之间存在直接冲突。

微软和 Salesforce 的一个研究团队在最近的一篇论文中,出色地记录了这一现象。研究团队从多个基准测试中选取提示词,并将其中的信息拆分到多个提示词中,分阶段提供给模型。可以这样理解:有时,你会在向 ChatGPT 或 Claude 提问之前,先花时间输入好几段文字,把所有必要的细节一次性说明;另一些时候,你可能先提出一个简单的问题,等聊天机器人的回答不够理想时,再逐步补充细节。微软和 Salesforce 团队对基准测试中的提示词进行了改造,让它们变成类似后一种情况的多轮对话:

左侧提示词中的所有信息,都被包含在右侧的多条消息中,只不过右侧的内容需要通过多轮聊天逐步输入。

实验结果显示,将提示词拆分成多轮对话后,模型的表现明显变差,平均得分下降了 39%。研究团队测试了多种模型,其中备受关注的 OpenAI o3,得分也从 98.1 降至 64.1。

为什么分阶段收集信息,会比一次性提供全部信息更容易导致模型表现下降?

仍与上下文混淆有关:当模型将整段聊天记录整合为上下文时,其中会包含模型在尚未获得全部信息之前,对任务作出的早期尝试和回答。这些可能并不正确的回答会一直留在上下文中,并在模型生成最终答案时继续产生影响。研究团队这样写道:

大语言模型经常会在对话的早期轮次作出假设,并过早尝试生成最终解决方案,而后续又会过度依赖这些早期结果。简单来说,当大语言模型在对话中走错方向时,往往会迷失其中,难以自行纠正。

这对智能体开发者来说并不是一个好消息。智能体需要从文档、工具调用结果,以及其他负责处理子任务的模型那里收集信息,并将这些信息整合为上下文。但这些来自不同来源的内容,彼此之间可能存在矛盾。此外,当你连接自己并未开发的 MCP 工具时,这些工具的描述和使用说明也更有可能与提示词中的其他内容发生冲突。

百万 Token 级别上下文窗口的出现,曾让人们觉得这将带来一场变革。只要把智能体可能用到的所有内容都放进提示词,就有机会打造出近乎全能的智能助手:它们可以访问任何文档、连接所有工具,还能拥有完美的记忆能力。

然而,正如我们所看到的,更大的上下文也带来了新的失效模式。上下文污染会让错误不断累积;上下文干扰会让智能体过度依赖历史记录,不断重复过去的操作,而不是继续探索新的解决方案;上下文混淆会导致模型使用无关的工具或文档;上下文冲突则会制造内部矛盾,破坏模型的推理过程。

这些问题对智能体的影响尤其严重,因为智能体的工作方式恰好会导致上下文不断膨胀:它们需要从多个来源收集信息、连续调用工具、进行多轮推理,并积累大量历史记录。

这些问题是有办法解决的!如动态加载工具,以及建立上下文隔离区,从而更好地控制上下文信息。

目录
相关文章
|
NoSQL 数据可视化 Redis
Datagrip2020连接redis,可视化插件安装
Datagrip2020连接redis,可视化插件安装
1966 0
|
15天前
|
人工智能 安全 JavaScript
Qoder × Jev:重新思考 Agent 如何判断和行动
Qoder探索Agent新分工:生成模型负责理解规划,Jev类System One判断模型专精高频、边界明确的语义决策(如“下一步做什么”),Harness则统一管控权限、执行、验证与回退。本文以Jev为切入点,介绍其在Auto Mode(自动执行判定)和浏览器自动化(页面操作选择)两大场景的实践,展现专用判断模型如何提升效率与可控性。
253 0
|
4月前
|
JSON 前端开发 NoSQL
【AgentScope Java新手村系列】(11)中断与恢复
中断与恢复 — AgentStateStore 按 sessionId 持久化上下文,浏览器关闭后秒级恢复对话与 todo 状态。
561 1
|
4月前
|
运维 监控 Java
安卓手机群控系统搭建全攻略:ADB+Python实现一台电脑管理几十部手机实操教程
本文围绕安卓手机群控系统的落地实现展开,基于谷歌原生ADB调试协议,结合Python语言完成整套群控框架的代码开发,无需额外专用硬件,详细讲解从环境搭建、设备批量连接、核心触控模块封装、并发批量操作到屏幕投射、设备状态监控的全流程实现方法。文章附带超1700行完整可运行源码,演示如何用一台普通电脑稳定管控几十部安卓设备,适合移动应用测试、批量设备运维场景的开发者参考,所有方案均经过实际多设备环境验证。
|
5月前
|
人工智能 供应链 安全
2026 年全球网络安全威胁态势与关键技术防御研究
本文基于Security Affairs 2026年第576期情报,系统分析Linux无文件远控(QLNX)、Dirty Frag内核提权、AI供应链投毒、Bluekit工业化钓鱼及关键基础设施混合攻击等新型威胁,揭示其内存化、智能化、武器化趋势;提出漏洞治理、供应链管控、钓鱼防御、终端加固、应急响应“五位一体”纵深防御框架,并提供可复现代码与工程化方案。(239字)
994 6
|
5月前
|
安全 算法 物联网
2026 人员定位系统主流技术解析:飞远光电融合方案适配全场景
飞远光电提供室内外多技术融合人员定位系统,集成UWB、蓝牙AOA与北斗,实现厘米级精度与无缝切换。具备实时定位、轨迹回放、电子围栏、SOS求助、智能考勤及数据可视化功能,广泛应用于化工、矿山、工地等高危场景,助力安全管理与运营效率双提升。
471 3
|
7月前
|
人工智能 并行计算 搜索推荐
黄仁勋在GTC宣判了训练时代的死亡
3月17日,黄仁勋站在GTC 2026的舞台上,讲了将近两个小时。他说了两句话,足以让整个行业坐立不安。
421 3
|
缓存 人工智能 架构师
释放数据潜力:利用 MCP 资源让大模型读懂你的服务器
MCP(Model Control Protocol)资源系统是将服务器数据暴露给客户端的核心机制,支持文本和二进制两种类型资源。资源通过唯一URI标识,客户端可通过资源列表或模板发现资源,并使用`resources/read`接口读取内容。MCP还支持资源实时更新通知及订阅机制,确保动态数据的及时性。实现时需遵循最佳实践,如清晰命名、设置MIME类型和缓存策略,同时注重安全性,包括访问控制、路径清理和速率限制等。提供的示例代码展示了如何用JavaScript和Python实现资源支持。
1452 80
|
11月前
|
存储 缓存 算法
《跨端互联进阶实践指南:从链路适配到长期效能的维护方案》
本文聚焦联机游戏跨端互联的核心痛点与实战方案,围绕体验同源性构建、网络异构适配、设备能力差异化适配、动态场景协同、数据同源校验及长周期效能维护六大关键维度,拆解从底层链路到上层体验的完整优化路径。文中融合链路弹性适配体系、分层设计适配架构、场景感知型协同机制等实用策略,强调通过动态调整传输协议、定制化设备适配规则、全链路数据校验等手段,破解跨端互联中的时序偏差、体验割裂、数据不一致等问题。指南兼具技术深度与落地性,系统阐述了异构环境下实现多终端指令同源、状态同步、体验同频的核心逻辑,为开发者提供兼顾稳定性与沉浸感的跨端互联实践参考,助力打造无缝衔接的跨设备游戏体验。
577 4
|
12月前
|
供应链 搜索推荐 数据可视化
做定制化系统开发,几千预算够不够?
中小企业数字化转型常因预算有限陷入两难:传统定制开发动辄数十万,免费模板又无法满足个性化需求。低代码平台的出现打破了这一困局——通过拖拽式操作,无需编程基础,数千元即可快速搭建专属系统。以低代码开发平台为例,年费低至672元,支持多端适配、数据集成与功能扩展,无隐性成本,助力企业低成本实现CRM、ERP、OA等系统定制,真正实现“花小钱,办大事”。
580 7