概述
本文档详细介绍了 Koog 框架中的子图概念。理解这些概念对于创建能够在多个处理步骤间保持上下文的复杂智能体工作流至关重要。
简介
子图是 Koog 框架中的一个核心概念,它允许你将复杂的智能体工作流分解为可管理的顺序步骤。每个子图代表一个处理阶段,拥有自己的上下文、职责以及可选的工具子集。
子图是策略的组成部分,而策略是表示整体智能体工作流的图结构。有关策略的更多信息,请参阅自定义策略图。
理解子图
子图是智能体策略中一个自包含的处理单元。每个子图:
- 拥有唯一的名称
- 包含由边连接的节点或子图构成的图结构
- 可以使用工具注册表中的任何工具或工具子集
- 接收来自前一个子图(或初始用户输入)的输入
- 生成传递给下一个子图(或最终输出)的输出
要在图中定义子图的执行顺序,可以使用边连接或通过 then 关键字定义序列。更多信息请参阅自定义策略图。
子图上下文
每个子图在特定的上下文中执行,该上下文提供对以下资源的访问:
- 环境
- 智能体输入
- 智能体配置
- LLM 上下文(包括对话历史)
- 状态管理器
- 存储系统
- 会话和策略
该上下文会传递给子图中的每个节点,为节点执行操作提供必要的资源支持。