| name | comparison_parallel |
| description | 当需要比较两个(或多个)实体在某一维度上的属性值并找出“更大/更小/更晚/更早”等相对关系时,使用并行检索再对比的策略。 |
| trigger | 问题中出现“谁/哪个更…(大/小/早/晚/高/低)”或隐含的对比需求,且涉及两个及以上实体 |
| success_rate | 0 |
| status | seed |
| trigger_conditions | {"domain":["general"],"entity_types":["entity"],"attribute_types":["comparable_attributes"]} |
| cost_hint | mid |
| effectiveness_score | 0 |
comparison_parallel
目标
解决“跨实体属性比较”类搜索问题:先分别获取每个实体在指定维度上的精确值,再进行一次性比较,避免边搜边猜导致的遗漏或顺序错误。
适用场景
- 哪位导演去世更晚,《I Prepotenti》还是《Puppets Of Fate (1921 Film)》?
- Arturo Ripstein 与 Bahman Ghobadi 分别来自哪个国家?
- 《The Jungle Book: Alive with Magic》和《Rivers of Light》都在哪里上演?
- 2-D 与 Murdoc 的配音演员分别是谁?
- 辛辛那提与哥伦布的电话区号分别是多少?
- 阿里巴巴与腾讯的年度营收对比(需确认财年与自然年差异)。
- 特斯拉与比亚迪的2024年营收对比(涉及美元与人民币的货币单位转换)。
不适用场景
- 只需查询单一实体属性(如“哥伦布的电话区号”)。
- 需要实时聚合计算(如“2024 年全球票房最高的电影”)。
- 比较维度不明确或无法客观量化(如“哪部电影更好看”)。
核心原则
- 并行检索:先一次性列出所有待比较实体,再分别检索其目标属性,避免串行比较带来的信息遗忘。
- 原子化查询:每个实体单独构造最简洁查询,确保返回结果直接包含所需属性值。
- 同维度对齐:确保所有实体检索到的属性定义一致(如“去世年份”而非“出生年份”)。对于数值型属性,需在查询阶段明确要求返回计量单位(如货币)和时间口径(如财年周期),防止“同名不同义”的数据对比(如自然年 vs 财年)。
- 结果快照:在比较前将各实体属性值以结构化形式记录,防止后续搜索污染原始数据。
- 单位归一化容错:在涉及货币或计量单位比较时,若无法实时获取精确换算率,应允许使用历史均值或常识估算值进行定性比较,避免因单一辅助数据(如汇率)缺失导致整体任务停滞。
标准执行流程
- 识别实体与维度
用正则或关键词提取问题中的实体列表与比较维度(如“去世年份”“国家”“配音演员”)。
- 构造并行查询
为每个实体生成独立查询:"{实体} {维度}" site:wikipedia.org 或 "{实体}" "{维度}" -{排除词}。针对数值类比较(如营收、人口),查询指令中需显式包含“注明单位/财年定义”的要求,以确保后续数据可对齐。
- 执行并行搜索
按顺序或并发调用搜索工具,记录每个实体返回的前 1-3 条可信来源摘要。
- 提取并验证属性值
从摘要或页面正文中抽取目标值,交叉验证多源一致性;若冲突,标记置信度。重点检查数值的单位是否统一、时间口径(自然年/财年)是否一致。
- 归一化处理
若步骤 4 中提取的属性值单位不一致(如美元 vs 人民币),需执行单位换算。
- 优先检索精确换算率(如“2024 USD to CNY average rate”)。
- 若检索受阻或无确切数据,使用近似常识(如“约 7.1”)并标注“估算值”,确保比较流程继续。
- 结构化记录
将结果写成键值对:{实体: 属性值},例如 {"I Prepotenti": 1975, "Puppets Of Fate": 1962}。
- 一次性比较
在结构化数据上执行比较运算(max/min/diff),输出相对结论。
- 生成最终答案
用自然语言重述比较结果,并附带来源链接或引用。
检索策略模板
- 模板 A(维基优先):
"{entity} {attribute} site:wikipedia.org"
- 模板 B(精确匹配):
"{entity}" "{attribute}" -"{ambiguous term}"
- 模板 C(数值/财务类):
"{entity} {attribute} {year} 官方财报 财年周期 货币单位"
- 模板 D(单位换算):
"{unit_1} to {unit_2} conversion rate {year}" 或 "{year} average exchange rate {unit_1} {unit_2}"
补充策略
核心原则
- 并行检索:一次性列出所有待比较实体,分别获取同一维度信息,避免“查完一个再查另一个”造成的信息遗漏。
- 维度聚焦:始终围绕问题所问维度(年龄、职业、类别、归属等)检索,避免被无关属性干扰。
- 交叉验证:拿到所有实体的信息后,立即做并排对比,确认差异或共同点,再给出结论。
- 最小化查询轮次:尽量在首轮就覆盖全部实体,减少往返搜索。
标准执行流程
- 拆解实体:从问题中提取所有需要比较的实体(人、物、概念)。
- 锁定维度:明确问题所问的属性维度(出生年份、建筑师、植物分类等)。
- 构造并行查询:
- 对每个实体,用统一模板生成查询:
"{entity} {dimension}" 或 "{entity} {dimension} site:wikipedia.org"。
- 并行检索:一次性提交所有查询,或分批快速完成,确保信息对称。
- 提取属性值:从结果中抽取每个实体在目标维度上的具体值(年份、职业、类别)。
- 并排比较:将各实体属性值列成对照表,直接比较大小、是否相等、是否满足条件。
- 得出结论:根据比较结果,用问题要求的格式输出(“A 更…”、“两者都是…”、“B 是…”)。
- 验证一致性:快速复查每个来源,确保无冲突或误读。
检索策略模板
- 通用模板:
"{entity} {attribute}"
- 精准模板:
"{entity} {attribute} site:wikipedia.org"
示例(年龄比较):
"Sebastian Gutierrez birthdate"
"Henry Jaglom birthdate"
陷阱规避:单位异构与转换失败
在跨国或跨体系比较(如营收、距离、重量)中,常遇到单位不一致问题。
- 风险:如果专门搜索汇率/换算系数的子任务陷入死循环或无结果,会导致整个比较任务无法完成(Stuck)。
- 策略:
- 并行获取换算率:在检索实体属性的同时,并行检索换算系数,而非串行等待。
- 降级估算机制:若精确换算率检索失败,立即启用常识估算(如“1美元约兑7.2人民币”),并在答案中明确标注“基于估算汇率”。
- 数量级比较:当精确值不可得时,转而比较数量级或市场份额等定性指标,确保回答的鲁棒性。