通过分阶段优化上下文检索,帮助子代理获得更准确完整的任务信息
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "iterative-retrieval" 技能: 1. 下载 https://raw.githubusercontent.com/affaan-m/ECC/main/docs/ja-JP/skills/iterative-retrieval/SKILL.md 2. 保存为 ~/.claude/skills/iterative-retrieval/SKILL.md 3. 装好后重载技能,告诉我可以用了
请使用 iterative-retrieval 模式帮助代码子代理完成重构任务:先根据需求识别关键模块,再检索相关文件、接口定义和最近提交记录;如果信息不足,继续提出下一轮检索计划,直到上下文足够支持修改方案。
一份分阶段检索与补充上下文的计划,并汇总出足以支持重构的关键信息。
我需要让研究子代理分析某主题,请采用 iterative-retrieval:先生成初始检索问题,整理第一轮结果中的缺口,再针对术语定义、关键证据和冲突观点进行第二轮与第三轮检索,最后输出可靠的上下文摘要。
按轮次展开的检索过程、信息缺口说明,以及一份更完整可信的研究上下文摘要。
子代理经常因上下文不足而答非所问。请用 iterative-retrieval 设计一个排查流程:先判断缺失的是业务背景、历史对话还是外部资料,再逐步检索并验证每类信息,最后给出减少回答偏差的上下文构建方案。
一个可执行的诊断与检索流程,并附带降低子代理偏差的上下文组装建议。
マルチエージェントワークフローにおける「コンテキスト問題」を解決します。サブエージェントは作業を開始するまで、どのコンテキストが必要かわかりません。
サブエージェントは限定的なコンテキストで起動されます。以下を知りません:
標準的なアプローチは失敗します:
コンテキストを段階的に洗練する4フェーズのループ:
┌─────────────────────────────────────────────┐
│ │
│ ┌──────────┐ ┌──────────┐ │
│ │ DISPATCH │─────│ EVALUATE │ │
│ └──────────┘ └──────────┘ │
│ ▲ │ │
│ │ ▼ │
│ ┌──────────┐ ┌──────────┐ │
│ │ LOOP │─────│ REFINE │ │
│ └──────────┘ └──────────┘ │
│ │
│ 最大3サイクル、その後続行 │
└─────────────────────────────────────────────┘
候補ファイルを収集する初期の広範なクエリ:
// 高レベルの意図から開始
const initialQuery = {
patterns: ['src/**/*.ts', 'lib/**/*.ts'],
keywords: ['authentication', 'user', 'session'],
excludes: ['*.test.ts', '*.spec.ts']
};
// 検索エージェントにディスパッチ
const candidates = await retrieveFiles(initialQuery);
取得したコンテンツの関連性を評価:
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)
}));
}
スコアリング基準:
評価に基づいて検索基準を更新:
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 => e.path)
],
// 特定のギャップをターゲット
focusAreas: evaluation
.flatMap(e => e.missingContext)
.filter(unique)
};
}
洗練された基準で繰り返す(最大3サイクル):
async function iterativeRetrieve(task, maxCycles = 3) {
let query = createInitialQuery(task);
let bestContext = [];
for (let cycle = 0; cycle < maxCycles; cycle++) {
const candidates = await retrieveFiles(query);
const evaluation = evaluateRelevance(candidates, task);
// 十分なコンテキストがあるか確認
const highRelevance = evaluation.filter(e => e.relevance >= 0.7);
if (highRelevance.length >= 3 && !hasCriticalGaps(evaluation)) {
return highRelevance;
}
// 洗練して続行
query = refineQuery(evaluation, query);
bestContext = mergeContext(bestContext, highRelevance);
}
return bestContext;
}
タスク: "認証トークン期限切れバグを修正"
サイクル1:
DISPATCH: src/**で"token"、"auth"、"expiry"を検索
EVALUATE: auth.ts(0.9)、tokens.ts(0.8)、user.ts(0.3)を発見
REFINE: "refresh"、"jwt"キーワードを追加; user.tsを除外
サイクル2:
DISPATCH: 洗練された用語で検索
EVALUATE: session-manager.ts(0.95)、jwt-utils.ts(0.85)を発見
REFINE: 十分なコンテキスト(2つの高関連性ファイル)
結果: auth.ts、tokens.ts、session-manager.ts、jwt-utils.ts
タスク: "APIエンドポイントにレート制限を追加"
サイクル1:
DISPATCH: routes/**で"rate"、"limit"、"api"を検索
EVALUATE: マッチなし - コードベースは"throttle"用語を使用
REFINE: "throttle"、"middleware"キーワードを追加
サイクル2:
DISPATCH: 洗練された用語で検索
EVALUATE: throttle.ts(0.9)、middleware/index.ts(0.7)を発見
REFINE: ルーターパターンが必要
サイクル3:
DISPATCH: "router"、"express"パターンを検索
EVALUATE: router-setup.ts(0.8)を発見
REFINE: 十分なコンテキスト
結果: throttle.ts、middleware/index.ts、router-setup.ts
エージェントプロンプトで使用:
このタスクのコンテキストを取得する際:
1. 広範なキーワード検索から開始
2. 各ファイルの関連性を評価(0-1スケール)
3. まだ不足しているコンテキストを特定
4. 検索基準を洗練して繰り返す(最大3サイクル)
…
帮助开发者为代码代理配置性能优化、安全防护与研究优先工作流。
提供数据库迁移、回滚与零停机发布的最佳实践指导,适用于多种 ORM 与 SQL 数据库。
通过双评审智能体对结果进行对抗式校验,提升输出发布前的可靠性
帮助你掌握地道 Rust 模式、所有权与并发实践,编写安全高性能应用。
基于 C++ Core Guidelines 编写、审查并重构更安全现代的 C++ 代码。
为 Claude Code 会话提供系统化校验流程,帮助检查结果正确性与质量。
通过逐步细化检索上下文,提升子代理任务理解与结果质量。
通过渐进式上下文检索优化子代理信息获取与任务完成质量。
通过为每个任务分派独立子代理并穿插代码审查,稳步推进实现计划。
用于在当前会话中拆分并并行推进独立实现任务,加快开发执行效率。
用于多轮推演与递归决策,保留可追溯证据链并比较多种方案。
在任务关键阶段建议手动压缩上下文,帮助连续保留思路与工作记忆。