用途
research 是 cavekit 工作流中的外部知识采集技能,目标是把规格(spec)所需的外部事实收集并蒸馏成 §R——持久研究日志,让后续构建建立在事实之上,而不是凭空想象。它的定位是"外部预言机":一次拉取真实事实,以极简形式记录,避免重复推导。
该技能强调,缺乏库上下文的过程只会产出"组织良好的幻觉",构建阶段会因此发明一个看似合理但错误的 API,而 §B 中会填满本可避免的缺陷。
何时研究
资料给出以下触发条件:
- 某个 §C/§I/§V 决策依赖于你并不确定的库、API、版本或模式。
- 你即将假设某个外部依赖的行为方式。
- 想法涉及拥有真实先例的领域(鉴权、支付、加密、限流)。
- /grill 留下了必须由外部世界回答的 ?。
当构建只涉及你已写好的代码时可跳过。研究随未知而扩展,与习惯相反。
四个步骤
-
SCOPE(界定范围):把未知转化为 1-3 个具体问题。例如把笼统的"研究鉴权"变成"Node ESM 用的 JWT 库,是否仍在维护?"以及"刷新令牌轮换:当前最佳实践是什么?"。界定清楚的问题能得到可引用答案,笼统的问题只能得到一篇长文。
-
GATHER(采集):使用网页搜索/文档工具,优先一手来源:官方文档、仓库、RFC、论文。两个独立来源胜过一篇自信的博客。若需大范围扫查,可派生子智能体,让原始页面不进入当前上下文,只返回蒸馏后的发现加来源。
-
DISTILL(蒸馏):把每个答案压缩成一行极简结论加来源,丢弃散文式描述。记忆中保留的是 §R 行,而不是你读过的标签页。示例格式:
R3|refresh token|rotate on use, revoke family on reuse-detect|datatracker.ietf.org/doc/html/rfc6819#section-5.2.2.3
- HAND OFF(移交):产出 §R 行并交给 spec 技能追加。若某条发现改变了约束或接口,需为 spec 标明 §C/§I 的修改。研究只提出建议,spec 负责写入。
来源纪律
- 每行都引用 URL、仓库、RFC 或论文;标识符/版本原样保留。
- 无法验证时:仍写下该行,但在发现中标注 ? 并说明。诚实标注的未验证声明是可接受的;伪装成事实的声明会成为未来的 §B。
- 来源冲突时:两条都记录,让用户选择,不要悄悄取平均。
何时停止
当每个界定过的问题都有一行带来源的 §R(或诚实的 ?),且没有任何构建决策仍建立在未检验的假设之上时,即完成。不要越过已界定问题继续研究,那只是在烧掉注意力预算。
边界
- 不写 SPEC.md,交由 spec 处理。
- 不把没有来源的发现写成事实。
- 不把原始页面倾倒进上下文或 §R。
- 不研究你可以在仓库里直接读到的东西;本地真相优于网络猜测。