メインコンテンツへスキップ
WakerFlow はマルチエージェントオーケストレーションエンジンで、複雑な AI 自動化タスクを複数の段階とステップに分解し、異なる Waker が協働して完了します。タスクに多視点・多ステップの処理が必要な場合、WakerFlow ではタスクを複数の段階(Phase)に分解し、各ステップに最適な Waker を割り当て、実行順序を柔軟に制御できます。

WakerFlow 一覧ページ

左側ナビゲーションバーの「WakerFlow」をクリックして一覧ページに入ります。
  • 一覧エリア:作成済みのすべての WakerFlow を表示し、各レコードに名称、説明、最近の実行状態と時刻が示されます。
  • 新規ボタン:クリックすると作成フローに入ります。
  • 検索とフィルター:名称による検索と状態によるフィルターに対応しています。

WakerFlow の作成

「新規 WakerFlow」をクリックして作成フローに入ります。QoderWake は自然言語による作成に対応しています。
1

新規をクリック

一覧ページの「新規」ボタンをクリックします。
2

フローを記述

表示された作成画面で、望むフローを自然言語で記述します。例:「毎朝 9 時にセキュリティ監査担当者が前日のコード変更を確認し、問題を見つけたら修正エンジニアに修正させ、最後にテストエンジニアに検証させる」。
3

スクリプトを生成

システムが複数の段階を含むオーケストレーションスクリプトを自動生成します。
4

Studio に入る

生成後は自動的に Studio 画面に入り、さらに調整・改善できます。
空白テンプレートから始めて、手動でスクリプトを記述することもできます。 作成方法の比較:
方法操作適用シーン
自然言語で作成フローの記述を入力すると、システムがスクリプトを自動生成迅速なプロトタイピング、シンプルなフロー
空白テンプレートゼロから JavaScript スクリプトを記述複雑なロジック、精密な制御
テンプレートベースプリセットテンプレートを選択して修正一般的なシーンへの迅速な適応

WakerFlow Studio

WakerFlow Studio は上部 Tab バーを通じて、WakerFlow、実行記録、設定の 3 つの機能 Tab の切り替えを提供します。

キャンバス Tab

WakerFlow 詳細ページのデフォルトビューは Studio キャンバスです。
  • 左側キャンバスエリア:ワークフローの構造をフローチャート形式で可視化し、各 Phase と Worker ノード、およびそれらの接続関係を表示します。ドラッグとズームでフロー全体を閲覧できます。
  • 右側 Chat パネル:WakerFlow とやり取りしてデバッグするための対話エリアで、自然言語の指示でフロー構造を変更できます。
  • 上部 Tab バー:WakerFlow、実行記録、設定の 3 つの機能 Tab の切り替えを提供します。
キャンバス内の任意のノードをクリックすると、右側パネルにそのノードの詳細な設定情報が表示されます。含まれる内容:
  • ノードの種類(Phase / Worker / Parallel など)。
  • 関連する Waker 情報。
  • 入出力パラメーター。
  • 実行設定(タイムアウト、リトライなど)。

スクリプト Tab

スクリプト Tab はコードエディターを提供し、WakerFlow の JavaScript スクリプトを直接記述・修正できます。
  • コードエディター:シンタックスハイライト、自動補完に対応しています。
  • 保存ボタン:編集が完了したらクリックして保存します。
  • 右側 Chat パネル:引き続き利用可能で、コードを編集しながら対話でヘルプを得られます。

実行記録 Tab

実行記録 Tab は、その WakerFlow のすべての実行履歴を表示します。
  • 実行一覧:時刻の降順で各実行を表示し、実行 ID、トリガー方法、開始時刻、所要時間、最終状態を含みます。
  • 状態ラベル:Pending / Running / Waiting / Completed / Failed / Cancelled。
  • 詳細の展開:実行記録をクリックすると、段階の進捗、各 Worker の状態、ログ出力、所要時間の統計を確認できます。
  • ヒューマンインタラクションのプロンプト:実行中に askUser ノードに到達すると、ここに入力プロンプトが表示されます。
実行中の WakerFlow は各ノードの実行状態(進行中、完了、待機中など)をリアルタイムで表示し、色とアイコンで区別します。

設定 Tab

設定 Tab は WakerFlow のグローバル設定を管理します。
  • 基本情報:名称と説明を編集します。
  • トリガー方法の設定:トリガーを追加・管理します。各 WakerFlow につき最大 5 個のトリガーを設定できます。
  • 自動実行の設定:保存後に自動実行するか、タイムアウト時間などを設定します。
  • 実行パラメーター:実行時に渡せるパラメーターを定義します。

オーケストレーションプリミティブ

WakerFlow は JavaScript で記述し、6 つのオーケストレーションプリミティブを提供します。
プリミティブ説明用途
phase(title, detail?)現在の段階を宣言ワークフローの論理構造を整理
log(message, level?)進捗メッセージを書き込み実行モニタリング、level: info/warn/error/success
worker(instruction, opts)単一タスクをディスパッチ指定した Waker にタスクを割り当てて実行
parallel(tasks, opts?)バリア並行すべてのタスクを並行実行し、全部完了後に返す
pipeline(tasks, opts?)パイプラインタスクを複数の段階へ順に流す
askUser(question)ヒューマンインタラクション実行を一時停止し、ユーザーの入力を待つ
worker の例:
const result = await worker('この PR のセキュリティリスクを分析', {
  label: 'security-review',
  resolve: { kind: 'waker', wakerId: 'security-auditor-001' }
})
parallel の例:
const reviews = await parallel([
  () => worker('セキュリティの観点からレビュー', { resolve: { kind: 'waker', wakerId: 'security-expert' } }),
  () => worker('パフォーマンスの観点からレビュー', { resolve: { kind: 'waker', wakerId: 'perf-expert' } }),
])

オーケストレーションのヒント

  • Phase を適切に分割します。各 Phase は論理的に完結した段階を表し、3〜5 個の Phase が適切です。
  • 各 worker には意味のある label を設定し、実行記録で追跡しやすくします。
  • schema で worker の返却フォーマットを制約し、後続処理の安定性を確保します。
  • 重要なステップには askUser を組み込み、失敗時に人手の介入を求めます。
  • まずシンプルな worker でフローを通し、その後で徐々に複雑度を上げます。