AI 查了一堆资料,为什么反而答不好
接上搜索和文件工具,不等于 AI 就能用好资料。用一份虚构的活动报名表,说明筛选、字段、分页和原文回查怎样影响答案:少给无关内容,同时让遗漏和不确定性看得见。
让 AI 查资料时,我很容易冒出一个想法:既然能查,就多查一点。把文件都读了,把搜索结果都拿回来,总比漏掉什么强。
但“工具返回了一大堆内容”和“问题已经有了可靠答案”,中间还隔着几步。资料里有没有对应的时间范围?同一个名字是不是同一个人?返回的是全部记录,还是第一页?这些条件只要漏掉一个,回答就可能写得很完整,却答错了对象。
我现在更愿意先问:这次究竟要从资料里做出什么判断?再决定该给 AI 看哪些内容。
工具成功,只表示拿到了东西
先设一个完全虚构的例子。一个读书会有几百条活动报名记录,你想知道:“下周六那场,还有哪些人没确认参加?”
工具返回整张表,里面有往期活动、取消的报名、备注、内部编号,以及这次活动的记录。AI 需要从中找出日期,再分辨“待确认”和“已取消”,最后组织成名单。
麻烦在于,真正的规则可能是:只看指定场次、报名仍有效、确认状态为待确认的人。名字可以重复,活动也可能在同一天办两场。只凭标题里出现“周六”,并不足以确定范围。
这个例子没有模型实测,也不代表多给资料必然答错。它只是把问题拆开:读取成功是一件事,范围正确、筛选正确、名单完整,又是另外几件事。
如果工具允许按场次和状态查询,先缩小范围,模型就不用一边读历史记录,一边猜哪些字段重要。即便工具只能读文件,也可以先看列名与少量样本,弄清字段含义,再筛选目标记录。
省掉噪音,别把判断依据一起省掉
Anthropic 在《Writing effective tools for agents》中建议,工具应返回与任务有用的上下文,并用筛选、分页等方式控制结果规模。这是 2025 年的工程经验,不是今天刚出现的新功能。原文在这里。
我理解的重点不是“回复越短越好”,而是每个字段要有用途。
继续看报名表。假设工具只返回“林同学、周同学”,文字确实少了,但你没法判断这两个人对应哪条报名,也不知道状态是什么时候更新的。要继续核对,就又得从头查。
比较合适的结果,可以保留场次标识、报名记录标识、展示名、确认状态和更新时间。名单用于阅读,记录标识用于回查,场次标识用来避免混入另一场。若字段允许“未知”或“空值”,也应该原样保留,不能为了好看擅自归成“待确认”。
这并不意味着任何任务都要带同一套字段。只是统计人数时,可以先做确定性的计数;要解释某个人为何被列入时,就需要具体记录。输出形状应该跟问题走。

最危险的三个字:没找到
假设这次有 37 条符合条件的记录,工具每页只返回 20 条。这些数字也是为说明问题设的。
如果 AI 只看第一页,就说“一共 20 人”,错误不在算术,而在把“已经看到的”当成了“总共存在的”。
所以,一份结果除了正文,还需要让使用它的人知道边界:有没有下一页,是否被截断,查询用了什么条件。如果总数未知,就写未知;工具没提供总数,也不能从当前页的条数推出来。
“没找到”同样需要范围。它可能表示全部记录中没有,也可能只是当前文件、当前时间段、当前可访问资料里没有。甚至搜索词不合适,也会让本来存在的记录没有出现。
我会把这类结论改成更具体的话:“在这次活动已读取的两页记录中,没有发现待确认报名。”如果第二页读取失败,就不能保留这句话,而应说明仍有未读部分。
还有一种更隐蔽的缺口:系统只返回你有权限看的资料。分页全读完,也不自动等于掌握了整个组织的全部记录。答案的范围,要跟实际可见范围一致。
摘要适合找方向,原文负责定结论
并非所有问题都能变成表格过滤。查活动规则时,你可能拿到几段搜索摘要,其中一段说“可临时更换参加者”,另一段却说“不允许转让”。
这时,把两段压缩成一句“规则存在冲突”,还不够。它们也许来自不同年份,或者一份说的是普通活动,另一份说的是需要提前审核的专场。
我的做法是先把摘要当索引。它帮我决定打开哪份材料,但关键结论还要回到对应原文,看适用对象、日期和前后限定。两份材料如果确实矛盾,就把矛盾留下,别为了给出一个利落答案擅自选边。
这里也有边界:有些原文已经失效、需要登录,或者只剩搜索片段。无法回查时,可以说“目前只找到这一段摘要,尚不能核实适用条件”。这比把搜索结果的几行字写成确定规则更有用。
减少资料量,是为了让相关证据更清楚,不是为了把麻烦的反例删掉。
不写工具的人,也能这样交代
普通使用者未必能改工具的返回格式,但可以把任务要求写得更具体。比如:
请先确认目标活动及日期,再查有效报名中的待确认记录。保留可回查的记录标识。如果结果分页或截断,请继续读取,或者说明还缺哪部分。最后给出名单和统计口径,不要把空状态直接当成待确认。
查文档时,可以换成另一种交代:
先列出最相关的资料及日期,再打开支撑结论的原文。涉及版本或适用范围时,请保留限定条件。找不到原文或材料互相矛盾,就把缺口写出来。
这两段都不是保证正确的咒语。工具本身不支持过滤,权限不足,或者模型没有照做,结果仍可能出错。它们的作用是把验收条件摊开:我能检查它查了哪里,依据是什么,还有哪些内容没看到。
如果这件事要反复做,我会留几份自己能核实答案的小样本:有重名的、有空状态的、有多页的,再看它每次能不能给出正确范围。一次碰巧答对,还不足以证明流程稳定。
我希望 AI 最后交给我的,不是“我看了很多”的工作量证明,而是一份可以回查的答案。材料少一些没关系,前提是相关证据还在,没看到的部分也说得清楚。
评论