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

Jina AI 开源 node-DeepResearch

Jina AI 团队开源 node-DeepResearch 项目,阐述了 DeepSearch(深度搜索) 和 DeepResearch(深度研究) 的设计理念、区别以及关键技术实现,特别是其多轮迭代的 Agent 式工作流程。文章强调,DeepSearch 代表了搜索技术应对复杂查询的新范式,其核心在于 搜索 (Search) -> 阅读 (Read) -> 推理 (Reason) 的循环迭代。

现象与背景
  • 2025年初,“深度搜索”(Deep Search)成为行业热点

    • Google、OpenAI、Perplexity、X AI(Grok 3)等都在推出相关功能。
  • 本质

    • Deep Search 并非全新概念,其核心是增强版的 RAG 或多跳问答。
    • 引入“推理时计算”理念,实现质的飞跃。
关键转折点
  • OpenAI o1-preview (2024年9月)

    • 提出“推理时计算”,在生成阶段投入更多资源进行深度思考和自我反思。
  • DeepSeek-R1

    • 推广“推理时计算”与“延迟满足”的用户体验。
    • 用户接受更长响应时间,只要能看到模型 过程。
  • 展示推理过程成为标准

    • 2025年,UI中展示模型思考过程成为普遍做法。

核心概念区分:DeepSearch vs DeepResearch

DeepSearch(深度搜索)
  • 目标:解决单个复杂问题,找到最优答案。

  • 核心机制:搜索 (S) → 阅读 ® → 推理 ® 的循环迭代(S-R-R Loop)。

  • 特点

    • 多次迭代,不同于一次性 RAG。
    • 明确的停止条件(Token 预算、失败尝试次数上限)。
    • 可视为配备网络工具的 LLM Agent。
    • 以状态机为核心,LLM 控制状态转换。
DeepResearch(深度研究)
  • 目标:生成高质量、结构化的长篇研究报告。

  • 核心机制:以 DeepSearch 为引擎。

    • 创建报告目录(TOC)。
    • 每个章节使用 DeepSearch 生成内容。
    • 最终整合并修订整体连贯性。
  • 关键区别

    • 问题范围:DeepSearch 解决单问题;DeepResearch 是系统工程。
    • 核心能力:DeepSearch 依赖 S-R-R 循环;DeepResearch 依赖组织与撰写能力。
    • 输出:DeepSearch 输出答案;DeepResearch 输出报告。
    • 价值定位:DeepSearch 是基础技术突破;DeepResearch 是上层应用。

DeepSearch 的核心实现:迭代推理循环(S-R-R Loop)

主循环骨架
  • 基于 while 循环持续迭代,直到满足停止条件(Token 超限或失败次数过多)。
关键组件
知识空白队列(FIFO)
  • 子问题识别后加入队列头部,原始问题始终在尾部。
  • 相比递归,避免深度优先陷阱,共享上下文,平衡探索与利用。
动态提示生成
  • 根据当前状态动态生成提示词。
  • 使用 XML 结构化各部分(指令、知识、失败尝试、动作等)。
  • 支持精细控制,如根据上下文启用/禁用某些动作。
动作选择与执行
  • LLM 决定下一步动作(answer, reflect, search, visit, code)。
search(搜索)
  • 查询重写最关键!将自然语言转化为适合搜索引擎的形式。
  • 使用 jina-embeddings-v3 实现语义去重,跨语言高效。
visit(访问/阅读)
  • 访问 URL,使用 Jina Reader 提取网页内容。
  • 存储为带来源的知识片段。
reflect(反思)
  • 分析当前状态,识别子问题,更新知识空白队列。
  • 规划后续步骤。
answer(回答)
  • 尝试生成最终答案。
  • 独立评估比自我评估更可靠。
内存管理
  • 不使用向量数据库,完全依赖 LLM 长上下文。
  • 内存分为三类:
    • knowledge:获取的事实与内容片段(带来源)。
    • diaryContext:记录每一步行动和结果。
    • badContext:记录失败尝试及策略。
预算控制与“野兽模式”
  • 核心目标:在预算耗尽前充分探索,追求高质量答案。

  • 策略

    • 优先识别知识空白。
    • 失败后限制可用动作。
    • 设定最大失败尝试次数。
  • 野兽模式(Beast Mode):

    • 当接近预算极限时触发。
    • 禁用除 answer 外所有动作,强制输出一个答案。
    • 工程实用主义体现。

实现中的关键发现与选型

必要项
  • 长上下文 LLM

    • 支持 JSON 输出与长记忆处理。
    • 如 DeepSeek-R1 在推理与查询扩展方面表现优异。
  • 查询扩展

    • 必须支持多语言、超越同义词替换。
    • 小模型(SLM)可能无法胜任。
  • 网页搜索与阅读

    • 核心依赖,Jina Reader 表现良好。
意外发现
  • 向量模型

    • 未用于检索或压缩,但可用于语义去重。
    • jina-embeddings-v3 效果突出。
  • Reranker 模型

    • 理论上有用,但未在实现中采用。
    • jina-reranker-v2 是潜在候选。
不必要项
  • Agent 框架

    • 抽象层增加复杂性,轻量工具更优(如 Vercel AI SDK)。
  • 向量数据库

    • 在长上下文足够时不再需要。
  • SLM 用于查询扩展

    • 性能不足,效果有限。

总结:DeepSearch 的意义

  • 突破传统

    • 解耦搜索、阅读、推理,引入多轮迭代循环。
    • 克服单次 RAG 和多跳 QA 的局限。
  • 工程实践

    • Jina AI 展示了如何构建此类系统。
    • 包括知识空白处理、查询重写、内存管理、预算控制等关键技术。
  • 未来方向

    • 代表新一代搜索范式。
    • 利用“推理时计算”与 Agent 式迭代,适应用户对高质量答案的需求。

DeepSearch 是一种基于 S-R-R 多轮迭代循环的智能搜索引擎。它像一个不断搜索信息、阅读资料、深入思考的研究员,通过动态规划、解决子问题、精细控制流程,最终为复杂问题提供深度答案。DeepResearch 则是基于 DeepSearch 构建结构化报告的上层应用。开源实现揭示了关键技术选型(如长上下文 LLM、查询重写、语义去重)和工程智慧(如 FIFO 队列、野兽模式、避免过度框架化)。

http://www.xdnf.cn/news/12762.html

相关文章:

  • [面试精选] 0094. 二叉树的中序遍历
  • 【单源最短路经】Dijkstra 算法(朴素版和堆优化版)、Bellman-Ford 算法、spfa 算法 及 负环判断
  • win10环境配置-openpose pytorch版本
  • 网络协议通俗易懂详解指南
  • MyBatis 获取插入数据后的自增 ID 值
  • GoC指令测试卷 A
  • 【AI学习】wirelessGPT多任务无线基础模型摘要
  • 安卓小说阅读软件推荐
  • c++ 静态成员变量
  • JavaScript中的函数总结
  • 人工智能赋能高中学科教学的应用与前景研究
  • Macbook M3 使用 VMware Fusion 安装 openEuler24.03LTS
  • 言思集交流社区(SpringBoot)
  • leetcodeT3170
  • MIT 6.S081 Lab10 mmap
  • java报错ncapp生成主子表单据时报错,CarrierRuntimeException
  • 关于Qt阻断样式继承的解决办法
  • yolov12-区域注意力:让计算机“看见”更智能
  • Java 中 synchronized 和 ReentrantLock 的全面对比解析
  • ELK日志管理框架介绍
  • 在C语言中使用UUID作为AES加密密钥
  • python打卡第47天
  • 快速排序算法详解:从理论到实践的全方位指导
  • 从零开始制作小程序简单概述
  • JavaScript ES6 解构:优雅提取数据的艺术
  • 论文略读:Efficient Reasoning for LLMs through Speculative Chain-of-Thought
  • vue中的派发事件与广播事件,及广播事件应用于哪些场景和一个表单验证例子
  • Android 视图系统入门指南
  • C++常用的企业级日志库
  • 绘制饼图详细过程