with one click
iterative-retrieval
为了解决子智能体(Sub-agent)的上下文问题,逐步优化上下文获取的模式
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
为了解决子智能体(Sub-agent)的上下文问题,逐步优化上下文获取的模式
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | iterative-retrieval |
| description | 为了解决子智能体(Sub-agent)的上下文问题,逐步优化上下文获取的模式 |
解决多智能体工作流(Multi-agent Workflow)中的“上下文问题”。子智能体在开始工作之前,通常不知道需要哪些上下文。
子智能体(Sub-agent)在启动时上下文有限。它们通常不知道:
标准方法往往会失败:
分为 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);
评估获取内容的关联性(Relevance):
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)
],
// 针对特定的缺口 (Gaps)
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;
}
任务:"修复认证令牌过期 Bug"
循环 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: 需要路由器模式(Router Pattern)
循环 3:
DISPATCH: 搜索 "router"、"express" 模式
EVALUATE: 发现 router-setup.ts(0.8)
REFINE: 已获得足够上下文
结果: throttle.ts, middleware/index.ts, router-setup.ts
在智能体提示词(Prompt)中使用:
在获取此任务的上下文时:
1. 从宽泛的关键词搜索开始
2. 评估每个文件的关联性(0-1 刻度)
3. 识别仍缺失的上下文
4. 优化检索标准并重复(最多 3 个循环)
5. 返回关联性在 0.7 以上的文件
continuous-learning 技能 - 用于随时间改进的模式~/.claude/agents/ 中的智能体定义生产级 API 的 REST API 设计模式,包括资源命名、状态码、分页、过滤、错误响应、版本控制和速率限制。
撰写文章、指南、博客、教程、时事通讯等长篇内容,并根据提供的示例或品牌指南呈现独特的语言风格。当用户需要篇幅超过一段的精炼文字,且重视风格一致性、结构和可信度时,请使用此技能。
后端架构模式、API 设计、数据库优化以及适用于 Node.js、Express 和 Next.js API 路由的服务端最佳实践。
适用于 TypeScript、JavaScript、React 和 Node.js 开发的通用编码标准、最佳实践与模式。
为 X、LinkedIn、TikTok、YouTube、时事通讯 (Newsletters) 以及多平台复用活动创建平台原生内容系统。当用户需要社交帖子、推文串 (Threads)、脚本、内容日历或将单一源素材清晰地适配到多个平台时使用。
Playwright E2E 测试模式、页面对象模型(POM)、配置、CI/CD 集成、产物管理以及不稳定测试(flaky test)策略。