代理框架工作流定义用于协调代码、代理、状态、事件和人工输入的显式、可检查的执行路径。 该框架通过同一工作流运行模型提供基于功能和图形的 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(...) 的标准代理接口对外提供。
图形和运行时模型
高级执行功能
有关面向功能的指南,例如检查点、人工循环、可视化和业务流程,请参阅 工作流功能。