コレオグラフィによる Claude ダイナミック・ワークフロー
ほとんどのAIワークフローはオーケストレーションを使用します。中央のコントローラーがあらゆるステップを決定します。ツールを選択し、タスクを実行し、結果を統合します。これにより、制御性と明確なパスが提供されます。
私のアーキテクチャでは、代わりにコレオグラフィ(choreography)を採用しています。
コレオグラフィによるワークフローでは、単一のコントローラーがあらゆるものを支配することはありません。代わりに、各振る舞いがイベントに反応します。各コンポーネントは、以下の3つのことだけを理解していればよいのです。
- 検証するコントラクト(契約)
- 追跡するイベント
- 送信するイベント
これによりハイブリッドモデルが構築されます。高レベルの意図(intent)にはオーケストレーションを使用し、実行にはコレオグラフィを使用します。
以下が主要なパターンです。
分類と実行 (Classify and Act) 従来のフローでは、ルーターを使用して関数を呼び出します。コレオグラフィによるフローでは、イベントを発行(emit)します。メッセージは分類された意図となり、その意図が振る舞いをトリガーします。各ステージが新しいイベントを発行することで、システムはモジュール化されます。フローを壊すことなく、任意のステージを置き換えたり監視したりすることが可能です。
ファンアウトと合成 (Fanout and Synthesize) 1つのエージェントがタスクを分割するのではなく、イベントのサブスクリプションを使用します。1つのペイロードが、複数の独立した振る舞いを同時にトリガーできます。例えば、あるエージェントが型を検証し、別のエージェントがスキーマをチェックし、3番目のエージェントがベンチマークを実行するといった構成が可能です。合成(Synthesis)とは、単にテキストを結合することではありません。どのパスが成功したかを特定するための、意味的な集約(semantic reduction)なのです。
敵対的検証 (Adversarial Verification) 最初の回答を鵜呑みにしてはいけません。ジェネレーターが候補を公開すると、検証者(Verifiers)がその候補をサブスクライブして攻撃を仕掛けます。彼らはコンパイラ、セキュリティテスター、あるいは悪意のあるユーザーとして振る舞います。欠陥が見つかった場合、彼らは反例(counterexample)を発行します。この反例が、自己修復(self-healing)パイプラインをトリガーします。
生成とフィルタリング (Generate and Filter) 生成は低コストです。しかし、受理(Acceptance)は厳格である必要があります。システムは、「高速版」「安全版」「最小版」といった複数の候補を生成します。ユニットテストやセキュリティポリシーなどの決定論的なゲート(deterministic gates)がそれらをフィルタリングし、勝者だけが次に進みます。
トーナメント (Tournament) 明確な最適解がない場合は、トーナメントを実行します。競合する候補を生成し、ルーブリックに基づいてスコアを付けます。CPUコスト、メモリ、成功率を測定します。これにより、主観的な意見を測定可能な数値へと変換できます。
完了するまでループ (Loop until Done) ほとんどのシステムでは、エラーが発生するとフローが終了します。しかし、このモデルでは、エラーも単なる一つのイベントに過ぎません。システムはエラーのコンテキストを利用して、さまざまな修復ステップを試みます。型変換を試し、次に意味的な修復を行い、最後にユーザーの助けを求めます。これは盲目的なリトライではありません。ループがメモリ(記憶)を持っているため、意図に基づいた修復(intent-based healing)となるのです。
コレオグラフィによって、システムの拡張、テスト、および自己修復が容易になります。既存のイベントをサブスクライブするだけで、新しい検証器やフィルタを追加できます。グラフの構造はそのまま維持されます。
出典: https://dev.to/fullagenticstack/choreographed-claude-dynamic-workflows-3mgi
オプションの学習コミュニティ: https://t.me/GyaanSetuAi