Spring AI Alibaba DeepResearch:多智能体深度研究系统

概述

Spring AI Alibaba DeepResearch 是一个基于 Spring AI 和阿里云百炼构建的智能深度研究系统。该系统采用多智能体协作架构,通过图计算引擎实现复杂的研究任务分解和执行,能够自动进行信息收集、分析、编程和报告生成等深度研究工作。

核心特性

1. 多智能体协作架构

系统设计了多个专业化的智能体,每个智能体负责特定的研究任务:

  • 研究智能体 (Research Agent):负责信息搜索、收集和分析
  • 编程智能体 (Coder Agent):提供编程能力,支持代码执行和数据分析
  • 协调智能体 (Coordinator Agent):负责任务规划和协调
  • 报告智能体 (Reporter Agent):负责最终报告的生成和格式化
  • 反思智能体 (Reflection Agent):对研究过程进行反思和优化

2. 图计算引擎

基于 Spring AI Alibaba Graph 构建的图计算引擎,实现了:

  • 状态管理:通过 OverAllState 管理整个研究流程的状态
  • 节点执行:每个研究步骤被抽象为图节点,支持并行和串行执行
  • 流程控制:支持中断、恢复和人工反馈机制
  • 检查点保存:支持研究进度的保存和恢复

3. 丰富的工具集成

系统集成了多种外部工具和服务:

  • 搜索服务:支持 Tavily、Jina、阿里云 AI 搜索等多种搜索引擎
  • 编程环境:基于 Docker 的 Python 执行环境
  • MCP 服务:支持高德地图等第三方 MCP 服务
  • 文档处理:支持 PDF、Markdown 等多种文档格式
  • 向量存储:集成 Elasticsearch 进行知识存储和检索

技术架构

后端架构

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Web Layer     │    │  Graph Engine   │    │  Agent Layer    │
│  (Controller)   │◄──►│  (StateGraph)   │◄──►│  (ChatClient)   │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         │                       │                       │
         ▼                       ▼                       ▼
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│  Service Layer  │    │   Node Layer    │    │  Tool Layer     │
│  (Repository)   │    │  (NodeAction)   │    │  (ToolCallback) │
└─────────────────┘    └─────────────────┘    └─────────────────┘

前端架构

系统提供了基于 Vue 3 的现代化 Web 界面,支持:

  • 实时流式对话:基于 Server-Sent Events 的实时通信
  • 研究进度可视化:直观展示研究流程和进度
  • 交互式反馈:支持人工干预和反馈
  • 报告导出:支持多种格式的研究报告导出

核心工作流程

1. 研究初始化

// 用户提交研究请求
ChatRequest request = new ChatRequest(
    "请为我分析泡泡玛特现象级爆火的原因",
    "__default_",
    true,
    2
);

2. 任务规划

协调智能体根据用户需求制定详细的研究计划:

@Bean
public ChatClient coordinatorAgent(ChatClient.Builder coordinatorChatClientBuilder, PlannerTool plannerTool) {
    return coordinatorChatClientBuilder
        .defaultTools(plannerTool)
        .build();
}

3. 并行执行

研究团队节点协调多个智能体并行执行研究任务:

public class ResearchTeamNode implements NodeAction {
    @Override
    public Map<String, Object> apply(OverAllState state) throws Exception {
        // 检查所有步骤是否完成
        if (!areAllExecutionResultsPresent(curPlan)) {
            nextStep = "parallel_executor";
        }
        return updated;
    }
}

4. 结果整合

报告智能体整合所有研究结果,生成最终报告:

@Bean
public ChatClient reporterAgent(ChatClient.Builder reporterChatClientBuilder) {
    return reporterChatClientBuilder
        .defaultSystem(ResourceUtil.loadResourceAsString(reporterPrompt))
        .build();
}

部署和配置

Docker 部署

系统提供了完整的 Docker 部署方案:

services:
  deep-research-app:
    image: alibaba-deepresearch:v1.0
    environment:
      AI_DASHSCOPE_API_KEY: ${AI_DASHSCOPE_API_KEY}
      TAVILY_API_KEY: ${TAVILY_API_KEY}
    ports:
      - "8080:8080"

环境配置

系统支持灵活的配置管理:

  • 必配项:DashScope API、Tavily API、报告导出路径
  • 选配项:搜索服务、存储服务、编程环境
  • MCP 服务:支持第三方 MCP 服务集成

使用示例

API 调用

curl --location 'http://localhost:8080/chat/stream' \
--header 'Content-Type: application/json' \
--data '{
    "thread_id": "__default_",
    "enable_background_investigation": false,
    "query": "请为我分析泡泡玛特现象级爆火的原因",
    "max_step_num": 2,
    "auto_accepted_plan": true
}'

流式响应

系统支持 Server-Sent Events 流式响应,实时返回研究进度和结果:

@PostMapping(value = "/stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<ServerSentEvent<String>> chatStream(@RequestBody ChatRequest chatRequest) {
    // 处理流式响应
}

技术亮点

1. 智能等待机制

系统实现了智能等待机制,根据任务类型动态调整等待时间:

if (hasActiveReflectionTasks(curPlan)) {
    Thread.sleep(5000);  // 反思任务减少等待时间
} else {
    Thread.sleep(TIME_SLEEP);  // 正常等待时间
}

2. 可观测性

集成了 OpenTelemetry 和 Langfuse,提供完整的可观测性支持:

@Bean
public GraphObservationLifecycleListener graphObservationLifecycleListener(
    ObservationRegistry observationRegistry) {
    return new GraphObservationLifecycleListener(observationRegistry);
}

3. 模块化设计

系统采用模块化设计,每个组件都可以独立配置和扩展:

  • 智能体配置:支持自定义智能体行为和工具
  • 节点扩展:可以轻松添加新的研究节点
  • 工具集成:支持灵活的工具和服务集成

应用场景

1. 市场研究

  • 竞品分析
  • 市场趋势研究
  • 用户行为分析

2. 学术研究

  • 文献综述
  • 数据收集和分析
  • 研究报告生成

3. 商业决策

  • 投资分析
  • 风险评估
  • 战略规划

总结

Spring AI Alibaba DeepResearch 是一个功能强大、架构先进的智能研究系统。它通过多智能体协作和图计算引擎,实现了复杂研究任务的自动化处理。系统具有良好的扩展性和可观测性,能够满足各种深度研究需求。

该系统的成功实现,展示了 Spring AI 生态在构建复杂 AI 应用方面的强大能力,为企业和研究机构提供了一个可靠、高效的智能研究解决方案。


本文基于 Spring AI Alibaba DeepResearch 项目的实际代码分析撰写,展示了该系统的技术架构、核心功能和实际应用价值。

Logo

更多推荐