WorkflowAgent
Vercel AI SDK 生态中的工作流编排模块,提供 WorkflowAgent 抽象,支持将 AI 能力组织成可编排的多步骤工作流,适用于需要工具协作的复杂任务场景
核心事实
时间轴 (近 90 天)
在 generateText、streamText 和 WorkflowAgent 中,SDK 会在本地执行之前直接拒绝工具调用,即使模型返回了工具调用意图。
提交 6ac1ee1 使 WorkflowAgent 使用原始工具 schema 来校验和规范化工具输入,从而与 streamText 表现保持一致
被对齐的行为包括:默认值、转换、类型强制、精化校验、未知键处理、自定义校验器、repairToolCall 以及各类生命周期回调
将 WorkflowAgent 的模型调用遥测派发到全局注册的集成,从模型步骤触发(commit a155baa)。
提交 a471b4c 对 WorkflowAgent 的生成截止期限、重试边界、Hook 取消及工作流恢复中选定结果的序列化行为进行了文档化和校验
提交 c89c76c 在 assistant 文本消息上保留 provider 元数据,防止上下游信息丢失
开发者可以在不需要逐 token 流式返回的场景下(如后台批处理、定时任务、非交互式 Agent 任务)直接调用 generate() 拿到完整结果
提交 69ea843 保留受长度限制的 assistant 响应,确保它们仍留在对话消息中避免被意外丢弃
2.0.59 版本为 WorkflowAgent 新增了 generate() 方法(提交 0ca1ab9),提供非流式的持久化执行路径
generate() 方法默认设置 20 步工具调用上限,以防止 Agent 陷入无限循环
还有 4 条时间轴事件
全部知识事实 (14)
Temporal将工作流抽象为可持久化、可恢复的代码执行单元,即便进程崩溃或机器宕机,工作流执行状态也能被保存并从中断处继续
75%待验证在 generateText、streamText 和 WorkflowAgent 中,SDK 会在本地执行之前直接拒绝工具调用,即使模型返回了工具调用意图。
50%待验证被对齐的行为包括:默认值、转换、类型强制、精化校验、未知键处理、自定义校验器、repairToolCall 以及各类生命周期回调
50%待验证提交 6ac1ee1 使 WorkflowAgent 使用原始工具 schema 来校验和规范化工具输入,从而与 streamText 表现保持一致
50%待验证将 WorkflowAgent 的模型调用遥测派发到全局注册的集成,从模型步骤触发(commit a155baa)。
50%待验证提交 57dadb5 将工具审批请求的创建从流式逻辑中独立出来,使 WorkflowAgent.generate 以及没有可写流的 stream 都能恢复已被批准的调用
50%待验证提交 a471b4c 对 WorkflowAgent 的生成截止期限、重试边界、Hook 取消及工作流恢复中选定结果的序列化行为进行了文档化和校验
50%待验证提交 69ea843 保留受长度限制的 assistant 响应,确保它们仍留在对话消息中避免被意外丢弃
50%待验证提交 c89c76c 在 assistant 文本消息上保留 provider 元数据,防止上下游信息丢失
50%待验证开发者可以在不需要逐 token 流式返回的场景下(如后台批处理、定时任务、非交互式 Agent 任务)直接调用 generate() 拿到完整结果
50%待验证generate() 方法默认设置 20 步工具调用上限,以防止 Agent 陷入无限循环
50%待验证2.0.59 版本为 WorkflowAgent 新增了 generate() 方法(提交 0ca1ab9),提供非流式的持久化执行路径
50%待验证2.0.38 版本的核心改动是修复了 WorkflowAgent 中对延迟工具发现(deferred tool discovery)的支持
50%待验证本次更新的主要提交为 commit a105059,标记为 fix(workflow): support deferred tool discovery in WorkflowAgent
50%