Skip to main content
高级/兼容程序化示例。此页代码片段仅作机制说明;HostEnv 或 workspace 不提供隔离。新项目先按 Quickstart 使用 Session 与明确资源配置。

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。 示意片段(非独立程序;完整执行文件见本页链接)。
留空的字段会继承 Engine 默认值。

TaskResource

TaskResource 描述任务依赖的文件、目录、URL 或先前运行的产物。Engine 会在循环开始前验证所有必需资源。 示意片段(非独立程序;完整执行文件见本页链接)。
合法的 kind 值包括:file、dir、url、artifact。

Decision

Decision 表示一次决策步骤的输出,也就是智能体下一步想做什么。它有四种模式,每种模式都对应一个工厂方法。
执行一个或多个工具动作。示意片段(非独立程序;完整执行文件见本页链接)。
推荐使用 Decision.act()、Decision.final() 等工厂方法,而不是直接构造 Decision。它们会帮你校验必需字段并正确设置 mode。