File contents Skill: Multi-Source Verification(多源验证与过滤策略)
目标
解决三类验证性检索问题:
实体存在性验证 :确认特定命名实体(事件、组织)是否真实存在,避免在幽灵实体上浪费搜索预算
多源数据融合 :需要跨多个独立数据源进行交叉引用、筛选和去重的复杂查询
超集过滤 :从标准列表中检索满足特定条件的子集,当该子集不存在独立页面时
核心策略:先验证存在性 -> 分治获取数据 -> 程序化融合/过滤 。
适用场景
实体存在性可疑 :查询包含具体名称、时间、地点的事件或组织,但初始搜索未找到官方信源
多源交叉查询 :需要查找同时出现在多个不同来源中的实体
例:"既在 Billboard 榜单上又获得 MTV 提名的歌曲"
超集子集过滤 :从标准权威列表中筛选满足特定属性的子集
数据清洗需求 :涉及去重、名称标准化处理
不适用场景
常识性实体查询(如"2024年奥运会")
单一来源可直接回答的简单查询
目标子集本身拥有广为人知的独立页面
核心原则
原则1:存在性优先
在查询任何属性之前,必须先确认实体是否真实存在或如期举行。
将"搜索结果缺失"视为"实体可能不存在"的强信号,而非仅仅是"没搜到"。
原则2:及时止损
一旦验证逻辑判定实体极大概率不存在,立即停止搜索并报告结果。
禁止尝试更多变体搜索浪费预算。
原则3:分治获取
不要试图搜索"交集"。分别获取各个源的完整原始数据列表,先获取全量数据,再在本地处理。
原则4:超集优先
永远不要先搜索交集或特定子集。首先寻找包含所有候选人的"超集"页面,
获取完整列表后,通过访问个体页面或利用上下文来验证特定条件。
原则5:程序化融合
依靠 Python 执行能力进行数据清洗、交集运算和过滤,而非依赖搜索引擎的布尔逻辑。
执行流程
流程A:实体存在性验证
Step 1:初始存在性探测
使用实体全名 + 官方关键词搜索
查询模板:"[Entity Name] [Year] [Location]" official site
判断:找到官方网站/主流媒体报道 -> 实体存在,转常规检索。仅有社交媒体/二手票务 -> 进入否定性验证
Step 2:否定性验证
主动搜索实体的"取消/虚假"信息
查询模板:[Entity Name] cancelled / [Entity Name] fake OR scam OR hoax
找到辟谣或取消公告 -> 确认无效,终止任务
Step 3:权威信源缺失确认
扩大范围搜索主办方或相关背景,确认是否为同名误用
若经多步仍无权威证据 -> 判定为"无证据表明该实体存在",停止消耗预算
流程B:多源数据融合
Step 1:复杂度评估与探测
分析问题,识别涉及的数据源(Source A, Source B)
尝试1-2次直接搜索,若触发 NO_PROGRESS 信号,立即进入分治模式
Step 2:分治数据获取
将查询拆解为独立的数据获取子任务
分别获取各源的完整原始数据列表
不要在搜索关键词中加入复杂的交集条件
Step 3:程序化分析
使用 Python 进行解析、标准化、交集运算、去重
处理名称差异(如 "Feat." vs "featuring")
生成最终列表并添加 Evidence
流程C:超集过滤
Step 1:定位超集列表
搜索包含所有候选人的标准列表页
查询模板:site:wikipedia.org "List of [Base Entity]"
Step 2:批量提取候选名单
打开 Wikipedia 列表页后用 find() 提取完整表格,不要在搜索引擎层面过滤
Step 3:逐一验证筛选条件
遍历候选人名单,针对筛选条件进行核实
先检查列表页简介;信息不足再打开详情页
补充策略 (from dataset mining: constraint_satisfaction)
核心原则
条件拆分 :将复合问题拆成独立、可验证的原子条件,避免一次性搜索整句。
先宽后窄 :先用最独特或最少歧义的条件做首轮过滤,再逐步叠加剩余条件。
交叉验证 :对候选结果用剩余条件逐一核验,任一不符即淘汰。
结构化检索 :优先使用“实体+属性”或“实体+关系+实体”的短关键词组合,而非长自然语言。
标准执行流程
列条件 :把问题中的限定词全部列出,标注类型(时间/地点/人物/机构/事件/属性)。
选锚点 :评估各条件的唯一性,选最少结果、最少歧义的作为首轮“锚点”。
首轮检索 :用锚点条件构造最短关键词(如“波兰 解释学 哲学家”)。
生成候选 :从首轮结果中提取可能实体列表(人名、州名、球队名等)。
条件核验 :对每条候选,用剩余条件逐一验证(如“该大学荣誉主席是21世纪法国思想家?”)。
淘汰不符 :任一条件不满足即剔除,直到只剩唯一匹配。
补全细节 :对最终匹配实体,补全问题要求的附加信息(参议员名单、转会细节等)。
二次确认 :用反向查询确认(如“Alexis Sanchez 2018 转会 曼联”)。
检索策略模板
{国籍} {领域/职业} {核心理论或属性} 例:波兰 哲学家 解释学
{实体A} {关系动词} {实体B} site:wikipedia.org 例:University of Warsaw honorary president 21st century French philosopher
补充策略 (from dataset mining: entity_disambiguation)
核心原则
先全局后局部 :先用宽泛搜索确认实体存在哪些可能指向,再逐步添加限定条件缩小范围
交叉验证 :通过多个独立来源(官网、维基、权威数据库)确认同一实体身份
上下文锚定 :利用问题中的时间、地点、领域等线索作为筛选条件
标准执行流程
歧义检测 用基础查询"{entity}"搜索,观察结果是否出现多个不同对象(如不同地点的学校、不同领域的人物)
初步分类 根据搜索结果将歧义实体分类:同名不同地?同名不同领域?不同产品线?
添加限定词 逐步加入问题中提供的限定条件:
地理限定:"{entity} {city/state/country}"
领域限定:"{entity} {profession/product type}"
时间限定:"{entity} {year}"
权威源确认 优先检查:
官方网站(学校官网、公司官网)
维基百科消歧义页("Roxbury High School (disambiguation)")
行业数据库(IMDb人物、IEEE产品库)
交叉验证 对比至少2个独立来源对同一实体的描述是否一致(如学校地址、人物生卒年)
最终确认 当满足以下任一条件时停止:
所有权威源指向同一实体
限定条件已足够排除其他可能性(如“1877年歌剧演员”)
检索策略模板
基础歧义检测:"{entity}" site:wikipedia.org(优先查看消歧义页)
精准定位:"{entity} {unique_attribute}"(如"Roxbury High School New Jersey")
排除法:"{entity} -{irrelevant_term}"(如"Wayne Anderson -football"排除橄榄球运动员)
1 --- 2 name: multi-source-verification 3 description: 多源交叉验证、实体存在性确认、先取超集后过滤的综合验证策略 4 --- 5 6 # Skill: Multi-Source Verification(多源验证与过滤策略) 7 8 ## 目标 9 解决三类验证性检索问题: 10 1. **实体存在性验证**:确认特定命名实体(事件、组织)是否真实存在,避免在幽灵实体上浪费搜索预算 11 2. **多源数据融合**:需要跨多个独立数据源进行交叉引用、筛选和去重的复杂查询 12 3. **超集过滤**:从标准列表中检索满足特定条件的子集,当该子集不存在独立页面时 13 14 核心策略:**先验证存在性 -> 分治获取数据 -> 程序化融合/过滤**。 15 16 ## 适用场景 17 1. **实体存在性可疑**:查询包含具体名称、时间、地点的事件或组织,但初始搜索未找到官方信源 18 - 例:"2023年韩国伍德斯托克音乐节的演出阵容" 19 2. **多源交叉查询**:需要查找同时出现在多个不同来源中的实体 20 - 例:"既在 Billboard 榜单上又获得 MTV 提名的歌曲" 21 3. **超集子集过滤**:从标准权威列表中筛选满足特定属性的子集 22 - 例:"诺贝尔和平奖得主中曾任国家元首的人" 23 4. **数据清洗需求**:涉及去重、名称标准化处理 24 25 ## 不适用场景 26 - 常识性实体查询(如"2024年奥运会") 27 - 单一来源可直接回答的简单查询 28 - 目标子集本身拥有广为人知的独立页面 29 30 ## 核心原则 31 32 ### 原则1:存在性优先 33 在查询任何属性之前,必须先确认实体是否真实存在或如期举行。 34 将"搜索结果缺失"视为"实体可能不存在"的强信号,而非仅仅是"没搜到"。 35 36 ### 原则2:及时止损 37 一旦验证逻辑判定实体极大概率不存在,立即停止搜索并报告结果。 38 禁止尝试更多变体搜索浪费预算。 39 40 ### 原则3:分治获取 41 不要试图搜索"交集"。分别获取各个源的完整原始数据列表,先获取全量数据,再在本地处理。 42 43 ### 原则4:超集优先 44 永远不要先搜索交集或特定子集。首先寻找包含所有候选人的"超集"页面, 45 获取完整列表后,通过访问个体页面或利用上下文来验证特定条件。 46 47 ### 原则5:程序化融合 48 依靠 Python 执行能力进行数据清洗、交集运算和过滤,而非依赖搜索引擎的布尔逻辑。 49 50 ## 执行流程 51 52 ### 流程A:实体存在性验证 53 54 #### Step 1:初始存在性探测 55 - 使用实体全名 + 官方关键词搜索 56 - 查询模板:`"[Entity Name] [Year] [Location]" official site` 57 - 判断:找到官方网站/主流媒体报道 -> 实体存在,转常规检索。仅有社交媒体/二手票务 -> 进入否定性验证 58 59 #### Step 2:否定性验证 60 - 主动搜索实体的"取消/虚假"信息 61 - 查询模板:`[Entity Name] cancelled` / `[Entity Name] fake OR scam OR hoax` 62 - 找到辟谣或取消公告 -> 确认无效,终止任务 63 64 #### Step 3:权威信源缺失确认 65 - 扩大范围搜索主办方或相关背景,确认是否为同名误用 66 - 若经多步仍无权威证据 -> 判定为"无证据表明该实体存在",停止消耗预算 67 68 ### 流程B:多源数据融合 69 70 #### Step 1:复杂度评估与探测 71 - 分析问题,识别涉及的数据源(Source A, Source B) 72 - 尝试1-2次直接搜索,若触发 NO_PROGRESS 信号,立即进入分治模式 73 74 #### Step 2:分治数据获取 75 - 将查询拆解为独立的数据获取子任务 76 - 分别获取各源的完整原始数据列表 77 - 不要在搜索关键词中加入复杂的交集条件 78 79 #### Step 3:程序化分析 80 - 使用 Python 进行解析、标准化、交集运算、去重 81 - 处理名称差异(如 "Feat." vs "featuring") 82 - 生成最终列表并添加 Evidence 83 84 ### 流程C:超集过滤 85 86 #### Step 1:定位超集列表 87 - 搜索包含所有候选人的标准列表页 88 - 查询模板:`site:wikipedia.org "List of [Base Entity]"` 89 90 #### Step 2:批量提取候选名单 91 - 打开 Wikipedia 列表页后用 find() 提取完整表格,不要在搜索引擎层面过滤 92 93 #### Step 3:逐一验证筛选条件 94 - 遍历候选人名单,针对筛选条件进行核实 95 - 先检查列表页简介;信息不足再打开详情页 96 97 ## 补充策略 (from dataset mining: constraint_satisfaction) 98 99 ### 核心原则 100 1. **条件拆分**:将复合问题拆成独立、可验证的原子条件,避免一次性搜索整句。 101 2. **先宽后窄**:先用最独特或最少歧义的条件做首轮过滤,再逐步叠加剩余条件。 102 3. **交叉验证**:对候选结果用剩余条件逐一核验,任一不符即淘汰。 103 4. **结构化检索**:优先使用“实体+属性”或“实体+关系+实体”的短关键词组合,而非长自然语言。 104 105 ### 标准执行流程 106 1. **列条件**:把问题中的限定词全部列出,标注类型(时间/地点/人物/机构/事件/属性)。 107 2. **选锚点**:评估各条件的唯一性,选最少结果、最少歧义的作为首轮“锚点”。 108 3. **首轮检索**:用锚点条件构造最短关键词(如“波兰 解释学 哲学家”)。 109 4. **生成候选**:从首轮结果中提取可能实体列表(人名、州名、球队名等)。 110 5. **条件核验**:对每条候选,用剩余条件逐一验证(如“该大学荣誉主席是21世纪法国思想家?”)。 111 6. **淘汰不符**:任一条件不满足即剔除,直到只剩唯一匹配。 112 7. **补全细节**:对最终匹配实体,补全问题要求的附加信息(参议员名单、转会细节等)。 113 8. **二次确认**:用反向查询确认(如“Alexis Sanchez 2018 转会 曼联”)。 114 115 ### 检索策略模板 116 - `{国籍} {领域/职业} {核心理论或属性}` 117 例:`波兰 哲学家 解释学` 118 - `{实体A} {关系动词} {实体B} site:wikipedia.org` 119 例:`University of Warsaw honorary president 21st century French philosopher` 120 121 ## 补充策略 (from dataset mining: entity_disambiguation) 122 123 ### 核心原则 124 1. **先全局后局部**:先用宽泛搜索确认实体存在哪些可能指向,再逐步添加限定条件缩小范围 125 2. **交叉验证**:通过多个独立来源(官网、维基、权威数据库)确认同一实体身份 126 3. **上下文锚定**:利用问题中的时间、地点、领域等线索作为筛选条件 127 128 ### 标准执行流程 129 1. **歧义检测** 130 用基础查询`"{entity}"`搜索,观察结果是否出现多个不同对象(如不同地点的学校、不同领域的人物) 131 132 2. **初步分类** 133 根据搜索结果将歧义实体分类:同名不同地?同名不同领域?不同产品线? 134 135 3. **添加限定词** 136 逐步加入问题中提供的限定条件: 137 - 地理限定:`"{entity} {city/state/country}"` 138 - 领域限定:`"{entity} {profession/product type}"` 139 - 时间限定:`"{entity} {year}"` 140 141 4. **权威源确认** 142 优先检查: 143 - 官方网站(学校官网、公司官网) 144 - 维基百科消歧义页("Roxbury High School (disambiguation)") 145 - 行业数据库(IMDb人物、IEEE产品库) 146 147 5. **交叉验证** 148 对比至少2个独立来源对同一实体的描述是否一致(如学校地址、人物生卒年) 149 150 6. **最终确认** 151 当满足以下任一条件时停止: 152 - 所有权威源指向同一实体 153 - 限定条件已足够排除其他可能性(如“1877年歌剧演员”) 154 155 ### 检索策略模板 156 - 基础歧义检测:`"{entity}" site:wikipedia.org`(优先查看消歧义页) 157 - 精准定位:`"{entity} {unique_attribute}"`(如"Roxbury High School New Jersey") 158 - 排除法:`"{entity} -{irrelevant_term}"`(如"Wayne Anderson -football"排除橄榄球运动员) 159
antins-labs/searchos/tree/main/searchos/skills/library/strategy/multi_source_verification commit ca44b55dfe
Frequently asked questions How do I install the Multi Source Verification skill? Run npx skillmds@latest add antins-labs/multi-source-verification in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
What does the Multi Source Verification skill do? 多源交叉验证、实体存在性确认、先取超集后过滤的综合验证策略 It is listed under Coding & Dev Tools on SkillMD.
Is Multi Source Verification safe to use? This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
Which AI agents work with Multi Source Verification? This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Is Multi Source Verification free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published Multi Source Verification? antins-labs (@antins-labs) published this skill. Their other Agent Skills are listed on their SkillMD profile.