‹ 教程列表

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

// 执行 Graph(Supervisor -> Coder) public void executeGraphWithCoder(CompiledGraph graph) { Map<String, Object> i

// 执行 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

本文来自 https://aimock.cn/blog 的系列文章,站内重新编排。
源码示例与教程内容仅供学习交流。