Skip to main content

什么是工作流?

Shannon 中的工作流是持久的、有状态的流程,用于编排 AI 智能体完成复杂任务。基于 Temporal 构建,它们提供:
  • 持久性:工作流在服务重启和故障后仍然存活
  • 确定性:可以重放以进行调试
  • 可见性:完整的执行历史和状态检查
  • 可靠性:自动重试和错误处理

工作流架构

工作流架构 (Workflow Architecture)

认知模式

Shannon 为不同类型的任务实现了几种经过验证的认知模式:

思维链(CoT)

顺序推理,每个步骤在逻辑上建立在前一步之上。 最适合:
  • 数学问题
  • 逐步分析
  • 线性工作流
示例:
Shannon 会自动对顺序数学和分析任务应用思维链推理。
执行:

思维树(ToT)

同时探索多个解决方案路径,评估它们,并选择最佳方案。 最适合:
  • 设计决策
  • 战略规划
  • 有多种方法的问题
示例:
Shannon 会自动对具有多个解决方案路径的设计和规划任务应用思维树探索。
执行:

ReAct(推理 + 行动)

在循环中交替思考和行动,非常适合动态问题解决。 最适合:
  • 研究任务
  • 调试问题
  • 自适应工作流
示例:
Shannon 会自动对研究和迭代发现任务应用 ReAct(推理 + 行动)模式。
执行:

辩论模式

多个智能体争论不同观点,然后综合共识。 最适合:
  • 决策制定
  • 评估权衡
  • 平衡分析
示例:
Shannon 会自动对需要多个视角的决策任务应用辩论模式。
执行:

任务分解

对于复杂任务,Shannon 会自动将它们分解为子任务:

DAG(有向无环图)执行

DAG 并行执行 (DAG Parallel Execution) 并行执行: 没有依赖关系的子任务并行运行,减少延迟。 示例:

分解策略

Shannon 在内部分析任务并创建执行计划。虽然分解结构不会直接在 SDK 响应中暴露,但您可以通过事件观察工作流执行:
内部结构(用于理解,不能直接访问):
  • 当不存在依赖关系时,子任务并行运行
  • 综合任务等待所有子任务完成
  • 每个子任务分配给专门的智能体

工作流活动

Temporal 工作流由活动组成 - 离散的工作单元:

监控工作流

通过 Python SDK

任务分解在 Shannon 内部进行。使用事件流式传输实时观察工作流执行。

通过 Temporal UI

访问 http://localhost:8088 可以查看:
  • 工作流执行时间线
  • 活动状态
  • 输入/输出载荷
  • 错误跟踪
  • 重放历史

确定性重放

Shannon 工作流是确定性的 - 当使用相同输入重放时,它们会产生相同的结果。 用例:
  • 调试:重放失败的工作流以查找错误
  • 测试:验证代码更改不会破坏现有工作流
  • 审计:准确了解发生了什么
示例:

工作流配置

工作流行为通过环境变量进行配置(示例):
通过流式传输事件监控工作流执行:
有关所有环境变量,请参阅配置指南

错误处理

工作流自动处理故障:
活动自动使用指数退避进行重试:
如果 LLM 提供商失败,熔断器打开并路由到备用:
如果复杂模式失败,自动回退到更简单的执行。
当达到预算限制时,任务立即停止,防止成本超支。

最佳实践

1. 选择正确的策略

将认知策略与您的任务相匹配:

2. 使用适当的模式

  • simple:直接执行,无开销
  • standard:任务分解,多智能体
  • complex:完整认知模式(CoT、ToT 等)

3. 监控进度

流式传输事件以跟踪工作流执行:

4. 设置超时

通过环境变量防止工作流无限运行:

下一步

成本控制

学习预算管理

流式传输

实时事件流式传输

架构

系统架构概述

Python SDK

开始使用 SDK