ソフトウェアエンジニアはバージョン管理なしでコードをデプロイしません。Diffをレビューし、ステージングでテストし、何かが壊れたらロールバックします。AIワークフローも同じ規律に値します。
JieGouのワークフローバージョン管理システムは、不変バージョン履歴、構造的Diff、ワンクリックロールバック、カナリーデプロイメントを提供 — すべてワークフローエディタに組み込み。
すべての編集がバージョンを作成
ワークフローの構造を変更すると — ステップの追加、削除、並び替え、入出力スキーマの変更 — JieGouが自動的に新しいバージョンを作成。履歴は追記のみ。何も上書きされません。
各バージョンは完全なスナップショット:すべてのステップ、すべての入力マッピング、すべてのスキーマ定義が時間凍結。ワークフローの進化の完全なタイムラインを閲覧し、各変更を誰がいつ行ったかを確認し、ワークフローがどう現在の状態に至ったかを正確に理解できます。
構造的Diff
何かが変わったかを知るだけでは不十分。何が変わったかを知る必要があります。
Diffエンジンは任意の2バージョンを構造的に比較し、追加ステップ、削除ステップ、変更ステップ、並び替えステップ、スキーマ変更を特定。変更ステップでは条件ブランチ、ループ本体、パラレルブランチが再帰的に比較されます。
結果は人間が読めるサマリー — 「2ステップ変更、1ステップ追加、入力スキーマ変更」 — と詳細Diffビュー。
新バージョンとしてのロールバック
ロールバックは履歴を書き換えません。バージョン3にロールバックすると、JieGouはそのバージョンのステップとスキーマを新しいバージョン(例:バージョン8)にコピー。タイムラインは完全なストーリーを表示:バージョン4-7が存在、何かがうまくいかず、バージョン8がバージョン3の復元。
ロールバックは安全です。ロールバック自体が間違いだった場合、再びロールフォワードできます。
カナリーロールアウト
ワークフローの最もリスクの高い瞬間は変更直後です。カナリーロールアウトで、コミット前に自動トラフィックの一部で変更をテスト。
仕組み:
- カナリー開始。 新バージョンとトラフィック割合を選択 — 例えば10%。
- 自動ルーティング。 スケジュールまたはWebhookがワークフローをトリガーすると、
resolveWorkflowVersion()が乱数を生成。10%がカナリーバージョンに、90%がアクティブバージョンに。 - メトリクス蓄積。 各実行がバージョンに対して成功/失敗、所要時間、トークン使用量を記録。Redisカウンターがリアルタイム集計。
- プロモートまたはロールバック。 自信が持てたらカナリーをアクティブにプロモート。メトリクスが良くなければロールバック。
ハンズオフ運用にはオートプロモートを設定:最小実行数と最小成功率を設定。カナリーが両方の閾値に達したら自動プロモート。設定可能な時間制限後に閾値未達なら自動ロールバック。
バージョンごとのメトリクス
各バージョンが独自のパフォーマンスデータを蓄積:
- 合計実行数 — このバージョンが何回実行されたか
- 成功率 — エラーなしで完了した実行の割合
- 平均所要時間 — このバージョンでの実行にかかる時間
- エラー数 — 失敗した実行数
これらのメトリクスはカナリーのプロモート/ロールバック判断を駆動しますが、リグレッションの発見にも有用。バージョン5が98%成功率でバージョン6が91%に低下したら、何かが変わったと分かり — 2つのバージョンをDiffして原因を特定できます。
重要な理由
バージョン管理なしでは、ワークフロー変更は不可逆。悪い編集は以前のワークフローの手動再構築を意味します。バージョン管理があれば:
- 監査人が何がいつ誰によって変わったかを正確に追跡可能
- チームが本番プロモート前にDiffをレビュー可能
- オペレーターがリスクなしで実トラフィックでカナリーテスト可能
- 誰でも何かが壊れた時に即座にロールバック可能
バージョン履歴とDiffはすべてのプランで利用可能。カナリーロールアウトとオートプロモートはEnterpriseで利用可能。ワークフローの詳細または無料トライアルを開始。