git log 让你的智能体消耗了 624 个 token,但它只需要 55 个。以下是“罪魁祸首”名单
摘要
本文揭示了冗长的命令行界面(CLI)输出如何浪费 LLM 编程智能体的 token,并介绍了一种基于模式的压缩器,能够在保留关键信息的同时减少 shell 命令输出的噪声。
我花了一周时间记录我的编程智能体运行的每一个 shell 命令,并测量原始输出的 token 成本与智能体实际使用的 token 数量之间的差异。大多数 CLI 工具是为人类在终端中阅读而设计的,而不是为按 token 计费的 LLM 设计的。
最严重的“罪魁祸首”
| 命令 | 原始 token 数 | 智能体实际需求 | 压缩后 |
| :- | :- | :- | :- |
| `git log` | 624 | 最近 3 次提交 + 变更文件 | 55 (-91%) |
| `git diff` | 2,400+ | 变更行 + 文件列表 | ~320 (-87%) |
| `npm test` (200 个通过) | 3,100+ | 通过/失败摘要 + 失败详情 | ~180 (-94%) |
| `cargo build` (无错误) | 1,800+ | 仅错误/警告 | ~90 (-95%) |
| `docker build` | 5,000+ | 最终镜像 + 错误 | ~150 (-97%) |
| `ls -la` (大目录) | 800+ | 文件树 | ~120 (-85%) |
| `git status` | 340 | 暂存/未暂存/未跟踪文件 | ~60 (-82%) |
这加起来很快。一次典型的 30 分钟会话会运行 40-60 个 shell 命令。平均每个命令产生 1,500 个 token 的原始输出,仅 CLI 噪声、冗长的构建日志、绿色对勾和下载进度条就会消耗 60,000 到 90,000 个 token。
为什么这比你想象的更重要
每一个 noisy shell 输出的 token 都会占用上下文窗口的空间。这意味着智能体无法使用这部分空间来推理你的实际代码。我曾见过智能体因为 `npm install` 在任务中途向上下文转储了 8,000 个 token 的依赖解析信息,而丢失了对多步骤重构计划的跟踪。
我对此做了什么
我为 34 个类别中的 95 多个 CLI 命令编写了基于模式的压缩器。确定性的模式匹配,相同的输入总是在微秒级产生相同的压缩输出。
规则很简单:
* 剥离进度条、旋转器、下载指示器
* 合并重复的成功行(`✓ test passed` x200 → `200/200 passed`)
* 保留所有错误和警告的原文
* 保持结构(文件路径、行号、退出码)
它作为一个透明的 shell 钩子运行。你的智能体像往常一样运行 `git log`,然后获得压缩后的版本。无需更改工作流。
在你的工作流中,哪些 CLI 命令消耗的 token 最多?
相似文章
子代理在长代理运行中占据大部分Token成本:实际可将使用量降低70%至90%的修复方法
本文分析了 Bai 等人 2026 年的论文,该论文表明,子代理和上下文膨胀导致长代理运行中的Token成本比普通聊天高出约1000倍,并提出了三种实用的修复方法(PLAN.md、读取预算、带外备注),可将Token使用量减少70-90%。
我的智能体太贵了!关于你的 LLM Token 消耗,你希望早知道什么?
一个关于运行 LLM 智能体成本高昂的讨论帖,用户分享抱怨并寻求关于追踪 Token 花费及提高效率的建议。
云端代理使用量激增
云端代理的token使用量正经历爆炸性增长,其中GitLawb以1640亿个token遥遥领先,标志着代理采用率的回升。
@IntuitMachine:你的AI编程代理仅修复一个bug就烧掉2美元。你以为这是“廉价自动化”。以下是16,000次生产运行揭示的真相…
对AI编程代理成本的分析显示,代理工作流消耗的token数可达简单ChatGPT调用的3500倍,大部分浪费来自冗余的上下文加载。文章建议追踪重复的文件操作并使用高效模型降低成本。
我如何在长时间智能体运行中轻松减少约90%的输入token消耗
作者分享了一个实用技巧,通过提示缓存(prompt caching)在长时间智能体运行中将输入token成本降低约90%:将不变文本(系统提示、工具定义、上下文)放在每个提示的开头,以利用LLM提供商的缓存前缀。