告别“失真压缩”:Claude 编程助手的上下文守护者,让每行代码、每个错误都不被 AI 概括掉

2026-09-22 0 12

你是否遇到过这样的尴尬:在 Claude Code 中调试一个复杂问题,反复调用「读文件」「运行测试」「查日志」等工具,对话历史越来越长;结果 AI 一压缩上下文,就把关键的 src/utils/validation.ts:42 报错路径、精确的 npm run lint -- --fix 命令、甚至你明确强调的「不要修改 generated 目录」这条约束,统统揉进一句模糊的「用户要求修复测试并检查相关文件」里?fast-jev-compaction 正是为此而生——它不是让 AI 总结你的对话,而是请 Jev(Claude 的专用决策模型)逐条审查每一条工具调用与返回结果,只删除真正过时的内容,其余一切保持原样、按序保留。零重写、零概括、零信息丢失。

核心功能

  • 精准保留关键上下文:当你的对话中包含 Read src/api/auth.ts 和长达 2800 字的返回内容时,传统压缩可能直接丢掉整个块;而本工具会将该结果完整保留(或仅截断尾部),前提是 Jev 判定其仍对后续推理有支撑作用——比如你接下来要基于此代码做 patch。
  • 双维度智能裁剪:对每个未被「钉住」(即非最近几轮)的工具调用,Jev 同时回答两个独立问题:“这个 调用本身 是否仍具意义?”(如命令是否揭示了用户意图)和“这个 返回结果 是否必须原文存在?”(如错误堆栈是否含行号)。二者得分低于阈值才分别处理,避免“一刀切”误删。
  • 抗爆仓式状态适配:面对超长对话,它不粗暴砍头去尾,而是按优先级分七级渐进压缩:先缩工具输入(1000→200→60 字),再缩普通文本(首尾保留+中间省略),再合并旧消息为占位符 [… 3241 chars omitted …],最后才折叠纯工具调用为单行摘要(t7 List dir=src/ → ok 12 entries),全程确保最终状态严格控制在 25K tokens 内。
  • 零信任式决策验证:所有 Jev 返回结果都经结构化校验——缺失 keepCallkeepResult 字段、类型错误、JSON 格式异常,均立即抛出错误,拒绝静默失败。开发者可明确知道“哪里没跑通”,而非得到一份不可靠的压缩结果。
  • 无缝集成 Claude Code 插件体系:开箱即用替换官方内置的上下文压缩逻辑。只需启用插件,后续所有会话自动启用 Jev 决策压缩,无需修改任何已有工作流或提示词工程。
  • 灵活可移植的 npm 库设计:不仅限于 Claude 生态,导出的 compactMessages() 函数接受标准 Message[] 数组,兼容任何基于 Anthropic 消息格式的系统;还可自定义 JevAsker 接口对接私有 Jev 服务或 mock 测试环境。
  • 透明压缩效果反馈:返回对象中包含 stats 字段(原始 token 数、压缩后 token 数、删除的工具对数量)及 reductionRatio() 工具函数,让你一眼判断本次压缩是否“划算”——若压缩后体积仍大于原始的 75%,系统建议直接保留原对话,避免无效处理。

技术亮点

  • “全量可见”决策范式:区别于主流 LLM 压缩方案依赖摘要生成,本项目将完整对话历史(含全部 tool_use/tool_result)作为 Jev 的输入状态,仅对 tool_result 做轻量占位(ok, 4213 chars (omitted)),确保模型始终在真实语境下做判断,杜绝因摘要失真导致的误判。
  • 无 tokenizer 的鲁棒 token 估算:为规避不同 tokenizer 实现差异,项目采用经验公式估算 token 数(单词≈6字母/1token,数字≈0.5token/个,符号≈1token/个),并经实测校准至略高于 Jev 官方计数,有效防止因预估不足导致请求超限崩溃。
  • 并发安全的批量请求调度:当工具调用过多导致单次 Jev 请求超 30K tokens 限制时,自动将问题拆分为多个子请求,并发发送——但每次均携带同一份完整状态副本,保证各批次决策依据一致;响应合并后统一应用,避免状态分裂风险。
  • 内存友好的增量重建机制:压缩后的消息列表并非全新构造,而是复用原始对象引用(未改动的消息直接返回原对象),仅对需修改的消息新建实例;且自动清理空消息(如某轮仅剩被删工具结果),避免产生“幽灵空行”污染上下文。

适合哪些人用

本工具特别适合三类深度使用 Claude Code 的开发者:

  • 企业级代码审查工程师:在分析跨 5 个微服务的分布式报错时,需同时保留 curl -v http://auth:3000/health 命令、其返回的 401 错误体、以及上游网关日志中的 trace_id —— fast-jev-compaction 可确保这三者不被任何摘要抹平,始终以原始形态参与后续推理。
  • AI 辅助开源贡献者:当你为 Rust 项目提交 PR 前,在 Claude 中反复运行 cargo test --no-fail-fastgit diffrustfmt --check,工具能智能识别出首次失败的测试用例输出需保留,而后续重复成功的 rustfmt 结果可安全丢弃,大幅缩短上下文长度而不损关键线索。

快速上手

作为 npm 库使用:

npm install fast-jev-compaction
export TYPESAFE_API_KEY=your_jev_api_key_here

代码调用示例:

import { compactMessages } from 'fast-jev-compaction';

const transcript = [
  { role: 'user', text: '修复 tests/login.test.ts 中的超时错误,跳过 network 测试', toolUses: [] },
  { role: 'assistant', text: '', toolUses: [{ tool_use_id: 't1', tool: 'RunTest', input: { cmd: 'npm test -- tests/login.test.ts' } }] },
  { role: 'user', text: '', toolResults: [{ tool_use_id: 't1', text: 'TimeoutError: login() took >5000ms...' }] }
];

const result = await compactMessages(transcript, {
  preserveRecentMessages: 3,
  keepThreshold: 0.65,
  truncateHeadChars: 500
});
console.log('压缩后消息:', result.messages);

同类对比 / 注意事项

  • vs 传统 LLM 摘要压缩:后者像“让实习生写会议纪要”,必然丢失细节;fast-jev-compaction 则如“请法务逐条审阅合同附件”,只删冗余条款,关键条款一字不改。
  • vs 纯规则式截断:简单保留最近 N 条消息会误杀早期但关键的工具结果(如第一轮读取的 config.json);本工具通过 Jev 动态评估每项内容的当前价值,实现语义感知裁剪。
  • 注意事项:需自行申请并配置 TYPESAFE_API_KEY(指向 Jev 服务);首次部署建议设置较低的 keepThreshold(如 0.5)观察决策倾向;若对话中存在大量超长日志(>10MB),需预先用 fitState 工具函数测试能否成功装入 25K tokens 限制。

项目信息


📦
tamaratran/fast-jev-compaction
GitHub

Claude Code plugin that replaces the compaction summary with Jev decisions: every tool call and result is scored in one fast request, stale ones are d


6.2k

Stars

🔀
346
Forks

📄
MIT

TypeScript|6179 Star|MIT 协议|GitHub 项目地址

如果你厌倦了 AI “好心办坏事”的上下文压缩,渴望每一次工具调用都得到尊重、每一处错误细节都被珍视——fast-jev-compaction 不是更快的压缩器,而是你与 Claude 之间值得信赖的上下文守门人。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

本网站所提供的所有资源(包括但不限于软件、文档、教程、代码、素材等)均收集自互联网公开渠道,仅供个人学习、研究及交流使用。我们无法对所有资源的版权归属进行逐一核实。

OPENKLC昆仑草-免费资源下载-源码下载 开源易选 告别“失真压缩”:Claude 编程助手的上下文守护者,让每行代码、每个错误都不被 AI 概括掉 https://www.openklc.com/2539.html

下一篇:

已经没有下一篇了!

常见问题

相关文章

发表评论
暂无评论
  • 19657509174 +

    访问总数

  • 26 +

    会员总数

  • 1231 +

    文章总数

  • 0 +

    今日发布

  • 19 +

    本周发布

  • 500 +

    运行天数

你的前景,远超我们想象