AI项目博客
记录 AI 工程实践与大模型应用

Spring AI Alibaba 87|Graph Core · 多智能体监督者模式 · 执行示例

// 执行 Graph(Supervisor -> Coder)
public void executeGraphWithCoder(CompiledGraph graph) {
  Map<String, Object> input = Map.of(
          "messages", List.of(
                  Map.of("role", "user", "content", "1 + 1 的结果是多少?")
          )
  );

  RunnableConfig config = RunnableConfig.builder()
          .threadId("supervisor-coder-thread")
          .build();

  graph.stream(input, config)
          .doOnNext(event -> System.out.println("节点: " + event.node() + ", 状态: " + event.state()))
          .doOnError(error -> System.err.println("流错误: " + error.getMessage()))
          .doOnComplete(() -> System.out.println("流完成"))
          .blockLast();
}

// 执行 Graph(Supervisor -> Researcher)
public void executeGraphWithResearcher(CompiledGraph graph) {
  Map<String, Object> input = Map.of(
          "messages", List.of(
                  Map.of("role", "user", "content", "下一届冬奥会在哪里举行?")
          )
  );

  RunnableConfig config = RunnableConfig.builder()
          .threadId("supervisor-researcher-thread")
          .build();

  graph.stream(input, config)
          .doOnNext(event -> System.out.println("节点: " + event.node() + ", 状态: " + event.state()))
          .doOnError(error -> System.err.println("流错误: " + error.getMessage()))
          .doOnComplete(() -> System.out.println("流完成"))
          .blockLast();
}
  1. 监督者路由:监督者智能体根据用户请求决定将任务路由到哪个工作智能体
  2. 条件边:使用条件边实现动态路由
  3. 工具集成:工作智能体可以使用工具(如搜索工具、代码执行工具)来完成任务
  4. 状态管理:使用 messages 和 next 键来管理对话状态和路由决策
  1. 清晰的系统提示:为监督者智能体提供清晰的系统提示,确保它能正确路由任务
  2. 工具设计:为每个工作智能体设计合适的工具,使其能够高效完成任务
  3. 错误处理:在节点中添加适当的错误处理逻辑
  4. 状态规范化:实现路由结果的规范化逻辑,确保路由决策的一致性

通过多智能体监督者模式,您可以构建一个灵活且可扩展的多智能体系统,能够根据不同的任务类型自动路由到合适的智能体。

本文整理自 Spring AI Alibaba 官方文档《多智能体监督者模式》:https://java2ai.com/docs/frameworks/graph-core/examples/multi-agent-supervisor

赞(0)
未经允许不得转载:AI项目博客 » Spring AI Alibaba 87|Graph Core · 多智能体监督者模式 · 执行示例

评论 抢沙发

AI项目博客

专注 AI 工程化落地 —— 覆盖智能体、大模型、Java AI 与 Python 的学习笔记,以及 AI 平台的项目实战记录。

关于本站文章归档

登录

找回密码

注册