Skip to main content

Workflowとは?

ShannonのWorkflowは、AI Agentを調整して複雑なタスクを完了する、耐久性のあるステートフルなプロセスです。Temporal上に構築され、以下を提供します:
  • 耐久性: Workflowはサービスの再起動と障害を乗り越える
  • 決定論: デバッグのためにリプレイ可能
  • 可視性: 完全な実行履歴と状態検査
  • 信頼性: 自動リトライとエラーハンドリング

Workflowアーキテクチャ

Workflowアーキテクチャ

認知パターン

Shannonは異なるタスクタイプに対して実証済みの認知パターンを実装しています:

Chain-of-Thought (CoT)

各ステップが前のステップに論理的に基づいて構築される順次推論。 最適な用途:
  • 数学的問題
  • ステップバイステップ分析
  • 線形Workflow
例:
Shannonは順次的な数学的および分析的タスクに対してChain-of-Thought推論を自動的に適用します。
実行:

Tree-of-Thoughts (ToT)

複数のソリューションパスを同時に探索し、評価して最良のものを選択します。 最適な用途:
  • 設計上の決定
  • 戦略的計画
  • 複数のアプローチを持つ問題
例:
Shannonは複数のソリューションパスを持つ設計および計画タスクに対してTree-of-Thoughts探索を自動的に適用します。
実行:

ReAct(推論 + 行動)

動的な問題解決に最適な、思考と行動をループで交互に実行。 最適な用途:
  • リサーチタスク
  • デバッグ問題
  • 適応型Workflow
例:
Shannonはリサーチおよび反復的発見タスクに対してReAct(推論 + 行動)を自動的に適用します。
実行:

Debateパターン

複数のAgentが異なる視点を議論し、コンセンサスを統合します。 最適な用途:
  • 意思決定
  • トレードオフの評価
  • バランスの取れた分析
例:
Shannonは複数の視点を必要とする意思決定タスクに対してDebateパターンを自動的に適用します。
実行:

タスク分解

複雑なタスクに対して、Shannonは自動的にサブタスクに分解します:

DAG(有向非巡回グラフ)実行

DAG実行 並列実行: 依存関係のないサブタスクは並列に実行され、レイテンシを削減します。 例:

分解戦略

Shannonはタスクを分析し、内部的に実行計画を作成します。分解構造はSDKレスポンスで直接公開されませんが、イベントを通じてWorkflow実行を観察できます:
内部構造(理解のため、直接アクセス不可):
  • サブタスクは依存関係がない場合に並列実行
  • 統合タスクはすべてのサブタスクの完了を待機
  • 各サブタスクは専門Agentに割り当て

Workflowアクティビティ

Temporal Workflowはアクティビティ(個別の作業単位)で構成されます:

Workflowの監視

Python SDK経由

タスク分解はShannon内部で行われます。イベントストリーミングを使用してWorkflow実行をリアルタイムで観察してください。

Temporal UI経由

http://localhost:8088 にアクセスして以下を確認:
  • Workflow実行タイムライン
  • アクティビティステータス
  • 入出力ペイロード
  • エラートレース
  • リプレイ履歴

決定論的リプレイ

Shannon Workflowは決定論的です - 同じ入力でリプレイすると同じ結果を生成します。 ユースケース:
  • デバッグ: 失敗したWorkflowをリプレイしてバグを見つける
  • テスト: コード変更が既存のWorkflowを壊さないことを検証
  • 監査: 正確に何が起こったかを理解
例:

Workflow設定

Workflowの動作は環境変数で設定されます(例):
ストリーミングイベントを介してWorkflow実行を監視:
すべての環境変数についてはConfiguration Guideを参照してください。

エラーハンドリング

Workflowは自動的に障害を処理します:
アクティビティは指数バックオフで自動的にリトライ:
LLMプロバイダーが失敗している場合、サーキットブレーカーが開いてフォールバックにルーティング:
複雑モードが失敗した場合、自動的によりシンプルな実行にフォールバック。
予算制限に達すると、タスクは即座に停止し、コスト超過を防止。

ベストプラクティス

1. 適切な戦略を選択

タスクに認知戦略を合わせる:

2. 適切なモードを使用

  • simple: 直接実行、オーバーヘッドなし
  • standard: タスク分解、マルチAgent
  • complex: 完全な認知パターン(CoT、ToTなど)

3. 進捗を監視

イベントをストリーミングしてWorkflow実行を追跡:

4. タイムアウトを設定

環境変数を介してWorkflowが無期限に実行されるのを防ぐ:

次のステップ

コスト管理

予算管理を学ぶ

ストリーミング

リアルタイムイベントストリーミング

アーキテクチャ

システムアーキテクチャ概要

Python SDK

SDKを始める