Pattern
CODEBLOCK0
Keep searching until found or exhausted. Start narrow, expand progressively. Validate before delivering.
When to Use
- - User needs to find something specific
- Location or source is unknown
- "Find me...", "Where can I get...", "I need to find..."
Not for: Things you already know, simple lookups, browsing.
Setup
Before searching, clarify:
| Element | Why |
|---|
| What exactly? | Avoid finding wrong thing |
| Success criteria |
How will we know it's right? |
| Constraints | Budget, location, time, format |
| Already tried? | Don't repeat failed paths |
If user is vague → ask ONE clarifying question, then start.
Search Expansion
Start narrow, expand if not found:
CODEBLOCK1
Each expansion: try multiple sources in parallel when possible.
Validation
Before delivering, verify:
- - Is this actually what was asked for?
- Is the source reliable?
- Is it current/valid?
- Any caveats user should know?
If uncertain → say so. "Found X but not 100% sure it's what you need."
Delivery
CODEBLOCK2
If multiple results: summarize and let user choose.
Not Found
If exhausted all paths:
- 1. Report what was tried
- Closest alternatives found
- Suggest different approach or more context needed
Related: For iterating until success criteria are met, see
loop. For multi-phase workflows, see
cycle.
模式
需求 → 澄清 → 搜索 → 验证 → [找到?交付:扩展]
持续搜索直至找到或穷尽所有可能。从窄范围开始,逐步扩展。交付前进行验证。
使用时机
- - 用户需要查找特定内容
- 位置或来源未知
- 涉及帮我找……哪里可以找到……我需要找到……等表述
不适用于: 已知信息、简单查询、浏览浏览。
准备工作
搜索前,先澄清以下要素:
如何判断结果正确? |
| 限制条件 | 预算、地点、时间、格式 |
| 已尝试过? | 避免重复失败路径 |
若用户表述模糊 → 提出一个澄清性问题,然后开始搜索。
搜索扩展
从窄范围开始,若未找到则逐步扩展:
- 1. 明显来源 → 直接查询、已知位置
- 专业来源 → 领域特定数据库、专家社区
- 替代查询 → 不同关键词、相关概念
- 间接路径 → 谁会知道?什么与此相关?
- 询问人类 → 更多上下文、不同角度
每次扩展:尽可能并行尝试多个来源。
验证
交付前,确认:
- - 这确实是所要求的内容吗?
- 来源可靠吗?
- 信息是否最新/有效?
- 用户需要了解哪些注意事项?
若不确定 → 如实说明。找到了X,但无法100%确定这是您需要的。
交付
找到:[内容]
来源:[来源]
可信度:[高/中/低]
注意事项:[如有]
若有多个结果:汇总后让用户选择。
未找到
若所有路径均已穷尽:
- 1. 报告已尝试的方法
- 提供找到的最接近替代方案
- 建议采用不同方法或提供更多上下文
相关: 如需迭代直至满足成功标准,请参见循环。如需多阶段工作流,请参见周期。