ワークフローの解説
Supervity におけるワークフローの構造、実行、監視の仕組み
Supervity において、ワークフロー は作業が どのように実行されるか を定義する実行可能な構造です。
以下を指定します。
- 実行されるアクション
- 実行順序
- 条件
- 失敗と再試行の動作
ワークフローは次の特性を持ちます。
- 決定論的
- ビジュアル
- 監査可能
- 再利用可能
ワークフローは推論や意思決定を 行いません。
その責任はオペレーターにあります。
ワークフローとオペレーター(重要な区別)
| オペレーター | ワークフロー |
|---|---|
| 意図を理解する | 指示を実行する |
| 推論し計画する | 定義されたロジックに従う |
| 何が起きるべきかを決定する | どのように起きるかを定義する |
| 人間の判断のために一時停止する | 待機するが決定はしない |
| 会話型 | 決定論的 |
オペレーターが実行を 計画し制御 します。
ワークフローが 安全かつ予測可能に実行 します。
→ 詳細:オペレーターの理解
コアワークフロー概念
ステップ
ステップ は単一の実行可能なアクションです。
例:
- メール送信
- API 呼び出し
- ファイルの読み書き
- データ変換
- 人間の承認要求
各ステップは次を行います。
- 入力を受け取る
- 出力を生成する
- 成功または失敗する
- ログとタイミングデータを発行する
接続と依存関係
ステップは複数の方法で接続できます。
逐次
並列
条件付き
依存関係により、正しい実行順序とデータフローが保証されます。
トリガー
トリガーは ワークフロー実行が開始されるタイミング を定義します。
サポートされるトリガー:
- 手動(UI または API)
- スケジュール(時間ベース)
- Webhook(イベント駆動)
- 連携イベント
トリガーはワークフロー自体ではなく 実行(ジョブ) を開始します。
実行、ジョブ、エグゼキューション
- ワークフロー が構造を定義する
- 実行(ジョブ) はそのワークフローの単一実行である
各実行は次を持ちます。
- 独自の入力
- 独自の出力
- 独自のログ
- 実行状態を独立して遷移
変数とデータフロー
データは変数を通じてワークフローを流れます。
- inputs — 実行開始時に提供
- step outputs — 実行結果
- transformed data — 計算または再フォーマットされた値
変数は次の特性を持ちます。
- 型付け
- 実行ごとにスコープ
- ステップごとにトレース可能
ワークフローパターン
逐次ワークフロー
線形プロセスに最適:
並列ワークフロー
独立したアクションに最適:
条件付きワークフロー
ルーティングと意思決定結果に最適:
人間参加型ワークフロー
ガバナンスとコンプライアンスに最適:
→ 詳細:人間によるレビューと承認
ワークフロー実行ライフサイクル
各実行は定義されたライフサイクルを遷移します。
- Triggered
- Running
- Waiting(人間レビューまたは遅延)
- Completed
- Failed
- Cancelled
すべての状態遷移はログ記録され可観測です。
監視と可観測性
各実行について以下を検査できます。
- ステップごとのタイムライン
- 入力と出力
- 実行時間
- 再試行回数
- 失敗理由
ワークフローは デバッグ可能で監査可能 であり、不透明ではありません。
エラーハンドリングと信頼性
ワークフローは以下をサポートします。
- バックオフ付き自動再試行
- ステップとワークフローのタイムアウト
- フォールバック実行パス
- 失敗通知
- 安全なキャンセル
失敗は明示的で可視です。
サイレントに失敗することはありません。
高度なワークフローパターン
ループと反復
ネストされたワークフロー
データ変換
組み込みステップにより以下が可能です。
- json または xml をパース
- データをフォーマット
- リストをフィルタ
- 値を計算
- 複数ソースをマージ
セキュリティとガバナンス
ワークフローはプラットフォーム全体の制御を継承します。
- ロールベースアクセス
- 最小権限連携
- 承認ゲート
- 監査ログ
- バージョン履歴
すべての変更が追跡されます。
ベストプラクティス
明確さを重視した設計
- 説明的なステップ名を使用する
- ワークフローに焦点を絞る
- 前提条件を文書化する
信頼性を重視した設計
- 早期に入力を検証する
- 失敗パスを明示的に処理する
- 不要な分岐を避ける
スケールを重視した設計
- 並列実行を使用する
- 可能な限り操作をバッチ化する
- 実行トレンドを監視する
対象者
ビジネスユーザー
- 何がいつ実行されるかを理解する
運用チーム
- 実行を標準化し統制する
開発者
- ワークフローを実行プリミティブとして扱う
次のステップ
- 意思決定を委任する → オペレーターの理解
- 時間経過で自動化する → スケジューリングと自動化
- 実行を拡張する → API リファレンス
- ガバナンスを追加する → 人間によるレビューと承認
ワークフローは Supervity の 実行の背骨 です。
設計上、予測可能で検査可能かつ安全です。