tamaratran/fast-jev-compaction
# 技术雷达学习卡:fast-jev-compaction
一、一句话定位
一个基于 Jev 模型评分 的对话历史压缩工具(Claude Code 插件 / npm 库),只删除或截断不再需要的工具调用和结果,绝不改写任何文本,实现无损紧凑。
二、核心技术/架构亮点
1. 无损决策:不生成摘要,仅通过两个布尔问题(“调用是否保留?”“结果是否保留?”)让 Jev 逐条评分,保留概率低于阈值的直接删除或截断。
2. 多阶段状态适配:当完整对话超出 `maxStateTokens`时,按顺序执行截断输入、缩短长文本、折叠旧消息等步骤,确保状态始终可放入请求。
3. 并发请求与合并:将多个决策问题拆分成多个并发的 Jev 请求,每个请求携带相同完整状态,最后合并答案。
4. 可组合模块:核心逻辑拆分为独立函数(`fitState`, `batchCalls`, `decideCall` 等),可单独复用或替换传输层(`JevAsker` 接口)。
5. 插件与库双模式:既是 Claude Code 的 function-hook 插件(替换内置摘要),也可作为独立 npm 库被任意 JS/TS 项目调用。
三、适用场景与目标用户
- Claude Code 重度用户:需要更精确的历史压缩,避免内置摘要丢失文件路径、错误信息等关键细节。
- LLM 工具链开发者:想借鉴“模型自我评估”而非黑盒压缩的思路,优化上下文管理。
- 追求可审计性的团队:所有决策可回溯(`decisions` 字段),且原始文本不变。
四、可动手动作
1. 快速体验 npm 库:
```bash
npm install fast-jev-compaction
export TYPESAFE_API_KEY=your_key
```
在代码中调用 `compactMessages(transcript, options)` 处理消息数组,获取压缩结果。
2. 安装 Claude Code 插件(需要 2.1.274+ 及 function-hooks 开关):
```bash
claude plugin marketplace add tamaratran/fast-jev-compaction
claude plugin install fast-jev-compaction@fast-jev-compaction
```
3. 借鉴思路:在自己的 LLM 应用中实现类似“为每个上下文片段询问是否保留”的机制,而非统一总结。
五、学习优先级:P1(排期)
理由:方法独特、有论文级别的设计价值(无损压缩 + 模型自评),但需要依赖特定模型(Jev)且专为 Claude Code 优化,普适性有限;适合排期深入阅读源码,理解多阶段压缩策略。⌂