ai-agents-for-beginners

エージェント スモークテスト

このフォルダーには、コースで作成するエージェントのためのスモークテストカタログが入っています。 スモークテストとは、デプロイされた Microsoft Foundry ホスト型エージェントが到達可能で応答し、 最も基本的なプロンプトの期待値に従っているかを低コストかつ高速にチェックするものです。 これは最初の関門であり、レッスン10や レッスン16で学ぶ完全な評価パイプラインの代替ではありません。

これらのカタログは、AI Smoke Test GitHub Actionによって、.github/workflows/smoke-test.yml ワークフロー経由で利用されます。

実行方法

  1. Microsoft Foundry にホストエージェントとしてレッスンのエージェントをデプロイします(デプロイワークフローは レッスン16を参照)。エージェント名とあなたの Foundryプロジェクトエンドポイントを控えておきます。
  2. これらのリポジトリシークレットを追加します(設定 → Secrets and variables → Actions): AZURE_CLIENT_ID、AZURE_TENANT_ID、AZURE_SUBSCRIPTION_ID。フェデレーテッド IDにはFoundryプロジェクトスコープでのAzure AIユーザーロールが必要です。
  3. Actions タブから Smoke-test hosted agents を実行し、対応するレッスンの tests_file を選択、続けて対応する agent_name と project_endpoint を入力します。

カタログ → レッスン → エージェント名

カタログ レッスン デプロイエージェント名
lesson-01-smoke-tests.json 01 – AIエージェント入門 TravelAgent
lesson-04-smoke-tests.json 04 – ツール利用 TravelToolAgent
lesson-05-smoke-tests.json 05 – エージェント的RAG TravelRAGAgent
lesson-16-smoke-tests.json 16 – スケーラブルエージェントのデプロイ ContosoSupportAgent

どのレッスンにスモークテストがあるか?

スモークテストは、テキスト返信が既知の内容と照合可能なエージェントをデプロイするレッスンに適用されます。 概念的なレッスン、ローカルのみで実行するもの、 または非決定的で創造的な出力を生成するものは意図的に除外されています:

カタログスキーマ(簡易参照)

各カタログはトップレベルにtests配列を持つJSONドキュメントです。各エントリは 1つのプロンプトをPOSTし、応答をアサートします:

フィールド 意味
id ログに表示されるユニークなステップ識別子。
description 人間可読の目的説明。
prompt エージェントに送信されるメッセージ。
assertions.status 期待されるHTTPステータス(デフォルトは200)。
assertions.contains_any 応答がこれらの部分文字列のいずれかを含むと合格。
assertions.contains_all 応答がすべての部分文字列を含むと合格。
assertions.contains_none 応答がこれらの部分文字列を含まないと合格。
save_response_id_as 後のマルチターンステップ用に応答IDを保存。
use_previous_response_id 保存された応答IDに連結してこのターンを送信。

アサーションは大文字・小文字を区別しない部分文字列チェックです。詳細は アクションドキュメントで、 Foundry管理の会話リソースを含む完全なスキーマを参照してください。


免責事項: 本書類は AI 翻訳サービス Co-op Translator を使用して翻訳されています。正確性を期していますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知おきください。原文の原語版が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。本翻訳の利用により生じたいかなる誤解や解釈違いについても、当方は責任を負いかねます。