用途:Dive 用于深入调查项目中的任意问题,从业务逻辑到技术实现,通过分层搜索找到有证据支撑的答案,并以 file:line 引用标注来源。其核心理念是“证据优先于直觉”,认为只有当前代码库才能反映当前真相。
主要能力:采用三层搜索顺序——第一层文档(项目声称做什么)、第二层代码(项目实际做什么)、第三层深度分析(各部分如何连接)。当文档与代码不一致时,代码始终是行为的正确依据,文档反映意图或过时理解,差异本身即为有价值的发现。证据存在层级:运行中的代码可靠性最高,其次是测试、实现、类型定义、注释、文档、提交信息。多个来源一致则置信度高,单一来源需用另一层验证。
使用方式:遵循 Dive 循环——理解问题、按需分层搜索、收集带 file:line 引用的证据、综合各来源信息、给出直接答案加证据与不确定性说明。不同问题采用不同策略,例如“X 如何工作”从代码入手并用测试验证,“为什么这样设计”从文档或 ADR 入手并查历史,“谁调用了 X”从 grep 入手追踪引用,“X 何时变更”从 git log 入手。可按需加载 reference/search-strategies.md、reference/code-search-patterns.md、reference/evidence-collection.md 等参考文件,而非预先全部加载。
适用场景:需要基于证据回答项目问题、核对文档与代码是否一致、追踪跨组件调用关系、定位变更历史等调查任务。
限制:资料未提供具体安装命令、平台支持、收费方式或性能数据。深度分析耗时且消耗上下文,仅在文档与代码两层无法收敛或涉及跨组件问题时才使用。找不到明确证据时,应说明已搜索内容、已发现内容与缺失内容,并将假设明确标注为假设。