livekit-simulations について
LiveKit エージェントのシミュレーションシナリオを作成・実行するスキルです。ローカルのコードとユーザーのテスト意図からリスク一覧を作り、各リスクをシナリオで網羅します。シミュレーション機能は現在プライベートベータです。
主な機能
- 01コードをアップロードせずローカルで読む
- 02エージェントの制約からリスク一覧を作成
- 03ユーザーのテスト重点に沿ってシナリオを作成
- 04すべてのリスクに最低一つのシナリオを用意
- 05YAML 設定を組み立ててシミュレーションを実行
活用シーン
- 01必須情報がない場合のエージェントの動作をテスト
- 02無効な入力や検索結果なしの処理を確認
- 03範囲外または有害な依頼へのガードレールを検証
- 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.mduser-guidance.mdwriting-scenarios.mdscripts/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 つです。
- エージェントの実際のコードを読み取ります。そのため、名前から推測するのではなく、エージェントが実際にできることや、処理が止まる箇所(特に制約や利用できない項目)を踏まえたシナリオを作成できます。
- ユーザーの意向を反映します。 ユーザーは何を懸念しているかを把握しています。その意図を必ず確認し、シナリオ全体に反映してください。これは特に重要です。
references/user-guidance.mdを参照してください。 - すべてのリスクを確実に網羅します。 何もしなければ、生成内容はもっともらしい正常系の呼び出しに偏り、必須フィールドの省略、無効な値の指定、検索結果が空の場合、ガードレールや不正利用に関するケース(対象範囲外、有害な要求、専門的な助言、機微データ、プロンプト抽出)といった難しいケースが見落とされがちです。このスキルは、エージェントの制約を明示的なリスクチェックリストに変換し、各項目について少なくとも 1 つのシナリオを作成することを必須とします。
references/analyzing-the-agent.mdとreferences/writing-scenarios.mdを参照してください。
フロー
- エージェントを説明し、リスクチェックリストを作成する — コードをローカルで読み、テストを意識した説明(Identity / Capabilities / Constraints)を
description.mdに、明示的なリスクチェックリストをrisks.yamlに記述します(テスト必須の制約/ガードレールごとに1項目を設け、それぞれにidとcategoryを付けます)。references/analyzing-the-agent.mdに従ってください。コードをアップロードしてはいけません。 - ユーザーが重視するテスト内容を確認する — 何を検証すべきか指定されていない場合は、尋ねてください。
references/user-guidance.mdに従って反映します(description.mdに# Test Focusを追加し、シナリオ作成に反映します)。重視する内容は追加要素です。選択したリスクを掘り下げるものであり、リスクごとのテスト範囲の最低基準を下げてはいけません。本当に希望がない場合は、幅広く生成し、その旨を伝えてください。 - シナリオを作成する — リスクごとに最低1つ —
description.mdと重視する内容に基づき、ペルソナ/気分/状況の多様性を自身の判断で生み出しながら、約10件の多様なシナリオを作成します(このバージョンには属性ライブラリは含まれません)。網羅性を保証してください。risks.yamlの各項目について、そのリスクを実際に検証できる形式の専用シナリオを1件以上作成し、covers: [<risk id>, …]のタグを付けます。references/writing-scenarios.mdに従ってください(スキーマ、「Party A talks to the agent」のルール、過去の状態を前提としないこと、実在する個人情報を使わないこと、結果に基づく期待値、敵対的な形式の分類、網羅性チェック、問題のあるテストを書かないこと)。authored.yamlに記述します。ユーザーが必須として指定したテストもここに追加します。 - 設定を組み立てる(網羅性を強制) —
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 シナリオファイルを出力します)。不足を修正し、成功するまで再実行します。 - 実行する —
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 サーバーを使います。フラグを間違えると実行を無駄にするため、推測せずに調べてください。
実行後:結果への対応(二次的な作業)
実行が完了したら、シナリオごとの合否、実行概要、失敗したシナリオのトランスクリプトを確認します。実際の失敗であればエージェントを修正して再実行し、シナリオに問題があるための失敗であればシナリオを修正します。この作業は簡潔に行ってください。最新のモデルは修正の段階ですでに優れており、このスキルが継続的に価値を発揮するのは、生成して保存するシナリオです。