# 网络搜索回退策略

当浏览器搜索（Google/Bing/Baidu/DuckDuckGo）遭遇 CAPTCHA 拦截时的回退方案。

## 回退优先级

| 优先级 | 方法 | 适用场景 | 说明 |
|--------|------|---------|------|
| 1 | `session_search` | 当前或近期有同一客户的会话记录 | 最快且最精准——直接复用之前提取的情报 |
| 2 | `delegate_task` | 需要新搜索且当前浏览器受限 | 子代理使用独立浏览器实例，CAPTCHA通过率高 |
| 3 | CRM/ERP 本地数据 | 所有客户 | 永远可用，但仅限历史交互和采购记录 |

## delegate_task 搜索最佳实践

子代理搜索比主浏览器的 CAPTCHA 通过率高得多（约 80% vs 10%），是当前最可靠的公开搜索手段：

- **明确指定搜索引擎**：提示词中写明"优先用百度/bing/搜狗"，子代理会自行切换
- **多查询并行**：一次 delegate 同时搜公司背景、专利、融资、竞品
- **超时容忍**：子代理搜索耗时通常 3-8 分钟，不要在中途取消
- **结果持久化**：子代理摘要保存在 `~/.hermes/cache/delegation/`，用 `read_file` 读取完整内容

## session_search 回退模式

当用户在短时间内（几周内）重复询问同一客户时，`session_search` 往往能直接提取到前次分析的所有结果：

```
session_search(query="[公司名]")
```

从命中结果中可获取：
- 前次 CRM/ERP 解析的完整数据
- 网页搜索的公开信息摘要
- 前次生成的战术卡/报告内容
- 用户补充的内部情报

**典型场景**：用户先问"准备拜访XX" → Agent完成分析 → 几天后用户又问"准备拜访XX"且给了更多上下文（如产品手册）。
此时先用 `session_search` 捞出前次结果作为基线，再补充新数据。

## 浏览器 CAPTCHA 诊断

常见的 CAPTCHA 页面特征：
- Google: 重定向到 `google.com/sorry` 
- Bing: 显示 Cloudflare 验证 iframe
- Baidu: 重定向到 `wappass.baidu.com` 验证页
- DuckDuckGo (html): 显示 checkbox 验证

**不推荐**：
- 反复切换搜索引擎（大概率都被拦截）
- 使用 `execute_code` + `urllib` 绕过（同样被拦截）
- `curl | python3` 管道方式（安全审批门槛高，且容易超时）

**推荐**：识别到 CAPTCHA 后**立刻**跳到回退优先级下一步，不要在同一层浪费 3+ 次工具调用。
