[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699Q2PVXJ8HBX8BEAW9Z005":3,"skill-same:01M699Q2PVXJ8HBX8BEAW9Z005":48},{"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":17,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":29,"ownerHtmlUrl":30,"ownerBlogUrl":31,"ownerDescription":32,"updatedAt":33,"install":34,"resources":47},"01M699Q2PVXJ8HBX8BEAW9Z005","deploying-scalable-agents",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\u002Fno\u002F.agents\u002Fskills\u002Fdeploying-scalable-agents\u002FSKILL.md",[],[18],"deploying scalable agents","2026-11-10 10:12:30",false,"---\nname: deploying-scalable-agents\nlicense: MIT\n---\n# Distribuering av skalerbare agenter med Microsoft Foundry\n\n> Kompaniansferdighet for [Leksjon 16 – Distribuering av skalerbare agenter](..\u002F..\u002F..\u002F16-deploying-scalable-agents\u002FREADME.md).\n> Bruk den for å hjelpe en elev med å flytte en agent fra prototype til en skalerbar, observerbar\n> produksjonsdistribuering. Grunnfest alle anbefalinger i leksjonsinnholdet og\n> den kjørbare notatboken; oppfinn ikke Foundry-APIer.\n\n## Utløsere\n\nAktiver denne ferdigheten når en elev ønsker å:\n- Distribuere en agent til Microsoft Foundry som en **hostet agent** og gjøre den versjonert\u002Fobserverbar.\n- Velge mellom **klient-hostet, hostet-agent, og agent-arbeidsflyt** distribusjonsmønstre.\n- Legge til **modellruting**, **respons-caching**, eller **begrenset samtidighet** for å kontrollere ventetid og kostnad.\n- Legge til en **evalueringsport** slik at en dårlig agentversjon ikke kan distribueres.\n- Legge til et **menneske-i-sløyfen godkjenningssteg** for handlinger med høy risiko.\n- Instrumentere en agent med **OpenTelemetry** tracing for produksjonsovervåkbarhet.\n- **Røyktest** en distribuert agent som en rask port etter distribusjon.\n\n## Kjernemodell\n\nEn produksjonsagent er stort sett det operative rammeverket *rundt* modellen (~80%),\nikke modellen selv. Kartlegg hver anbefaling til en av disse bekymringene:\n\n| Bekymring | Prototype → Produksjon |\n|---------|------------------------|\n| Hosting | notatbok → versjonert hostet tjeneste |\n| Identitet | din `az login` → administrert identitet + avgrenset RBAC |\n| Tilstand | i minnet → ekstern tråd\u002Fminnelager |\n| Feil | feilsporing → retry, fallback, varsler |\n| Kostnad | \"noen cent\" → sporet, rutet, cachet, budsjettert |\n| Kvalitet | vurdering med øye → automatisert evalueringsport |\n| Tillit | du godkjenner → policy + menneske-i-sløyfen |\n\n## Distribusjonsmønstre (velg ett, eller kombiner)\n\n1. **Klient-hostet** — resonnementsløkken kjører i din prosess. Maks kontroll; du eier skalering\u002Ftilstand.\n2. **Hostet agent (Foundry Agent Service)** — Foundry hoster løkken, lagrer tråder, håndhever RBAC\u002Finnholdssikkerhet, viser agenten i portalen. Mindre kontroll, betydelig mindre operativ overflate.\n3. **Agent-arbeidsflyt** — flere agenter\u002Fverktøy komponert inn i en graf med forgreninger, godkjenningsnoder og varige sjekkpunkter.\n\n## Livssyklus (løkken som distribuerer en agent)\n\n`create → version → evaluate (gate) → deploy hosted → observe online → collect failures → repeat`.\n**Offline evaluering er en port, ikke en ettertanke** — en versjon distribueres ikke\nmed mindre den passerer terskelen. Online observerbarhet mater virkelige feil\ntilbake inn i offline testsettet.\n\n## Skalerings- og kostnadsutløser (i prioritert rekkefølge)\n\n1. **Riktig dimensjonering av modellen** — bruk den minste modellen som passerer evalueringsporten.\n2. **Ruting etter kompleksitet** — liten\u002Frask modell for enkle forespørsler, stor modell for ekte resonnement (DIY-klassifiserer eller Foundry Model Router).\n3. **Cache** — besvar nesten-dupliserte forespørsler uten modellkall.\n4. **Stateless design + begrenset samtidighet** — eksterngjør tilstand; forsøk på nytt med tilbakefall.\n\n## Viktige mønstre å gjenskape\n\nPek læreren til disse fra notatboken\n[`16-python-agent-framework.ipynb`](..\u002F..\u002F..\u002F16-deploying-scalable-agents\u002Fcode_samples\u002F16-python-agent-framework.ipynb):\n\n- **Forespørselsbehandler**: cache → ruting etter kompleksitet → trace span → kjør → cache.\n- **Evalueringsport**: score et offline testsett; returner `pass_rate >= threshold` og distribuer kun hvis sant.\n- **Menneskelig godkjenning**: `@tool(approval_mode=\"always_require\")` for handlinger som store refusjoner.\n- **Tracing**: pakk hver forespørsel i `tracer.start_as_current_span(...)` og sett attributter som `routed.model`, `customer.id`.\n\n## Røyktesting av en distribuert agent\n\nEtter distribusjon, verifiser at endepunktet faktisk svarer (en grønn distribusjon kan fortsatt være\ntaus). Bruk [AI Smoke Test](https:\u002F\u002Fgithub.com\u002Fmarketplace\u002Factions\u002Fai-smoke-test)\nhandlingen via [`.github\u002Fworkflows\u002Fsmoke-test.yml`](..\u002F..\u002F..\u002F..\u002F..\u002F.github\u002Fworkflows\u002Fsmoke-test.yml)\nmed katalogen i [`tests\u002F`](..\u002F..\u002F..\u002Ftests\u002FREADME.md). Runneren poster hver\nprompt til `POST {project_endpoint}\u002Fagents\u002F{agent_name}\u002Fendpoint\u002Fprotocols\u002Fopenai\u002Fresponses`\nog sjekker svareteksten. Identiteten trenger **Azure AI User**-rollen på\nFoundry prosjektomfang; token-mottaker må være `https:\u002F\u002Fai.azure.com\u002F`.\n\nLegg lag på lag: **røyktest** (tilgjengelig\u002Fsvarer, hver distribusjon) → **offline\nevaluering** (god nok til distribusjon, før promotering) → **online evaluering** (hvordan\ngår det ute i felt, kontinuerlig).\n\n## Enterprise-kontroller\n\n- **RBAC**: gi hver hostede agent en administrert identitet med minst privilegium.\n- **MCP i produksjon**: behandle hver MCP-server som en upålitelig grense — frys versjonen, avgrens identiteten, valider utdata, rate-begrens, aldri eksponer hemmeligheter.\n\n## Sikringsmekanismer for assistenten\n\n- Foretrekk det kanoniske `FoundryChatClient(...)` + `provider.as_agent(...)`-mønsteret brukt i hele kurset.\n- Ikke lov liv-Azure-resultater du ikke har verifisert; anbefal røyktest-prosedyren for å bekrefte en distribusjon.\n- Hold evaluering og kostnadsråd bundet sammen: evalueringen setter kvalitetsgulvet, ruting\u002Fcaching holder kostnaden nær det gulvet.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Ansvarsfraskrivelse**:\nDette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det opprinnelige dokumentet på originalspråket skal betraktes som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->","# Distribuering av skalerbare agenter med Microsoft Foundry\n\n> Kompaniansferdighet for [Leksjon 16 – Distribuering av skalerbare agenter](..\u002F..\u002F..\u002F16-deploying-scalable-agents\u002FREADME.md).\n> Bruk den for å hjelpe en elev med å flytte en agent fra prototype til en skalerbar, observerbar\n> produksjonsdistribuering. Grunnfest alle anbefalinger i leksjonsinnholdet og\n> den kjørbare notatboken; oppfinn ikke Foundry-APIer.\n\n## Utløsere\n\nAktiver denne ferdigheten når en elev ønsker å:\n- Distribuere en agent til Microsoft Foundry som en **hostet agent** og gjøre den versjonert\u002Fobserverbar.\n- Velge mellom **klient-hostet, hostet-agent, og agent-arbeidsflyt** distribusjonsmønstre.\n- Legge til **modellruting**, **respons-caching**, eller **begrenset samtidighet** for å kontrollere ventetid og kostnad.\n- Legge til en **evalueringsport** slik at en dårlig agentversjon ikke kan distribueres.\n- Legge til et **menneske-i-sløyfen godkjenningssteg** for handlinger med høy risiko.\n- Instrumentere en agent med **OpenTelemetry** tracing for produksjonsovervåkbarhet.\n- **Røyktest** en distribuert agent som en rask port etter distribusjon.\n\n## Kjernemodell\n\nEn produksjonsagent er stort sett det operative rammeverket *rundt* modellen (~80%),\nikke modellen selv. Kartlegg hver anbefaling til en av disse bekymringene:\n\n| Bekymring | Prototype → Produksjon |\n|---------|------------------------|\n| Hosting | notatbok → versjonert hostet tjeneste |\n| Identitet | din `az login` → administrert identitet + avgrenset RBAC |\n| Tilstand | i minnet → ekstern tråd\u002Fminnelager |\n| Feil | feilsporing → retry, fallback, varsler |\n| Kostnad | \"noen cent\" → sporet, rutet, cachet, budsjettert |\n| Kvalitet | vurdering med øye → automatisert evalueringsport |\n| Tillit | du godkjenner → policy + menneske-i-sløyfen |\n\n## Distribusjonsmønstre (velg ett, eller kombiner)\n\n1. **Klient-hostet** — resonnementsløkken kjører i din prosess. Maks kontroll; du eier skalering\u002Ftilstand.\n2. **Hostet agent (Foundry Agent Service)** — Foundry hoster løkken, lagrer tråder, håndhever RBAC\u002Finnholdssikkerhet, viser agenten i portalen. Mindre kontroll, betydelig mindre operativ overflate.\n3. **Agent-arbeidsflyt** — flere agenter\u002Fverktøy komponert inn i en graf med forgreninger, godkjenningsnoder og varige sjekkpunkter.\n\n## Livssyklus (løkken som distribuerer en agent)\n\n`create → version → evaluate (gate) → deploy hosted → observe online → collect failures → repeat`.\n**Offline evaluering er en port, ikke en ettertanke** — en versjon distribueres ikke\nmed mindre den passerer terskelen. Online observerbarhet mater virkelige feil\ntilbake inn i offline testsettet.\n\n## Skalerings- og kostnadsutløser (i prioritert rekkefølge)\n\n1. **Riktig dimensjonering av modellen** — bruk den minste modellen som passerer evalueringsporten.\n2. **Ruting etter kompleksitet** — liten\u002Frask modell for enkle forespørsler, stor modell for ekte resonnement (DIY-klassifiserer eller Foundry Model Router).\n3. **Cache** — besvar nesten-dupliserte forespørsler uten modellkall.\n4. **Stateless design + begrenset samtidighet** — eksterngjør tilstand; forsøk på nytt med tilbakefall.\n\n## Viktige mønstre å gjenskape\n\nPek læreren til disse fra notatboken\n[`16-python-agent-framework.ipynb`](..\u002F..\u002F..\u002F16-deploying-scalable-agents\u002Fcode_samples\u002F16-python-agent-framework.ipynb):\n\n- **Forespørselsbehandler**: cache → ruting etter kompleksitet → trace span → kjør → cache.\n- **Evalueringsport**: score et offline testsett; returner `pass_rate >= threshold` og distribuer kun hvis sant.\n- **Menneskelig godkjenning**: `@tool(approval_mode=\"always_require\")` for handlinger som store refusjoner.\n- **Tracing**: pakk hver forespørsel i `tracer.start_as_current_span(...)` og sett attributter som `routed.model`, `customer.id`.\n\n## Røyktesting av en distribuert agent\n\nEtter distribusjon, verifiser at endepunktet faktisk svarer (en grønn distribusjon kan fortsatt være\ntaus). Bruk [AI Smoke Test](https:\u002F\u002Fgithub.com\u002Fmarketplace\u002Factions\u002Fai-smoke-test)\nhandlingen via [`.github\u002Fworkflows\u002Fsmoke-test.yml`](..\u002F..\u002F..\u002F..\u002F..\u002F.github\u002Fworkflows\u002Fsmoke-test.yml)\nmed katalogen i [`tests\u002F`](..\u002F..\u002F..\u002Ftests\u002FREADME.md). Runneren poster hver\nprompt til `POST {project_endpoint}\u002Fagents\u002F{agent_name}\u002Fendpoint\u002Fprotocols\u002Fopenai\u002Fresponses`\nog sjekker svareteksten. Identiteten trenger **Azure AI User**-rollen på\nFoundry prosjektomfang; token-mottaker må være `https:\u002F\u002Fai.azure.com\u002F`.\n\nLegg lag på lag: **røyktest** (tilgjengelig\u002Fsvarer, hver distribusjon) → **offline\nevaluering** (god nok til distribusjon, før promotering) → **online evaluering** (hvordan\ngår det ute i felt, kontinuerlig).\n\n## Enterprise-kontroller\n\n- **RBAC**: gi hver hostede agent en administrert identitet med minst privilegium.\n- **MCP i produksjon**: behandle hver MCP-server som en upålitelig grense — frys versjonen, avgrens identiteten, valider utdata, rate-begrens, aldri eksponer hemmeligheter.\n\n## Sikringsmekanismer for assistenten\n\n- Foretrekk det kanoniske `FoundryChatClient(...)` + `provider.as_agent(...)`-mønsteret brukt i hele kurset.\n- Ikke lov liv-Azure-resultater du ikke har verifisert; anbefal røyktest-prosedyren for å bekrefte en distribusjon.\n- Hold evaluering og kostnadsråd bundet sammen: evalueringen setter kvalitetsgulvet, ruting\u002Fcaching holder kostnaden nær det gulvet.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Ansvarsfraskrivelse**:\nDette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det opprinnelige dokumentet på originalspråket skal betraktes som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->",{"name":5,"license":14},"main","f09e94ffe170f8af6d3db7c42987bbe4db227723","translations\u002Fno\u002F.agents\u002Fskills\u002Fdeploying-scalable-agents",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":35,"prompt":45,"zipAvailable":46},[36,39,42],{"tool":37,"command":38},"npx","npx skills add microsoft\u002Fai-agents-for-beginners --skill deploying-scalable-agents",{"tool":40,"command":41},"bunx","bunx skills add microsoft\u002Fai-agents-for-beginners --skill deploying-scalable-agents",{"tool":43,"command":44},"pnpm","pnpm dlx skills add microsoft\u002Fai-agents-for-beginners --skill deploying-scalable-agents","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fno\u002F.agents\u002Fskills\u002Fdeploying-scalable-agents\u002FSKILL.md",true,[],[49,67,78,86,94,99],{"skillNo":50,"name":51,"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":52,"categories":53,"keywords":64,"publishedAt":19},"01M69A206TRZ8KK0CW0HYJF5V5","testing-course-samples","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Ftesting-course-samples\u002FSKILL.md",[54,59],{"categoryNo":55,"categoryName":56,"taxonomyType":57,"taxonomyTypeDesc":58},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":60,"categoryName":61,"taxonomyType":62,"taxonomyTypeDesc":63},"01JBSEEDCAT000000000000039","教师与教育","PROFESSION","适用职业",[65,66],"testing","testing course samples",{"skillNo":68,"name":69,"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":70,"categories":71,"keywords":75,"publishedAt":19},"01M69A1XRB2SFHYRMEH0K08EKZ","microsoft-docs","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fmicrosoft-docs\u002FSKILL.md",[72],{"categoryNo":73,"categoryName":74,"taxonomyType":57,"taxonomyTypeDesc":58},"01JBSEEDCAT000000000000023","Skill与智能体开发",[76,8,77],"docs","microsoft docs",{"skillNo":79,"name":80,"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":81,"categories":82,"keywords":83,"publishedAt":19},"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",[],[84,85],"ai agents","local ai agents",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":19},"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",[],[93],"jupyter notebook",{"skillNo":95,"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":96,"categories":97,"keywords":98,"publishedAt":19},"01M69A1Q8EXPWKZSQK69V6WF22","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fai-agents-for-beginners\u002Fblob\u002Fmain\u002Ftranslations\u002Fzh-TW\u002F.agents\u002Fskills\u002Fdeploying-scalable-agents\u002FSKILL.md",[],[18],{"skillNo":100,"name":101,"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":102,"categories":103,"keywords":104,"publishedAt":19},"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",[],[105],"azure openai to responses"]