StateSchema
StateSchema 是智能体强类型状态的基类。一次运行中,所有钩子都围绕它读取与写入,它是整个运行期间的单一事实来源。
内置字段
继承 StateSchema
通过继承StateSchema 来增加自己的字段。Engine 会在每个步骤记录中通过 state.to_dict() 记录状态差异,因此这些字段也会自动进入追踪记录。
init_state 中初始化:
让运行停下来
你可以在reduce 中调用 state.set_stop(),让运行在下一次停止检查时终止。它接受 StopReason 枚举或等价字符串。
state.final_result:
Task
Task 是结构化任务包,用来描述智能体应完成什么、需要哪些资源、以及受什么约束。任何支持 agent.run() 或 Engine.run() 的地方都可以传入 Task。
Task 字段
TaskBudget
TaskBudget 用来指定单个任务的步数、时间和令牌限制。传入 Task 时,它会优先于 Engine 默认的 RuntimeBudget。
TaskResource
TaskResource 描述任务依赖的文件、目录、URL 或先前运行的产物。Engine 会在循环开始前验证所有必需资源。
kind 值包括:file、dir、url、artifact。
Decision
Decision 表示一次决策步骤的输出,也就是智能体下一步想做什么。它有四种模式,每种模式都对应一个工厂方法。
- act
- final
- wait
- branch
执行一个或多个工具动作。
推荐使用
Decision.act()、Decision.final() 等工厂方法,而不是直接构造 Decision。它们会帮你校验必需字段并正确设置 mode。