Skip to content

概览

本页提供了有关 Koog 框架中子图 (subgraph) 的详细信息。理解这些概念对于创建跨多个处理步骤保持上下文 (context) 的复杂智能体工作流 (agent workflow) 至关重要。

简介

子图 (subgraph) 是 Koog 框架中的一个基本概念,它允许您将复杂的智能体工作流 (agent workflow) 分解为可管理的顺序步骤。每个子图代表一个处理阶段,具有自己的上下文 (context)、职责以及可选的工具子集。

子图是策略 (strategy) 的重要组成部分,策略是表示整体智能体工作流的图。有关策略的更多信息,请参阅 自定义策略图

理解子图

子图是智能体策略中一个自包含的处理单元。每个子图:

  • 具有唯一的名称
  • 包含由边 (edge) 连接的节点 (node) 或子图构成的图
  • 可以使用工具注册表中的任何工具或工具子集
  • 接收来自上一个子图的输入(或初始用户输入)
  • 产生传递给下一个子图的输出(或作为最终输出)

要在图中定义子图序列,请使用边连接或使用 then 关键字定义序列。有关更多信息,请参阅 自定义策略图

子图上下文

每个子图都在提供以下访问权限的上下文 (context) 中执行:

  • 环境 (environment)
  • 智能体输入 (agent input)
  • 智能体配置 (agent configuration)
  • LLM 上下文(包括对话历史记录)
  • 状态管理器 (state manager)
  • 存储 (storage)
  • 会话 (session) 和策略 (strategy)

上下文被传递到子图中的每个节点,并为节点执行其操作提供必要的资源。