当前位置: 首页 > article >正文

给 Agent 用的搜索:Cloudflare AI Search 是什么,怎么工作的

原文AI Search: the search primitive for your agents发布时间2026 年 4 月 16 日作者Gabriel Massadas、Miguel Cardoso、Anni Wang每个 Agent 都需要搜索但自己搭很麻烦编码 Agent 要检索数百万个文件客服 Agent 要搜索工单历史和内部文档知识库 Agent 要从海量文档里找相关段落。用例各不相同底层问题是一个在正确的时间把正确的信息送到模型面前。如果自己动手搭这套搜索系统需要的东西不少一个向量索引、一条把文档拆分和嵌入的索引管道、一套当数据变化时保持索引更新的机制。如果同时还需要关键词搜索那就是另一个独立的索引加上把两套结果融合在一起的逻辑。如果每个 Agent 还需要自己独立的搜索上下文那这整套东西得为每个 Agent 分别搭一遍。Cloudflare 把这套基础设施打包成了一个产品AI Search前身是 AutoRAG一个开箱即用的搜索原语。这次更新带来了几项核心能力混合检索向量 关键词并行、内置存储和向量索引、运行时动态创建实例、元数据 Boost 排序以及跨多个实例的联合查询。接下来逐一拆解。一个完整的例子客服 Agent原文给了一个完整的落地示例读完基本就能理解 AI Search 的设计思路值得花时间看一下。问题设定场景是一个客服 Agent需要访问两类知识共享产品文档所有 Agent 都需要但文档量太大塞不进上下文窗口每个客户的历史解决记录记录这个客户以前遇到过什么问题、怎么解决的避免反复尝试已知无效的方案这两类数据的来源和更新频率完全不同放在一起管理并不合适。实例结构设计AI Search 支持在一个命名空间namespace里创建多个实例instance。针对上面的需求结构可以这样设计namespace: support ├── product-knowledge (关联 R2 存储桶所有 Agent 共用) ├── customer-abc123 (内置存储按客户单独创建) ├── customer-def456 (内置存储按客户单独创建) └── customer-ghi789 (内置存储按客户单独创建)product-knowledge是一个一次性创建的共享实例背后挂一个 R2 存储桶产品文档放在里面。每次有客户发起会话就动态创建一个以该客户 ID 命名的实例awaitenv.SUPPORT_KB.create({id:customer-${customerId},index_method:{keyword:true,vector:true}});每个实例自带存储和向量索引从零开始积累这个客户的历史上下文。Agent 的工具设计Agent 定义了两个工具由模型自主决定什么时候调用工具一搜索知识库——同时搜索共享产品文档和当前客户的历史记录一次调用返回融合排序后的结果search_knowledge_base:tool({description:Search product docs and customer history,execute:async({query}){constinstances[product-knowledge];if(customerId)instances.push(customer-${customerId});returnawaitthis.env.SUPPORT_KB.search({query:query,ai_search_options:{boost_by:[{field:timestamp,direction:desc}],instance_ids:instances}});}})工具二保存解决记录——问题处理完之后Agent 把发生了什么、原因是什么、怎么解决的写进这个客户的实例立即可被下次检索save_resolution:tool({description:Save a resolution summary after solving a customers issue,execute:async({filename,content}){constinstancethis.env.SUPPORT_KB.get(customer-${customerId});// uploadAndPoll 会等待索引完成保证下次查询前已可搜索constitemawaitinstance.items.uploadAndPoll(filename,content);return{saved:true,filename,status:item.status};}})模型在回答之前会搜索知识库解决问题之后会写入记录。随着对话积累这个客户的实例里的内容越来越丰富后续处理这个客户的问题会越来越准确。混合检索向量搜索和关键词搜索为什么要同时用这次更新最核心的技术变化是加入了关键词检索BM25和原有的向量检索并行运行。两种检索各有盲区向量检索擅长理解语义意图。查询连接建立失败它能找到描述connection refused的英文文档即便关键词完全不重叠。但它有一个弱点会丢失具体的词。如果用户查的是错误码ERR_CONNECTION_REFUSED向量检索可能返回一堆关于网络故障排查的通用文档却把那篇正好包含这个精确错误码的文档排在很后面。**关键词检索BM25**填补了这个空白。BM25 根据查询词在文档里出现的频率、该词在整个语料里的稀有程度、以及文档长度来打分。ERR_CONNECTION_REFUSED这样罕见且具体的词在 BM25 里权重很高包含它的文档会被优先召回。但 BM25 反过来又会错过那些语义相关、却用了不同措辞的文档。两者加起来才是一个完整的检索系统。四个可调参数AI Search 的混合检索流程里有四个配置项分词器Tokenizer控制文档在索引时怎么被拆成可匹配的词。porter做词干提取running和run会被当成同一个词匹配trigram按字符子串匹配“conf可以匹配configuration”。处理自然语言文档用porter处理代码用trigram因为代码里经常需要前缀或子串匹配。关键词匹配模式keyword_match_modeAND要求查询词全部出现在候选文档里OR只要有一个词匹配就进入候选集。前者精确后者召回率更高。结果融合方式fusion_method向量检索和 BM25 分别产出一份排序列表需要合并成一个最终结果。rrf倒数排名融合按排名位置合并不直接比较两套评分——因为向量相似度和 BM25 分数的量纲本就不同直接比较没有意义。max则取两者的较高分。重排序reranking可选在融合结果之后用一个 cross-encoder 模型把查询和每个候选文档作为一对重新打分。这能捕捉到词汇相关但不回答问题的情况把真正回答用户问题的文档排到更前面。这四个参数都有合理的默认值创建实例时按需配置即可constinstanceawaitenv.AI_SEARCH.create({id:my-instance,index_method:{keyword:true,vector:true},indexing_options:{keyword_tokenizer:porter},retrieval_options:{keyword_match_mode:or},fusion_method:rrf,reranking:true,reranking_model:cf/baai/bge-reranker-base});排序 Boost在检索结果上叠加业务逻辑检索系统给出的是相关性但业务上需要的往往不只是相关性。同样是关于选举结果的文章上周发布的和三年前发布的在语义上可能同样相关但用户大概率想看最近的。这类需求靠纯检索无法满足需要在结果排序阶段注入业务逻辑。AI Search 支持在查询时对结果进行 Boost按内置的时间戳字段或者任意你自己定义的元数据字段来调整排序权重constresultsawaitinstance.search({query:deployment guide,ai_search_options:{boost_by:[{field:timestamp,direction:desc}// 时间越近排越前]}});如果你的文档有优先级或来源权威性这类自定义属性也可以在上传时附加元数据再在查询时按这些字段 Boost。跨实例联合查询在客服 Agent 的例子里产品文档和客户历史记录分开存在不同实例里。但 Agent 回答问题时需要同时参考两者。如果没有跨实例查询就得分别调用两次自己合并排序结果。AI Search 的 namespace binding 直接提供了这个能力传入一个实例 ID 列表得到一个跨所有实例统一排序后的结果constresultsawaitenv.SUPPORT_KB.search({query:billing error,ai_search_options:{instance_ids:[product-knowledge,customer-abc123]}});结果跨实例合并排序Agent 不需要知道数据分布在哪里。实例管理新的运行时 API旧版 AI SearchAutoRAG的使用流程比较繁琐先创建 R2 存储桶再把它关联到 AI Search 实例系统生成 Service API Token同时在账户下创建 Vectorize 索引。上传文件需要写入 R2然后等待一个定时同步任务跑完文件才能被检索到。新版彻底简化了这个流程。调用create()创建实例时存储和向量索引自动随实例一起创建不需要任何外部依赖。上传文件、等待索引、立即搜索三步都通过同一套 API 完成constinstanceenv.AI_SEARCH.get(my-instance);// 上传并等待索引完成constitemawaitinstance.items.uploadAndPoll(faq.md,content,{metadata:{category:onboarding}});console.log(item.status);// completed// 索引完成后立即可以搜索constresultsawaitinstance.search({messages:[{role:user,content:onboarding guide}],});ai_search_namespaces是这次新增的 binding 类型替代了之前通过env.AI.autorag()访问 AI Search 的方式旧方式会继续保持兼容。配置一行即可在 Worker 里动态创建和删除实例// wrangler.jsonc{ai_search_namespaces:[{binding:AI_SEARCH,namespace:example}]}// 运行时创建实例awaitenv.AI_SEARCH.create({id:my-instance});// 运行时删除实例及其所有数据awaitenv.AI_SEARCH.delete(old-instance);每个实例也支持连接一个外部数据源R2 存储桶或一个网站并按计划定时同步和内置存储可以同时存在。定价与限制AI Search 目前处于公开测试阶段期间免费使用。网站爬取功能基于 Browser Run已作为内置服务包含在内不单独计费。限制项Workers 免费套餐Workers 付费套餐每账号实例数1005,000每实例文件数100,000100 万混合检索为 50 万单文件最大4MB4MB每月查询次数20,000无限制每日最大爬取页面数500无限制测试结束后Cloudflare 计划把 AI Search 作为一个统一服务定价不再分别向底层组件Vectorize、R2、Browser Run单独收费。会在正式收费前至少提前 30 天通知。对于此前已有的旧版实例不受影响继续按原有方式运行相关存储桶、Vectorize 索引、Browser Run 用量也照常计费。迁移方案后续会另行公布。小结AI Search 解决的核心问题是把给 Agent 用的搜索基础设施从一件需要自己搭建的事情变成一个可以直接调用的原语。几个值得关注的设计决策混合检索不是新概念但集成进来降低了门槛。向量检索和 BM25 各自的局限在业界已经讨论了很久但真正在生产环境里把两套索引搭在一起、配好融合逻辑工程量并不小。AI Search 把这件事变成了一个配置项。每个 Agent 一个实例的设计思路值得注意。运行时动态创建实例意味着搜索上下文可以做到极细的粒度——每个用户、每个会话、每个租户都可以有完全隔离的搜索空间而不是所有 Agent 共享一个大索引。这对多租户产品的架构影响比较大。跨实例查询是实际工程里常见的需求。数据按业务逻辑分开存储共享知识 vs 个人历史但检索时需要合并这个模式非常普遍。有了统一的跨实例查询 API不用自己写合并逻辑了。参考链接官方文档https://developers.cloudflare.com/ai-search/快速上手npx wrangler ai-search create my-search原文博客https://blog.cloudflare.com/ai-search-agent-primitive/Cloudflare 开发者 Discordhttps://discord.cloudflare.com/

相关文章:

给 Agent 用的搜索:Cloudflare AI Search 是什么,怎么工作的

原文:AI Search: the search primitive for your agents 发布时间:2026 年 4 月 16 日 作者:Gabriel Massadas、Miguel Cardoso、Anni Wang 每个 Agent 都需要搜索,但自己搭很麻烦 编码 Agent 要检索数百万个文件,客服…...

液态硅胶注塑加工供应商推荐

随着液态硅胶(LSR)在医疗、母婴、电子、汽车等多个领域的广泛应用,选择一个可靠的液态硅胶注塑加工供应商变得至关重要。作为天沅智能制造科技有限公司(简称TYM),我们不仅深耕于液态硅胶注射成型机械的设计…...

为 Agent 重新设计的 Git:Cloudflare Artifacts 是什么,怎么工作的

原文:Artifacts: versioned storage that speaks Git 发布时间:2026 年 4 月 16 日 作者:Dillon Mulroy、Matt Carey、Matt Silverlock 一个规模问题 有一个被反复引用的预测:未来 5 年内,人类将写出比过去整个编程历…...

文献阅读 260511-Wildfire damages and the cost-effective role of forest fuel treatments

Wildfire damages and the cost-effective role of forest fuel treatments 来自 <https://www.science.org/doi/10.1126/science.aea6463> ## Abstract: Gave the core question: Wildfires are among the most pressing environmental challenges of the 21st century,…...

详解 Deepsec:Vercel 开源 AI 代码安全防护工具的技术架构与实现原理

摘要在 AI 大模型深度融入软件开发全链路的今天&#xff0c;代码安全防护正面临 “复杂逻辑漏洞难发现、传统工具误报率高、源码隐私保护难” 三重核心挑战。Vercel 开源的 Deepsec 作为一款Agent 驱动的本地化 AI 安全防护工具&#xff0c;跳出传统 SAST&#xff08;静态应用安…...

嵌入式系统调试技术:从JTAG到多核同步的实战指南

1. 嵌入式系统调试技术概述在嵌入式系统开发过程中&#xff0c;调试环节往往占据整个开发周期的40%-60%时间。与通用计算机系统不同&#xff0c;嵌入式系统通常运行在资源受限的环境中&#xff0c;缺乏标准输入输出设备&#xff0c;这使得调试工作更具挑战性。我曾参与过多个工…...

上网行为怎么监控?教你五个简单实用的上网行为监控方法,建议收藏

在数字化办公时代&#xff0c;企业管理面临着新的挑战&#xff1a;一方面需要网络提供资讯和工具&#xff0c;另一方面&#xff0c;无节制的非工作上网行为正在侵蚀企业的生产力。如何科学、合理地监控上网行为&#xff1f;以下为您介绍五个监控方法&#xff0c;涵盖了从硬件到…...

003-VXLAN集中式网关实验(命令详解版)

VXLAN集中式网关实验1&#xff08;命令详解版&#xff09;最近有读者私信说刚开始学习VXLAN&#xff0c;实战技巧薄弱、部分命令不是很理解&#xff0c;想循序渐进通过实验过渡到真实项目案例。下面从一个简单的集中式网关实验开始&#xff0c;通过2个基础实验和1个项目实验完成…...

智能体架构实战:从LangGraph状态机到多智能体协作

1. 从理论到实践&#xff1a;为什么我们需要一个“智能体架构大全”项目如果你在过去一年里关注过AI领域&#xff0c;尤其是大语言模型的应用开发&#xff0c;那么“智能体”这个词一定已经听得耳朵起茧了。从能帮你写代码的Devin&#xff0c;到能自主完成复杂任务的GPT-4o&…...

Arm A64指令集SIMD与浮点寄存器架构解析

1. A64指令集的SIMD与浮点寄存器架构解析在Armv8-A架构中&#xff0c;A64指令集引入了强大的向量处理能力&#xff0c;通过32个128位宽的V寄存器&#xff08;V0-V31&#xff09;实现了高效的SIMD&#xff08;单指令多数据&#xff09;和浮点运算支持。这套寄存器文件的设计巧妙…...

2026年AI模型API中转站大排名!解析各平台优势,为企业与开发者精准选型

2026年5月&#xff0c;在中国广州&#xff0c;随着AI大模型技术不断迭代并在各产业全面落地&#xff0c;企业级API中转服务市场已步入成熟竞争阶段。技术稳定性、场景适配度以及综合性价比成为企业选择API中转站时的核心考量因素。近日&#xff0c;行业第三方评测机构发布了《2…...

算力入门:从FLOPS到PUE全解析

算力入门:FLOPS、TFLOPS、EFLOPS、算力规模、能效比、PUE 全解 算力(计算能力)是衡量计算机系统性能的关键指标,尤其在科学计算、人工智能和大数据处理等领域至关重要。本指南将逐步解释FLOPS、TFLOPS、EFLOPS、算力规模、能效比和PUE这些核心概念,帮助您快速入门。所有内…...

AI代理工具化新范式:基于MCP协议的模块化连接器实践

1. 项目概述&#xff1a;一个面向AI代理的模块化连接器最近在折腾AI应用开发&#xff0c;特别是围绕AI Agent&#xff08;智能体&#xff09;的生态构建时&#xff0c;发现一个挺普遍的问题&#xff1a;如何让这些Agent高效、安全地连接和使用外部工具与服务&#xff1f;无论是…...

GDScript Mod Loader:为Godot游戏打造专业模组生态的完整指南

1. 项目概述&#xff1a;为你的Godot游戏注入社区活力如果你是一名使用Godot引擎的独立游戏开发者&#xff0c;或者是一位热衷于为喜爱的游戏创造新内容的玩家&#xff0c;那么“模组”这个概念你一定不陌生。模组&#xff0c;或者说Mod&#xff0c;是游戏社区生命力的重要源泉…...

Swarmocracy:基于蜂群智能的分布式组织决策模拟实践

1. 项目概述&#xff1a;当开源项目遇上“蜂群民主”最近在开源社区里闲逛&#xff0c;发现一个挺有意思的项目&#xff0c;叫“Swarmocracy”。光看名字&#xff0c;就能嗅到一股混合了技术极客与组织社会学的味道——“Swarm”&#xff08;蜂群&#xff09;加上“-cracy”&am…...

NCCL watchdog timeout 先别只会加 timeout:PyTorch 新出的 Flight Recorder,真正值钱的是能把第一处 collective 分歧揪出来

NCCL watchdog timeout 先别只会加 timeout:PyTorch 新出的 Flight Recorder,真正值钱的是能把第一处 collective 分歧揪出来 很多人第一次遇到 NCCL watchdog timeout,第一反应都是三件事:查网络、调大 timeout、怀疑 NCCL 又炸了。这个顺序经常不够用。因为在很多真实训…...

基于MCP协议实现AI助手个性化:Terminal Buddies项目实战解析

1. 项目概述&#xff1a;当你的终端伙伴遇见AI助手 如果你和我一样&#xff0c;每天有大量时间泡在终端和代码编辑器里&#xff0c;那么一个能带来些许乐趣和陪伴感的“数字伙伴”或许能点亮枯燥的编码时光。Terminal Buddies 正是这样一个巧妙结合了复古 ASCII 艺术、轻量级游…...

搜搜果:一种面向AI生成内容验真与品牌可见度监测的实现方案

1. 问题定义 随着大语言模型&#xff08;LLM&#xff09;广泛集成到搜索、问答、推荐等场景中&#xff0c;出现两个可观测的问题&#xff1a; 内容可信性问题&#xff1a;模型会以高置信度输出事实上不存在的实体、事件或引用&#xff08;幻觉&#xff0c;hallucination&#…...

终极指南:如何用FanControl实现Windows系统风扇智能温控与静音优化

终极指南&#xff1a;如何用FanControl实现Windows系统风扇智能温控与静音优化 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub…...

上古卷轴5天际整合包下载最新全热门MOD整合(画质+人物+功能+场景全美化)下载分享

一、整合包基础概况 新手向懒人专属整合资源&#xff0c;适配电脑Windows系统。整合包集成多款热门优质MOD&#xff0c;无需玩家单独下载模组&#xff0c;整合包整体兼容性强&#xff0c;适配主流家用电脑&#xff0c;官方提前做好模组适配优化&#xff0c;规避多数模组冲突问…...

5分钟彻底解决Windows软件DLL缺失问题:VisualCppRedist AIO完整修复方案

5分钟彻底解决Windows软件DLL缺失问题&#xff1a;VisualCppRedist AIO完整修复方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过新安装的软…...

构建现代化图片编辑器的Vue与Fabric.js实践指南

构建现代化图片编辑器的Vue与Fabric.js实践指南 【免费下载链接】vue-fabric-editor 快图设计-基于fabric.js和Vue的开源图片编辑器&#xff0c;可自定义字体、素材、设计模板。fabric.js and Vue based image editor, can customize fonts, materials, design templates. 项…...

5大核心功能揭秘:GTA5线上小助手如何彻底改变你的洛圣都冒险体验

5大核心功能揭秘&#xff1a;GTA5线上小助手如何彻底改变你的洛圣都冒险体验 【免费下载链接】GTA5OnlineTools GTA5线上小助手 项目地址: https://gitcode.com/gh_mirrors/gt/GTA5OnlineTools 你是否厌倦了在GTA5线上模式中花费数小时完成重复任务&#xff1f;是否希望…...

DeepSeek API Gateway与大模型推理服务深度协同:如何实现Token级流控、异步响应封装、Streaming SSE自动保活?

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;DeepSeek API Gateway架构全景与核心定位 DeepSeek API Gateway 是面向大模型服务的高性能、可扩展网关系统&#xff0c;承担请求路由、认证鉴权、流量控制、协议转换与可观测性聚合等关键职责。它并非…...

OpenClaw:让 AI 从 “对话” 走向 “实干” 的开源智能体

在人工智能技术快速发展的今天&#xff0c;大语言模型的对话能力已日趋成熟&#xff0c;但 “能说不能做” 的痛点始终制约着 AI 的实际应用价值。2026 年&#xff0c;一款名为 OpenClaw&#xff08;社区昵称 “小龙虾 AI”&#xff09;的开源项目迅速走红&#xff0c;它以 “真…...

Android本地AI智能家居框架:ZeroClaw架构设计与工程实践

1. 项目缘起与核心愿景几年前&#xff0c;我还在为一个智能家居项目焦头烂额&#xff0c;试图让家里的灯光、空调和音箱能听懂人话&#xff0c;而不是只会执行预设的“回家模式”或“睡眠模式”。当时市面上主流的方案&#xff0c;要么是依赖某个封闭的云平台&#xff0c;所有指…...

别再乱接电源了!STM32的VDDA、VSSA、VBAT引脚,一个没接对,ADC采样全是噪声

STM32电源设计实战&#xff1a;VDDA、VSSA与VBAT的噪声抑制艺术 当你的STM32项目遇到ADC采样值跳变、RTC计时不准或程序下载失败时&#xff0c;电源引脚的设计往往是罪魁祸首。许多工程师在PCB布局时&#xff0c;对这些看似简单的电源引脚处理过于随意&#xff0c;结果在调试阶…...

Midjourney油彩风格进阶必修课:用--no shadow, --iw 2.0, --style raw构建可控厚涂质感(附Gaussian噪声注入对照表)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney油彩风格的美学本质与技术定位 油彩风格&#xff08;Oil Painting Style&#xff09;在 Midjourney 中并非简单滤镜叠加&#xff0c;而是通过语义引导、纹理建模与隐空间解耦共同作用形成的高…...

LSLib:让《神界原罪》和《博德之门3》MOD制作变得高效完整的实用指南

LSLib&#xff1a;让《神界原罪》和《博德之门3》MOD制作变得高效完整的实用指南 【免费下载链接】lslib Tools for manipulating Divinity Original Sin and Baldurs Gate 3 files 项目地址: https://gitcode.com/gh_mirrors/ls/lslib 你是否曾想为《神界原罪》或《博德…...

保姆级教程:在Google Colab上用TensorFlow 2.0快速搭建你的第一个ACGAN图像生成器

零门槛实战&#xff1a;用ColabTensorFlow打造你的首个ACGAN数字生成器 想象一下&#xff0c;只需点击几次就能让AI学会生成逼真的手写数字——这不再是实验室里的黑科技。我们将利用Google Colab的免费GPU资源&#xff0c;带你用TensorFlow 2.0快速搭建一个能按需求生成特定数…...