Skip to content

为什么 Cetas 没有内置 Caveman?

caveman 的六块功能里,cetas 有哪些对应实现、缺哪些、为什么。

简短回答:Cetas 和 Caveman 有相似的优化目标,但我们选择直接优化 Agent 的工作过程,而不是默认增加一层代理。你仍然可以在 Cetas 中使用 Caveman Skill。

Caveman 是一个优秀的开源项目。它尝试减少 AI Coding Agent 的 Token 消耗:让回答更简短,让模型少读取无关内容,并提供模型路由、脚本复用等功能。

这些能力值得借鉴。但对 Cetas 来说,并不是每项能力都需要以独立插件的形式存在。

Cetas 已经做了什么?

让不必要的信息从一开始就不进入上下文

Cetas 的 run_code 可以让模型编写一段 MoonBit 程序,在沙箱中完成多次工具调用、循环和过滤,只把需要的结果返回对话。中间数据不必先发送给模型,再想办法压缩。

子代理也可以承担独立的调查任务,避免把全部工作过程堆进主会话。

控制长期对话的上下文大小

Cetas 支持自动和手动上下文压缩。对话接近模型上下文限制时,可以整理已有信息,继续工作,而不必从头开始。

减少工具与网页带来的无关内容

Cetas 使用按需加载的工具机制。内置 webfetch 也会清理网页中的部分无关 HTML,将内容转换成更适合模型阅读的 Markdown,并支持分页获取。

这些机制不等同于 Caveman 的全部功能,但它们解决了同一类问题:减少模型不需要处理的信息。

那么,还有哪些差距?

有。特别是工具执行结果的自动压缩。

例如,一次构建生成了几万行日志,但真正需要关注的可能只有几条错误。目前 Cetas 并没有为所有工具结果提供统一的、可恢复的结构化压缩机制。

这是值得继续改进的地方。

但我们不会为了缩短输出,简单地丢弃可能重要的信息。被省略的内容应当能够找回,错误诊断不能被隐藏,优化是否有效也应当用完整任务的实际成本和成功率验证。

为什么不自动选择模型?

这是有意的产品选择。

不同模型在成本、速度、上下文长度和行为上存在差异,但没有一个可靠的规则能够保证:某类任务一定应该交给某个模型。

同一个任务在不同代码库、约束条件和用户偏好下,也可能需要完全不同的能力。

因此,Cetas 让你决定使用哪个模型,以及使用什么推理强度。我们可以帮助你了解模型的能力和成本,但不会在每次提问时擅自替换它。

Cetas 应该优化你选择的模型如何工作,而不是替你决定应该使用哪个模型。

我还能使用 Caveman 吗?

可以。如果你喜欢 Caveman 简短直接的回复风格,可以只安装它的 Skill:

npx skills add JuliusBrussee/caveman

安装后可在 Cetas 的 /skills 中检查,通过 /caveman 按需启用。

这与安装 Caveman 的完整 Proxy 不同:Skill 主要调整回复风格,不会自动启用工具结果压缩等运行时优化。

你可以根据需要使用它,不必等待 Cetas 内置相同的风格。

不安装 Caveman,会错过明显的成本节省吗?

这取决于你的实际工作。

如果任务主要涉及多次文件搜索、代码检查或程序化数据处理,Cetas 已有的 run_code、子代理和上下文管理可以减少部分冗余开销。

如果任务经常产生大量日志、JSON 或测试输出,Caveman 的工具结果压缩可能有额外价值。这也是 Cetas 仍需要改进的地方。

但压缩后的文本变短,不代表整次任务一定更便宜。若模型因缺少关键信息而重新读取文件、重复运行命令,最终成本可能反而增加。

我们的目标不是让每一条工具输出尽可能短,而是让 Cetas 在不牺牲任务质量的前提下,减少不必要的 Token 消耗。

这也是为什么 Cetas 不直接打包 Caveman,却会继续吸收其中有价值的技术思路。

Navigation

Type to search…

↑↓ navigate↵ selectEsc close