代理框架工作流定义用于协调代码、代理、状态、事件和人工输入的显式、可检查的执行路径。 该框架通过同一工作流运行模型提供基于功能和图形的 API。
工作流 API
所有 SDK 都支持基于图形的工作流。 Python还提供实验性功能工作流 API。
.NET SDK 使用基于WorkflowBuilder图形的 API。 它通过边缘和条件连接类型化执行程序,支持扇出和扇入执行,发出工作流和执行程序事件,以及超步骤边界的检查点进度。 兼容的工作流可以通过标准代理接口公开。AsAIAgent()
这两个 API 都生成相同的可观察工作流结果。 选择与要表达的执行模型匹配的 API:
功能 (@workflow) |
图 (WorkflowBuilder) |
|
|---|---|---|
| 控制流 | 本地Python(if、循环、asyncio.gather) |
边缘和条件 |
| 最适用于 | 顺序管道、自定义循环和即席并行 | 修复了图形、扇出/扇入和类型验证的消息路由 |
| 并行度 | asyncio.gather |
并行边缘组和超级步执行 |
| 可观察性 | 每个步骤的事件使用 @step |
针对每个执行器的事件 |
| 人机循环 | ctx.request_info() |
RequestInfoExecutor |
| 检查点技术 |
@step按结果缓存 |
超级步边界检查点 |
| 代理包装 |
.as_agent() 在 FunctionalWorkflow 上 |
.as_agent() 在 Workflow 上 |
Go SDK 使用基于 workflow.NewBuilder 图形的 API。 它通过边缘、条件和扇出或扇入组连接绑定执行程序,然后通过执行环境(例如 inproc.Default)运行图形。 可以通过标准代理接口来 agentworkflow.New(...)公开面向代理的工作流。
图形和运行时模型
高级执行
有关面向功能的指南,例如检查点、人工循环、可视化和业务流程,请参阅 工作流功能。