[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699JDCTZ463MX31VDED0R7Q":3,"skill-same:01M699JDCTZ463MX31VDED0R7Q":65},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":27,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":35,"commitSha":36,"skillDirectory":37,"forksCount":38,"repositoryHtmlUrl":39,"repositoryHomepageUrl":40,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":43,"updatedAt":44,"install":45,"resources":58},"01M699JDCTZ463MX31VDED0R7Q","testing-course-samples",null,"microsoft\u002Fai-agents-for-beginners","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M6998ZK2275KMJE6Y5SEA2X2",79374,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fja\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000039","教师与教育","PROFESSION","适用职业",[28,29],"testing","testing course samples","2026-11-10 10:12:30",false,"---\nname: testing-course-samples\n---\n# コースサンプルのテスト\n\nレッスン用ノートブックおよびコードサンプルが実際の\nMicrosoft Foundry \u002F Azure OpenAI 環境で動作するかを検証します。このリポジトリには\n[`scripts\u002Fvalidate-notebooks.ps1`](..\u002F..\u002F..\u002F..\u002F..\u002Fscripts\u002Fvalidate-notebooks.ps1) という\nランナーが付属しており、全てのPythonノートブックをヘッドレス実行し、\n\n\n## 使用タイミング\n- \"すべてのノートブック／サンプルを自分のAzureサブスクリプションで検証したいとき。\"\n- \"パッケージのアップグレードやモデル変更後にコースのスモークテストを行いたいとき。\"\n\n\nAI Smoke Test GitHub Action（\u003Cem>デプロイ済み\u003C\u002Fem>ホストエージェントを検証するもの—[`tests\u002FREADME.md`](..\u002F..\u002F..\u002Ftests\u002FREADME.md)参照）には\u003Cstrong>使用しないでください\u003C\u002Fstrong>。このスキルは\nノートブックをローカルで実行します。\n\n## 前提条件（最初にチェック）\n1. **Python 3.12+** とコース依存パッケージ：`python -m pip install -r requirements.txt`\n   および実行用：`python -m pip install nbconvert ipykernel`。\n2. リポジトリルートに **`.env`**（[`.env.example`](..\u002F..\u002F..\u002F..\u002F..\u002F.env.example) からコピー）を用意し、少なくとも以下を設定：\n   - `AZURE_AI_PROJECT_ENDPOINT` — Foundryプロジェクトのエンドポイント\n     (`https:\u002F\u002F\u003Caccount>.services.ai.azure.com\u002Fapi\u002Fprojects\u002F\u003Cproject>`)\n   - `AZURE_AI_MODEL_DEPLOYMENT_NAME` — 廃止されていないデプロイメント名（例：`gpt-5-mini`）\n   - `AZURE_OPENAI_ENDPOINT` (`https:\u002F\u002F\u003Caccount>.openai.azure.com`) と `AZURE_OPENAI_DEPLOYMENT`\n     これはAzure OpenAIを直接呼び出すレッスン用（Lesson 06、02-azure-openai、14 handoff\u002Fhuman-loop）。\n3. **`az login`** の完了 — サンプルは `AzureCliCredential` で認証します（Entra ID、キーレス）。\n4. モデルデプロイメントが存在するか確認：\n   `az cognitiveservices account deployment list -g \u003Crg> -n \u003Caccount> -o table`。\n\n## 検証の実行方法\n```powershell\n# すべてのPythonノートブック（.NET、.venv、site-packages、translations、スキルアセットはスキップ）\npwsh scripts\u002Fvalidate-notebooks.ps1\n\n# 1つのレッスン、セルごとのタイムアウトが長い\npwsh scripts\u002Fvalidate-notebooks.ps1 -Filter '08-*' -Timeout 600\n\n# 実行されるものをリスト表示するだけ（実行はしない）\npwsh scripts\u002Fvalidate-notebooks.ps1 -List\n\n# 明示的なインタプリタ（`python`がPATHにない場合、例：Windowsストアのエイリアス）\npwsh scripts\u002Fvalidate-notebooks.ps1 -Python \"C:\u002Fpath\u002Fto\u002Fpython.exe\"\n```\nスクリプトは実行済みのコピー、ノートブックごとのログ、`results.json`を\n`$env:TEMP\\aiab-nbval` に書き出し、失敗数を終了コードとして返します。\n\n一時的な失敗（共有サブスクリプションのHTTP 429レート制限、たまに起こる\n`AzureCliCredential` トークンの不具合、タイムアウト）は自動的に\nリトライされます（`-Retries`（デフォルト2）および `-RetryDelaySeconds` バックオフ（デフォルト20秒））。モデルデプロイメントが頻繁に429を返す場合は、\nサブスクリプションのGlobalStandard\nTPMクォータ（`az cognitiveservices usage list -l \u003Cregion>`）を確認してください。単一の\nデプロイメントの容量増強は、\u003Cem>サブスクリプション\u003C\u002Fem> クォータが枯渇している場合は効果がありません。\n\n## 結果の解釈\n- `PASS` — ノートブックはセルエラーなく最後まで実行されました。\n- `FAIL` — 最初の `*Error` \u002F `*Exception` 行が表示されます。完全なトレースバックは、\n  出力ディレクトリ内の該当する `log_*.txt` を開いて確認してください。\n- 単一ノートブックの失敗は `-Timeout`（セルごと）により制限されます。つまり、\n  ハングしたヒューマンインザループセルは `StdinNotImplementedError` として検出され、ハング状態にはなりません。\n\n## 追加リソースが必要なレッスン（無ければ失敗が予想される）\n| レッスン | 追加要件 |\n|--------|-------------------|\n| 05 Agentic RAG | Azure AI Search（`AZURE_SEARCH_SERVICE_ENDPOINT`、キー）— インメモリのフォールバックパスあり |\n| 11 MCP \u002F GitHub | GitHub MCPサーバー + PAT |\n| 13 memory (cognee) | `cognee` がモデルプロバイダーで設定されていること |\n| 15 browser-use | Playwrightのブラウザがインストール済み（`playwright install`） + `AZURE_OPENAI_CHAT_DEPLOYMENT_NAME` |\n| 17 local agent | Foundry Localランタイム + ダウンロード済みQwenモデル（デバイス内、クラウド不要） |\n| `*-dotnet-*` ノートブック | .NET Interactiveカーネル（既定では除外；`-IncludeDotnet` 使用で含む） |\n\n## 結果の報告\nレッスン単位でまとめたPASS／FAILテーブルを作成します。実際のリグレッション\n（修正すべきコード・設定のバグ）と環境不足（Search\u002FFoundry Local\u002FPATの未設定）を区別し、\n本物の失敗ごとに該当する `log_*.txt` を記載してください。\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**免責事項**：\n本書類は AI 翻訳サービス [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator) を使用して翻訳されています。正確性を期していますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知おきください。原文の原語版が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。本翻訳の利用により生じたいかなる誤解や解釈違いについても、当方は責任を負いかねます。\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->","# コースサンプルのテスト\n\nレッスン用ノートブックおよびコードサンプルが実際の\nMicrosoft Foundry \u002F Azure OpenAI 環境で動作するかを検証します。このリポジトリには\n[`scripts\u002Fvalidate-notebooks.ps1`](..\u002F..\u002F..\u002F..\u002F..\u002Fscripts\u002Fvalidate-notebooks.ps1) という\nランナーが付属しており、全てのPythonノートブックをヘッドレス実行し、\n\n\n## 使用タイミング\n- \"すべてのノートブック／サンプルを自分のAzureサブスクリプションで検証したいとき。\"\n- \"パッケージのアップグレードやモデル変更後にコースのスモークテストを行いたいとき。\"\n\n\nAI Smoke Test GitHub Action（\u003Cem>デプロイ済み\u003C\u002Fem>ホストエージェントを検証するもの—[`tests\u002FREADME.md`](..\u002F..\u002F..\u002Ftests\u002FREADME.md)参照）には\u003Cstrong>使用しないでください\u003C\u002Fstrong>。このスキルは\nノートブックをローカルで実行します。\n\n## 前提条件（最初にチェック）\n1. **Python 3.12+** とコース依存パッケージ：`python -m pip install -r requirements.txt`\n   および実行用：`python -m pip install nbconvert ipykernel`。\n2. リポジトリルートに **`.env`**（[`.env.example`](..\u002F..\u002F..\u002F..\u002F..\u002F.env.example) からコピー）を用意し、少なくとも以下を設定：\n   - `AZURE_AI_PROJECT_ENDPOINT` — Foundryプロジェクトのエンドポイント\n     (`https:\u002F\u002F\u003Caccount>.services.ai.azure.com\u002Fapi\u002Fprojects\u002F\u003Cproject>`)\n   - `AZURE_AI_MODEL_DEPLOYMENT_NAME` — 廃止されていないデプロイメント名（例：`gpt-5-mini`）\n   - `AZURE_OPENAI_ENDPOINT` (`https:\u002F\u002F\u003Caccount>.openai.azure.com`) と `AZURE_OPENAI_DEPLOYMENT`\n     これはAzure OpenAIを直接呼び出すレッスン用（Lesson 06、02-azure-openai、14 handoff\u002Fhuman-loop）。\n3. **`az login`** の完了 — サンプルは `AzureCliCredential` で認証します（Entra ID、キーレス）。\n4. モデルデプロイメントが存在するか確認：\n   `az cognitiveservices account deployment list -g \u003Crg> -n \u003Caccount> -o table`。\n\n## 検証の実行方法\n```powershell\n# すべてのPythonノートブック（.NET、.venv、site-packages、translations、スキルアセットはスキップ）\npwsh scripts\u002Fvalidate-notebooks.ps1\n\n# 1つのレッスン、セルごとのタイムアウトが長い\npwsh scripts\u002Fvalidate-notebooks.ps1 -Filter '08-*' -Timeout 600\n\n# 実行されるものをリスト表示するだけ（実行はしない）\npwsh scripts\u002Fvalidate-notebooks.ps1 -List\n\n# 明示的なインタプリタ（`python`がPATHにない場合、例：Windowsストアのエイリアス）\npwsh scripts\u002Fvalidate-notebooks.ps1 -Python \"C:\u002Fpath\u002Fto\u002Fpython.exe\"\n```\nスクリプトは実行済みのコピー、ノートブックごとのログ、`results.json`を\n`$env:TEMP\\aiab-nbval` に書き出し、失敗数を終了コードとして返します。\n\n一時的な失敗（共有サブスクリプションのHTTP 429レート制限、たまに起こる\n`AzureCliCredential` トークンの不具合、タイムアウト）は自動的に\nリトライされます（`-Retries`（デフォルト2）および `-RetryDelaySeconds` バックオフ（デフォルト20秒））。モデルデプロイメントが頻繁に429を返す場合は、\nサブスクリプションのGlobalStandard\nTPMクォータ（`az cognitiveservices usage list -l \u003Cregion>`）を確認してください。単一の\nデプロイメントの容量増強は、\u003Cem>サブスクリプション\u003C\u002Fem> クォータが枯渇している場合は効果がありません。\n\n## 結果の解釈\n- `PASS` — ノートブックはセルエラーなく最後まで実行されました。\n- `FAIL` — 最初の `*Error` \u002F `*Exception` 行が表示されます。完全なトレースバックは、\n  出力ディレクトリ内の該当する `log_*.txt` を開いて確認してください。\n- 単一ノートブックの失敗は `-Timeout`（セルごと）により制限されます。つまり、\n  ハングしたヒューマンインザループセルは `StdinNotImplementedError` として検出され、ハング状態にはなりません。\n\n## 追加リソースが必要なレッスン（無ければ失敗が予想される）\n| レッスン | 追加要件 |\n|--------|-------------------|\n| 05 Agentic RAG | Azure AI Search（`AZURE_SEARCH_SERVICE_ENDPOINT`、キー）— インメモリのフォールバックパスあり |\n| 11 MCP \u002F GitHub | GitHub MCPサーバー + PAT |\n| 13 memory (cognee) | `cognee` がモデルプロバイダーで設定されていること |\n| 15 browser-use | Playwrightのブラウザがインストール済み（`playwright install`） + `AZURE_OPENAI_CHAT_DEPLOYMENT_NAME` |\n| 17 local agent | Foundry Localランタイム + ダウンロード済みQwenモデル（デバイス内、クラウド不要） |\n| `*-dotnet-*` ノートブック | .NET Interactiveカーネル（既定では除外；`-IncludeDotnet` 使用で含む） |\n\n## 結果の報告\nレッスン単位でまとめたPASS／FAILテーブルを作成します。実際のリグレッション\n（修正すべきコード・設定のバグ）と環境不足（Search\u002FFoundry Local\u002FPATの未設定）を区別し、\n本物の失敗ごとに該当する `log_*.txt` を記載してください。\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**免責事項**：\n本書類は AI 翻訳サービス [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator) を使用して翻訳されています。正確性を期していますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知おきください。原文の原語版が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。本翻訳の利用により生じたいかなる誤解や解釈違いについても、当方は責任を負いかねます。\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->",{"name":5},"main","f09e94ffe170f8af6d3db7c42987bbe4db227723","translations\u002Fja\u002F.agents\u002Fskills\u002Ftesting-course-samples",25989,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners","https:\u002F\u002Faka.ms\u002Fai-agents-beginners","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-07 12:51:12",{"source":7,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add microsoft\u002Fai-agents-for-beginners --skill testing-course-samples",{"tool":51,"command":52},"bunx","bunx skills add microsoft\u002Fai-agents-for-beginners --skill testing-course-samples",{"tool":54,"command":55},"pnpm","pnpm dlx skills add microsoft\u002Fai-agents-for-beginners --skill testing-course-samples","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fja\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",true,[59],{"path":60,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":63,"sourceHtmlUrl":64},"references\u002Fknown-docs.md","REFERENCE","参考文档",2083,"https:\u002F\u002Fgithub.com\u002Fmattwag05\u002Fmw-plugins\u002Fblob\u002Fmain\u002Fclient-adapters\u002Fclaude-code\u002Fplugins\u002Fdoc-harvest\u002Fskills\u002Fdoc-navigator\u002Freferences\u002Fknown-docs.md",[66,73,84,92,100,107],{"skillNo":67,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":72,"publishedAt":30},"01M69A206TRZ8KK0CW0HYJF5V5","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",[70,71],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},[28,29],{"skillNo":74,"name":75,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":81,"publishedAt":30},"01M69A1XRB2SFHYRMEH0K08EKZ","microsoft-docs","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fmicrosoft-docs\u002FSKILL.md",[78],{"categoryNo":79,"categoryName":80,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[82,8,83],"docs","microsoft docs",{"skillNo":85,"name":86,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":30},"01M69A1VPZFJQ1HNGTZQ5P3WSC","local-ai-agents","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Flocal-ai-agents\u002FSKILL.md",[],[90,91],"ai agents","local ai agents",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":30},"01M69A1S947N7MM6V9JF85S2E7","jupyter-notebook","當使用者要求建立、搭建或編輯 Jupyter 筆記本（`.ipynb`）用於實驗、探索或教學時使用；優先使用隨附範本並執行輔助腳本 `new_notebook.py` 來產生一個乾淨的起始筆記本。","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fjupyter-notebook\u002FSKILL.md",[],[99],"jupyter notebook",{"skillNo":101,"name":102,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":105,"publishedAt":30},"01M69A1Q8EXPWKZSQK69V6WF22","deploying-scalable-agents","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fdeploying-scalable-agents\u002FSKILL.md",[],[106],"deploying scalable agents",{"skillNo":108,"name":109,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":30},"01M69A1MHZTH3RH9N8VYSYG74X","azure-openai-to-responses","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fazure-openai-to-responses\u002FSKILL.md",[],[113],"azure openai to responses"]