通过惰性加载本地CLI层剥离代理上下文中的终端噪声。寻求对此启发式方法的严厉反馈。
摘要
Boost是一个惰性加载的本地CLI层,它截断冗长的终端输出,并用语义标记替换以减少编码代理的令牌消耗,同时将日志本地缓存以供按需检查。该工具在JFrog内部孵化,完全在本地运行,并寻求社区对其启发式方法的反馈。
在构建长时间运行的编码代理时,终端输出是污染上下文窗口的最快方式之一。如果代理运行一个密集型构建、安装命令或大规模搜索(grep/find),它很容易生成数百行的原始日志噪声。代理读取一次以检查状态,但您会在后续的每次对话轮次中继续为这些庞大且冗余的日志令牌付费。为了解决这个问题,我们设计了一个轻量级的CLI层,名为Boost,作为上下文守门人。我们想要一种精简上下文但不削弱代理调试深层错误能力的方法。
启发式方法:惰性加载上下文指针
该CLI层不是将原始stdout/stderr直接返回给LLM代理,而是拦截流:
- **噪声截断**:它识别重复模式、冗长的进度条(如npm或pip安装状态)以及成功的编译块。
- **语义标记**:它将原始日志文本替换为一个轻量级令牌标记:`[终端输出已截断:450行webpack构建日志。参考ID: log_9a3b。状态:成功]`
- **惰性恢复**:原始日志100%本地缓存。如果代理稍后遇到障碍并明确决定需要检查编译器输出以调试错误,它会调用一个子命令来“恢复”该特定参考ID(例如,`boost inspect log_9a3b`)。
在我们的内部测试中,这大大降低了每个会话的令牌消耗,而不会降低任务成功率。
透明部分(JFrog与隐私)
我们作为JFrog内部孵化的初创团队运作。背后有大型组织的支持意味着我们有专门的资源来构建稳定的开发者工具,但我们是一步一步来的。我们100%透明地说明该工具目前的状况:
- **隐私与遥测**:它100%在您的机器上本地运行,并完全在内存中进行截断处理。您的原始终端输出、代码和日志永远不会离开您的机器。它唯一进行的网络调用是一个轻量级遥测ping,用于跟踪聚合令牌节省量,以便我们衡量工具的实际影响并进行改进。
- **代码**:二进制文件完全免费,但源代码目前是闭源的,因为我们正在验证核心机制。您可以在 boost.jfrog.com 查看,或在我们的GitHub页面找到发布版:github.com/jfrog/boost
除了工具本身,我们想知道这种逻辑在规模上是否失效。您是如何保持代理上下文精简而不破坏工作流程的?您是使用自定义系统提示、日志的向量嵌入,还是只是让令牌白白燃烧?
相似文章
将 hf CLI 设计为适合 Hub 使用的 Agent 优化工具
Hugging Face 重新设计了其 `hf` CLI,使其同时面向人类用户和 Claude Code、Codex 等 AI 编程 Agent 进行优化,具备 Agent 感知的输出渲染能力,基准测试显示在复杂任务上相比不使用 CLI 的方案最高可节省 6 倍的 token 消耗。
@tom_doerr: 将 Claude Code 和 Cursor 的 token 成本降低 60-95% https://github.com/yvgude/lean-ctx
lean-ctx 是一个基于 Rust 的开源上下文运行时,通过文件读取压缩和 Shell 输出优化,将 Claude Code、Cursor、Copilot 等 AI 编程助手的 token 成本降低 60–95%。它以 Shell Hook 和 MCP Server 的形式运行,提供 56 个工具及多种读取模式。
Deep Agents v0.7(6分钟阅读)
LangChain发布了Deep Agents v0.7,这是一个更精简的智能体框架,通过移除默认系统提示、精简工具描述以及将TodoListMiddleware设为可选,将基础输入令牌减少了65%,并在多个模型上验证了性能相当。
我构建了一种方法,防止巨大的工具输出撑爆AI代理的上下文窗口
LeanCTX已更新,作为管理AI代理工具输出的网关,压缩大数据,擦除秘密,并通过MCP集成外部工具,以防止令牌爆炸。
试用Freebuff(免费的CLI代理)以降低开发成本
试用Freebuff,一款旨在帮助降低开发成本的免费CLI代理。