caveman cavecrew-investigator:只读代码定位子代理与压缩输出契约设计

发布时间:2026/10/26 17:03:45

caveman cavecrew-investigator:只读代码定位子代理与压缩输出契约设计 caveman cavecrew-investigator只读代码定位子代理与压缩输出契约设计【免费下载链接】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在大型仓库中做代码探查主代理上下文往往还没开始写代码就被搜索结果耗尽。caveman 项目的cavecrew-investigator是一个为 Claude Code 定义的只读子代理subagent它专门回答X 定义在哪、谁在调用 Y、Z 有哪些用法、这个目录长什么样这类问题并以 caveman 压缩格式返回file:line表拒绝提供任何修复建议。读完本文你将理解该子代理的完整定义frontmatter、职责边界、输出契约、工具策略、拒绝话术以及它的输出格式如何在仓库真实源码中得到验证。定义文件与 frontmatter子代理定义位于 cavecrew-investigator.md遵循 Claude Code 的 agent markdown 格式YAML frontmatter 声明元数据正文即系统提示词。frontmatter 全文如下--- name: cavecrew-investigator description: Read-only code locator. Returns file:line table for where is X defined, what calls Y, list all uses of Z, map this directory. Output is caveman-compressed so the main thread eats ~60% fewer tokens than vanilla Explore. Refuses to suggest fixes. tools: [Read, Grep, Glob, Bash] model: haiku ---各字段的作用字段取值含义namecavecrew-investigator子代理标识符主线程通过它发起委派description只读代码定位器声明适用任务面与不提出修复的行为契约其中~60% fewer tokens是定义文件自身的预期表述toolsRead, Grep, Glob, Bash工具白名单——注意有Read但没有Edit/Write从权限层面强制只读modelhaiku定位任务不需要最强模型用小模型进一步降低成本可通过环境变量覆盖见后文正文第一行是全局风格指令Caveman-ultra. Drop articles/filler/hedging. Code/symbols/paths exact, backticked. Lead with answer.即丢弃冠词、填充词和模糊限定语代码、符号、路径必须精确并加反引号先给答案。这与 caveman 项目少说人话废话、省 token的整体设计一致。职责边界Locate. Report. Stop.原文档对 Job 的定义只有两句Locate. Report. Stop. Never edit, never propose fix.配合 Refusals 一节当用户越界提问时子代理按固定话术拒绝Asked to fix → Read-only. Spawn cavecrew-builder. Asked to design → Read-only. Spawn cavecrew-builder or use main thread.这里有两个设计意图权限与提示词双重约束。工具白名单里没有Edit/Write即使模型想改代码也做不到提示词层面则要求它永不提议修复避免输出里混入主线程不需要的改造方案。拒绝即路由。Read-only. Spawn cavecrew-builder.不是冷冰冰的拒绝而是告诉主线程下一步该找谁——cavecrew-buildercavecrew-builder.md正是 cavecrew 三件套中负责1-2 个文件的外科编辑的成员。定位、编辑、审查三个子代理各司其职互不越权。输出契约可 grep 的 file:line 表## Output一节定义了严格的返回格式这是整个设计中最关键的部分path:line — symbol — ≤6 word note path:line — symbol — ≤6 word note配套规则逐条解释三行以上才加分组头Defs:/Refs:/Callers:/Tests:/Imports:/Sites:且只用一个单词单条命中一行输出不加头零命中固定返回No match.不允许编造引用末行统计如2 defs, 5 refs.命中数为 0 或 1 时省略统计行。这套格式不是写得短而已它是给主线程消费的机器可读契约。cavecrew 技能文档在 Output contracts 中明确写道Always file-path-first, line-number-attached, backticked symbols. Safe to grep withpath:\d.也就是说主线程或人拿到 investigator 的输出后可以直接用path:\d正则抽取所有位置引用、用词法头Defs:等切分组别——因为格式被钉死了下游无需自然语言理解。对比之下Anthropic 原生的Explore返回散文式描述无法程序化解析。工具策略四种工具各有分工## Tools一节给出各工具的分工Grep for symbols/strings. Glob for paths. Read only specific ranges. Bash for git log -S/git grep/find when faster.要点拆解Grep负责符号/字符串定位绝大多数 where is X defined 靠正则搜索即可不必整文件读取Glob负责路径模式匹配map this directory 类任务用它而非逐个ReadRead只读特定行区间避免把整个文件灌进子代理上下文——子代理虽然不占主线程预算但它自己的上下文同样消耗 token 成本Bash是加速器而非替代只允许git log -S定位引入符号的提交、git grep跨文件/含已删除文件的搜索、find文件系统层面查找这类比 Grep 工具更快的场景。与同家族成员对比可以看得更清楚cavecrew-builder的工具列表是Read, Edit, Write, Grep, Glob刻意不含 Bashcavecrew-builder.md 写明 NoBashavailable — cannot shell out, cannot push, cannot delete而cavecrew-reviewercavecrew-reviewer.md虽然带Bash但限定only forgit diff/git log -p/git showNo mutating commands。investigator 的Bash权限介于两者之间能执行但只用于只读的搜索加速命令。Auto-clarity压缩模式的例外通道Security warnings, destructive ops → write normal English. Resume after.这是 cavecrew 三个子代理共享的规则技能文档称之为 Auto-clarity (inherited)一旦涉及安全警告或不可逆/破坏性操作的确认子代理必须暂时退出 caveman 压缩风格、改用正常英文防止碎片化短语被误读说完再切回压缩风格。对只读的 investigator 而言典型触发场景是在定位结果中发现明显的安全漏洞如符号链接逃逸、凭据外泄路径此时宁可多花几个 token 也要把风险说清楚。用仓库真实源码验证一个示例原文档自带一个端到端示例文档中的行号是该示例所在仓库布局下的数值此处按当前仓库实际行号重新验证Q: where symlink-safe flag write?Defs: - hooks/caveman-config.js:81 — safeWriteFlag — atomic write w/ O_NOFOLLOW - hooks/caveman-config.js:160 — readFlag — paired reader Callers: - hooks/caveman-mode-tracker.js:33,87 - hooks/caveman-activate.js:40 Tests: - tests/test_symlink_flag.js — 12 cases 2 defs, 3 callers, 1 test file.用同一问题在当前仓库跑一遍定位输出应当形如按仓库实际位置Defs: - src/hooks/caveman-config.js:168 — safeWriteFlag — atomic write w/ O_NOFOLLOW - src/hooks/caveman-config.js:289 — readFlag — symlink-refusing paired reader Callers: - src/hooks/caveman-activate.js:171,448 - src/hooks/caveman-mode-tracker.js:86,88 - src/hooks/caveman-stats.js:666 Tests: - tests/test_symlink_flag.js 2 defs, N callers, 1 test file.每一条都能在源码中核到safeWriteFlag定义于 caveman-config.js。其≤6 词注释里的atomic write w/ O_NOFOLLOW精确对应实现以O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW标志、0o600权限写临时文件再renameSync原子替换父目录若是符号链接先realpath并校验目标属主/位于 home 内rename 遇EPERM/EBUSY等瞬时锁冲突时用Atomics.wait阻塞退避、重试 3 次。readFlag定义于 caveman-config.js源码注释写明它与safeWriteFlag对称拒绝符号链接、以MAX_FLAG_BYTES 64硬上限封顶、白名单校验取值——防止本地攻击者把标志文件换成指向~/.ssh/id_rsa的符号链接实施信息外泄。调用方在src/hooks/caveman-activate.js会话激活时落盘模式标志与src/hooks/caveman-mode-tracker.js每轮追踪中确实存在且都先对safeWriteFlag做了typeof function的防御性检查再解构使用。测试位于 test_symlink_flag.js文件头注释说明它覆盖 issue #207 的修复safeWriteFlag refuses flag writes when ~/.claude is a symlink。这个对照正好展示了输出契约的价值一份 7 行的定位报告每行path:line都可直接跳转验证主线程不需要再花 2k token 的散文来描述同样的发现。在 cavecrew 体系中的位置与配套机制investigator 是 cavecrew 三件套investigator / builder / reviewer的眼睛。cavecrew 技能文档给出的选型决策表第一行就是它的地盘任务使用Where is X defined / what calls Y / list uses of Zcavecrew-investigator同上但还想要建议/架构评论Explore原生外科手术式编辑≤2 个文件cavecrew-builder新功能 / 3 文件 / 跨切面重构主线程审查 diff/分支/文件cavecrew-reviewer你已知的单行答案主线程不委派经验法则如果你希望子代理输出以 1/3 的 token 返回选 cavecrew如果希望散文选原生代理。技能文档还给出了三种典型编排模式investigator 是前两种的起点Locate → fix → verify最常用investigator 返回位置清单 → 主线程挑 1-2 处交给 builder 修改 → reviewer 审 diffParallel scout探查面很宽时一条消息里并行发起 2-3 个 investigator 调用从 defs / callers / tests 不同角度分头扫主线程聚合Single-shot edit位置已知时直接跳过 investigator把精确path:line交给 builder。对应的反模式同样值得记住不要用 investigator→builder 链去啃 5 个文件的重构builder 会返回too-big.终止行白耗一个回合位置未知时直接派 builder 会让主线程浪费 token 反复传上下文。最后是两个配套机制见 exploration-and-delegation 技术文档模型覆盖三个子代理都支持环境变量覆盖模型——CAVECREW_INVESTIGATOR_MODEL同理CAVECREW_BUILDER_MODEL、CAVECREW_REVIEWER_MODEL。覆盖只会补丁安装后 agent frontmatter 的model行空变量不生效插件更新或重装可能把补丁冲掉。也就是说定义文件里的model: haiku只是默认值可按机器条件上调可选委派通道CLI 在execute.delegate开启时可注册caveman-delegateMCP servercaveman tools config set execute.delegate truecaveman tools mcp install claude --server caveman-delegate用于把委派工作显式化——它是 opt-in 的因为委派消耗独立的权限与模型用量且沙箱行为最终由宿主代理配置决定。小结cavecrew-investigator的设计可以浓缩成四句话工具白名单砍掉写权限提示词砍掉修复建议输出契约砍掉散文模型选择砍掉成本。它的价值不在于搜索得更快而在于把子代理返回物变成主线程可直接解析、可直接验证的file:line证据表——每一行都能在 src/hooks/caveman-config.js 这类真实源码里核到行号。对于需要在长会话中反复探查代码的 Claude Code 工作流这套只读定位 压缩输出 拒绝越权的组合是控制主上下文膨胀的一个可复制的参考实现。【免费下载链接】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),仅供参考
延伸阅读

更多相关文章

2026/10/25 13:57:06

AutoHotkey脚本编辑器推荐:SciTE4AutoHotkey安装配置与高效使用

简介:SciTE4Autohotkey是一款专为AutoHotkey脚本语言设计的源代码编辑器,基于Scintilla组件构建,面向需要高效编写自动化脚本、热键映射及系统级操作的开发者,解决了通用编辑器对AutoHotkey支持不足的问题,带来函数自动…

2026/10/25 2:03:07

FastReport.Net 4.0报表开发实战:从安装部署到模板设计

简介:这份资源是围绕 FastReport.Net 4.0 与 V2013.2.5 报表组件的安装、破解及实践验证整合包,主要面向在 Visual Studio 2010/2012 下使用 C# 或 VB.NET 开发 WinForm、ASP.NET 网页报表的开发者,也适合刚接触 FastReport 的初学者。压缩包…

2026/10/25 21:52:18

ComfyUI新手教程:从零搭建节点式文生图工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 16:59:45

POJ 3530(A Modular Arithmetic Challenge-类欧几里得)

Given four positive integers M, D, L, R, your task is to find the minimal non-negative integer x which satisfies L ≤ ( D x mod M ) ≤ R, where mod is the remainder operation 类欧几里得&#xff0c;复杂度log #include<cstdio> #include<cstring> #…

2026/10/26 16:59:45

PyTorch实现gPINN求解Allen-Cahn方程的梯度增强技术

1. 项目背景与核心挑战Allen-Cahn方程作为描述相变过程的经典非线性偏微分方程&#xff0c;在材料科学、生物膜动力学等领域有广泛应用。传统数值方法在处理具有多非常陡峭区域的Allen-Cahn方程时&#xff0c;往往面临网格划分困难、计算量爆炸等问题。我们团队在PyTorch框架下…

2026/10/26 16:59:45

C语言中前置++与后置++的底层原理与最佳实践

1. 前置与后置的本质区别 在C语言中&#xff0c;运算符的前置&#xff08;i&#xff09;和后置&#xff08;i&#xff09;形式虽然都能实现变量自增1的效果&#xff0c;但它们的底层机制和编译行为存在本质差异。理解这个差异是正确使用它们的关键。 1.1 运算符的返回值差异 …

2026/10/26 16:59:45

Python爬虫实战:安居客租房数据抓取、清洗与分析全链路

简介&#xff1a;这份资源围绕安居客武汉地区出租房信息展开&#xff0c;完整覆盖从数据爬取、清洗到分析可视化的全流程&#xff0c;适合正在学习Python爬虫、需要完成课程设计或毕业设计的学生&#xff0c;以及想了解真实数据采集项目如何落地的人群。压缩包共14个文件&#…

2026/10/26 16:59:45

马尾扎法进阶指南:从高颅顶到发际线守护的实用技巧

1. 马尾贴头皮的真相&#xff1a;为什么别人扎的是氛围感&#xff0c;你扎的是紧箍咒1.1 时间差、手感差和“反光发缝”先说不客气的大实话&#xff1a;马尾人人会扎&#xff0c;但扎得好看是另一门手艺。我翻自己过去一年的照片&#xff0c;发现十个造型里至少有六个是马尾出镜…

2026/10/26 16:54:45

cc-safety-net:前端运行时风险的CLI守门员

1. 这不是又一个 CLI 工具介绍——cc-safety-net 是什么&#xff0c;为什么它值得你花 5 分钟认真读完“cc-safety-net”这个名字乍看像某个内部代号&#xff0c;甚至容易被误读成“CC 安全网”或“Code Coverage Safety Net”。但实际它是一个轻量、专注、不依赖全局环境的前端…

2026/10/26 0:20:20

全国计算机二级C语言真题PDF高效刷题指南

简介&#xff1a;这份PDF是全国计算机二级C语言考试的试题与答案解析&#xff0c;专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/26 1:53:47

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介&#xff1a;一份以实战为导向的Python爬虫入门资源&#xff0c;面向具备基本编程基础、希望快速掌握网络数据抓取的初学者&#xff0c;可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档&#xff0c;完整演示从网页中提取 标题…

2026/10/26 0:20:17

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介&#xff1a;这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档&#xff0c;压缩包大小七十八KB&#xff0c;内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开&#xff1a;先构造一个极点位于单位圆内…

2026/10/26 0:00:48

Nested Learning:解决AI灾难性遗忘的分层记忆架构

1. 为什么AI需要"记忆"能力&#xff1f;在传统深度学习模型中&#xff0c;我们常遇到一个根本性问题&#xff1a;模型在处理新任务时&#xff0c;往往会完全遗忘之前学到的知识。这种现象被业界称为"灾难性遗忘"(Catastrophic Forgetting)。想象一下&#…

2026/10/26 0:00:48

企业级大模型应用:OCR预处理、Dify编排与DeepSeek落地实战

1. 这不是“用大模型”&#xff0c;而是重构工作流的起点“大模型的应用和工具”——这八个字现在被贴在无数技术分享、招聘JD、内部立项书的标题栏里&#xff0c;但绝大多数人点进去后看到的&#xff0c;是零散的API调用示例、几个开源UI截图、或者一句“接入LLM就能降本增效”…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑