| name | iterative-retrieval |
| description | 为 subagent、代码探索、RAG 式检索和大仓库上下文收集设计迭代检索闭环。用于初始上下文不明确、一次性读全仓会污染上下文、子代理不知道该读哪些文件、或搜索结果需要逐轮收敛时。 |
Iterative Retrieval
这个 skill 解决子代理和大仓库探索的核心问题:开始时不知道要读什么,但把所有内容都塞进上下文会让模型变差。
四阶段闭环
最多跑 3 轮,每轮都要缩小范围。
- Dispatch:用当前任务生成第一批搜索条件,包括路径 glob、关键词、排除目录和已知入口。
- Evaluate:按相关性给候选文件分级,并记录为什么相关、还缺什么上下文。
- Refine:从高相关文件里提取项目术语、调用链、类型名和目录模式,更新下一轮搜索条件。
- Loop / Stop:如果已有足够高相关上下文,停止;否则进入下一轮。三轮后仍不足时,带着最佳证据继续,并明确缺口。
相关性分级
| 等级 | 判断 | 动作 |
|---|
| 高 | 直接实现目标行为、核心调用链或关键配置 | 读细节并保留路径 |
| 中 | 提供同类模式、类型、测试或接口契约 | 只抽取模式或术语 |
| 低 | 只是同名或旁路引用 | 记录后排除 |
| 无 | 与任务无关 | 加入排除条件 |
子代理任务模板
目标:[一句话说明要找什么]
范围:[允许搜索的目录/文件]
排除:[node_modules、dist、生成物、无关目录]
初始关键词:[3-8 个]
请最多执行 3 轮检索:
1. 每轮列出查询条件。
2. 对候选文件标注高/中/低/无相关性和理由。
3. 根据发现更新下一轮关键词或路径。
4. 最后只回传:关键文件、证据、缺失上下文、建议下一步。
不要回传完整 grep 输出、目录树或长日志。
回传格式
## 结论
[是否已找到足够上下文]
## 关键文件
- `path/to/file`:[为什么高相关]
## 证据
- `path/to/file:line`:[可复核事实]
## 缺口
- [仍缺的文件/术语/接口]
## 下一步
- [最小可执行动作]
停止条件
- 已找到 2-5 个高相关文件,且缺口不影响当前决策。
- 下一轮搜索只会扩大噪音,没有新的术语或路径线索。
- 任务需要用户或外部系统信息,继续本地检索无法推进。
反模式
- 一开始就读取全仓、完整日志或完整搜索结果。
- 只按关键词命中数排序,不解释相关性。
- 子代理返回探索过程而不是压缩后的证据。
- 明明缺关键上下文,却假装已经足够。