发布时间:2026/9/7 8:19:04
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/9/7 8:19:04

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

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

2026/9/7 8:19:04

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

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

2026/9/7 8:19:04

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

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

2026/9/7 9:19:09

TVA具身架构驱动的自然语言指令高效解析方法

前沿技术探索:TVA智能体(简称TVA)TVA智能体(亦称“AI智能体视觉”或“TVA视觉智能体”)是依托Transformer架构与“因式智能体”理论构建的通用视觉技术体系。它有机融合深度强化学习(DRL)、卷积…

2026/9/7 9:19:09

STM32通过SPI读取MAX6675热电偶温度:驱动实现与踩坑记录

简介:面向STM32开发者和嵌入式初学者,这是一份基于STM32F103驱动MAX6675测温芯片的完整例程,解决K型热电偶的SPI通信读取与温度解析问题。工程共96个文件,压缩包仅308KB;以38个C源文件和39个头文件为主体,覆…

2026/9/7 9:19:09

基于IIO子系统与高速ADC的嵌入式频谱示波器实现

简介:这是一款基于Linux平台、采用GTK图形库与C开发的频谱示波器软件,主要服务于电子工程、通信技术与信号处理领域的开发者和研究人员,用于连接IIO框架下的信号分析设备,完成实时数据采集、时频变换与频谱特征观察。资源包内共77…

2026/9/7 9:19:09

ComfyUI本地部署Krea2写真工作流:角色一致与唯美画质实战指南

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

2026/9/7 0:47:43

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/7 0:14:19

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/7 0:14:17

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/7 0:03:36

基于YOLOv8和PyQt5的麦穗稻穗检测识别系统设计与实现

这次我们来看一个把目标检测算法和桌面端工具结合得很典型的项目:基于 YOLOv8 PyQt5 的麦穗稻穗检测识别系统。这个项目本身不是新概念,但它的价值在于落地形态很完整。YOLOv8 负责核心的麦穗稻穗目标检测,PyQt5 负责提供可视化的桌面交互界…

2026/9/7 0:03:36

UL 1642锂电池安全标准全解析:测试项目、认证流程与避坑指南

简介:UL 1642是锂电池安全领域的重要规范,本中文版资源适合锂电池制造商、检测机构工程师及产品认证相关人员阅读,用于理解电池在设计与制造层面的安全要求、测试方法与合规要点。资源共1个PDF文件,压缩包大小834KB,便…

2026/9/7 0:03:36

BS EN 13814-1-2019游乐设施安全标准:设计与制造核心要点解析

简介:BS EN 13814-1:2019是英国采纳欧洲标准EN 13814-1:2019的正式版本,由BSI标准出版,重点规定游乐设施和游乐设备在设计与制造环节的安全准则,与BS EN 13814-2:2019、BS EN 13814-3:2019共同取代旧版BS EN 13814:2004。该标准面…

2026/9/6 11:40:10

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/6 19:33:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/6 10:19:40

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…