[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699C68Z86GVZ5AJ6BDBGC88":3,"skill-same:01M699C68Z86GVZ5AJ6BDBGC88":69},{"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},"01M699C68Z86GVZ5AJ6BDBGC88","testing-course-samples",null,"microsoft\u002Fai-agents-for-beginners","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M6998ZK2275KMJE6Y5SEA2X2",79423,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fde\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# Testen der Kursbeispiele\n\nÜberprüfen Sie, ob die Lektion-Notebooks und Codebeispiele mit einer aktiven\nMicrosoft Foundry \u002F Azure OpenAI-Installation ausgeführt werden können. Das Repository\nenthält einen Runner unter [`scripts\u002Fvalidate-notebooks.ps1`](..\u002F..\u002F..\u002F..\u002F..\u002Fscripts\u002Fvalidate-notebooks.ps1), der\njedes Python-Notebook kopflos ausführt und eine PASS\u002FFAIL-Matrix ausgibt.\n\n## Wann verwenden\n- \"Alle Notebooks \u002F Beispiele gegen mein Azure-Abonnement validieren.\"\n- \"Smoke-Test des Kurses nach Paket-Upgrades oder Modelländerungen.\"\n- \"Welche Lektionen bestehen \u002F scheitern live noch?\"\n\nVerwenden Sie dies **nicht** für die AI Smoke Test GitHub Action (die *bereitgestellte*\ngehostete Agenten validiert – siehe [`tests\u002FREADME.md`](..\u002F..\u002F..\u002Ftests\u002FREADME.md)). Dieses Tool\nführt die Notebooks lokal aus.\n\n## Voraussetzungen (zuerst prüfen)\n1. **Python 3.12+** mit Kursabhängigkeiten: `python -m pip install -r requirements.txt`\n   plus den Executor: `python -m pip install nbconvert ipykernel`.\n2. **`.env` im Repo-Stammverzeichnis** (kopieren von [`.env.example`](..\u002F..\u002F..\u002F..\u002F..\u002F.env.example)) mit mindestens:\n   - `AZURE_AI_PROJECT_ENDPOINT` — Foundry-Projekt-Endpunkt\n     (`https:\u002F\u002F\u003Caccount>.services.ai.azure.com\u002Fapi\u002Fprojects\u002F\u003Cproject>`)\n   - `AZURE_AI_MODEL_DEPLOYMENT_NAME` — eine nicht veraltete Bereitstellung (z.B. `gpt-5-mini`)\n   - `AZURE_OPENAI_ENDPOINT` (`https:\u002F\u002F\u003Caccount>.openai.azure.com`) und `AZURE_OPENAI_DEPLOYMENT`\n     für Lektionen, die Azure OpenAI direkt verwenden (Lektion 06, 02-azure-openai, 14 handoff\u002Fhuman-loop).\n3. **`az login`** abgeschlossen — Beispiele authentifizieren sich mit `AzureCliCredential` (Entra ID, schlüssellos).\n4. Verifizieren Sie, dass die Modell-Bereitstellung existiert:\n   `az cognitiveservices account deployment list -g \u003Crg> -n \u003Caccount> -o table`.\n\n## Ausführen der Validierung\n```powershell\n# Alle Python-Notebooks (überspringt .NET, .venv, site-packages, Übersetzungen, Skill-Assets)\npwsh scripts\u002Fvalidate-notebooks.ps1\n\n# Eine einzelne Lektion, mit einer längeren Zeitüberschreitung pro Zelle\npwsh scripts\u002Fvalidate-notebooks.ps1 -Filter '08-*' -Timeout 600\n\n# Nur auflisten, was ausgeführt würde (keine Ausführung)\npwsh scripts\u002Fvalidate-notebooks.ps1 -List\n\n# Expliziter Interpreter (wenn `python` nicht im PATH ist, z.B. Windows Store Alias)\npwsh scripts\u002Fvalidate-notebooks.ps1 -Python \"C:\u002Fpath\u002Fto\u002Fpython.exe\"\n```\nDas Skript schreibt ausgeführte Kopien, Pro-Notebook-Protokolle und `results.json` nach\n`$env:TEMP\\aiab-nbval` und beendet sich mit der Anzahl der Fehler.\n\nVorübergehende Fehler (geteilte Abonnement-HTTP 429 Rate Limits, ein gelegentlicher\n`AzureCliCredential` Token-Fehler oder ein Timeout) werden automatisch erneut versucht\n(`-Retries`, Standard 2, mit `-RetryDelaySeconds` Verzögerung, Standard 20). Wenn eine\nModell-Bereitstellung regelmäßig 429-Fehler verursacht, prüfen Sie die GlobalStandard\nTPM-Quote des Abonnements (`az cognitiveservices usage list -l \u003Cregion>`) — die Erhöhung der Kapazität\neiner einzelnen Bereitstellung hilft nicht, wenn die *Abonnement*-Quote erschöpft ist.\n\n## Ergebnisse interpretieren\n- `PASS` — das Notebook lief durchgängig ohne Zellfehler.\n- `FAIL` — die erste `*Error` \u002F `*Exception` Zeile wird angezeigt; öffnen Sie die zugehörige\n  `log_*.txt` im Ausgabeverzeichnis für den vollständigen Traceback.\n- Ein einzelnes Notebook-Fehlschlagen ist durch `-Timeout` (pro Zelle) begrenzt, sodass eine\n  hängende human-in-the-loop Zelle als `StdinNotImplementedError` statt hängend angezeigt wird.\n\n## Lektionen, die zusätzliche Ressourcen benötigen (erwarten das Scheitern ohne diese)\n| Lektion | Zusätzliche Anforderung |\n|--------|-----------------------|\n| 05 Agentic RAG | Azure AI Search (`AZURE_SEARCH_SERVICE_ENDPOINT`, Schlüssel) — hat einen In-Memory-Fallback |\n| 11 MCP \u002F GitHub | GitHub MCP Server + PAT |\n| 13 memory (cognee) | `cognee` konfiguriert mit einem Modellanbieter |\n| 15 browser-use | Playwright-Browser installiert (`playwright install`) + `AZURE_OPENAI_CHAT_DEPLOYMENT_NAME` |\n| 17 local agent | Foundry Local Runtime + ein heruntergeladenes Qwen-Modell (lokal, kein Cloud) |\n| `*-dotnet-*` Notebooks | .NET Interactive Kernel (standardmäßig ausgeschlossen; verwenden Sie `-IncludeDotnet`) |\n\n## Rückmeldung\nFassen Sie die Ergebnisse als PASS\u002FFAIL-Tabelle nach Lektionen zusammen. Trennen Sie echte Regressionen\n(Code-\u002FKonfigurationsfehler, die zu beheben sind) von Umgebungsproblemen (fehlende Search\u002FFoundry Local\u002FPAT),\nund verweisen Sie bei jedem echten Fehler auf die fehlerhaften `log_*.txt`.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Haftungsausschluss**:\nDieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator) übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache gilt als maßgebliche Quelle. Bei kritischen Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Verwendung dieser Übersetzung entstehen.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->","# Testen der Kursbeispiele\n\nÜberprüfen Sie, ob die Lektion-Notebooks und Codebeispiele mit einer aktiven\nMicrosoft Foundry \u002F Azure OpenAI-Installation ausgeführt werden können. Das Repository\nenthält einen Runner unter [`scripts\u002Fvalidate-notebooks.ps1`](..\u002F..\u002F..\u002F..\u002F..\u002Fscripts\u002Fvalidate-notebooks.ps1), der\njedes Python-Notebook kopflos ausführt und eine PASS\u002FFAIL-Matrix ausgibt.\n\n## Wann verwenden\n- \"Alle Notebooks \u002F Beispiele gegen mein Azure-Abonnement validieren.\"\n- \"Smoke-Test des Kurses nach Paket-Upgrades oder Modelländerungen.\"\n- \"Welche Lektionen bestehen \u002F scheitern live noch?\"\n\nVerwenden Sie dies **nicht** für die AI Smoke Test GitHub Action (die *bereitgestellte*\ngehostete Agenten validiert – siehe [`tests\u002FREADME.md`](..\u002F..\u002F..\u002Ftests\u002FREADME.md)). Dieses Tool\nführt die Notebooks lokal aus.\n\n## Voraussetzungen (zuerst prüfen)\n1. **Python 3.12+** mit Kursabhängigkeiten: `python -m pip install -r requirements.txt`\n   plus den Executor: `python -m pip install nbconvert ipykernel`.\n2. **`.env` im Repo-Stammverzeichnis** (kopieren von [`.env.example`](..\u002F..\u002F..\u002F..\u002F..\u002F.env.example)) mit mindestens:\n   - `AZURE_AI_PROJECT_ENDPOINT` — Foundry-Projekt-Endpunkt\n     (`https:\u002F\u002F\u003Caccount>.services.ai.azure.com\u002Fapi\u002Fprojects\u002F\u003Cproject>`)\n   - `AZURE_AI_MODEL_DEPLOYMENT_NAME` — eine nicht veraltete Bereitstellung (z.B. `gpt-5-mini`)\n   - `AZURE_OPENAI_ENDPOINT` (`https:\u002F\u002F\u003Caccount>.openai.azure.com`) und `AZURE_OPENAI_DEPLOYMENT`\n     für Lektionen, die Azure OpenAI direkt verwenden (Lektion 06, 02-azure-openai, 14 handoff\u002Fhuman-loop).\n3. **`az login`** abgeschlossen — Beispiele authentifizieren sich mit `AzureCliCredential` (Entra ID, schlüssellos).\n4. Verifizieren Sie, dass die Modell-Bereitstellung existiert:\n   `az cognitiveservices account deployment list -g \u003Crg> -n \u003Caccount> -o table`.\n\n## Ausführen der Validierung\n```powershell\n# Alle Python-Notebooks (überspringt .NET, .venv, site-packages, Übersetzungen, Skill-Assets)\npwsh scripts\u002Fvalidate-notebooks.ps1\n\n# Eine einzelne Lektion, mit einer längeren Zeitüberschreitung pro Zelle\npwsh scripts\u002Fvalidate-notebooks.ps1 -Filter '08-*' -Timeout 600\n\n# Nur auflisten, was ausgeführt würde (keine Ausführung)\npwsh scripts\u002Fvalidate-notebooks.ps1 -List\n\n# Expliziter Interpreter (wenn `python` nicht im PATH ist, z.B. Windows Store Alias)\npwsh scripts\u002Fvalidate-notebooks.ps1 -Python \"C:\u002Fpath\u002Fto\u002Fpython.exe\"\n```\nDas Skript schreibt ausgeführte Kopien, Pro-Notebook-Protokolle und `results.json` nach\n`$env:TEMP\\aiab-nbval` und beendet sich mit der Anzahl der Fehler.\n\nVorübergehende Fehler (geteilte Abonnement-HTTP 429 Rate Limits, ein gelegentlicher\n`AzureCliCredential` Token-Fehler oder ein Timeout) werden automatisch erneut versucht\n(`-Retries`, Standard 2, mit `-RetryDelaySeconds` Verzögerung, Standard 20). Wenn eine\nModell-Bereitstellung regelmäßig 429-Fehler verursacht, prüfen Sie die GlobalStandard\nTPM-Quote des Abonnements (`az cognitiveservices usage list -l \u003Cregion>`) — die Erhöhung der Kapazität\neiner einzelnen Bereitstellung hilft nicht, wenn die *Abonnement*-Quote erschöpft ist.\n\n## Ergebnisse interpretieren\n- `PASS` — das Notebook lief durchgängig ohne Zellfehler.\n- `FAIL` — die erste `*Error` \u002F `*Exception` Zeile wird angezeigt; öffnen Sie die zugehörige\n  `log_*.txt` im Ausgabeverzeichnis für den vollständigen Traceback.\n- Ein einzelnes Notebook-Fehlschlagen ist durch `-Timeout` (pro Zelle) begrenzt, sodass eine\n  hängende human-in-the-loop Zelle als `StdinNotImplementedError` statt hängend angezeigt wird.\n\n## Lektionen, die zusätzliche Ressourcen benötigen (erwarten das Scheitern ohne diese)\n| Lektion | Zusätzliche Anforderung |\n|--------|-----------------------|\n| 05 Agentic RAG | Azure AI Search (`AZURE_SEARCH_SERVICE_ENDPOINT`, Schlüssel) — hat einen In-Memory-Fallback |\n| 11 MCP \u002F GitHub | GitHub MCP Server + PAT |\n| 13 memory (cognee) | `cognee` konfiguriert mit einem Modellanbieter |\n| 15 browser-use | Playwright-Browser installiert (`playwright install`) + `AZURE_OPENAI_CHAT_DEPLOYMENT_NAME` |\n| 17 local agent | Foundry Local Runtime + ein heruntergeladenes Qwen-Modell (lokal, kein Cloud) |\n| `*-dotnet-*` Notebooks | .NET Interactive Kernel (standardmäßig ausgeschlossen; verwenden Sie `-IncludeDotnet`) |\n\n## Rückmeldung\nFassen Sie die Ergebnisse als PASS\u002FFAIL-Tabelle nach Lektionen zusammen. Trennen Sie echte Regressionen\n(Code-\u002FKonfigurationsfehler, die zu beheben sind) von Umgebungsproblemen (fehlende Search\u002FFoundry Local\u002FPAT),\nund verweisen Sie bei jedem echten Fehler auf die fehlerhaften `log_*.txt`.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Haftungsausschluss**:\nDieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator) übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache gilt als maßgebliche Quelle. Bei kritischen Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Verwendung dieser Übersetzung entstehen.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->",{"name":5},"main","f09e94ffe170f8af6d3db7c42987bbe4db227723","translations\u002Fde\u002F.agents\u002Fskills\u002Ftesting-course-samples",26019,"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\u002Fde\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",true,[59,65],{"path":60,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":63,"sourceHtmlUrl":64},"checklist.md","REFERENCE","参考文档",963,"https:\u002F\u002Fgithub.com\u002Fsherryswift1019-gif\u002FAI-DZHT\u002Fblob\u002Fmain\u002F_bmad\u002Fbmm\u002F4-implementation\u002Fbmad-qa-acceptance-criteria\u002Fchecklist.md",{"path":66,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":67,"sourceHtmlUrl":68},"workflow.md",4505,"https:\u002F\u002Fgithub.com\u002Fsherryswift1019-gif\u002FAI-DZHT\u002Fblob\u002Fmain\u002F_bmad\u002Fbmm\u002F4-implementation\u002Fbmad-qa-acceptance-criteria\u002Fworkflow.md",[70,77,88,96,104,111],{"skillNo":71,"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":72,"categories":73,"keywords":76,"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",[74,75],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},[28,29],{"skillNo":78,"name":79,"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":80,"categories":81,"keywords":85,"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",[82],{"categoryNo":83,"categoryName":84,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[86,8,87],"docs","microsoft docs",{"skillNo":89,"name":90,"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":91,"categories":92,"keywords":93,"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",[],[94,95],"ai agents","local ai agents",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"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",[],[103],"jupyter notebook",{"skillNo":105,"name":106,"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":107,"categories":108,"keywords":109,"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",[],[110],"deploying scalable agents",{"skillNo":112,"name":113,"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":114,"categories":115,"keywords":116,"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",[],[117],"azure openai to responses"]