概述
Agent as Tool 允许将一个智能体注册为工具,供其他智能体调用。这种模式适用于构建层级式或协作式的多智能体系统:- 专家分工:主智能体根据任务类型调用不同的专家智能体
- 任务委托:将复杂子任务委托给专门的智能体处理
- 多轮对话:子智能体可以维护对话状态,支持连续交互
工作原理
当父智能体调用子智能体工具时,系统会:- 创建子智能体实例:通过 Provider 工厂创建新的智能体实例
- 恢复对话状态:如果提供了
session_id,从 Session 中恢复之前的状态 - 执行对话:子智能体处理消息并生成回复
- 保存状态:将子智能体的状态保存到 Session,供后续调用恢复
- 返回结果:将回复和
session_id返回给父智能体
快速开始
配置选项
通过SubAgentConfig 自定义子智能体工具的行为:
多轮对话
子智能体支持多轮对话,通过session_id 参数维护对话状态:
message(必填):发送给子智能体的消息session_id(可选):会话 ID,省略则开始新会话,提供则继续已有会话
持久化会话
默认使用内存存储(InMemorySession),进程重启后状态丢失。使用 JsonSession 可将状态持久化到文件: