什么是工作流?
Shannon 中的工作流是持久的、有状态的流程,用于编排 AI 智能体完成复杂任务。基于 Temporal 构建,它们提供:- 持久性:工作流在服务重启和故障后仍然存活
- 确定性:可以重放以进行调试
- 可见性:完整的执行历史和状态检查
- 可靠性:自动重试和错误处理
工作流架构
认知模式
Shannon 为不同类型的任务实现了几种经过验证的认知模式:思维链(CoT)
顺序推理,每个步骤在逻辑上建立在前一步之上。 最适合:- 数学问题
- 逐步分析
- 线性工作流
Shannon 会自动对顺序数学和分析任务应用思维链推理。
思维树(ToT)
同时探索多个解决方案路径,评估它们,并选择最佳方案。 最适合:- 设计决策
- 战略规划
- 有多种方法的问题
Shannon 会自动对具有多个解决方案路径的设计和规划任务应用思维树探索。
ReAct(推理 + 行动)
在循环中交替思考和行动,非常适合动态问题解决。 最适合:- 研究任务
- 调试问题
- 自适应工作流
Shannon 会自动对研究和迭代发现任务应用 ReAct(推理 + 行动)模式。
辩论模式
多个智能体争论不同观点,然后综合共识。 最适合:- 决策制定
- 评估权衡
- 平衡分析
Shannon 会自动对需要多个视角的决策任务应用辩论模式。
任务分解
对于复杂任务,Shannon 会自动将它们分解为子任务:DAG(有向无环图)执行
分解策略
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