大家好,我是梦飞。这是昨天在火山引擎原动力大会中的演讲分享逐字稿,分享了DeepSearch的相关内容,希望对大家能有所帮助。
直播回放:
通往AGI之路视频号-6月12日直播回放。
以下为演讲原文:
各位开发者朋友们,大家上午/下午好!非常荣幸今天能在火山引擎开发者大会与大家相聚。我是今天的分享者:梦飞。
今天我将为大家分享的主题是:“DeepSearch技术详解 -- 打造属于你自己的DeepSearch应用”。我们将一起探索,如何通过DeepSearch这项技术,让我们的AI模型能够获取并利用更丰富、更精准的信息,从而生成更智能、更可靠的答案。
相信大家在日常开发或使用AI应用时,都曾期待模型能给出超越预期的答案。但有时,我们可能会觉得模型的回答“不够深入”、“信息有点旧”或者“不够全面”。那么,如何才能系统性地提升模型回答的质量呢?这正是我们今天要深入讨论的核心—DeepSearch。
在接下来的大约25分钟里,我将主要围绕以下几个方面展开:
- 首先,我会用最通俗易懂的方式,和大家聊聊到底什么是DeepSearch,揭开它的神秘面纱。
- 其次,我们将探讨为什么DeepSearch如此重要,它对于提升AI模型表现的核心价值在哪里。
- 然后,也是我们今天的重点,我会深入浅出地解析DeepSearch的技术原理和核心实现逻辑,看看AI是如何进行“深度研究”的。
- 接着,我们会聚焦火山引擎的实践,介绍DeepSearch如何通过MCP的方式落地,并特别提及我们火山开源的
deep_search_mcp
项目。 - 最后,我还会简单介绍一下火山引擎在Prompt工程方面的一些能力,看看如何与DeepSearch相得益彰。
那么,到底什么是DeepSearch呢?用一句简单直白的话来说,DeepSearch可以被认为是一种“智能信息预处理增强技术”。它的核心任务,就是在AI模型真正开始“思考”和生成答案之前,主动地、智能地去获取、筛选和整合与当前任务最相关的信息。
我们可以做一个生动的类比:
想象一下,AI模型就像一位准备参加“最强大脑”竞赛的选手。如果这位选手只依赖自己脑子里记住的知识,那他的知识库总有上限,也可能会过时。
而DeepSearch,就如同给这位选手配备了一个顶级的“智能研究团队”。在选手回答任何复杂问题之前,这个团队会:
首先,快速理解问题核心;
然后,立刻去搜寻全球的图书馆、最新的行业报告、专业的数据库、甚至是互联网上的实时讨论;
接着,筛选、整理、提炼出最相关、最精华的信息;
最后,把这些“高价值情报”喂给选手,让他能基于最新、最全的信息给出答案。
因此,DeepSearch的关键目标,就是确保AI模型在生成答案前,能够访问到尽可能全面、准确、及时的上下文信息。这与我们人类在做出重要决策前需要充分调研是一个道理。
大家可能会问,这听起来不就是普通搜索引擎做的事情吗?其实不然。传统搜索(比如我们日常用的网页搜索)更多是为人类用户设计的,它返回的是一系列链接,需要我们自己去点击、阅读、理解和判断哪些信息有用。
而DeepSearch更侧重于为AI模型服务。它的目标不是简单地“找到10个链接”,而是要从这些信息源中“获取能够被模型直接理解和利用的信息片段或结构化数据”,并主动进行初步的整合和提炼。它追求的是为AI提供“可以直接消化的知识点”,而非原始的资料列表。
了解了DeepSearch是什么之后,我们再来看看为什么对大语言模型(LLM)如此重要。
我们知道,大语言模型虽然能力强大,能够写文章、写代码、回答问题,但它们生成回答的质量,高度依赖于“输入”给它的信息。圈内有句老话,“Garbage In, Garbage Out”(输入的是垃圾,输出的也是垃圾)。模型知道的越多、越准、越新,才越有可能给出高质量的答案。正如研究指出的,数据质量对LLM的性能至关重要
大语言模型的固有局限性
尽管LLM非常先进,但它们并非完美,在信息获取方面存在一些固有的局限性:
- 知识截止日期 (Knowledge Cut-off):大多数LLM的知识库并非实时更新的,而是停留 在其训练数据收集截止的那个时间点。对于之后发生的新事件、新发现、新产品,它们可能一无所知。
- 幻觉 (Hallucination):有时模型可能会“一本正经地胡说八道”,编造一些看似合理但不真实的信息。这在缺乏准确的外部参考时更容易发生。
- 领域知识不足:对于非常专业或细分的领域,通用大模型的知识深度可能不够,难以给出专家级的见
DeepSearch正是为了解决或缓解这些问题而生的。它通过主动获取和整合外部信息,为模型带来了显著价值:
- 扩展知识边界:通过连接互联网搜索引擎、最新的行业报告、研究论文等外部实时信息源,DeepSearch能够打破模型的知识壁垒,让模型“看到”训练数据之外的广阔世界和最新动态。
- 提升信息时效性与准确性:DeepSearch可以获取到最新的数据和事实,用于验证或纠正模型内部可能已经过时或不准确的知识。这有助于大幅减少模型产生“幻觉”的概率,提升回答的可靠性。
- 增强领域专业性:通过配置DeepSearch接入特定领域的知识库、专业数据库、内部文档等,可以为模型“喂食”高度相关的专业知识,使其在特定任务上的表现更加出色。
- 提供可追溯性:一个设计良好的DeepSearch系统,通常能够记录其信息来源。这意味着模型给出的答案,可以追溯到具体的参考依据,这对于需要验证和审计的应用场景(如医疗、金融)至关重要。
所以,DeepSearch不仅仅是一个“更聪明的搜索框”,它更是提升AI模型回答质量、可靠性和智能水平的关键赋能技术。它让模型从一个“博闻强记但知识可能过时的学生”转变为一个“掌握最新情报、善于实时调研的专家”。
关键要点总结:DeepSearch的价值
- 解决知识陈旧:获取最新信息,突破LLM的知识截止日期。
- 减少模型幻觉:基于事实数据回答,提高答案准确性。
- 深化专业领域:补充特定领域知识,提升专业问答能力。
- 增强结果可信:提供信息来源,使模型回答可验证。
现在,让我们深入到DeepSearch的内部,看看它是如何工作的。这部分是今天技术分享的重点。
DeepSearch的核心理念,可以用一个词组来概括:迭代式的“搜索-阅读-推理”循环 (Iterative Search-Read-Reason Loop)。这并非一次简单的搜索然后就结束,而是一个动态的、不断迭代优化的“探索-理解-综合”过程。。
我们可以将这个过程拆解为以下几个关键技术步骤,大家可以配合想象一个智能助理在帮我们做研究的场景:
查询理解与规划 (Query Understanding & Planning / Routing)
- 首先,系统需要准确理解用户的原始提问或者AI模型当前面临的任务的真正意图。这可能涉及到对复杂问题的分解,比如把一个大问题拆成几个小问题;也可能需要识别问题中的核心关键词和实体;有时甚至需要与用户进行澄清式的交互,以确保理解无误。在理解了意图之后,系统会进行规划:我需要哪些类型的信息?应该从哪些渠道获取这些信息?获取到信息后,我该如何判断它们的有效性和相关性?这个规划阶段有点像我们做研究前的文献综述和方案设计。
多源查询生成与执行 (Multi-Source Query Generation & Execution / Search)
-
根据第一步的规划,DeepSearch系统会针对不同的信息源生成定制化的查询指令。这些信息源可以是多种多样的:
-
互联网搜索引擎:用于获取广泛的、公开的、最新的信息。
-
企业内部知识库 (Knowledge Bases):例如公司的产品文档、运维手册、FAQ问答对、历史案例等。
-
结构化数据库 (Databases):如关系型数据库、NoSQL数据库,用于获取精确的数据记录。
-
API接口:调用特定的第三方服务(如天气预报、股票行情、学术文献库API)来获取实时或专业数据。
-
然后,系统会并发或按一定顺序地执行这些查询,开始从各个渠道收集信息。
这里我想特别强调一点:大家千万不要把DeepSearch简单等同于“联网搜索”。联网搜索仅仅是DeepSearch获取信息的一个重要渠道,但远非全部。DeepSearch有广泛适用性:不仅仅是联网搜索
DeepSearch的“深度”体现在:
-
信息源的多样性:如前所述,除了互联网,还可以是企业私有的知识库、结构化数据库、各类API接口等任何模型完成任务所需要依赖的信息载体。这些内部或专有数据源对于企业级AI应用尤为重要。
-
处理过程的深度:它涉及到复杂的自然语言理解、信息抽取、知识融合、质量评估和推理过程,远非简单的关键词匹配后返回链接列表。
-
与模型的高效协同:DeepSearch的最终目的是为AI模型提供“即食”的高质量上下文,让模型能够直接利用这些信息来提升其表现,而不是让人类用户再去消化海量原始资料。
所以,DeepSearch是一个高度智能化的信息获取与整合框架,它的设计目标是让AI能够更有效地利用外部世界丰富多样的信息资源。
信息获取与初步处理 (Information Retrieval & Preprocessing / Reading)
- 当各个信息源返回结果后,DeepSearch会获取到原始信息。这些信息的形式可能多种多样,比如网页HTML、PDF文档、Word文档、JSON数据、数据库记录等等。接着,系统会对这些原始信息进行初步的处理,例如:从网页中提取正文内容、去除广告和无关导航;对文本进行清洗,去除特殊字符和格式噪音;将不同格式的数据转换为统一的内部表示等。这一步的目标是把“毛坯”信息加工成“半成品”,方便后续的深度处理。
信息抽取、融合与评估 (Information Extraction, Fusion & Evaluation / Reasoning & Reflection)
-
这是DeepSearch中非常核心且智能的一步,也是最能体现其“深度”的地方。系统需要从海量、异构的初步处理后的信息中“阅读”并理解内容,然后:
-
抽取关键信息:如提取文中的核心观点、命名实体(人名、地名、组织机构名)、关键事件、数据指标、关系对等。
-
信息融合:将来自不同源头、但可能描述同一事物或相关主题的信息进行比较、对齐和“融合”。比如,如果A网页说某产品有特性X,B文档说有特性Y,融合后可能会得到该产品有特性X和Y。这一步还需要解决信息间的冲突和冗余。
-
质量评估:对每一条信息或信息片段进行评估,判断其与原始查询的“相关性”、信息的“质量”(是否完整、准确)、来源的“可信度”等。低质量或不相关的信息会被过滤掉。
-
这个过程往往需要复杂的自然语言处理技术和一定的“推理”能力,有些系统还会进行“反思”(Reflection),即审视当前获取的信息是否足够,是否需要调整策略。
结果综合与上下文构建 (Result Synthesis & Context Formulation)
- 经过筛选、融合和评估后,DeepSearch会将高质量的信息进行综合。这可能表现为:生成一段精炼的摘要来总结所有相关发现;将多个信息点整合成一个结构化的知识图谱片段;或者直接挑选出最关键的几个文本段落。最终的目标是构建一个清晰、简洁、高度相关的上下文信息包,这个信息包将作为“增强Prompt”或直接的知识注入,提供给下游的AI大模型使用。
迭代与反思 (Iteration & Conditional Repeat)
-
DeepSearch系统通常并不会一次就结束。如果初步获取和综合的结果并不理想,比如信息不够全面、答案不够深入,或者可信度不高,系统可能会启动新一轮的“搜索-阅读-推理”循环。它可能会重新审视最初的查询意图、调整搜索关键词或搜索策略、探索新的信息源,或者对已有信息进行更深层次的分析和推理。这种迭代和反思能力,使得DeepSearch能够像人类研究员一样,不断逼近问题的最佳答案。
了解了DeepSearch的原理之后,大家可能会关心,既然DeepSearch这么重要,那么对于小团队或个人开发者来说我们能够如何实践和构建DeepSearch呢?
这里我们就要提到了火山引擎的AI App Lab,我曾在多个场合多次推荐过火山引擎的应用实验室项目,这里开源了丰富的应用源码,能够助力团队或个人快速构建起企业级的大模型应用。那在应用实验室中,有一个项目叫做: deep_search
,项目代码仓库中叫做: deep_search_mcp
这里,要先引入一个重要的概念——MCP(Model Context Protocol,模型上下文协议)。
简单来说,MCP就像是为AI模型和各种外部能力(比如我们前面提到的搜索工具、知识库访问、API调用等)之间搭建的一个“标准接口”或“通用连接器”。这个概念在业界也得到了广泛的关注和应用,旨在实现LLM应用与外部数据和工具的无缝集成
通过MCP,不同的外部服务(我们称之为MCP Server)可以遵循一套统一的规范来暴露自己的能力,而AI应用(MCP Client,例如大模型应用)则可以通过这套规范来发现、调用和集成这些能力。这大大降低了AI应用集成外部功能的复杂性,提升了开发效率和系统的灵活性。
基于MCP的理念,火山引擎也致力于提供一系列原子化、标准化的MCP服务。开发者可以像搭积木一样,快速选择和组合这些服务,来构建和定制自己的DeepSearch系统,或者将其集成到更广泛的AI应用中:
- 联网搜索MCP服务:提供接入通用搜索引擎的能力,获取最新的互联网公开信息。
- 知识库检索MCP服务 (通常结合RAG技术):这是非常重要的一类服务。它可以便捷地对接企业自有的文档库、FAQ集合、技术手册等私域知识。
- 文档处理MCP服务:很多时候,有价值的信息可能存储在各种格式的文档中,如PPT、PDF、Word等。火山引擎也提供相应的文档智能解析和关键信息提取能力,这些能力同样可以封装成MCP服务,被DeepSearch流程所调用,从中获取结构化或半结构化的信息。
通过这种标准化的MCP服务体系,火山引擎可以帮助开发者:
- 降低开发门槛:无需为每一种外部信息源都从零开始编写复杂的对接和处理逻辑。
- 提升开发效率:可以更聚焦于业务逻辑的实现和DeepSearch策略的优化。
- 增强系统灵活性:可以方便地替换或增删DeepSearch流程中的某个信息源模块,而无需大规模修改代码。
最新的deep_search_mcp项目,应用了MCP的模式,使用火山中提供的丰富的MCP接口来构建deepsearch的服务。
项目地址:https://github.com/volcengine/ai-app-lab/tree/main/demohouse/deep\_search\_mcp
这个项目:
- 具体示例:它生动地展示了如何将DeepSearch的核心环节(比如查询理解、多源搜索策略、信息整合等)进行模块化设计,并通过MCP的方式进行灵活的编排和调用。
- 设计范式:它不仅是一段可以直接运行和学习的代码,更重要的是提供了一种可供参考的DeepSearch系统设计范式。开发者可以借鉴其思路来构建符合自己业务需求的DeepSearch能力。
- 快速启动:对于想快速上手DeepSearch的开发者来说,这个项目可以作为一个很好的脚手架,帮助大家减少从零开始的摸索时间。
非常建议大家去GitHub上详细了解这个项目,它能帮助你更直观地理解DeepSearch的实现细节。
为了让大家能够更好的上手和体验,我们为大家准备了一份教程:
直接在火山方舟中,通过复制广场DeepSearch应用快速创建同款应用。以极低的成本实现云端托管部署,并提供还对话界面体验。小白都可以直接上手
时间关系,我们不再手动操作,大家可以跟着文档步骤进行。
当我们通过DeepSearch辛辛苦苦为AI模型获取到了大量优质、相关的信息之后,如何才能确保模型能够最好地理解和利用这些信息,并按照我们的期望去思考和回答呢?这里,就不得不提一个关键环节——Prompt工程。
Prompt(提示词),就是我们向大模型发出的指令或问题。一个精心设计的Prompt,对于引导模型输出高质量、符合预期的结果至关重要。它可以被看作是驾驭大模型的“方向盘”和“说明书”。即使是同样的信息,不同的Prompt也可能引导模型给出截然不同的答案。
认识到Prompt工程的重要性,火山引擎在AI能力建设中,也提供了在Prompt自动生成和调优方面的支持能力:
- 辅助生成有效Prompt:根据特定的任务场景以及DeepSearch检索到的上下文信息,智能地辅助开发者生成更具引导性、更精确的Prompt。
- 分析与优化现有Prompt:对开发者已有的Prompt进行分析,评估其可能的效果,并给出优化建议,从而提升Prompt引导模型输出的准确度和质量。
虽然今天时间有限,不能详细展开,
它们都体现了火山对于提升AI应用开发效率和效果的努力,而Prompt工程正是其中的一个重要组成部分。
DeepSearch和Prompt工程,两者可以说是相辅相成、缺一不可:
如果说DeepSearch负责为AI模型提供“优质的食材”(即高质量、高相关度的信息上下文),那么优秀的Prompt工程则像是精心设计的“烹饪菜谱”,它指导模型如何去“烹饪”这些食材,确保这些信息能被模型最好地理解和利用,最终“产出”令人满意的“美味佳肴”(即高质量的回答或内容)。
只有将两者有机结合,才能最大限度地发挥AI模型的潜力,显著提升AI应用的整体表现和用户体验。
在今天短短的分享时间里,我们一起深入探索了DeepSearch这项为AI模型提供优质信息源的关键技术:
- 我们理解了什么是DeepSearch——它不仅仅是简单的搜索,更是一个智能的、迭代的“信息预研”与“知识构建”的过程。
- 我们探讨了DeepSearch的核心价值——它是弥补大模型知识局限性、提升回答质量、准确性和可靠性的重要手段。
- 我们揭秘了其技术原理——一个以“搜索-阅读-推理”为核心的循环,以及它对包括互联网、知识库、数据库在内的多样化信息源的广泛适用性。
- 并且,我们看到了火山引擎如何通过MCP和
deep_search_mcp
这样的开源项目,来支持开发者们的落地与实践,以及像Prompt工程这样的相关能力与开发协同,共同提升AI应用的效果。
随着AI技术的不断发展和应用的日益深化,对信息获取的质量、实时性和深度都会提出越来越高的要求。DeepSearch作为连接AI模型与海量动态信息的关键桥梁,其重要性必将日益凸显。我们可以预见,它将在更广泛的AI应用场景中发挥核心作用,例如构建更智能的个性化问答系统、更强大的自动化研究助手、更精准的商业智能与决策支持工具等。
希望今天的分享能为大家在未来的AI应用开发工作中带来一些新的思路和启发。我非常鼓励大家访问火山引擎在GitHub上开源的 deep_search_mcp
项目,并进一步了解火山引擎提供的相关MCP服务和Prompt工程能力。因为动手实践是检验和深化理解的最好方式。
构建卓越的AI应用是一个持续探索、持续创新、持续优化的过程。通过应用实验室,我们可以看到火山引擎致力于为广大开发者提供强大、易用的工具、平台和服务的决心与愿景。
最后,我是一个在AI应用中实践的的开发者,也十分期待与在座的各位开发者朋友们一起,探索AI技术的更多可能性,挖掘AI在不同行业、不同场景下的应用潜力。
共同推动AI技术为我们创造更加美好的明天。
以上,既然看到这里了,如果你喜欢,请随手点个赞、在看、转发三连吧,感谢你的支持~
往期推荐