重新思考搜索作为代码生成
搜索是人工智能系统的核心原语。前沿模型每月都在变得更加强大,但它们仍然需要访问来自更广泛世界的新鲜、准确和经过良好策划的知识。搜索是人工智能系统获取这些知识的主要方式,因此也是任何需要做出结论、采取行动和执行现实世界工作的产品的基础组成部分。我们相信,在智能体时代,传统搜索管道正变得越来越过时。传统搜索回答查询,但如今的智能体完成的任务可以有无数种形式。这些任务要求智能体在其底层结构中直接定义特定于任务的检索策略。在Perplexity Computer中,我们看到单个任务在几分钟内调用数百甚至数千次检索操作:这是人类无法做到但对于智能体来说绝对自然的工作流程。在这个世界中,搜索本身必须变得具有智能体性,其构建块可以直接作为SDK在智能体底层结构中使用。我们正在推出搜索作为代码(SaC),作为Perplexity的新参考搜索架构。引言Perplexity的搜索栈在我们的应用程序和API平台上每秒处理数千个查询。在2025年9月,我们发布了我们搜索系统的第一个架构概述。这些系统中的持续创新支持了新产品的推出,例如搜索API、智能体API和计算机,利用自我改进循环优化搜索栈,以便日益更好地服务用户。传统上,人工智能系统将搜索视为一个整体:人工智能模型发出查询,搜索引擎运行其预定义管道,而模型将结果作为上下文进行消费。就大多数情况而言,这满足了早期人工智能用户的需求。考虑到他们请求的相对简单性,没有理由去担忧搜索管道的设计到底是怎样的,或者管道的架构是否对当前任务最优。默认设置被认为足够好,默认接口(函数调用和MCPs)也是如此。图1 | 传统搜索架构暴露了一个单一固定系统,该系统串行调用模型,而搜索作为代码则暴露了原子化的搜索原语,智能体通过生成代码进行组合。然而,如今这种方法随着每月的过去而变得越来越过时。用户希望人工智能提供的不仅仅是一次性分析。他们期望智能体在几小时甚至几天内端到端地完成任务。这些任务可能是复杂的、开放的,并且在信息需求上具有高度的可变性,而单一架构正承受着这些需求的重负。关键瓶颈归根结底是控制问题。前沿模型在固定上下文中的推理能力已经相当不错。然而,最强大的人工智能系统将需要能够引导如何检索、处理、聚合和呈现给模型的上下文。传统搜索系统并未考虑到这种可控性。毕竟,即使提供了这种选项,也不能指望人类用户能够对搜索管道内部进行细致的控制。早期人工智能模型只能通过线性函数调用和MCPs控制搜索。而今天的前沿模型,由于具有代码生成能力的智能体底层结构,可以通过计算机代码对任何想象中的计算原语施加细致的控制。我们的任务变成了提供正确的原语。为了满足这一需求,我们在我们的产品中推出了一种新的搜索架构:搜索作为代码(SaC)。这种新架构使模型能够直接访问搜索栈本身,而不仅仅是消费其最终输出。核心思想很简单:我们将搜索栈的组成部分作为SDK中的原语进行曝光。对于任何需要搜索的请求,模型可以按需将这些原语组合成量身定制的检索管道。组装这个管道是通过在安全的沙箱中进行代码生成和执行。与其他以代码生成驱动的搜索方法不同,我们并不只是将传统搜索API放在一个壳或语言运行时中。相反,我们精心设计了一个智能体搜索SDK,以尽可能原子的级别揭示搜索的各个构建模块。图2 | 搜索作为代码(SaC)通过一系列多样化的基准测试推动了智能体搜索的性能前沿。凭借这些构建块,SaC使模型能够对每个单独的搜索步骤施加直接控制:检索、排名、过滤、扩展、渲染等。它还使模型高效访问中间状态,例如候选列表和排名信号。这两种控制和可读性的杠杆共同使智能体能够设计跨越数千个检索操作的定制搜索管道,实时优化这些管道,并仅将最有用的信息作为模型上下文进行消费。本文描述了
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡