基于Spring AI Deep Researcher Agent

基于Spring AI Deep Researcher Agent

📑 目录

  • [1. 项目简介](#1. 项目简介)
  • [2. 技术栈](#2. 技术栈)
  • [3. 系统架构](#3. 系统架构)
  • [4. 系统节点详解](#4. 系统节点详解)
  • [5. 系统流程图](#5. 系统流程图)
  • [6. 功能特点](#6. 功能特点)
  • [7. 使用方法](#7. 使用方法)
  • [8. 项目结构](#8. 项目结构)

1. 项目简介

✨ 本项目基于 Spring AI + LangGraph4j 构建,旨在打造一个 具备自主研究能力的智能体系统

深度研究智能体 是一款基于 Spring AILangGraph4j 的智能研究助手,能够根据用户提出的问题,自动完成
澄清需求 → 制定研究简报 → 执行深度搜索 → 整理与压缩信息 → 生成最终报告 的全流程研究任务。

该系统采用 图驱动的智能体架构 (Graph-based Agent Architecture) ,具备 ** 多节点协作、监督机制、工具链调用、实时反馈

** 等特性,可广泛应用于学术研究、市场分析、技术趋势追踪等场景。

github:https://github.com/renpengben/deep-researcher-agent

2. 技术栈

  • Java 17
  • Spring Boot 3.5.5
  • Spring AI 1.0.1
  • LangGraph4j 1.6.2

3. 系统架构



系统采用分层的智能体图结构,主要包含以下组件:

  • DeepResearchGraph

    主研究流程图,协调整个研究过程

  • SupervisorGraph

    监督研究质量,确保方向正确

  • ResearcherGraph

    执行具体研究任务,包括搜索、思考和信息压缩

架构总览

复制代码
用户输入问题
      │
      ▼
 ClarifyWithUserNode (澄清需求)
      │
      ▼
 WriteResearchBriefNode (生成研究简报)
      │
      ▼
 SupervisorGraph (监督研究)
      │
      ▼
 ResearcherGraph (执行研究 → 压缩信息)
      │
      ▼
 FinalReportGenerationNode (生成报告)

4. 系统节点详解

主图节点

  • ClarifyWithUserNode: 澄清用户研究问题
  • WriteResearchBriefNode: 生成研究简报
  • FinalReportGenerationNode: 生成最终研究报告

SupervisorGraph

  • SupervisorNode: 分配研究任务,调用 ResearcherGraph
  • SupervisorToolNode: 处理工具调用结果,支持并行执行

ResearcherGraph

  • ResearcherNode: 执行研究任务,调用 TavilySearch、ThinkTool、ResearchComplete
  • ResearcherToolsNode: 处理工具调用结果
  • CompressResearchNode: 压缩与整理研究内容

5. 系统流程图

总体流程

复制代码
用户输入问题
   │
   ▼
ClarifyWithUserNode ──> WriteResearchBriefNode
   │                          │
   ▼                          ▼
SupervisorGraph  <─────── 研究简报输入
   │
   ▼
ResearcherGraph ──> CompressResearchNode
   │
   ▼
FinalReportGenerationNode (最终报告)

SupervisorGraph 子图

复制代码
研究简报输入
   │
   ▼
SupervisorNode ──> SupervisorToolNode
   ▲                     │
   └────── 循环直到完成 ──┘

ResearcherGraph 子图

复制代码
研究任务输入
   │
   ▼
ResearcherNode ──> ResearcherToolsNode ──> CompressResearchNode

6. 功能特点

问题澄清 :确认研究目标,避免偏差

研究简报 :生成可执行的研究计划

信息搜索与整理 :Tavily 搜索 + 推理工具链

监督机制 :保证研究质量与方向

实时反馈 :SSE 实时输出进度与中间结果

最终报告生成:输出结构化分析报告


7. 使用方法

环境要求

  • JDK 17+
  • Maven
  • OpenAI API Key

启动步骤

bash 复制代码
git clone https://github.com/renpengben/deep-researcher-agent
cd deep-researcher-agent
  1. 配置大模型和Tavily
    application.properties 或环境变量中设置,兼容Open AI规范的大模型接口。
yaml 复制代码
   spring:
     ai:
      openai:
      base-url: https://api.siliconflow.cn
      api-key: sk-xxxx
      chat:
      options:
       model: deepseek-ai/DeepSeek-V3.1

Tavily申请key https://www.tavily.com/

yaml 复制代码
tavily:
api-key: tvly-dev-xxx
  1. test
java 复制代码
    CompileConfig compileConfig = CompileConfig.builder()
        .checkpointSaver(new MemorySaver())
        .build();
    var result = deepResearchGraph.build()
        .getGraph(GraphRepresentation.Type.PLANTUML, "deep research graph", false);
    System.out.println(result.content());
    var compileGraph = deepResearchGraph.build().compile(compileConfig);
    compileGraph.setMaxIterations(50);
    var generator = compileGraph
        .stream(Map.of("messages", new UserMessage("研究下Anthropic最新发布的Streamable HTTP的工程中的具体实现方案")));
  

3.输出结果


8. 项目结构

复制代码
├── src/
│   ├── main/java/io/github/renpengben/deepresearch/
│   │   ├── config/         # 配置类
│   │   ├── graph/          # 智能体图结构
│   │   ├── model/          # 数据模型
│   │   ├── nodes/          # 节点实现
│   │   ├── prompt/         # 提示词模板
│   │   ├── state/          # 状态管理
│   │   ├── tools/          # 工具实现
│   │   └── DeepResearcherAgentApplication.java
│   └── resources/
│       └── application.yml
└── pom.xml

相关推荐
学习中.........4 小时前
JVM 垃圾回收核心技术、演进全景与生产调优规范
java·jvm·测试工具
小小编程路4 小时前
C++类作用域
java·jvm·c++
土星云SaturnCloud4 小时前
土星云边缘计算设备的多模态模型部署实操
服务器·人工智能·ai·边缘计算
Rauser Mack5 小时前
编程零基础,半小时用AI做了两个经典小游戏(附完整Prompt和HTML代码)
人工智能·html·prompt
小江的记录本5 小时前
【Java并发编程】锁机制:volatile:JMM内存模型、可见性/禁止指令重排、内存屏障、单例模式中的应用(附《思维导图》+《面试高频考点清单》)
java·后端·python·mysql·单例模式·面试·职场和发展
MediaTea5 小时前
DL:卷积神经网络的基本原理与 PyTorch 实现
人工智能·pytorch·深度学习·神经网络·cnn
zandy10115 小时前
2026嵌入式BI PaaS平台技术剖析与实现指南
java·运维·paas
csdn小瓯5 小时前
前端工程化:React + TypeScript + Tailwind CSS 的组件化实践
开发语言·人工智能·python
这是谁的博客?5 小时前
Python 异步编程核心原理与实践深度解析
java·网络·python·协程·asyncio·异步编程
蓦然回首却已人去楼空5 小时前
深度学习进阶:自然语言处理|3.4 QA|用 SimpleCBOW 讲清楚 backward 为什么有的 return,有的不 return
人工智能·深度学习·自然语言处理