| name | web_search_strategy |
| description | 当用户需要联网搜索、查最新信息、查官网公告、追问来源或搜索结果不可靠时使用。本 skill 教 agent 如何改写 query、优先读官方来源、打开候选网页正文、处理无结果和低内存 Chromium 限制。 |
| metadata | {"borrowed_from":"QwenPaw skills workflow","adapted_for":"dongxuelian-agent"} |
联网搜索策略
当用户询问最新消息、游戏版本、新角色、新闻、天气、价格、官网公告、来源依据,或明确说"搜一下 / 联网查 / web_search"时,使用 web_search。不要只按用户原话搜一遍就放弃。
当用户已经给出明确的公开 http/https 链接,并要求"看一下这个链接 / 总结网页 / 读这篇文章 / 链接里写了什么"时,优先使用 web_fetch 直接读取该 URL。web_fetch 是轻量正文读取工具,不启动 Chromium,不执行网页 JavaScript;如果正文过短或提示需要渲染,再说明限制并考虑 browser_action 兜底。
何时使用搜索
应该搜索:
- 用户问题涉及最新信息(角色、版本、新闻、天气、价格、公告)
- 你记忆中没有确切答案,或信息可能已经过时
- 训练数据不包含该内容,不能凭记忆编造
- 用户要求核实某个事实或追问来源依据
不应该搜索:
- 用户已经提供具体 URL 且只是要读网页正文 → 用 web_fetch,不要重新搜索
- 用户问本地服务器状态 / 日志 / 进程 / 端口 → 用 execute_shell 或 read_file
- 用户问文件内容 → 用 read_file(读本地文件,不要搜网页)
- 用户明确说"帮我看一下本地文件"
- 不确定该用什么工具 → 先读 make_plan 或 QA_source_index Skill
工作流程
-
先把用户问题改写成 2 到 4 个 query。
- 保留核心实体名。
- 增加"官方 / 公告 / 来源 / latest / official / release notes"等可信来源词。
- 游戏、软件、产品更新优先加官网域名或官方品牌名。
- 不要用
site: 操作符(在多数搜索引擎上效果差)。
- 中文查询优先用简单直接的 query,如"鸣潮 最新角色 2026"而非"鸣潮 新角色 site:kurogames.com"。
-
先查官方或高可信来源。
- 游戏:官网新闻、官方公告、官方 B 站/微博、发行商域名。
- 软件:官网、release notes、GitHub releases、官方文档。
- 新闻:权威媒体或原始机构发布页面。
- 第三方游戏资讯站(17173、九游、TapTap 等)是可靠来源,尤其当官网是 SPA 无法直接读取时。
-
搜索页标题和摘要不够时,要继续读候选网页正文。
web_search 默认会用轻量 HTTP 打开前几个候选页。
- 如果搜索结果里已经有用户指定或明确可信的原文 URL,也可以用
web_fetch 直接读取该 URL。
- 候选页来自官网、高可信域名、官方公告、release notes、新闻源时,应该优先阅读足够多的正文信息,再下结论。
- 只看标题和摘要不算完成搜索;标题/摘要只能帮助排序候选,不能替代正文依据。
- 答案必须来自搜索结果或候选网页正文,不要凭训练记忆补。
-
如果第一组 query 没结果,换 query 继续。
- 中文没结果时试英文名。
- "最新角色"没结果时试"新角色 / 新共鸣者 / 版本前瞻 / 卡池 / 官方公告"。
- "我的世界更新"要试
Minecraft latest update official release notes。
- 如果搜狗没结果,尝试 DuckDuckGo 或 Bing。
-
低内存服务器默认不要启动 Chromium。
- Chromium 只在明确配置允许且内存 guard 通过时作为最后兜底。
- 看到"默认跳过 Chromium"不是失败,继续用 HTTP 搜索和候选页正文。
搜索引擎说明
- 搜索工具会按顺序尝试多个搜索引擎:Bing → 搜狗 → DuckDuckGo HTML。
- Bing 对中文资讯页的 HTML 提取最完整,优先使用。
- 搜狗对中文内容覆盖广,作为第二引擎。
- DuckDuckGo HTML 对中文覆盖最差,作为最后兜底。
- 如果某个搜索引擎返回空结果或错误,工具会自动尝试下一个。
搜索完成判定(重要)
搜索结果现在有三种状态:
usable_hit(可用命中,可以停止):
- 候选页可信度分 ≥ 50 且正文 ≥ 100 字
- 看到具体的角色名/版本号/日期 + 来源链接(如 "绯雪,来自 tapap.cn/xxx")
- 看到官方公告原文包含你要找的信息
weak_hit(弱命中,继续换词):
- 有搜索结果但正文太短或没打开正文
- 只看到首页摘要、导航页、游戏介绍总览
- 标题有游戏名但正文没有具体信息
- 可信度分高但正文 < 100 字
hard_fail(硬失败,换完全不同的方向):
- 所有搜索引擎都没返回有效结果
- 全部候选都是低质量站点
- 网络超时或搜索引擎不可达
关键规则:只有 usable_hit 才算"搜到了"。weak_hit 时工具会自动提取新关键词重试,但如果工具返回的结果仍标注为弱命中,你可以再次调用 web_search 并传入从结果中发现的新实体词。
迭代搜索规则
工具内部已实现自动重试机制:
- 首轮结果为 weak_hit 时,工具会自动从标题/摘要/正文中提取高价值实体词(版本号、角色名、活动名、产品名)
- 用提取的关键词组合原始 query 生成新搜索词,自动再搜最多 2 轮
- 不会重复使用已经搜过的 query
如果工具自动重试后仍然是 weak_hit,你可以手动再调一次 web_search:
-
从结果中提取新关键词:
- 看摘要/正文里出现的新实体词(角色名、版本号、活动名),拿来当下一个 query
- 例:摘要提到 "奥古斯塔 全新电系主C" → 下一轮搜 "鸣潮 奥古斯塔 上线"
- 例:正文提到 "3.3版本潮声庆典" → 下一轮搜 "鸣潮 3.3 版本 新角色"
- 例:结果全是字典解释 → 加 "游戏" 消除歧义,搜 "鸣潮游戏 新角色"
-
最多换 2 次 query,每轮用 2-4 个不同 query 搜索。
-
可信度分 ≥ 50 的候选页必须打开正文,不能只看标题和摘要。
-
正文太短就换下一个:打开后正文 < 100 字 → 打开下一个候选页,直到找到有用正文或读完所有高可信链接。
-
不要重复同一个 query:如果同一个 query 返回相同结果,说明这条路走不通,换完全不同的角度。
结果判断
- 不要因为结果标题没有完全包含用户 query 就丢弃它。
- 例:用户搜"鸣潮最新角色",标题"3.3版本前瞻直播回顾"也可能有用。
- 例:用户搜"我的世界更新",标题"Minecraft 1.21 Release Notes"也可能有用。
- 要丢弃素材站、模板站、壁纸站、纯图片下载站、广告导航页。
- 如果只有搜索页摘要,没有读到正文,要降低确信度。
- 如果所有来源都不可靠,直接说"这次搜索没有拿到可靠结果",并说明查了哪些方向。
- 不要混淆不同来源的信息。 每个角色/属性/数据必须关联到具体来源链接。如果正文中【来源 1】描述的是角色A,【来源 2】描述的是角色B,不要把角色A的属性和角色B混在一起。不能确定某个事实从哪个来源来时,就说"搜索结果中多个来源信息不一致,请查看原始链接确认"。
回复方式
- 简短说明结论,再给 1 到 3 个来源依据。
- 如果是人格聊天,把搜索结果内化成人格口吻,不要机械复述工具日志。
- 用户追问"你刚刚搜到什么 / 依据是什么"时,如实复述搜索摘要和来源,不要否认自己用过搜索。