跑了一个长对话 session,agent 帮我重构了一个模块,修了三个 bug,又加了一组测试——最后触发了 context compression,屏幕上显示:“Compressed: 347 -> 18 messages (~89,000 tokens saved, 74%)"。
我好奇它是怎么做到的:压缩了 89K tokens 后,agent 继续干活,居然还记得之前改过的文件路径、失败的测试用例、我说过"不要用 == 要用 is 比较 None"这种细节。
这不是魔术,是一个经过大量 bug 修复迭代出来的上下文压缩算法。我花了两个小时读了 Hermes Agent 的 context_compressor.py,1163 行代码,每一步都有对应的失败案例和修复注释。