Workflows

参照元: LiveKit Agents Documentation ロードマップ: 学習ロードマップ

What(何についてか)

本ドキュメントは、LiveKit Agentsにおける会話アプリケーションの実行構造を、Agent・Tool・Task・Task Groupという4つの構成要素で整理するための設計ガイドである。

Agent Sessionをオーケストレータとして据え、長寿命の会話制御と短寿命の完了型処理を明確に分離することで、複雑な音声AIワークフローを予測可能かつ保守可能に構築することを目的としている。

Why(なぜ必要か)

音声AIは、単純な1ターン応答ではなく、ロール切り替え、外部システム操作、確認・訂正を含む多段フローを扱う。これを単一の巨大エージェントに詰め込むと、責務が混在し、推論の一貫性とテスト性が急激に低下する。

このため、会話の継続責務(Agent)と、単発の副作用実行(Tool)、完了まで進める短命業務(Task)を分離し、必要に応じてTask Groupで順序を管理する設計が必要になる。

How(どう動くか)

Agent Sessionが全体の制御点となり、現在アクティブなAgentが会話文脈を保持しながらユーザーと対話する。Agentは必要に応じてToolを呼び出して外部I/Oを実行し、より適切な人格・権限が必要になった場合はHandoffで別Agentへ制御を移譲する。

一方で、同意取得や検証のように「完了」が必要な処理はTaskとして切り出す。Taskは短命で、完了時に型付き結果を返して制御を元のAgentへ戻す。複数のTaskを順序立てて実行し、途中修正を許容したい場合はTask Groupを使う。

graph TD
    S["Agent Session"] --> A["Active Agent"]
    A --> T["Tool Call\n(外部I/O・副作用)"]
    A --> H["Handoff"]
    H --> A2["Another Agent"]
    A --> K["Task 実行"]
    K --> R["Typed Result"]
    R --> A
    A --> G["Task Group\n(順序制御・手戻り対応)"]

Key Concepts

用語説明
Agent Session音声AIアプリ全体のオーケストレータ。会話制御の最上位。
Agent長寿命の会話制御単位。指示、推論方針、利用可能Toolを持つ。
Toolモデル主導で呼び出される関数。外部アクションやデータI/Oを担当。
Task完了まで実行する短命ユニット。終了時に結果を返し、制御を戻す。
Task Group複数Taskの順序実行と手戻りを管理する仕組み。
Handoff会話制御を別Agentへ移譲する機構。

設計上の判断基準(学習時の要点)

TaskとToolはどちらも「何かを実行する」ため、表面的には似て見える。実装で区別する軸は、責務の粒度と制御の持ち方である。

Toolは1アクションの明確な副作用実行に適しており、呼び出し判断はLLM主導で行われる。Taskは複数ステップを含む完了型処理に適し、実行中のみ一時的に制御を持って終端まで進める。

この区別を維持することで、フローの見通しとテスト単位が明確になり、ワークフローの拡張時に破綻しにくい構造を保てる。

Best Practices(実装前チェック)

  1. 先に会話フェーズを分解し、Agent分離基準(人格・権限・推論方針)を定義する。
  2. 完了が必須の処理はTaskとして切り出し、会話継続と混在させない。
  3. Toolは単責務・明確な戻り値を持たせ、次の推論に寄与する形で設計する。
  4. Handoff時のコンテキスト保持範囲を設計し、不要な引き継ぎを避ける。
  5. 多段処理はTask Groupで順序と訂正導線を管理する。
  6. 段階的に実装し、Tool/Task/Agent単位でテストと評価を回す。

一言まとめ

LiveKit Workflowsは、会話制御(Agent)・副作用実行(Tool)・完了型処理(Task)・順序制御(Task Group)を分離して、複雑な音声AIを予測可能な構造にするための設計原則である。