[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699NHVXTNF5BBCJQXX0JTQV":3,"skill-same:01M699NHVXTNF5BBCJQXX0JTQV":71},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":31,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":51,"repositoryHomepageUrl":52,"ownerHtmlUrl":53,"ownerBlogUrl":54,"ownerDescription":55,"updatedAt":56,"install":57,"resources":70},"01M699NHVXTNF5BBCJQXX0JTQV","testing-course-samples",null,"Gunakan apabila diminta untuk mengesahkan, menguji, ujian asap, atau menjalankan notebook kursus dan contoh kod terhadap konfigurasi Microsoft Foundry \u002F Azure OpenAI yang langsung. Meliputi penyediaan persekitaran (.env, az login, pakej), pelari skrip\u002Fvalidate-notebooks.ps1, mentafsir keputusan LULUS\u002FGAGAL, dan pelajaran mana yang memerlukan sumber tambahan (Azure AI Search, GitHub MCP, Foundry Local, Playwright).","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\u002Fms\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000039","教师与教育","PROFESSION","适用职业",[32,33,34,35,36,9,37,38,39,40,41],"testing","testing course samples","MCP","github","playwright","foundry","foundry local","microsoft foundry","validate","azure ai","2026-11-10 10:12:30",false,"---\nname: testing-course-samples\ndescription: Gunakan apabila diminta untuk mengesahkan, menguji, ujian asap, atau\n  menjalankan notebook kursus dan contoh kod terhadap konfigurasi Microsoft Foundry\n  \u002F Azure OpenAI yang langsung. Meliputi penyediaan persekitaran (.env, az login,\n  pakej), pelari skrip\u002Fvalidate-notebooks.ps1, mentafsir keputusan LULUS\u002FGAGAL, dan\n  pelajaran mana yang memerlukan sumber tambahan (Azure AI Search, GitHub MCP, Foundry\n  Local, Playwright).\n---\n# Menguji Contoh Kursus\n\nSahkan bahawa buku nota pelajaran dan contoh kod dijalankan terhadap konfigurasi\nMicrosoft Foundry \u002F Azure OpenAI yang hidup. Repositori ini menyediakan pelari di\n[`scripts\u002Fvalidate-notebooks.ps1`](..\u002F..\u002F..\u002F..\u002F..\u002Fscripts\u002Fvalidate-notebooks.ps1) yang\nmelaksanakan setiap buku nota Python tanpa kepala dan mencetak matriks LULUS\u002FGAGAL.\n\n## Bila untuk digunakan\n- \"Sahkan semua buku nota \u002F contoh terhadap langganan Azure saya.\"\n- \"Uji asap kursus selepas menaik taraf pakej atau menukar model.\"\n- \"Pelajaran mana yang masih lulus \u002F gagal secara langsung?\"\n\nJangan gunakan ini untuk Tindakan GitHub Ujian Asap AI (yang mengesahkan ejen\nyang dihoskan *diterapkan* — lihat [`tests\u002FREADME.md`](..\u002F..\u002F..\u002Ftests\u002FREADME.md)). Kemahiran ini\nmenjalankan buku nota secara tempatan.\n\n## Prasyarat (semak dahulu)\n1. **Python 3.12+** dengan kebergantungan kursus: `python -m pip install -r requirements.txt`\n   serta pelaksana: `python -m pip install nbconvert ipykernel`.\n2. **`.env` di akar repositori** (salin dari [`.env.example`](..\u002F..\u002F..\u002F..\u002F..\u002F.env.example)) dengan sekurang-kurangnya:\n   - `AZURE_AI_PROJECT_ENDPOINT` — titik akhir projek Foundry\n     (`https:\u002F\u002F\u003Caccount>.services.ai.azure.com\u002Fapi\u002Fprojects\u002F\u003Cproject>`)\n   - `AZURE_AI_MODEL_DEPLOYMENT_NAME` — penempatan yang tidak usang (contoh `gpt-5-mini`)\n   - `AZURE_OPENAI_ENDPOINT` (`https:\u002F\u002F\u003Caccount>.openai.azure.com`) dan `AZURE_OPENAI_DEPLOYMENT`\n     untuk pelajaran yang memanggil Azure OpenAI secara langsung (Pelajaran 06, 02-azure-openai, 14 handoff\u002Fhuman-loop).\n3. **`az login`** selesai — contoh disahkan dengan `AzureCliCredential` (Entra ID, tanpa kekunci).\n4. Sahkan penempatan model wujud:\n   `az cognitiveservices account deployment list -g \u003Crg> -n \u003Caccount> -o table`.\n\n## Menjalankan pengesahan\n```powershell\n# Semua buku nota Python (mengabaikan .NET, .venv, site-packages, terjemahan, aset kemahiran)\npwsh scripts\u002Fvalidate-notebooks.ps1\n\n# Satu pelajaran sahaja, dengan masa tamat per-sel yang lebih lama\npwsh scripts\u002Fvalidate-notebooks.ps1 -Filter '08-*' -Timeout 600\n\n# Senaraikan sahaja apa yang akan dijalankan (tanpa pelaksanaan)\npwsh scripts\u002Fvalidate-notebooks.ps1 -List\n\n# Penafsir secara jelas (jika `python` tidak ada dalam PATH, contohnya alias Windows Store)\npwsh scripts\u002Fvalidate-notebooks.ps1 -Python \"C:\u002Fpath\u002Fto\u002Fpython.exe\"\n```\nSkrip menulis salinan yang dilaksanakan, log per-buku nota, dan `results.json` ke\n`$env:TEMP\\aiab-nbval` dan keluar dengan bilangan kegagalan.\n\nKegagalan sementara (had kadar HTTP 429 langganan dikongsi, sedikit masalah token\n`AzureCliCredential`, atau masa tamat) dicuba semula secara automatik\n(`-Retries`, lalai 2, dengan `-RetryDelaySeconds` penangguhan, lalai 20). Jika\npenempatan model sentiasa 429, periksa kuota TPM GlobalStandard langganan\n(`az cognitiveservices usage list -l \u003Cregion>`) — menaikkan kapasiti penempatan tunggal tidak membantu apabila kuota *langganan* habis.\n\n\n## Menafsirkan keputusan\n- `PASS` — buku nota dijalankan sepenuhnya tanpa ralat sel.\n- `FAIL` — baris pertama `*Error` \u002F `*Exception` dipaparkan; buka\n  `log_*.txt` yang sepadan dalam direktori output untuk jejak balik penuh.\n- Kegagalan satu buku nota terhad oleh `-Timeout` (setiap sel), jadi sel yang tergantung\n  manusia-dalam-gelung ditunjukkan sebagai `StdinNotImplementedError` dan bukannya tergantung.\n\n## Pelajaran yang memerlukan sumber tambahan (dijangka gagal tanpa mereka)\n| Pelajaran | Keperluan tambahan |\n|--------|-------------------|\n| 05 Agentic RAG | Azure AI Search (`AZURE_SEARCH_SERVICE_ENDPOINT`, kekunci) — ada laluan sandaran dalam ingatan |\n| 11 MCP \u002F GitHub | Pelayan GitHub MCP + PAT |\n| 13 memory (cognee) | `cognee` dikonfigurasi dengan penyedia model |\n| 15 penggunaan penyemak imbas | Penyemak imbas Playwright dipasang (`playwright install`) + `AZURE_OPENAI_CHAT_DEPLOYMENT_NAME` |\n| 17 agen tempatan | Persekitaran tempatan Foundry + model Qwen dimuat turun (pada peranti, tanpa awan) |\n| buku nota `*-dotnet-*` | Kernel .NET Interactive (dikecualikan secara lalai; gunakan `-IncludeDotnet`) |\n\n## Melaporkan kembali\nRumuskan sebagai jadual LULUS\u002FGAGAL berkelompok mengikut pelajaran. Pisahkan regresi sebenar\n(pepijat kod\u002Fkonfigurasi untuk dibaiki) dari kekurangan persekitaran (Cari\u002FFoundry Tempatan\u002FPAT hilang),\ndan rujuk `log_*.txt` yang gagal bagi setiap kegagalan sebenar.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Penafian**:\nDokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Walaupun kami berusaha untuk ketepatan, sila ambil maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang sahih. Untuk maklumat penting, terjemahan oleh manusia profesional adalah disyorkan. Kami tidak bertanggungjawab terhadap sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->","# Menguji Contoh Kursus\n\nSahkan bahawa buku nota pelajaran dan contoh kod dijalankan terhadap konfigurasi\nMicrosoft Foundry \u002F Azure OpenAI yang hidup. Repositori ini menyediakan pelari di\n[`scripts\u002Fvalidate-notebooks.ps1`](..\u002F..\u002F..\u002F..\u002F..\u002Fscripts\u002Fvalidate-notebooks.ps1) yang\nmelaksanakan setiap buku nota Python tanpa kepala dan mencetak matriks LULUS\u002FGAGAL.\n\n## Bila untuk digunakan\n- \"Sahkan semua buku nota \u002F contoh terhadap langganan Azure saya.\"\n- \"Uji asap kursus selepas menaik taraf pakej atau menukar model.\"\n- \"Pelajaran mana yang masih lulus \u002F gagal secara langsung?\"\n\nJangan gunakan ini untuk Tindakan GitHub Ujian Asap AI (yang mengesahkan ejen\nyang dihoskan *diterapkan* — lihat [`tests\u002FREADME.md`](..\u002F..\u002F..\u002Ftests\u002FREADME.md)). Kemahiran ini\nmenjalankan buku nota secara tempatan.\n\n## Prasyarat (semak dahulu)\n1. **Python 3.12+** dengan kebergantungan kursus: `python -m pip install -r requirements.txt`\n   serta pelaksana: `python -m pip install nbconvert ipykernel`.\n2. **`.env` di akar repositori** (salin dari [`.env.example`](..\u002F..\u002F..\u002F..\u002F..\u002F.env.example)) dengan sekurang-kurangnya:\n   - `AZURE_AI_PROJECT_ENDPOINT` — titik akhir projek Foundry\n     (`https:\u002F\u002F\u003Caccount>.services.ai.azure.com\u002Fapi\u002Fprojects\u002F\u003Cproject>`)\n   - `AZURE_AI_MODEL_DEPLOYMENT_NAME` — penempatan yang tidak usang (contoh `gpt-5-mini`)\n   - `AZURE_OPENAI_ENDPOINT` (`https:\u002F\u002F\u003Caccount>.openai.azure.com`) dan `AZURE_OPENAI_DEPLOYMENT`\n     untuk pelajaran yang memanggil Azure OpenAI secara langsung (Pelajaran 06, 02-azure-openai, 14 handoff\u002Fhuman-loop).\n3. **`az login`** selesai — contoh disahkan dengan `AzureCliCredential` (Entra ID, tanpa kekunci).\n4. Sahkan penempatan model wujud:\n   `az cognitiveservices account deployment list -g \u003Crg> -n \u003Caccount> -o table`.\n\n## Menjalankan pengesahan\n```powershell\n# Semua buku nota Python (mengabaikan .NET, .venv, site-packages, terjemahan, aset kemahiran)\npwsh scripts\u002Fvalidate-notebooks.ps1\n\n# Satu pelajaran sahaja, dengan masa tamat per-sel yang lebih lama\npwsh scripts\u002Fvalidate-notebooks.ps1 -Filter '08-*' -Timeout 600\n\n# Senaraikan sahaja apa yang akan dijalankan (tanpa pelaksanaan)\npwsh scripts\u002Fvalidate-notebooks.ps1 -List\n\n# Penafsir secara jelas (jika `python` tidak ada dalam PATH, contohnya alias Windows Store)\npwsh scripts\u002Fvalidate-notebooks.ps1 -Python \"C:\u002Fpath\u002Fto\u002Fpython.exe\"\n```\nSkrip menulis salinan yang dilaksanakan, log per-buku nota, dan `results.json` ke\n`$env:TEMP\\aiab-nbval` dan keluar dengan bilangan kegagalan.\n\nKegagalan sementara (had kadar HTTP 429 langganan dikongsi, sedikit masalah token\n`AzureCliCredential`, atau masa tamat) dicuba semula secara automatik\n(`-Retries`, lalai 2, dengan `-RetryDelaySeconds` penangguhan, lalai 20). Jika\npenempatan model sentiasa 429, periksa kuota TPM GlobalStandard langganan\n(`az cognitiveservices usage list -l \u003Cregion>`) — menaikkan kapasiti penempatan tunggal tidak membantu apabila kuota *langganan* habis.\n\n\n## Menafsirkan keputusan\n- `PASS` — buku nota dijalankan sepenuhnya tanpa ralat sel.\n- `FAIL` — baris pertama `*Error` \u002F `*Exception` dipaparkan; buka\n  `log_*.txt` yang sepadan dalam direktori output untuk jejak balik penuh.\n- Kegagalan satu buku nota terhad oleh `-Timeout` (setiap sel), jadi sel yang tergantung\n  manusia-dalam-gelung ditunjukkan sebagai `StdinNotImplementedError` dan bukannya tergantung.\n\n## Pelajaran yang memerlukan sumber tambahan (dijangka gagal tanpa mereka)\n| Pelajaran | Keperluan tambahan |\n|--------|-------------------|\n| 05 Agentic RAG | Azure AI Search (`AZURE_SEARCH_SERVICE_ENDPOINT`, kekunci) — ada laluan sandaran dalam ingatan |\n| 11 MCP \u002F GitHub | Pelayan GitHub MCP + PAT |\n| 13 memory (cognee) | `cognee` dikonfigurasi dengan penyedia model |\n| 15 penggunaan penyemak imbas | Penyemak imbas Playwright dipasang (`playwright install`) + `AZURE_OPENAI_CHAT_DEPLOYMENT_NAME` |\n| 17 agen tempatan | Persekitaran tempatan Foundry + model Qwen dimuat turun (pada peranti, tanpa awan) |\n| buku nota `*-dotnet-*` | Kernel .NET Interactive (dikecualikan secara lalai; gunakan `-IncludeDotnet`) |\n\n## Melaporkan kembali\nRumuskan sebagai jadual LULUS\u002FGAGAL berkelompok mengikut pelajaran. Pisahkan regresi sebenar\n(pepijat kod\u002Fkonfigurasi untuk dibaiki) dari kekurangan persekitaran (Cari\u002FFoundry Tempatan\u002FPAT hilang),\ndan rujuk `log_*.txt` yang gagal bagi setiap kegagalan sebenar.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Penafian**:\nDokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Walaupun kami berusaha untuk ketepatan, sila ambil maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang sahih. Untuk maklumat penting, terjemahan oleh manusia profesional adalah disyorkan. Kami tidak bertanggungjawab terhadap sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->",{"name":5,"description":7},"main","f09e94ffe170f8af6d3db7c42987bbe4db227723","translations\u002Fms\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":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add microsoft\u002Fai-agents-for-beginners --skill testing-course-samples",{"tool":63,"command":64},"bunx","bunx skills add microsoft\u002Fai-agents-for-beginners --skill testing-course-samples",{"tool":66,"command":67},"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\u002Fms\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",true,[],[72,79,88,96,104,111],{"skillNo":73,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":78,"publishedAt":42},"01M69A206TRZ8KK0CW0HYJF5V5","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",[76,77],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[32,33],{"skillNo":80,"name":81,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":85,"publishedAt":42},"01M69A1XRB2SFHYRMEH0K08EKZ","microsoft-docs","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fmicrosoft-docs\u002FSKILL.md",[84],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[86,9,87],"docs","microsoft docs",{"skillNo":89,"name":90,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":42},"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":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":42},"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":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":42},"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":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":42},"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"]