Headroom:AI Agent 的上下文压缩层,Token 消耗直降 60-95%
Headroom:AI Agent 的上下文压缩层,Token 消耗直降 60-95%
猜猜结果是什么?和你想的一样吗。
用 AI Agent 写代码的人都有个体感:Token 烧得比预期快得多。一个代码搜索返回 100 条结果就是一万多 Token,一次 SRE 故障排查轻松干掉六万,还没算上对话历史的累积开销。API 账单看着心疼,但又能怎么办?不喂上下文,Agent 就是瞎子。
Headroom 给了一个干脆的答案:在数据到达 LLM 之前压缩它。不是那种丢信息的暴力裁剪,而是智能压缩——保留关键内容,丢弃冗余噪声,答案质量不变,Token 消耗降 60-95%。
项目数据很硬:11,129 星,729 fork,Apache 2.0 协议,半年迭代到现在已经是一个非常成熟的工具链。
本文提纲
- 它到底压缩了什么
- 三种接入方式:Library / Proxy / MCP
- 压缩效果的真实数据
- 六种压缩算法怎么分工
- 可逆压缩(CCR):砍了还能找回
headroom learn:从失败中学习
它到底压缩了什么
Headroom 的压缩目标覆盖了 Agent 工作中几乎所有吃 Token 的场景:
- Tool 输出:代码搜索、文件读取、命令执行结果
- 日志数据:SRE 事故调试时动辄几万行的日志流
- RAG 检索块:向量化召回的大段文档片段
- 源代码文件:AST 级别的代码结构压缩
- 对话历史:长对话中的冗余上下文
- 图片:通过 ML 路由器实现 40-90% 压缩
一句话:只要是要喂给 LLM 的东西,Headroom 都能压。
三种接入方式:Library / Proxy / MCP
Headroom 提供了三种接入模式,适配不同的使用场景:
1. Library 模式——代码内嵌
from headroom import compress
compressed = compress(messages, model="claude-sonnet-4")Python 和 TypeScript 都支持,直接在应用代码里调用,最灵活。
2. Proxy 模式——零代码改造
headroom proxy --port 8787启动一个本地代理,所有 OpenAI/Anthropic 兼容的请求自动经过压缩。不需要改一行代码,任何语言都能用。
3. Agent Wrap——一键包裹
headroom wrap claude # 包裹 Claude Code
headroom wrap codex # 包裹 Codex CLI
headroom wrap cursor # 包裹 Cursor
headroom wrap aider # 包裹 Aider一条命令启动压缩层 + Agent,不用管底层配置。
4. MCP Server——协议级集成
headroom mcp install提供 headroom_compress、headroom_retrieve、headroom_stats 三个 MCP 工具,任何 MCP 客户端直接调用。
graph TB
subgraph "Headroom Compression Pipeline"
A["Agent / App"] -->|"raw context"| B["ContentRouter"]
B --> C["SmartCrusher: JSON"]
B --> D["CodeCompressor: AST"]
B --> E["Kompress-base: text"]
C --> F["CacheAligner + CCR"]
D --> F
E --> F
F -->|"compressed tokens"| G["LLM Provider"]
end
style A fill:#FF6B6B,color:#000000
style B fill:#4ECDC4,color:#000000
style F fill:#45B7D1,color:#000000
style G fill:#FFEAA7,color:#000000压缩效果的真实数据
项目给出了实际 Agent 工作负载的基准测试,不是人造数据:
| 工作负载 | 压缩前 Token | 压缩后 Token | 节省比例 |
|---|---|---|---|
| 代码搜索(100 条结果) | 17,765 | 1,408 | 92% |
| SRE 事故调试 | 65,694 | 5,118 | 92% |
| GitHub Issue 分诊 | 54,174 | 14,761 | 73% |
| 代码库探索 | 78,502 | 41,254 | 47% |
更关键的是准确率没有损失:
| 基准测试 | 基线准确率 | 压缩后准确率 | 变化 |
|---|---|---|---|
| GSM8K(数学) | 0.870 | 0.870 | ±0.000 |
| TruthfulQA(事实) | 0.530 | 0.560 | +0.030 |
GSM8K 零损失,TruthfulQA 甚至略有提升——因为去噪后的上下文反而更清晰了。
六种压缩算法怎么分工
Headroom 内建了六种压缩引擎,每种处理不同类型的内容:
| 算法 | 处理对象 | 核心思路 |
|---|---|---|
| SmartCrusher | JSON 数据 | 通用 JSON 压缩:数组、嵌套对象、混合类型 |
| CodeCompressor | 源代码 | AST 感知,支持 Python/JS/Go/Rust/Java/C++ |
| Kompress-base | 自然语言文本 | 自训练 HuggingFace 模型,基于 agentic traces 训练 |
| Image Compression | 图片 | 训练过的 ML 路由器,40-90% 压缩 |
| CacheAligner | 所有内容 | 稳定前缀,让 Anthropic/OpenAI 的 KV Cache 真正命中 |
| IntelligentContext | 混合内容 | 基于学习到的重要性评分做上下文适配 |
ContentRouter 自动检测内容类型,选择对应的压缩器,不需要手动配置。你只管 compress(messages),剩下的交给它。
可逆压缩(CCR):砍了还能找回
这是 Headroom 和其他压缩工具最本质的区别。
传统的上下文裁剪是单向的——砍掉就没了,LLM 永远看不到被裁掉的内容。Headroom 的 CCR(Compress-Compress-Retrieve) 机制把原始数据存储在本地,LLM 可以通过 headroom_retrieve 工具按需取回。
实际效果:压缩后 prompt 更短、更聚焦,但如果 LLM 发现缺少关键信息,它能主动拉取原始内容。压缩和完整性的矛盾被解决了。
headroom learn:从失败中学习
这是我个人认为最有意思的功能。
headroom learn 会挖掘 Agent 失败的 session,分析哪里出了问题,然后自动把修正建议写入 CLAUDE.md、AGENTS.md 或 GEMINI.md。相当于一个自动化的经验沉淀系统——每次犯错都变成下次的预防针。
这种"从失败中学习"的机制,比单纯的 Token 节省更有长期价值。它让 Agent 不只是在当前 session 更高效,而是跨 session 越来越聪明。
对企业用户的实际意义:如果你的团队每天跑大量 Agent 任务,Headroom 的 ROI 很好算——Token 费用直接砍半到砍九成,准确率不降甚至微升,还附赠跨 Agent 共享记忆和失败学习。11k 星不是白来的。
试过了?评论区说说你的压缩率。还没试?收藏起来周末折腾。
作者: itech001 来源: 公众号:AI人工智能时代 网站: https://www.theaiera.cn/ 每日分享最前沿的AI新闻资讯和技术研究。
本文首发于 AI人工智能时代,转载请注明出处。