多步检索中复杂性和收益之间的权衡取决于增加的步骤是否能有意义地改善结果,从而证明其计算和实施成本是合理的。诸如迭代查询优化或组合多种检索方法(例如,基于关键词的检索和向量搜索)等的多步方法,通常通过解决模棱两可的查询或不同的数据类型来提高准确性。然而,它们会引入延迟、更高的资源使用率和维护开销。例如,一个首先检索包含关键词匹配的文档,然后使用神经模型对其进行重新排序的系统,可能会获得更好的相关性,但需要额外的基础设施和处理时间。开发人员必须权衡这些成本与问题的需求:如果任务简单或数据同质,增加的复杂性可能不会产生成比例的收益。
在查询模棱两可或需要从多个来源综合信息的情况下,多步检索会大放异彩。例如,在开放域问答中,用户可能会问:“2015 年巴黎协定之后,气候政策是如何演变的?”一个多步系统可以首先检索广泛的政策摘要,然后使用这些结果来优化查询并获取详细的报告。这个迭代过程有助于缩小上下文相关的答案。但是,在查询高度具体或数据集较小且索引良好的情况下,单步方法就足够了。如果开发人员正在为具有明确 SKU 编号的电子商务站点构建产品搜索,则单次向量或关键字搜索可能会立即返回精确匹配。添加诸如查询扩展或重新排序等步骤会浪费资源而不会提高准确性。
当速度、成本或可扩展性是优先事项时,简单性往往会胜出。单步检索更容易调试、部署和维护,使其成为具有严格延迟要求的应用程序(例如,自动完成建议)或计算预算有限的应用程序的理想选择。例如,使用预定义标签的支持票证系统可能依赖于单次关键字搜索来对票证进行分类,因为标签是标准化且可预测的。同样,在受控环境中,例如具有一致术语的公司内部文档存储库,基本搜索的效果可能与复杂的管道一样好。开发人员应默认选择简单性,除非问题明确要求多步逻辑,确保他们避免不必要的复杂性,而这种复杂性不会转化为有形的用户利益。