当所需信息是外部的、时效性的或高度专业化的时,检索相比于大型语言模型(LLM)生成的响应可以节省时间。LLM 根据其训练数据中的模式生成答案,但它们无法访问实时数据、专有数据集或它们未经过训练的特定技术细节。例如,如果开发者问:“Python 的 pandas 库当前版本是什么?”LLM 可能会根据其训练数据回忆起最新版本(例如 1.5.3),但如果上周发布了新版本(例如 2.1.0),它就不会知道。直接从 PyPI 或库的文档中检索答案可以立即提供准确、最新的响应,而 LLM 要么会错误地猜测,要么会花费计算资源推断出过时的答案。
另一种情况是处理高度领域特定或内部知识时。假设开发者问:“我们的内部 API 如何处理支付处理失败的重试?”LLM 可能会生成关于 HTTP 重试的通用答案,但从内部文档或代码注释中检索将得到确切的逻辑(例如,“3 次重试,每次间隔 2 秒”)。如果没有检索,LLM 要么会产生模糊的响应,要么需要多次迭代提示来逼近正确答案,从而浪费时间。检索通过从经过验证的来源获取精确细节来绕过猜测,这对于调试或系统设计等对准确性至关重要的工作流程尤为关键。
最后,检索在需要交叉引用多个数据点的场景中表现出色。例如,回答“Service X 在过去 24 小时内的平均响应时间是多少,与我们的 SLA 相比如何?”需要结合实时指标(来自监控工具)和合同条款(来自数据库)。仅靠 LLM 无法访问这两个数据集。尝试通过推理来模拟这将导致假设或错误,而检索系统可以在几毫秒内查询这两个来源并合成答案。这比期望 LLM “幻觉”出看似合理的数字或逻辑更快、更可靠,后者反正也需要手动验证。检索将工作从推测性计算转移到直接事实获取。