Back to Skills

iterative-retrieval

verified

Pattern for progressively refining context retrieval to solve the subagent context problem

View on GitHub

Repository

xu-xiang/everything-claude-code-zh
25stars

docs/zh-TW/skills/iterative-retrieval/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/xu-xiang/everything-claude-code-zh/blob/6f87d43c19217760ec28aecdf442ce57f9825f66/docs/zh-TW/skills/iterative-retrieval/SKILL.md -a claude-code --skill iterative-retrieval

Installation paths:

Claude
.claude/skills/iterative-retrieval/
Powered by add-skill CLI

Instructions

# 迭代檢索模式

解決多 agent 工作流程中的「上下文問題」,其中子 agents 在開始工作之前不知道需要什麼上下文。

## 問題

子 agents 以有限上下文產生。它們不知道:
- 哪些檔案包含相關程式碼
- 程式碼庫中存在什麼模式
- 專案使用什麼術語

標準方法失敗:
- **傳送所有內容**:超過上下文限制
- **不傳送內容**:Agent 缺乏關鍵資訊
- **猜測需要什麼**:經常錯誤

## 解決方案:迭代檢索

一個漸進精煉上下文的 4 階段循環:

```
┌─────────────────────────────────────────────┐
│                                             │
│   ┌──────────┐      ┌──────────┐            │
│   │ DISPATCH │─────▶│ EVALUATE │            │
│   └──────────┘      └──────────┘            │
│        ▲                  │                 │
│        │                  ▼                 │
│   ┌──────────┐      ┌──────────┐            │
│   │   LOOP   │◀─────│  REFINE  │            │
│   └──────────┘      └──────────┘            │
│                                             │
│        最多 3 個循環,然後繼續               │
└─────────────────────────────────────────────┘
```

### 階段 1:DISPATCH

初始廣泛查詢以收集候選檔案:

```javascript
// 從高層意圖開始
const initialQuery = {
  patterns: ['src/**/*.ts', 'lib/**/*.ts'],
  keywords: ['authentication', 'user', 'session'],
  excludes: ['*.test.ts', '*.spec.ts']
};

// 派遣到檢索 agent
const candidates = await retrieveFiles(initialQuery);
```

### 階段 2:EVALUATE

評估檢索內容的相關性:

```javascript
function evaluateRelevance(files, task) {
  return files.map(file => ({
    path: file.path,
    relevance: scoreRelevance(file.content, task),
    reason: explainRelevance(file.content, task),
    missingContext: identifyGaps(file.content, task)
  }));
}
```

評分標準:
- **高(0.8-1.0)**:直接實作目標功能
- **中(0.5-0.7)**:包含相關模式或類型
- **低(0.2-0.4)**:間接相關
- **無(0-0.2)**:不相關,排除

### 階段 3:REFINE

基於評估更新搜尋標準:

```javascript
function refineQuery(evaluation, previousQuery) {
  return {
    // 新增在高相關性檔案中發現的新模式
    patterns: [...previousQuery.patterns, ...extractPatterns(evaluation)],

    // 新增在程式碼庫中找到的術語
    keywords: [...previousQuery.keywords, ...extractKeywords(evaluation)],

    // 排除確認不相關的路徑
    excludes: [...previousQuery.excludes, ...evaluation
      .filter(e => e.relevance < 0.2)
      .map(e

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
3594 chars