ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Caveman 产品模型解析:两条本地采用路径、分层架构与证据标签体系

Caveman 产品模型解析:两条本地采用路径、分层架构与证据标签体系 Caveman 产品模型解析两条本地采用路径、分层架构与证据标签体系【免费下载链接】caveman why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman项目地址: https://gitcode.com/GitHub_Trending/caveman1/cavemanCaveman 是一个面向 AI 编码代理的 token 压缩工具集项目口号“why use many token when few token do trick”它把“减少 token 消耗”这件事拆成了可独立安装的多个层次从只改变模型输出风格的 response skill到能压缩模型输入、记录本地用量并提供上下文恢复能力的本地运行时。本文基于仓库中的 产品模型文档 展开结合 CCR 存储实现、token 计数模块、代理画像注册表 与 安全文档 等源码证据完整讲解各层的职责、许可证边界、数据流差异以及“证据标签”这一数字溯源机制帮助你在自己的工作负载上选择最小且可验证的采用路径。两条本地采用路径Caveman 提供两条可以独立运行的本地采用路径安装 response skill如果你只想要更短的回答安装cavemanskill 即可。它不压缩任何输入、文件或思考 token只改变模型的输出风格。安装本地运行时runtime如果你希望减少实际发送给模型的上下文、保留本地用量度量、或给 agent 提供恢复工具则安装 Engine 本地 proxy 组成的本地运行时。两条路径可以互不依赖地单独运行也可以叠加使用。这种分层设计意味着你不必一次性引入全部组件——可以只装 skill也可以只接 proxy按需选择。层次地图职责、账号要求与许可证产品模型文档给出的核心结构是一张层次地图完整继承如下层职责需要账号许可证Skill、hooks 与 plugins要求 agent 用更少废话回答同时保留技术文本否MITCLI安装组件、启动 agent、暴露本地命令、连接可选的托管命令本地命令不需要MITEngine检测 payload 形状、应用匹配的变换、估算 token 数、存储恢复记录否BSL 1.1本地 proxy将 provider 请求经由 Engine 路由写入本地用量记录否BSL 1.1MCP、memory、browser、shrink 二进制暴露恢复能力与专用本地上下文工具否混合见 LICENSING.mdSDK 与 Agent SDK为应用代码提供 tracing、上下文组装、工具、evals 与 provider 路由本地使用不需要账号MIT连接命令connected commands访问已认证的托管项目是CLI 本身保持 MIT许可证边界MIT 与 BSL 1.1 的分界仓库采用分许可证模型边界定义在 LICENSING.md根LICENSE是 MIT 许可附带一段顶层说明把 Engine 关联目录指向LICENSE.BSLLICENSE.BSL是 Caveman Engine 关联代码的 BSL-1.1 正式文本按目录看skills/、packages/cli/、packages/sdk/typescript/、packages/sdk/python/、packages/agent/、shared/provider-catalog/等采用面adoption surface是MIT而engine/、proxy/、mcp/、shrink/、mem/Go 核心、shared/platform/等 Engine 关联代码是BSL-1.1。BSL 代码是 source-available源码可见并带有Additional Use Grant允许内部评估、本地开发、CI 测试以及第一方自托管生产使用。但若把 Caveman 或其功能作为托管、管理式或嵌入式服务提供给第三方则需要商业许可。此外BSL 版本在2030-06-21或该版本首次公开分发四周年以先到者为准转为 Apache 2.0。产品模型文档因此给出明确提示在把 Engine 关联功能提供给第三方之前先阅读 许可证说明。响应压缩caveman skill 的工作原理cavemanskill 只改变响应风格去掉填充词、缩短常见措辞、在更高压缩级别下允许句子片段。同时它严格保护技术内容——代码块、精确错误信息、命令、标识符和技术细节保持原样。该 skill 定义了六个强度级别可切换/caveman lite|full|full|ultra|wenyan-lite|wenyan-full|wenyan-ultra|off默认级别是full。各级别的变化范围级别变化内容lite无填充词/无模糊措辞。保留冠词与完整句子专业但紧凑full去冠词、允许片段、用短同义词。典型 caveman 风格不做工具调用叙述ultra在因果不明确不致歧义时去掉连接词。一个词能表达就不写短语。禁用自造缩写与箭头→wenyan-lite / full / ultra文言文级别从半文言到极简文言压缩的是字符数而非 token 数skill 的规则里有一些值得注意的细节禁止发明缩写cfg/impl/req/res/fn——tokenizer 会把它们切成和完整词一样的 token零节省但增加解码成本同样禁止因果箭头→。Auto-Clarity 规则遇到安全警告、不可逆操作确认、多步序列、或压缩本身会造成技术歧义时自动退出 caveman 风格用正常语言写清楚之后恢复。语言保持始终用用户的主语言回复只压缩风格不切换语言技术术语、代码、API 名、CLI 命令一律原样保留。响应路径的诚实成本这条路径影响的是模型输出但它的指令文本本身也消耗输入 token。按 HONEST-NUMBERS.md 的实测口径skill 规则约 5 KB 的 SKILL.md每轮注入上下文约增加1–1.5k 输入 token/轮它对输入 token 的减少是0%。也就是说短任务开启 skill 后总 token 可能更高。文档给出的正确比较方式是对等价任务比较provider 报告的 usage而不是只看输出长度。如果固定提示开销超过了输出节省就该在这个工作负载上关闭 Caveman。上下文压缩CCR 恢复序列与本地 proxy本地运行时改变的是模型输入。agent 往往会反复发送旧的工具结果、日志、文件、schema 和历史记录。Engine 对每个候选内容做分类并应用内容专属的压缩器JSON、日志、表格、工具 schema 等各有对应实现见 engine/compressors/ 目录。有损结果的固定四步序列每一个有损lossy压缩结果都遵循同一序列把原始字节完整存入 Caveman Context RecoveryCCR返回一个更小的、模型可见的表示附带一个可恢复原始内容的 handle如果存储、解析或大小检查失败则原样透传原始字节pass-through。第 4 条是整个设计的底线任何检查失败都不会破坏数据。CCR 存储的包注释 明确写道CCR 保存每一次有损压缩的精确原始字节以 handle 为键retrieve(handle)字节级返回原文nothing the engine compresses is ever destroyed。从源码可以看到 handle 是内容寻址的——对原始字节做 sha256这使得压缩具有幂等性同一 payload 压缩两次得到同一个 handle 且只存一份。Store 还定义了ErrBudgetExceeded当本地存储的 payload 预算被超出时新的恢复记录在发布有损字节之前就被拒绝已有 handle 保持完整可检索调用方必须回退到 pass-through。SECURITY.md 补充了具体数值CCR 默认保留预算为512 MiB可用CAVEMAN_CCR_MAX_BYTES调整CCR 的 SQLite 文件被强制为0600权限并拒绝不安全的符号链接路径已有恢复 handle 永不被淘汰预算耗尽时新的恢复写入失败、有损变换回退到透传。本地 proxyloopback、SQLite 与 inferred 度量本地 proxy 监听loopback地址caveman start默认127.0.0.1:8787用调用者自己的 provider 凭证转发请求并把用量写入本地 SQLite 数据库。SECURITY.md 说明独立 proxy 之所以接受每一个入站请求是因为“loopback 单操作员隔离”本身就是安全边界——启动时会拒绝非 loopback 的--host和CAVEMAN_LISTEN取值。本地 token 减少数的 basis 一律标记为inferred。原因在于 engine/tokens/tokens.go 的包注释Engine 的计数是本地估算默认计数器是一个真实的离线 BPE tokenizerOpenAI o200k_base词表内嵌在二进制里计数确定性且完全离线而 provider 的计费计数在下游才是权威值。这也意味着本地度量与 provider 账单可能不一致两者不能互相换算。保留现有 agentwrap 机制与声明式画像CLI 通过改变子进程的 provider endpoint来包装wrap一个已安装的编码 agent——它不替换 agent 自身的循环只把子进程流量指到本地 gateway。七个声明式启动目标声明式画像declarative profiles描述了七个当前支持的启动目标Claude Code、Codex、Gemini CLI、Aider、Hermes、OpenClaw 和 opencode。画像定义在 agents/profiles/ 下每个 agent 一个 JSON 文件由编译器 agents/compile.mjs 按 schema.json 校验后生成 agents/agents.json。从 agents.json 的实际内容可以看到这一“画像是数据而非代码”的设计claude画像wire_protocol为anthropic-messagesinjection.method为env通过设置ANTHROPIC_BASE_URL{{cave_base_url}}和ANTHROPIC_AUTH_TOKEN{{cave_api_key}}两个环境变量把 Claude Code 指到 gatewayaider画像wire_protocol为openai-chat注入OPENAI_API_BASE{{cave_base_url}}/openai/v1codex画像wire_protocol为openai-responses。schema.json 中还有几个保证“诚实性”的机制值得留意wire_protocol是封闭枚举anthropic-messages/openai-chat/openai-responses/gemini-generatecontent未知值会让编译直接失败“no guessed protocol”tested_agent_version记录画像验证过的确切二进制版本而injection_completeness标签declarative/builder-assisted/code-only会被编译器与 CLI 实际 builder 交叉核对虚报declarative会 fail closed。新增一个 agent 支持本质上只是新增一个 JSON 文件。应用侧接入SDK 配方应用程序也可以通过修改 provider SDK 的 base URL来使用同一个 proxy。仓库 integrations/recipes/ 下提供了可直接复制的配方覆盖AnthropicPython/TS、OpenAIPython/TS、Google Gen AI、Vercel AI SDK、LangChain、LiteLLM、CrewAI、Pydantic AI、OpenAI Agents SDK 以及 raw HTTP例如 anthropic-ts.json、openai-py.json、curl.json 等。查看命令caveman tools sdk caveman snippets caveman snippets openai-ts --app my-service本地边界与连接边界本地压缩不需要 Caveman 账号。登录sign in只是增加连接命令connected commands并可能持久化一个托管 gateway URL。命令发现command discovery刻意把这两个表面分开caveman help tools # 本地命令 caveman help cloud # 需要认证的命令两种流量的数据流不同本地 wrap请求内容发送给所选模型 providerCCR 原始字节留在本地磁盘~/.caveman/ccr.db属于敏感文件可能包含 prompt、内嵌凭证和工具结果托管 gatewaymanaged traffic作为代理转发时必然接收请求和响应内容请求与响应会经 Caveman Cloud 和所选 provider 中转。SECURITY.md 用一张数据流总结表列出了全部表面skill/本地 proxy/SDK observe-only/managed gateway/匿名遥测/认证同步的内容去向并明确提示“不要把 managed 模式当作 local-only”。另外匿名 CLI 遥测默认开启但可退出caveman telemetry off或DO_NOT_TRACK1且不含 prompt/补全正文。证据标签数字是如何被产生的Caveman 使用一组标签来标识每个数字的产生方式避免不同来源的数字被混为一谈inferred本地估算通常来自离线o200k_basetokenizer 或目录列表价即上文 engine/tokens/ 的离线 BPE 计数provider-reported模型 provider 返回的 usage 计数器benchmark_counterfactual在固定方法下得到的配对基准结果verified一种连接态connected证据状态本地工具永远不会签发它。关键规则是这些标签之间不能通过措辞互相转换。一个本地估算即使结果看起来再可信也仍然是inferred——它不会“升级”成 provider-reported 或 verified。这条规则保证了所有节省数字都可以追溯到其产生机制也与 HONEST-NUMBERS.md 的立场一致只有提交了可审查的原始配对数据并经过独立质量评审才发布削减数字。选择最小路径产品模型文档给出的收尾决策表完整继承如下建议从其中一层开始目标命令或组件更短的回答安装 skill运行/caveman字节级一致的本地计量caveman wrap --off agent可恢复的本地压缩caveman agent为支持的视觉模型渲染密集文本caveman wrap --pixel agentProvider SDK 集成修改 base URL 或使用caveman-ai/sdk持久化本地记忆caveman tools mem压缩的浏览器上下文caveman tools browse构建 TypeScript agentnpm create caveman-ai/agentlatest最后的建议只有一句话从一个层次开始只有当某一层在你工作负载上测得的结果超过其开销时再加下一层Start with one layer. Add another only when its measured result clears its overhead for your workload。这正是整套产品模型的核心方法论——每一层独立可用、独立计量、独立验证压缩收益必须用 provider 账单级别的 A/B 数据说话而不是靠标签上的措辞。【免费下载链接】caveman why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman项目地址: https://gitcode.com/GitHub_Trending/caveman1/caveman创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表