AI 智能体的上下文并不只是被长提示词填满的。命令日志、代码文件、浏览器快照、工单、接口响应和中间计划都会不断进入会话。其中有些是当前判断不可缺少的证据,有些只是暂时的执行痕迹,却会挤占任务目标、约束条件和下一步决策的空间。

上下文管理层试图改变这一点:把庞大的工具输出留在会话之外,用本地工具处理,在需要时检索较小且相关的结果。这个方向值得测试,但“省了多少 token”并不是充分的结论。如果系统为了节省上下文而漏掉失败测试的一行、一个安全警告或用户已经作出的决定,它只是在让智能体更难用。

本文以开源项目 context-mode 作为这一类工具的具体例子。其仓库说明了一种可将数据保留在本地、建立索引并让大型工具结果经过沙盒处理的方式。这些是维护者对产品的描述,并非 AI Tools Radar 的基准测试或推荐。无论使用供应商功能、自建中间层还是其他智能体客户端,都可以采用同一套评估方法。

一只手拿着“Fork me on GitHub”贴纸

说明图片来自已完成的来源包,不是产品截图,也不是性能测试结果。

从真实工作负载开始,而不是从 token 指标开始

先选择确实会产生大量噪声证据的任务,例如包含长日志的故障排查、跨仓库迁移、带有冗长无障碍快照的浏览器测试,或需要打开很多相似文件的代码审查。在改变智能体配置之前,预先定义正确完成的标准:应得出的诊断、应改动的文件、应运行的测试、需要保留的引用或审批,以及在压缩后仍必须能找到的信息。

用普通配置和候选上下文层分别完成同一批代表性任务。保持模型、工具、权限和任务说明不变,记录任务是否正确、人工纠正的工作量、耗时、上下文消耗、工具输出体积,以及为了找回早先细节而追加检索的次数。token 降幅可以反映成本,但不能代替任务质量。

还要故意设置难题:把关键日志行放在很长输出的末尾;放入两份只有一个实质差异的配置文件;让浏览器快照中藏有一条重要错误信息。若检索层不能稳定找回这些内容,表面的效率就不可靠。

区分工作记忆与证据库

核心问题不是是否保存数据,而是数据应该放在哪里。活跃上下文应该保存当前任务、正在比较的证据和当前推理;独立存储可以保留原始输出,但前提是智能体能重新找到它,团队也能检查保存的内容。

这和常见的信息检索相似。SQLite 的 FTS5 文档说明了如何通过全文搜索返回匹配记录,而不必把整个语料库装入一次查询结果。对智能体而言,词面搜索还不够:后续问题可能指向一项旧决定,却不使用相同词汇。因此应同时检查系统如何记录任务里程碑、文件路径、命令、日期和人工决策,以及它如何对词语排序。

在试用中反复提出恢复问题:智能体能否说明某方案为何被拒绝、找出上一次失败命令、并取回支撑某项结论的准确来源?如果答案只依赖模糊摘要,说明系统是在用可审计性换取 token。

在信任压缩前先测试压缩

设计良好的上下文层会减少重复结构,同时保留当前决策所需的信息。它可以让智能体在本地过滤、计数、提取字段或比较文件,再把结果返回,而不是把全部原始字节放入提示词。这通常比让语言模型在长日志中手工扫描更合适。

但转换本身也是新的故障点。抽样检查生成的过滤器或脚本,特别关注被移除的行、错误、警告和看似重复的记录。衡量“错误遗漏”:原始输出中存在、而一旦缺失就会改变答案的细节。

上线前应定义回退规则。例如高风险操作、空搜索结果、来源互相矛盾或工具异常时,智能体必须能顺畅取回原始材料。原始记录应当可识别,不能只剩下一条无法追溯的摘要。

把本地存储视为安全边界

把输出移出提示词并不会让它无害。日志可能包含密钥、客户标识符、内部地址、源代码或复制的工单内容。本地索引也许减少了向另一托管服务暴露数据的机会,但同时建立了一个需要负责的新数据存储。

在真实工作中启用前,记录数据写入位置、哪个操作系统账户可读取、是否支持加密、保留多久、备份软件如何处理该目录,以及用户如何删除一个会话或全部记录。要实际测试删除,而不是只看命令名称;还要覆盖压缩时由 hook 或插件保存的数据。

许可证也要单独审查。context-mode 的许可证 为 Elastic License 2.0,是源码可见许可证,其中条件可能影响提供托管功能的团队。安全和法务人员应依据实际部署方式审查,而不应因为仓库公开就假定它允许宽松再分发。

检查集成面和恢复行为

上下文控制位于智能体客户端与工具的交界处。hook 名称、插件位置、shell 环境、沙盒权限和压缩生命周期差异很大。工具可能安装成功却没有拦截本应处理的输出,或在错误时机拦截。

为每个目标客户端建立小型兼容矩阵:确认安装、一次普通工具调用、一次大型输出、会话重启、压缩或交接、检索早先记录以及删除保存的数据。若侧车不可用,记录清晰可见的失败方式;智能体不能悄然宣称检索了自己无法访问的数据。

也要测量延迟。索引和沙盒执行可能减少模型上下文,却增加每个任务的时间。对于互动式编程循环,少量节省未必值得每条命令变慢;对于处理大型档案的长任务,这种权衡可能更划算。

根据观察到的任务质量作决定

只有当试用显示人员能以相同或更好的正确性完成选定工作、能理解地恢复证据、延迟可接受,且控制措施匹配所处理的数据时,才应采用上下文层。起步时保持范围狭窄:一种任务、一组明确的保留设置,以及能与基线结果比较的办法。

这个结论不只适用于某个项目。智能体的上下文窗口是稀缺的工作记忆,不是自动档案馆。把嘈杂的工具输出当作可检索证据,能够让工作记忆更清晰;只有检索可靠、需要时能获得原始证据、并且新的存储边界被负责任地运行时,这种收益才真正成立。

我们的编辑方法

我们会结合一手资料、产品文档与实际使用场景,帮助你更清楚地判断工具是否适合你的工作流。

参考来源

浏览工具目录