尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

雅虎借AI重振雄风的秘密:RAG如何激活存量资产?

雅虎借AI重振雄风的秘密:RAG如何激活存量资产? “雅虎拟借 AI 工具重振雄风”这个消息出来之后大部分人的第一反应是又一个老品牌来蹭 AI 热点了。但如果只看这一层可能就错过了这件事里最有价值的信息。雅虎不是一家没有资产的公司它有邮箱、新闻、财经、体育等多年沉淀下来的内容体系也有大量仍然依赖这些产品的存量用户。真正值得讨论的问题是当一家老牌互联网公司说要用 AI “重振雄风”时它靠的到底是什么为什么 CEO 兰佐内会强调“复古”是最大优势这篇会先拆解雅虎 AI 打法的底层逻辑再落到对普通开发者的启示老产品 AI 的改造路径是什么AI 应用落地需要哪几个关键环节以及如何用最小成本搭建一个可运行的 AI 检索问答示例。读完你会得到一套可以复用的判断框架和动手路径而不是只停留在新闻解读层面。1. 雅虎这次到底要借 AI 解决什么问题很多传统产品公司面对 AI 浪潮时第一反应是做一个聊天机器人挂在首页。雅虎这次的做法从公开信息看并不是要做一个“通用 AI 入口”而是把 AI 能力嵌入到自己已有的产品场景里。这意味着两件不同的事第一种是“用 AI 讲故事”典型做法是发布一个 AI 品牌、开一场发布会、推出一个试用 Demo目的是告诉市场“我也在拥抱 AI”。这种做法的技术含量不高对业务的实际改变也有限。第二种是“用 AI 改造存量业务”典型做法是分析自己已有的产品线找到 AI 能显著提升效率或体验的环节然后逐个替换、嵌入、重构。这种打法前期效果不性感但一旦跑通用户感知是持续且稳定的。雅虎的底子决定了它更适合第二种。雅虎有大量历史内容沉淀包括新闻、财经数据、体育资讯和多年积累的用户使用行为。这些内容本身就是大模型时代最紧缺的“私域知识库”。如果雅虎能把这些历史资产结构化、向量化再配合大模型做检索增强生成那么它产出的内容质量会明显优于那些依赖公网通用知识的 AI 产品。所以雅虎的真正意图大概率不是做一个“更聪明的搜索框”而是做“一个更懂老用户的内容分发引擎”。从这个角度看CEO 兰佐内说“复古”是最大优势并不是单纯的品牌情怀。这里的“复古”实际上指向三层资产品牌记忆很多用户对雅虎有认知基础不需要从零建立信任。内容历史多年积累的各类内容是训练个性化 AI 的最好语料。用户惯性仍然在使用雅虎邮箱、雅虎新闻的用户有稳定的使用场景。这三点叠加让雅虎在“AI 个性化内容服务”这条赛道上确实比新兴 AI 公司多了一些底牌。2. “复古”优势背后的核心技术逻辑如果把“复古”翻译成技术语言它对应的是一套非常经典的 AI 应用架构私人知识库 检索增强生成RAG 个性化分发。为什么要强调“复古”在这里是优势因为很多 AI 产品最大的问题不是模型能力不够而是没有差异化的数据。通用大模型拿到的问题是通用的所以给出的答案也是通用的。用户问“今天有什么重要新闻”大模型只会把搜索结果摘要念一遍不会比传统搜索体验好多少。但如果这个 AI 系统背后接入了雅虎财经的实时数据、雅虎体育的赛程数据、雅虎新闻的历史报道那么它生成的答案就有了信息增量。这正好是检索增强生成RAG要解决的核心问题把外部知识实时注入到大模型的生成过程中让模型不依赖训练阶段见过的旧数据而是基于检索到的最新、最相关的资料来作答。RAG 的流程可以拆成四步把雅虎的历史文章、财经数据、体育资讯切成文本块。用 Embedding 模型把这些文本块向量化存入向量数据库。用户提问时先做向量检索找出与问题最相关的几段资料。把问题和这些资料一起交给大模型由它综合生成最终答案。这套流程真正改变的不是模型本身而是“数据接入方式”。雅虎过去的问题不是没有数据而是数据散落在各个产品线里很难被统一利用。RAG 架构相当于给这些沉睡的历史数据装了一个接口让它们能被大模型实时调用。所以兰佐内口中的“复古”拆开看其实是用现代 AI 架构去活化历史数据资产。这个逻辑比单纯追逐新概念要扎实得多。对开发者来说这也是一个非常清晰的提示AI 应用落地不一定非要追求“从零发明一个杀手级产品”把已有的业务数据用 RAG 重新组织一遍本身就是一条可落地的路径。3. 从雅虎事件到普通开发者老产品 AI 的三个核心环节雅虎的转型思路听起来不复杂但真正落到开发实践里有三个环节最容易出问题。先把这三个环节列出来第一场景选择。不是所有产品功能都适合接入 AI。适合接入 AI 的功能通常满足两个特征输出内容是文本型、判断标准相对开放。比如“根据用户关注领域推荐新闻”比“计算订单金额”更适合用 AI。很多团队踩坑是因为把 AI 硬塞进了原本用规则就能很好解决的问题里效果反而不如老方案。第二数据闭环。AI 功能上线后用户会产生新的行为数据点了什么、没点什么、对答案是否满意这些数据必须重新回到知识库和数据管道里形成迭代。很多产品只做了“AI 问答”却没做“用户反馈回收”导致模型越用越“笨”而不是越用越准确。第三效果评测。传统软件功能有明确的输入输出判断标准而 AI 功能的输出是开放式的很难用简单的单元测试来保证质量。因此需要建立一套评测集准备一组代表性问题和对应的高质量答案每次模型或知识库更新后都跑一遍评测集对比效果变化。这三个环节里技术选型反而是最简单的一步。真正的工程难点在于你能不能把场景边界划清楚能不能把数据回流链路打通能不能用数据证明 AI 功能确实比原来更好。把这个问题想清楚再去看雅虎的“复古”策略就会明白它为什么强调“老用户”。老用户意味着雅虎已经知道这些用户对什么内容感兴趣、什么时候打开产品、对哪类信息有付费意愿。这些历史信号本身就是训练个性化 AI 的重要素材。即便是做通用 AI 产品冷启动阶段最缺的也是这类数据。4. 从零搭建一个 AI 检索问答示例理解了理论之后用一个最小示例把 RAG 流程跑通会帮助你更好地理解雅虎这类产品改造背后的技术实现。这个示例不会依赖具体框架核心是讲清楚“检索 生成”的思路。你可以在任意一台安装 Python 的电脑上运行。4.1 环境准备与依赖需要准备的环境Python 3.9 或以上版本版本请以实际环境为准一个可调用的大模型 API接口兼容 OpenAI Chat Completions 格式即可安装openai和python-dotenv依赖在项目目录下创建requirements.txtopenai1.0.0 python-dotenv1.0.0安装依赖pip install -r requirements.txt在项目目录创建.env文件写入 API Key注意不要提交到 GitOPENAI_API_KEY你的密钥4.2 核心代码实现先实现一个最基础的 RAG 流程。这里用一个简易的关键词检索逻辑代替向量检索方便在没有向量数据库的环境中跑通。创建app.py 文件路径app.py 一个最简 RAG 示例先从本地资料中检索相关内容再把资料交给大模型生成答案。 import os from dotenv import load_dotenv from openai import OpenAI load_dotenv() # 模拟雅虎财经/新闻风格的本地知识资料 KNOWLEDGE_BASE [ 雅虎财经为用户提供实时行情、财经新闻和个人理财工具。, 雅虎新闻涵盖全球时政、科技、娱乐、体育等多个频道。, AI 搜索的核心不是返回链接而是聚合信息并直接生成答案。, 检索增强生成RAG通过外部知识库提升大模型回答的准确性。, 个性化推送需要结合用户历史行为数据和实时兴趣信号来实现。, ] CLIENT OpenAI(api_keyos.getenv(OPENAI_API_KEY)) def retrieve(question: str, top_k: int 2) - list[str]: 简化版检索按关键词命中数量计分返回最相关的若干条资料。 scored [] for doc in KNOWLEDGE_BASE: score sum(1 for word in question.split() if word in doc) scored.append((score, doc)) scored.sort(keylambda x: x[0], reverseTrue) return [doc for score, doc in scored[:top_k] if score 0] def generate_answer(question: str, context: list[str]) - str: 将检索结果注入提示词调用大模型生成最终答案。 context_text \n.join(context) messages [ { role: system, content: 你是一个严谨的内容助手。请只依据提供的资料回答用户问题 如果资料中没有相关内容请明确说明无法回答。, }, { role: user, content: f相关资料\n{context_text}\n\n用户问题{question}, }, ] response CLIENT.chat.completions.create( modelgpt-4o-mini, messagesmessages, temperature0.2, ) return response.choices[0].message.content if __name__ __main__: q AI搜索和传统搜索有什么区别 docs retrieve(q) if not docs: print(本地资料库中没有检索到相关内容。) else: print(检索到的资料) for doc in docs: print(-, doc) print(\n生成的回答) print(generate_answer(q, docs))代码里有两个关键点需要注意。retrieve函数是最简版的检索逻辑仅做关键词命中次数排序。它在演示足够但在真实项目中远不够用。实际场景需要把文档切片、用 Embedding 模型做向量化并借助向量数据库做语义检索。原因很简单用户问“AI怎么推荐新闻”和资料里写“个性化推送需要结合用户历史行为数据”这两句没有共同关键词但语义高度相关。只有向量检索才能捕捉这种关系。generate_answer通过系统提示词限定了模型的回答边界要求“只依据提供的资料回答”。这一步是 RAG 降低幻觉的关键。如果不加这个限制模型会很自然地“自由发挥”把外部资料之外的知识也混进来导致答案虽然流畅但可能不准确。4.3 运行与验证运行命令python app.py预期输出的结构是先打印检索到的资料列表再打印大模型基于这些资料生成的回答。判断运行成功的标准检索结果中包含与问题相关的资料。模型回答的内容没有明显偏离所给资料。如果问题与资料库无关模型能明确告知无法回答而不是硬编一个答案。如果运行时出现AuthenticationError或401优先检查.env文件中的 API Key 是否正确加载以及环境变量是否被正确读取。如果输出结果为空优先检查检索函数是否返回了非空列表。最简单的方法是先在retrieve后加一行print(docs)调试输出。5. 生产级 AI 应用的检索与评估方案上面的最小示例能帮你理解 RAG 的原理但它距离生产环境还有不小的距离。如果你真要动手做一个“雅虎式”的存量内容 AI 改造至少要补齐下面几块。5.1 用向量检索替换关键词检索关键词检索撑不起真实业务。实际项目里推荐使用以下组合文本切片工具按段落或固定长度切分并保留标题、时间、来源等元数据。Embedding 模型选择中文效果好的向量化模型。向量数据库使用 Milvus、Qdrant、Weaviate 或云服务提供的向量检索能力。切片时需要保证上下文完整性。比如一个财经报道可能跨多个段落如果按固定长度硬切关键信息可能被截断导致检索效果变差。一个简单的切片策略示例# 文件路径chunking.py def split_text(text: str, chunk_size: int 300, overlap: int 50) - list[str]: 按长度切片并保留重叠区域减少上下文断裂风险。 if len(text) chunk_size: return [text] chunks [] start 0 while start len(text): end start chunk_size chunks.append(text[start:end]) if end len(text): break start end - overlap return chunks重叠区域的设计是为了让切片边界处的信息不会因为“恰好被切断”而丢失关键语义。真实项目中切片策略需要根据文档类型反复调优是 RAG 效果差异的重要来源之一。5.2 建立评测集AI 应用上线之前必须先有一个“效果基准”。实际做法如下从业务场景中整理 30 到 100 条真实用户问题。为每个问题准备一份高质量参考答案或者至少标注“关键信息点”。把这些问题输入系统记录回答结果。对比每次改动前后的回答质量统计“有效回答率”“正确率”“拒答率”。实现一个简化的评估脚本# 文件路径evaluate.py questions [ 雅虎财经提供哪些服务, RAG 解决的核心问题是什么, AI 搜索与传统搜索的区别是什么, ] def evaluate(questions): for q in questions: docs retrieve(q) if not docs: print(f[未检索到资料] {q}) continue answer generate_answer(q, docs) print(f[问题] {q}) print(f[回答] {answer}\n)评测的目的不是追求“每道题都答对”而是让团队能看到每次更新带来的效果变化。没有评测集的 AI 应用本质上是在盲调。评测集建议由产品、运营和技术人员共同维护至少覆盖体验问题、边界问题和典型用户问题三类。5.3 记录日志构建回流闭环AI 应用上线后日志收集比传统应用更关键。建议至少记录以下数据用户问题原文检索命中的资料 ID 和得分模型生成的最终答案用户对回答的反馈点赞、点踩、复制、继续追问模型响应耗时和 token 消耗有了这些日志才能做效果优化。比如发现大量用户的问题都检索不到合适资料说明知识库覆盖不足需要补充文档发现某类问题的 token 消耗明显偏高就要考虑优化提示词或限制上下文长度。这套“检索—生成—反馈—回填”的闭环是雅虎所谓“复古”优势真正落地的技术依托。老产品最不缺的就是用户反馈数据缺的只是把反馈回流到知识库和模型评测的管道。6. 常见问题与排查思路AI 应用开发和传统软件开发有一个很大的区别传统程序报错是显性的AI 程序的错误经常是“能跑但输出质量不对”。下面是几个高频问题。问题现象可能原因排查方式解决方案调用模型接口返回 401API Key 缺失或配置错误检查.env文件加载情况打印环境变量确认 Key 正确后重新加载环境变量模型回答与资料无关提示词未限定回答边界检查系统提示词是否明确要求依据资料回答增加“只依据资料回答”约束降低 temperature检索不到相关资料关键词匹配失败或知识库覆盖不足打印检索得分和命中结果改用向量检索扩充知识库文档回答内容事实错误资料切片截断关键语义检查切片大小和重叠区域调整切片策略补充上下文信息生成速度太慢上下文过长或模型过大查看模型请求耗时和 token 消耗精简提示词限制最大 token 数换轻量模型上线后用户反馈不佳缺少评测集改动效果不可控对比新老版本在同一评测集上的表现建立评测集回归测试后再发布其中“模型回答与资料无关”是最常见的问题。多数情况下不是模型问题而是提示词没有约束好。建议在系统提示词里明确写出“只能基于提供资料回答资料不足时明确说明”这是成本最低、见效最快的降幻觉手段。另一个容易忽视的是“知识库内容过期”。RAG 的好处是资料可以实时更新但前提是你要真的去更新。如果上线后知识库再没维护过那么模型回答的质量会随业务变化越来越差这一点在新闻、财经、体育这类强时效场景里尤其致命。7. 老产品 AI 的最佳实践建议从雅虎的案例和 RAG 开发经验出发整理几条对实际项目最有用的建议。7.1 先选场景再选技术最有效的 AI 场景通常满足三个条件用户有明确的“获取信息”需求。这个需求在过去需要多步操作才能完成。大模型加知识库能显著缩短这个路径。如果 AI 改造不能减少操作步骤、不能缩短等待时间、不能提升答案质量那么它大概率不是一个好场景。不要因为“别人都在做”就强行上 AI。7.2 小流量灰度用数据说话AI 功能不要一次性全量推给所有用户。先按 5% 到 10% 的流量灰度对比灰度组和对照组的关键指标比如停留时长、点击率、回答采纳率、投诉率。数据明显变好再全量放开这比主观判断可靠得多。7.3 给 AI 答案标注来源在 AI 生成的答案下方标注“信息来源”哪怕只是一个小链接。这不仅能提高用户信任度还能在模型给出模糊回答时让用户自己判断信息可靠性。对新闻、财经类产品这个设计几乎是必须的。7.4 控制成本和响应时延大模型调用不是免费的。实际项目里建议用最便宜且满足要求的模型做第一版把 token 消耗控制在合理范围。回答长度可以限制复杂问题可以做多轮追问而不是一次请求把所有信息都生成出来。7.5 遵守合规底线过滤敏感内容AI 生成内容必须经过安全过滤。建议在模型输出后接一道审核链路提前过滤不合规内容。对金融、新闻类产品还应该增加免责声明和风险提示。这个环节不是可有可无而是上线的前置条件。7.6 保持产品团队对 AI 的正确预期AI 不是万能钥匙。它能提升信息处理的效率但不能解决产品定位不清、用户需求理解不准这些根本问题。团队在立项时就应该明确AI 在这个项目里解决的是“效率问题”还是“体验问题”衡量标准是什么如何在数据上验证这些问题想不清楚项目大概率会从一开始就朝着错误的方向迭代。8. 后续可以做哪些事雅虎的转型故事还长但它提出的“用 AI 激活存量资产”思路对普通开发者和产品团队非常有参考价值。如果你接下来想深入这个方向可以按顺序做几件事第一把上面这个最小 RAG 示例跑通替换成你自己领域的数据比如公司内部文档、个人笔记、产品帮助中心的内容。先感受一遍“检索 生成”和“直接问大模型”的区别。第二引入一个向量数据库把关键词检索升级成向量检索。你会明显看到跨语义检索能力带来的差异也会实际遇到切片、Embedding 模型选择、相似度阈值调优这些真实工程问题。第三为你的 AI 应用建立一份评测集每次改动都跑一遍回归。这是从“能跑的 Demo”走向“可维护的产品”最关键的一步。第四持续关注主流 AI 应用开发框架和 Agent 开发模式。把单轮 RAG 扩展成多工具协作的 Agent让 AI 不仅能回答问题还能执行查询、调用服务、完成任务这是当前 AI 应用开发的一个重要方向。雅虎能不能靠 AI 重振雄风最终取决于执行。但“用 AI 把历史资产重新编排一遍”这个思路值得每一个手里有存量产品、存量数据或存量用户的团队认真对待。你可以从一个小场景开始用一两周时间跑一个最小闭环用数据验证它是否真的比旧方案更好。这比争论雅虎的新闻是不是炒作要有价值得多。
返回列表