工具
开源终端 AI 代理 jarvis-code:用状态压缩跑完万轮对话
开发者发布 Apache-2.0 开源项目 jarvis-code,通过编码器把对话状态压缩到约 2000 token,…
2026.07.02 · 周四约 3 分钟阅读
一位独立开发者在 Reddit r/LocalLLaMA 公开了其开源终端 AI 编程代理 jarvis-code,并附上了 10,000 轮对话压力测试的完整日志。项目采用 Apache-2.0 协议,作者明确声明除源代码外无任何商业化安排,所有测试数据均提供 SHA256 校验码供他人复核。
核心设计:用编解码器替代完整上下文
jarvis-code 的核心想法是不再把整段对话历史塞进上下文窗口,而是每轮把对话状态压缩进一个名为 JLC 的编解码器(codec),原始转录则在每轮结束后被丢弃。
由此衍生出几个工程特性:
- 承载会话状态的 token 数长期稳定在约 2000,整万轮跑下来曲线几乎是一条横线
- 上下文窗口占用率峰值仅 8.36%,远低于常规 Agent 框架的满载
- 失败后可从 codec 状态恢复,不依赖完整 transcript 重建上下文
作者承认这套思路并非替代 RAG,而是面向"连续多轮编程会话"这一更窄场景的工程方案。
万轮压力测试详情
测试由 Claude 兼容接口驱动,关键指标如下:
- 总轮次 10,000;中途主机因 OOM(
Error: Data cannot be cloned, out of memory)在第 8,700 轮崩溃,重启后从 codec 状态无缝接续,最终跑完全部 10,000 轮 - 925 道对抗性陷阱问题中存活 923 道;公开的两道失败分别出现在第 9,013 轮与第 9,995 轮
- 由于不重新读取历史 transcript,每轮 token 成本保持平稳,而传统全量回放 Agent 的成本会随会话长度线性增长
作者将这次崩溃视为一种反向验证:主机进程死了,但记忆没死,正好证明 codec 设计将状态与会话生命周期解耦。
接入方式与现状
jarvis-code 工作在终端环境,使用方式比较灵活:
- 可直接挂接现有的 Claude 或 ChatGPT 订阅,不产生独立 API 账单
- 也支持自备 API key,或通过 llama.cpp / Ollama 走完全本地路线
- 记忆以纯文本 JSONL 形式保存在用户磁盘,无服务端、无遥测
当前版本只提供 Windows 安装包,作者称 macOS 与 Linux 安装器正在准备中,但受限于其本人的硬件条件(仅有集成显卡的 Windows 迷你主机),本地路径仅验证过 9B 级别模型,希望社区用更强算力做更多压测。
相关资源
- 源码仓库:https://github.com/jarvis-llm-codec/jarvis-code
- 万轮日志、48 分钟演示、文档与配套论文见项目官网:https://jlc-codec.org
