Search 越多越好吗?
什么时候 search 反而有害?
先弄清楚:每个概念是什么
- Over-searching
- 不需要搜的时候也去搜,检索结果对回答没有帮助,还可能引出 hallucination。
- Unanswerable question
- 数据里没有答案的问题。例:问酒店确认号,但从没收到过确认邮件。
- Abstention
- 说“没找到”,而不是猜一个。
- Distractor
- 检索回来的、看着相关但不含答案的内容。
- Tokens Per Correctness
- 这篇论文提出的指标,衡量 performance 和 cost 的 trade-off。摘要没有给公式,面试时说“每得到一个正确答案花多少 token”这个思路,并说明是你的理解。
30 秒回答
No. Search helps when the answer is in the data, but it costs latency and tokens, and loosely related results can mislead the model. Apple's Over-Searching paper found that search improves accuracy on answerable questions but hurts abstention on unanswerable ones, and noisy retrieval makes it worse. So I'd measure the two groups separately: accuracy on answerable questions, abstention rate on unanswerable ones, plus cost per correct answer. To reduce it: let the model decide whether to search, cap the number of searches, stop when results add nothing new, and require evidence for every answer.
三类问题分开看
| 问题类型 | Search 的作用 | Metric |
|---|---|---|
| 模型本来就会 | 浪费,还可能被干扰 | 不搜的比例;accuracy 不下降 |
| 答案在数据里 | 必须搜 | accuracy、evidence recall |
| 数据里没有 | 搜了更容易硬答 | abstention rate、错误回答率 |
论文的其他结论:over-searching 在复杂的 reasoning model 和 deep research 系统里更严重,会在多轮对话里累积。检索结果里包含 negative evidence 时 abstention 会变好。缓解方法分 query 层和 retrieval 层两类。
必答点
- search 有成本:latency、token、distractor
- answerable 和 unanswerable 分开统计
- Apple 的结论:search 提高 answerable 的 accuracy,损害 unanswerable 的 abstention
- 对策:先判断要不要搜、限制次数(见多步 search loop)、没有新信息就停、答案必须有 evidence
追问
只优化 abstention 会怎样?
模型会什么都说“没找到”(over-refusal)。所以 answerable 的回答率和 unanswerable 的拒答率一起看,或者画回答率从低到高时答对率的曲线。
怎么让模型知道“确实没有”?
tool 明确返回 0 条结果,而不是一堆不太相关的内容。训练和评测数据里放 unanswerable 的题。verifier 检查答案有没有 evidence,没有就不放行。
personal search 里,什么问题不该去搜个人数据?
常识类问题。用 router 判断问题是否涉及 personal context,不涉及就不搜。
来源Over-Searching in Search-Augmented Large Language Models(Apple,EACL 2026) abstract