mcpField
L
livekit-simulations

livekit-simulations

github.com/livekitテスト・品質74581 回インストール1 週間前に更新
リポジトリ

livekit-simulations について

LiveKit エージェントのシミュレーションシナリオを作成・実行するスキルです。ローカルのコードとユーザーのテスト意図からリスク一覧を作り、各リスクをシナリオで網羅します。シミュレーション機能は現在プライベートベータです。

主な機能

  1. 01コードをアップロードせずローカルで読む
  2. 02エージェントの制約からリスク一覧を作成
  3. 03ユーザーのテスト重点に沿ってシナリオを作成
  4. 04すべてのリスクに最低一つのシナリオを用意
  5. 05YAML 設定を組み立ててシミュレーションを実行

活用シーン

  1. 01必須情報がない場合のエージェントの動作をテスト
  2. 02無効な入力や検索結果なしの処理を確認
  3. 03範囲外または有害な依頼へのガードレールを検証
  4. 04プロンプト、モデル、ツールの変更後に回帰シナリオを再実行

MCP 対応

このスキルによると、シミュレーションは未文書化で、MCP の対象外です。コマンドの詳細は `lk agent simulate --help` で確認し、文書化後に LiveKit MCP server を利用するよう案内しています。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/livekit/agent-skills --skill livekit-simulations

インストール後、Claude Code で/livekit-simulationsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
analyzing-the-agent.md
user-guidance.md
writing-scenarios.md
scripts/
build_scenarios.py

詳細

⚠️ シミュレーションはプライベートベータ版です(一般提供はまだ開始されていません)。

  • ドキュメント/MCP での対応はまだありません。 lk agent simulate コマンドの操作方法については、シミュレーションのドキュメントが整備されるまで、lk docs/MCP ではなく lk agent simulate --help と LiveKit Cloud ダッシュボードを利用してください。
  • 新しい SDK が必要です。 シミュレーションの実行には、livekit-agents の 1.6 系が必要です。推測せず、インストールされているバージョンを確認してください。
  • 利用は制限されており、認証が必要です。 実行を作成するには、プロジェクトでシミュレーションが有効になっていて、最新の lk cloud auth セッションが必要です。(このスキルの主な作業であるシナリオの生成には、どちらも必要ありません。完全にローカルで行われます。)

シミュレーションシナリオの生成

シミュレーションで最も価値のある作業は、ユーザーのエージェント向けに優れたテストシナリオを生成することです。エージェントの実際のコードと、ユーザーがストレステストしたい内容に基づいてシナリオを作成し、実行します。この作業はローカルで行います。通常のツールでコードを読み取りますが、何もアップロードされません。また、生成を行うモデルはコーディングエージェント自身なので、追加の API キーやサービスは必要ありません。

シナリオとは、シミュレートされたユーザーのペルソナと目標(instructions)、および合格基準(agent_expectations)の組み合わせです。シミュレーションでは各シナリオをテキストでエージェントに対して実行し、LLM の判定者が採点します。あなたの役割は、高品質で多様な、目的に合ったシナリオ群を作成し、CLI で実行できる YAML のシナリオファイルに書き込むことです。

autopilot より優れている理由

単純に「テストをいくつか生成する」だけでは要点を見失います。このスキルを使う価値を生み出すのは、次の 3 つです。

  1. エージェントの実際のコードを読み取ります。そのため、名前から推測するのではなく、エージェントが実際にできることや、処理が止まる箇所(特に制約や利用できない項目)を踏まえたシナリオを作成できます。
  2. ユーザーの意向を反映します。 ユーザーは何を懸念しているかを把握しています。その意図を必ず確認し、シナリオ全体に反映してください。これは特に重要です。references/user-guidance.md を参照してください。
  3. すべてのリスクを確実に網羅します。 何もしなければ、生成内容はもっともらしい正常系の呼び出しに偏り、必須フィールドの省略、無効な値の指定、検索結果が空の場合、ガードレールや不正利用に関するケース(対象範囲外、有害な要求、専門的な助言、機微データ、プロンプト抽出)といった難しいケースが見落とされがちです。このスキルは、エージェントの制約を明示的なリスクチェックリストに変換し、各項目について少なくとも 1 つのシナリオを作成することを必須とします。references/analyzing-the-agent.md と references/writing-scenarios.md を参照してください。

フロー

  1. エージェントを説明し、リスクチェックリストを作成する — コードをローカルで読み、テストを意識した説明(Identity / Capabilities / Constraints)を description.md に、明示的なリスクチェックリストを risks.yaml に記述します(テスト必須の制約/ガードレールごとに1項目を設け、それぞれに id と category を付けます)。references/analyzing-the-agent.md に従ってください。コードをアップロードしてはいけません。
  2. ユーザーが重視するテスト内容を確認する — 何を検証すべきか指定されていない場合は、尋ねてください。references/user-guidance.md に従って反映します(description.md に # Test Focus を追加し、シナリオ作成に反映します)。重視する内容は追加要素です。選択したリスクを掘り下げるものであり、リスクごとのテスト範囲の最低基準を下げてはいけません。本当に希望がない場合は、幅広く生成し、その旨を伝えてください。
  3. シナリオを作成する — リスクごとに最低1つ — description.md と重視する内容に基づき、ペルソナ/気分/状況の多様性を自身の判断で生み出しながら、約10件の多様なシナリオを作成します(このバージョンには属性ライブラリは含まれません)。網羅性を保証してください。risks.yaml の各項目について、そのリスクを実際に検証できる形式の専用シナリオを1件以上作成し、covers: [<risk id>, …] のタグを付けます。references/writing-scenarios.md に従ってください(スキーマ、「Party A talks to the agent」のルール、過去の状態を前提としないこと、実在する個人情報を使わないこと、結果に基づく期待値、敵対的な形式の分類、網羅性チェック、問題のあるテストを書かないこと)。authored.yaml に記述します。ユーザーが必須として指定したテストもここに追加します。
  4. 設定を組み立てる(網羅性を強制) — python scripts/build_scenarios.py assemble --in authored.yaml --agent-description-file description.md --risks risks.yaml --strict --out scenarios.yaml (スキーマを検証し、リスクが1つでも未網羅なら失敗し、lk agent simulate --scenarios が読み込む YAML シナリオファイルを出力します)。不足を修正し、成功するまで再実行します。
  5. 実行する — lk agent simulate --scenarios scenarios.yaml(正確なフラグは --help で確認してください。beta ブロックに記載された SDK/認証が必要です)。結果をユーザーに見せ、再実行、重視する内容の変更、またはシナリオの追加を提案します。

保存した scenarios.yaml ファイルは回帰テストスイートとして再利用し、プロンプト/モデル/ツールの変更後に再実行してください。

原則

  • ユーザーのコードをアップロードしてはいけません。 ローカルで読むことが目的です。コードはユーザーの知的財産です。
  • ユーザーの意図が差別化要因です — 毎回取り入れ、黙って自動で進めないでください。
  • すべてのシナリオを説明に基づかせてください。特に Constraints を重視します。エージェントには実現できないこと(または拒否すべきガードレール)を求めるシナリオでは、それに即した期待値を設定してください。
  • スクリプトは決定論的なつなぎ役であり、生成するのはあなたです。 組み立てと網羅性チェックは build_scenarios.py に任せ、コードを読むこと、判断、多様性の確保、シナリオ作成を行ってください。

検証し、推測しない(永久固定)

このスキルは手法を提供します(ライブラリは同梱されていないため、多様性は自分で用意します)。lk agent simulate の正確なフラグ、CI の待機/失敗フラグ、SDK の最小バージョン、ダッシュボードは変更されるため、最新の情報源を確認してください。lk agent simulate --help と(ベータ後は)lk docs/LiveKit MCP サーバーを使います。フラグを間違えると実行を無駄にするため、推測せずに調べてください。

実行後:結果への対応(二次的な作業)

実行が完了したら、シナリオごとの合否、実行概要、失敗したシナリオのトランスクリプトを確認します。実際の失敗であればエージェントを修正して再実行し、シナリオに問題があるための失敗であればシナリオを修正します。この作業は簡潔に行ってください。最新のモデルは修正の段階ですでに優れており、このスキルが継続的に価値を発揮するのは、生成して保存するシナリオです。

コメント