公司动态
AI客服接入实时搜索:Decagon与Perplexity的RAG实践
如果你正在做企业级 AI 客服、Agent 或知识库类应用一定遇到过这种尴尬模型能力很强却答不出“今天早上刚发布的新规则”知识库很完整却覆盖不了“用户突然抛出的长尾问题”系统明明接了搜索引擎却把营销软文当成官方答案。这些问题的共同根源不是模型不够聪明而是“知识时效性”没有解决好。Decagon 接入 Perplexity 实时搜索服务恰好提供了一个非常值得拆解的样本。Decagon 是面向企业的 AI 客户支持平台它要解决的问题不是“陪用户聊天”而是让 AI Agent 在真实客服场景中给出可靠、可追溯、符合企业规范的响应。Perplexity 则以对话式实时搜索见长能把最新网页信息整理成带引用的回答。这两者结合本质上是把实时搜索服务作为 Agent 的信息底座用“检索增强生成”的方式补齐大模型的知识盲区。这篇文章我会从四个层面展开先讲清楚为什么要接入实时搜索服务大客户场景下面临哪些时效性痛点再拆解接入的核心架构和 API 集成方式然后给出可以直接运行的示例代码和验证方法最后总结接入过程中最容易被忽视的坑和工程建议。无论你是在做客服机器人、企业知识助手还是通用 Agent 平台这套思路都可以复用。1. 这篇文章真正要解决的问题很多团队在上线 AI 客服时第一个月效果很好第二个月开始被客户投诉第三个月就发现问题集中在同一类场景用户问的问题知识库里确实没有或者知识库里的内容已经过时了。1.1 客服场景的信息时效性矛盾企业客服场景的信息有一个鲜明特点变化快、分散广、来源多。产品价格可能每周调整物流时效会受天气和节假日影响软件故障公告往往在几分钟内发布金融产品的利率和活动规则更是按天更新。这些信息即使有专门的运营团队维护也很难保证知识库的更新速度和线上商业节奏完全同步。更麻烦的是长尾问题。用户不会只问“退货政策是什么”还可能问“你们和某平台的联名卡现在还有活动吗”“这个版本为什么突然登不上去了”。这些问题如果知识库没录入模型就会靠“想象力”回答这是客服场景最不能接受的。1.2 静态知识库与动态实况的差距传统做法是把客服话术、产品文档、FAQ 整理成知识库再做向量化检索这就是大家常说的 RAG。RAG 能解决一部分问题但它有一个先天短板它只能检索“已经放入知识库的内容”。知识库更新需要经过内容审核、格式整理、向量化、发布上线这个流程再快也需要小时级甚至天级。实时搜索服务解决的不是“知识库够不够大”的问题而是“模型能否获取最新事实”的问题。Perplexity 这类服务会实时抓取网页内容把官方公告、新闻页面、论坛讨论等结构化信息返回给调用方。客服 Agent 拿到这些信息后再结合自己的话术规范生成最终回复。1.3 什么样的团队最需要这套方案如果你的产品满足以下任一条件就需要认真考虑接入实时搜索服务客服问题中超过 10% 需要查询“最新状态”或“正在发生的事件”。产品价格、库存、政策、活动等信息变更频繁。用户会直接询问官网、App 或社交渠道上刚发布的内容。大客户对服务响应有 SLA 要求不允许 AI 给出含糊或过期答案。当前知识库维护成本高新增问题常常跟不上业务节奏。反过来说如果你的问题域非常固定比如内部 IT 帮助台、设备使用说明、历史政策查询那么实时搜索未必是刚需做好静态 RAG 反而性价比更高。这也是 Decagon 这类平台没有把所有客户都放到同一套实时搜索逻辑里的原因越是服务大客户越需要精细的信息路由和成本控制。2. Decagon、Perplexity 与实时搜索服务的基础概念在写代码之前先把概念对齐。这样后续看示例时不会把“搜索 API”和“聊天模型”混为一谈。2.1 Decagon 在做什么Decagon 是一款面向企业的 AI 客户支持平台可以理解成一个“AI 客服团队”。它不只是接入一个大模型然后直接回复用户而是把客服工作流拆成多个环节意图识别、情绪判断、知识检索、政策查询、人工坐席转接等。它的核心价值是让 AI 在复杂的客服场景中承担责任而不是简单做问答机器人。这类平台天然需要多个信息源。模型只负责“理解和表达”具体事实必须来自可验证的数据源。因此Decagon 这类平台选择接入 Perplexity 实时搜索服务不是偶然而是 Agent 工程架构的必要步骤。2.2 Perplexity 的实时搜索服务是什么Perplexity 早期以对话式搜索引擎为人所知用户输入问题后它会返回一段整理好的回答并附上信息来源链接。相比传统搜索引擎给出一堆蓝色链接这种方式更接近“直接给答案”。Perplexity 对外提供的实时搜索服务本质上是把搜索能力和大模型生成能力封装成了 API。开发者调用时传入用户问题服务端会实时检索网页、抽取相关内容、生成回答并返回引用信息。对开发者的价值在于不需要自己维护爬虫、网页解析、内容抽取、去重排序这些复杂环节只需要处理 API 结果即可。2.3 核心概念RAG 与实时搜索增强RAG 全称 Retrieval-Augmented Generation中文叫“检索增强生成”。它的核心思路是不把问题直接丢给大模型而是先从外部系统检索相关文本把文本拼到 Prompt 中再让大模型基于这些文本生成答案。传统的 RAG 检索源以内部知识库为主比如 MySQL、向量数据库、文档系统。引入实时搜索服务后检索源多了一条“外部网页”的通道。整个公式可以写成Agent 大模型 内部知识库检索 外部实时搜索 任务规划 引用校验Decagon 接入 Perplexity 这类服务正是在“外部实时搜索”这一环上加强了能力。要注意实时搜索不能替代内部知识库因为企业很多政策、价格、内部流程并不在网上公开必须依靠内部数据。正确做法是分层内部知识库优先实时搜索兜底。2.4 与直接用搜索引擎爬虫的差异有些团队会想我能不能自己写爬虫抓网页然后存到知识库可以但成本很高。你需要处理反爬、页面结构变化、正文提取、去重、更新频率、内容质量过滤、稳定性保障等一系列工程问题。尤其是大客户场景网页内容可能出现故障公告、临时活动页、社交平台短内容这类页面生命周期极短自己维护一套爬虫体系非常不划算。使用 Perplexity 这类实时搜索服务相当于把“搜索基础设施”外包出去团队只需要关注业务层什么时候搜索、如何组织上下文、如何验证引用、如何降级。3. 大客户场景为什么必须引入实时搜索服务很多人觉得实时搜索只是“提高答案新鲜度”但在大客户场景里它的意义远不止于此。这里要区分两个概念正确性和可信度。正确性是答案事实是否正确可信度是客户团队是否敢让 AI 直接对外回复。实时搜索服务同时对这两者都有贡献。3.1 典型业务场景拆解以企业客服为例我把常见的高时效性问题分为四类场景类型示例失效后果故障与维护公告“系统现在能正常登录吗”“今天有计划维护吗”用户按照错误信息重复操作投诉升级价格与活动规则“现在的优惠券还能叠加吗”“这个商品涨价了吗”给用户错误报价造成赔付风险物流与库存状态“这个商品什么时候发货”“所在区域停运了吗”无法给出确定答复体验变差政策与合规说明“最新的售后政策是什么”“退款周期调整了吗”错误承诺导致法律或合规风险这些场景的共同特征是信息发布时间和用户咨询时间几乎同步。如果知识库几个小时才同步一次AI 客服就是在用昨天的信息回答今天的问题。3.2 知识库不可能覆盖所有问题大客户往往业务线多、产品矩阵复杂。要让知识库覆盖所有长尾问题意味着运营团队需要持续不断录入新内容。现实中很多客服团队连基础 FAQ 都维护不过来更别提实时同步官网公告和第三方政策。实时搜索服务提供了一条低成本补位路径。当内部知识库检索不到相关内容或者检索置信度不够时Agent 自动发起搜索把搜索结果作为补充上下文再结合已有话术生成最终回复。这样既不需要人工维护海量知识库又能覆盖大量非结构化信息。3.3 实时搜索服务的关键优势引用与可追溯大客户场景还有一个硬性要求AI 说的每一句话最好都能找到出处。如果 AI 客服告诉用户“明天会恢复发货”但用户追问“您怎么知道”系统需要能给出依据。Perplexity 这类实时搜索服务的输出中通常包含引用链接或引用文本这让企业有机会对 AI 的回答做二次校验。这也是我强调“不要盲目相信实时搜索返回答案”的原因。实时搜索提供的引用只能说明“网上有这段话”不保证“这段话说的是事实”。企业级系统需要设置引用白名单规则比如优先信任官网、政府网站、权威新闻源对个人博客、论坛内容降权处理。3.4 成本与收益判断接入实时搜索服务不是免费的成本包括 API 调用费用、响应耗时、上下文 token 消耗、以及结果校验的人力成本。因此大客户场景通常不会让所有问题都走实时搜索而是采用分级策略第一级内部知识库命中时直接回答。第二级内部知识库未命中但问题属于“低风险通用问答”时可以用实时搜索结果兜底。第三级涉及资金、法律、医疗、安全等领域时强制转人工坐席或者要求人工审核 AI 回复后再发送。这种分级的本质是将实时搜索服务当成“可选的实时信息源”而不是“所有问题的最终答案”。4. 实时搜索服务的接入模式与整体架构理解了为什么接入之后再看怎么接入。这里以 Decagon 这类企业级 AI 客服平台为背景给出一个通用的实时搜索增强架构。4.1 完整链路一次带实时搜索的客服请求链路可以拆成下面这些环节用户输入问题网关层做鉴权、限流、日志记录。Agent 会话管理模块加载历史对话和用户档案。意图分类模块判断问题是否属于“高时效性问题”。本地知识库检索得到候选文档和相关性分数。如果本地检索置信度不足则调用实时搜索 API。对搜索结果做清洗、去重、引用提取和安全过滤。将内部检索结果和实时搜索结果拼入 Prompt。大模型生成最终回答。系统对回答做引用校验和合规检查。返回给用户同时记录指标和审计日志。这个链路里实时搜索服务不是入口而是中间件。它可以被缓存、被降级、被替换不会影响主流程的完整性。4.2 三种可选的接入模式根据业务不同有三种常见的接入模式接入模式适用场景优点缺点全量搜索模式问题域比较开放知识库覆盖低回答新鲜度高成本高、延迟高、不可控规则触发模式部分问题需要最新信息成本和效果平衡需要维护分类规则兜底搜索模式内部检索结果可信度低时触发成本可控、最稳定链路复杂需要计算置信度在实际项目里我更推荐“兜底搜索模式”。底层是内部知识库它保证了对企业私有知识的准确回答上层是实时搜索它只解决内部知识库覆盖不到的问题。Decagon 这类平台对大客户一般也会采用类似策略因为大客户对成本、合规、可解释性的要求远高于中小客户。4.3 接入时需要考虑的架构组件无论选用哪种模式实时搜索服务接入后系统里最好包含以下几个组件查询改写模块把用户口语问题改写成适合搜索的短句。缓存模块对相同或相似查询做短时间缓存降低 API 成本。超时与重试模块第三方服务不可用时要快速失败并降级。引用校验模块检查返回链接域名、状态码、内容相关性。安全过滤模块屏蔽恶意 URL、非法内容和越权信息。审计日志模块记录哪些问题触发了搜索、返回了什么、最终回答了什么。这些组件不会一次性做完但架构上要预留位置。否则等流量上来你会发现第三方 API 的每一个不稳定因素都会被无限放大。5. 环境准备与基础配置接下来进入实操环节。我会给出一个最小可运行示例用 Python 演示如何接入实时搜索服务、如何把结果拼入 Prompt、如何暴露成 HTTP 接口。5.1 环境依赖建议使用 Python 3.10 及以上版本。本文示例依赖以下 Python 包requests调用实时搜索 API。openai调用大模型生成最终回答。fastapi uvicorn把 Agent 逻辑封装成 HTTP 服务。cachetools做简单的 TTL 缓存。python-dotenv加载环境变量。安装命令如下pip install requests openai fastapi uvicorn cachetools python-dotenv版本请以实际项目为准本文重点演示通用思路不依赖特定版本的 API。5.2 配置环境变量为了方便管理密钥建议把配置写入.env文件并且确保.env不会被提交到 Git 仓库。PERPLEXITY_API_KEYyour_perplexity_api_key PERPLEXITY_MODELyour_model_name OPENAI_API_KEYyour_openai_api_key OPENAI_MODELgpt-4o-mini AGENT_CACHE_TTL300 SEARCH_TIMEOUT15这里的PERPLEXITY_MODEL要填当前你在 Perplexity 控制台开通的模型名。不同时间、不同账号模型标识可能不一样建议以官方文档为准。不要照抄网上的旧模型名。5.3 为什么需要独立封装搜索客户端实时搜索服务和大模型聊天 API 在接口形式上可能很像但在职责上完全不同。搜索服务负责“找信息”大模型负责“写回答”。我建议把搜索逻辑封装成独立客户端不要直接在业务代码里写requests.post。封装的最大好处是后续切换服务商、调整超时、增加缓存时只需要改动一个文件。6. 核心流程拆解与示例代码下面开始写代码。这个示例会实现一个最小可用的“客服 Agent”它支持先查本地知识库未命中时调用实时搜索服务再把搜索结果交给大模型生成带引用的回答。6.1 封装实时搜索客户端先建一个search_client.py文件负责调用实时搜索服务。# 文件路径search_client.py import os import requests from dotenv import load_dotenv load_dotenv() class RealtimeSearchClient: def __init__(self, timeout: int 15): self.api_url https://api.perplexity.ai/chat/completions self.api_key os.getenv(PERPLEXITY_API_KEY) self.model os.getenv(PERPLEXITY_MODEL, your_model_name) self.timeout timeout def search(self, query: str, system_prompt: str ) - dict: 调用实时搜索服务返回 answer 和 citations。 if not self.api_key: raise ValueError(PERPLEXITY_API_KEY is not set.) headers { Authorization: fBearer {self.api_key}, Content-Type: application/json, } system_content system_prompt or ( 你是一个实时搜索助手。请基于搜索结果 用简洁准确的语言回答问题并返回信息来源。 ) payload { model: self.model, messages: [ {role: system, content: system_content}, {role: user, content: query}, ], temperature: 0.2, max_tokens: 800, return_citations: True, } resp requests.post( self.api_url, headersheaders, jsonpayload, timeoutself.timeout, ) resp.raise_for_status() data resp.json() return { answer: data[choices][0][message][content], citations: data.get(citations, []), }这段代码的关键点有三个第一通过环境变量读取 API Key避免硬编码在代码里。第二把return_citations打开因为引用信息对大客户场景非常关键。第三设置了超时时间避免第三方接口长时间挂起拖垮业务线程。6.2 实现带缓存与降级的搜索逻辑实时搜索服务有成本不能每次都直接请求。这里用一个 TTLCache 做内存缓存同时加入简单的降级逻辑。# 文件路径agent_service.py import os from cachetools import TTLCache from search_client import RealtimeSearchClient client RealtimeSearchClient() cache_ttl int(os.getenv(AGENT_CACHE_TTL, 300)) search_cache TTLCache(maxsize1024, ttlcache_ttl) def search_with_cache(query: str) - dict: 带缓存和降级的搜索调用。 normalized query.strip().lower() if normalized in search_cache: print(f[cache] hit: {normalized}) return search_cache[normalized] try: print(f[search] miss: {normalized}) result client.search(query) search_cache[normalized] result return result except Exception as exc: print(f[search] error: {exc}) # 降级返回空结果让上层走本地知识库或人工兜底 return {answer: , citations: []}这里的缓存 key 我用的是归一化后的纯文本。实际项目中建议用 embedding 相似度缓存否则用户换一种说法缓存就很难命中。降级处理也很重要搜索失败时不要让整个 Agent 崩溃而是返回空结果让上层逻辑决定继续用本地知识库还是转人工。6.3 用 FastAPI 暴露客服 Agent 接口接下来把流程串起来。用户请求到达后先查本地知识库如果本地没有足够信息再调用实时搜索服务最后用大模型生成回答。# 文件路径main.py import os from typing import List from fastapi import FastAPI, HTTPException from pydantic import BaseModel from openai import OpenAI from agent_service import search_with_cache app FastAPI(titleRealtime Customer Agent) oaiclient OpenAI(api_keyos.getenv(OPENAI_API_KEY)) openai_model os.getenv(OPENAI_MODEL, gpt-4o-mini) class QueryRequest(BaseModel): user_id: str query: str session_id: str def retrieve_local_docs(query: str) - List[dict]: 模拟本地知识库检索实际项目可替换为向量数据库查询。 local_docs [] # 这里只做演示实际逻辑通常是embedding - vector db - topk return local_docs def need_realtime(query: str, local_docs: List[dict]) - bool: 判断是否需要实时搜索。 if not local_docs: return True # 如果本地文档包含“最新”“现在”“今天”等高时效词也可以触发搜索 keyword_markers [最新, 现在, 今天, 目前, 刚发布, 延迟, 故障] return any(kw in query for kw in keyword_markers) def build_prompt(query: str, local_docs: List[dict], search_result: dict) - str: local_text \n.join(d.get(content, ) for d in local_docs) search_answer search_result.get(answer, ) citations search_result.get(citations, []) citation_text if citations: citation_text 参考资料\n \n.join(citations) return f你是企业客服助手。请基于以下资料回答用户问题。 如果资料不足请明确说明“需要人工核实”。 【内部知识库】 {local_text} 【实时搜索结果】 {search_answer} {citation_text} 【用户问题】 {query} app.post(/api/agent) def agent_endpoint(req: QueryRequest): # 1. 本地检索 local_docs retrieve_local_docs(req.query) # 2. 判断是否触发实时搜索 search_result {answer: , citations: []} if need_realtime(req.query, local_docs): search_result search_with_cache(req.query) # 3. 拼接最终 Prompt prompt build_prompt(req.query, local_docs, search_result) # 4. 调用大模型生成回答 resp oaiclient.chat.completions.create( modelopenai_model, messages[ {role: system, content: 你是一名严谨的企业客服助手。}, {role: user, content: prompt}, ], temperature0.3, ) answer resp.choices[0].message.content return { answer: answer, use_realtime_search: bool(search_result.get(citations)), citations: search_result.get(citations, []), }这段代码把链路串起来了但也只是“最小可用版”。实际项目里retrieve_local_docs不会返回空列表而是从向量数据库查询 top-k 文档need_realtime不会只看几个关键词而是由单独的分类模型决定build_prompt还会包含企业话术规范、敏感词过滤规则等。6.4 运行方式启动服务前先确认.env里的 API Key 和模型名都正确。uvicorn main:app --host 0.0.0.0 --port 8000用 curl 或浏览器访问接口验证curl -X POST http://localhost:8000/api/agent \ -H Content-Type: application/json \ -d {user_id: u_1001, query: 你们的退货政策现在有变化吗}如果配置正确接口会返回 JSON其中use_realtime_search为 truecitations里有信息来源链接。7. 运行结果与效果验证接入实时搜索服务之后不能只看“能跑通”还要建立一套可量化的验证方式。以下是我推荐的验证方法。7.1 预期返回结果正常一次请求响应结构大致如下{ answer: 根据官网最新公告自本月15日起退货时效从7天延长至15天。, use_realtime_search: true, citations: [ https://example.com/company/return-policy ] }你需要确认两件事第一answer是否回答了用户问题第二citations中的链接是否可以正常访问并且内容确实支撑答案。7.2 离线评测集建议准备 30 至 50 个“高时效性问题”作为离线评测集把接入前后的回答保存下来逐条对比。评测维度可以包括评测维度说明答案正确率回答是否与最新事实一致引用可访问率返回链接是否能打开、是否有效完全幻觉率回答中是否存在无根据的编造内容延迟从请求到返回的平均耗时成本单次请求的搜索 API 调用费用不要只看正确率。引用可访问率是很多团队忽略的坑实时搜索返回的链接可能因为网页更新、反爬或临时跳转而失效。如果引用打不开用户会对 AI 的信任度大幅下降。7.3 线上灰度策略建议先只对内部员工开放再用 5% 到 10% 的真实流量灰度。灰度期间重点观察两个指标转人工率是否下降以及用户是否会对回答中的引用链接进行点击。如果转人工率没有变化说明实时搜索并没有真正解决用户问题需要回到查询改写和上下文构建环节排查。7.4 判断接入是否成功的三个标准时效性问题占比下降用户不再频繁追问“你确定吗”。知识库维护成本下降运营团队不需要紧急录入每一个临时公告。回答引用可核验用户或客服主管能通过引用链接快速确认信息来源。这些标准比单次 Demo 演示更有价值。大客户场景下效果评估不是“能不能回答”而是“能不能稳定、安全、可解释地回答”。8. 常见问题与排查思路实时搜索接入过程中有几个问题是团队最常遇到的。这里整理成排查清单方便直接对照使用。问题现象可能原因排查方式解决方案搜索请求经常超时第三方 API 网络不稳定或超时时间太短查看服务日志和上游状态页设置合理超时和重试增加失败降级返回结果和问题完全无关查询改写后丢失原意打印发送给搜索服务的 query用原始问题加关键词扩展或引入查询改写模型引用链接打不开网页被反爬、已删除或跳转用 HTTP 状态码检查 URL返回前校验 URL失败时过滤该引用回答仍然是旧信息缓存 TTL 设置过长检查缓存命中日志高时效问题单独设置短 TTL搜索调用成本快速增长所有请求都触发搜索查看搜索请求占比日志调整触发阈值增加本地知识库命中率搜索结果包含不安全内容未做内容安全过滤检查返回内容类型和域名增加域名白名单和内容过滤策略大模型无视搜索结果继续编造Prompt 约束不够强检查最终送进模型的 Prompt强调“只能基于资料回答找不到就说不知道”用户隐私信息被发送到第三方未做敏感信息脱敏检查请求日志和 Payload在调用搜索 API 前执行脱敏和关键字屏蔽第一类问题是纯工程问题通过超时、重试、缓存基本能解决。第二、第三类问题需要业务规则介入比如建立可信域名库、对搜索结果做相关性打分。最后一类问题是最容易被忽略的也是最需要提前设计的因为用户对话里可能包含订单号、手机号、地址等敏感信息把这些内容发送给第三方搜索服务前必须做脱敏或明确拒绝。9. 最佳实践与工程建议如果要在生产环境长期稳定运行实时搜索服务下面这些建议值得认真参考。9.1 把实时搜索当成“信息源”而不是“答案源”实时搜索服务返回的 answer 可以作为参考但不要直接拼给用户。更稳妥的方式是把搜索结果作为 Prompt 上下文让主模型基于上下文生成回答。原因很简单搜索服务更擅长找信息但可能不了解你的客服话术、语气规范、敏感词限制。9.2 引用必须保留且可核验引用是实时搜索服务最值钱的部分。在面向用户展示时如果产品形态支持尽量把引用链接展示出来。如果不支持展示链接也要在内部审计日志里保留引用信息方便后续追溯。永远不要为了美观而丢弃引用。9.3 本地知识库和实时搜索要分层优先查本地知识库本地没有或置信度低时再触发搜索。这样可以控制成本也能减少不可控的外部内容进入问答链路。大客户场景通常对回答来源有明确要求内部知识库的可信度永远高于外部网页。9.4 做好缓存与限流缓存能显著降低成本但 TTL 不能一概而论。针对价格、库存、故障公告等高时效类问题缓存 TTL 建议控制在 60 至 300 秒。针对一般政策类问题可以延长到 15 分钟到 1 小时。同时要限制单个用户或单个 IP 的搜索触发频率防止恶意刷量导致成本失控。9.5 搜索失败时必须有降级方案实时搜索服务一旦不可用Agent 不能直接报错。降级方案至少有三种返回本地知识库结果并提醒用户“信息可能不是最新”。直接转人工坐席由人工介入回答。给用户返回一个可点击的官网链接让用户自行查询最新信息。降级方案不是“临时补救”而是产品设计的一部分。越是大客户越能接受“AI 说不知道并转人工”越不能接受“AI 编造一个答案”。9.6 数据安全与合规在使用外部搜索服务时要建立敏感信息过滤机制。可以在进入搜索模块之前用正则或 NER 模型识别手机号、身份证号、订单号、银行卡号等敏感信息并做掩码处理。如果客户有数据驻留要求还要确认第三方服务商的数据处理协议是否满足合规要求。9.7 建立可观测性从接入第一天就记录日志和指标。建议至少埋点以下信息查询内容脱敏后。是否触发实时搜索。搜索 API 响应耗时和状态。返回引用数量。最终回答选择哪条引用。用户是否对回答点击“有帮助”。这些数据积累到一定量后会让后续的搜索触发规则、缓存策略、成本优化都有据可依。10. 总结与后续学习方向Decagon 接入 Perplexity 实时搜索服务这个案例表面看是两个公司的商业合作本质上是 AI 客服工程演进的一个缩影模型能力不再是唯一决定因素“能不能拿到正确、及时、可验证的信息”反而成为工程重点。如果你正准备在自己系统里接入实时搜索服务我建议从最小闭环开始先封装搜索客户端再做本地知识库加搜索兜底的简单链路最后逐步加入缓存、限流、引用校验、安全过滤和降级策略。不要一上来就做复杂架构先把“信息能否流通起来”验证清楚再谈优化。下一步可以继续深入的方向有三个一是搜索触发策略怎么判断哪些问题值得触发实时搜索二是引用质量评估怎么自动判断返回网页是否可信三是多 Agent 协作让检索、总结、校验分别由不同模块负责提高整体可靠性。记住一个原则实时搜索服务让 AI 客服“看到”了最新的世界但最终是否敢把回答发出去依然取决于你的工程控制能力。