[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699VVED23EMAJ83WVE55DVC":3,"skill-same:01M699VVED23EMAJ83WVE55DVC":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},"01M699VVED23EMAJ83WVE55DVC","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\u002Fsv\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# Distribuera Skalbara Agenter med Microsoft Foundry\n\n> Följeslagarfärdighet för [Lektion 16 – Distribuera Skalbara Agenter](..\u002F..\u002F..\u002F16-deploying-scalable-agents\u002FREADME.md).\n> Använd den för att hjälpa en lärande att flytta en agent från prototyp till en skalbar, observerbar\n> produktionsdistribution. Grundlägg varje rekommendation i lektionsinnehållet och\n> den körbara notebooken; uppfinna inte Foundry-API:er.\n\n## Triggers\n\nAktivera denna färdighet när en lärande vill:\n- Distribuera en agent till Microsoft Foundry som en **hostad agent** och göra den versionshanterad\u002Fobserverbar.\n- Välja mellan **klienthostad, hostad agent och agentarbetsflöde** distributionsmönster.\n- Lägg till **modellroutning**, **svarscachning** eller **begränsad samtidighet** för att kontrollera latens och kostnad.\n- Lägg till en **utvärderingsgrind** så att en dålig agentversion inte kan levereras.\n- Lägg till ett **människa-i-loopen-godkännande** steg för riskfyllda åtgärder.\n- Instrumentera en agent med **OpenTelemetry** spårning för produktionsobserverbarhet.\n- **Rök-test** en distribuerad agent som en snabb post-distributionsgrind.\n\n## Kärnmental modell\n\nEn produktionsagent är mestadels den operativa skelettet *runt* modellen (~80%),\ninte modellen själv. Karta varje rekommendation till en av dessa aspekter:\n\n| Aspekt | Prototyp → Produktion |\n|---------|------------------------|\n| Hostning | notebook → versionshanterad hostad tjänst |\n| Identitet | din `az login` → hanterad identitet + scopes RBAC |\n| Tillstånd | i minne → extern tråd\u002Fminneslagring |\n| Fel | traceback → omförsök, fallback, varningar |\n| Kostnad | \"några cent\" → spårad, routad, cachad, budgeterad |\n| Kvalitet | ögonbedömning → automatiserad utvärderingsgrind |\n| Tillit | du godkänner → policy + människa-i-loopen |\n\n## Distributionsmönster (välj ett, eller kombinera)\n\n1. **Klienthostad** — resonemangsloopen körs i din process. Max kontroll; du äger skalning\u002Ftillstånd.\n2. **Hostad agent (Foundry Agent Service)** — Foundry hostar loopen, lagrar trådar, genomdriver RBAC\u002Finnehållssäkerhet, visar agenten i portalen. Mindre kontroll, mycket mindre operativ yta.\n3. **Agentarbetsflöde** — flera agenter\u002Fverktyg sammansatta i en graf med förgreningar, godkännandenoder och hållbara checkpoints.\n\n## Livscykel (loopen som levererar en agent)\n\n`skapa → versionera → utvärdera (grind) → distribuera hostad → observera online → samla fel → upprepa`.\n**Offlineutvärdering är en grind, inte en eftertanke** — en version levereras inte\nom den inte klarar tröskeln. Onlineobserverbarhet matar verkliga fel tillbaka\nin i offline testuppsättningen.\n\n## Skalnings- och kostnadsreglage (i prioriteringsordning)\n\n1. **Rättstorlek modellen** — använd den minsta modellen som klarar utvärderingsgrinden.\n2. **Routa efter komplexitet** — liten\u002Fsnabb modell för enkla förfrågningar, stor modell för verklig resonemang (Gör själv-klassificerare eller Foundry Model Router).\n3. **Cache** — servera nästan dubblettförfrågningar utan ett modellanrop.\n4. **Stateless design + begränsad samtidighet** — externalisera tillstånd; försök igen med backoff.\n\n## Nyckelmönster att reproducera\n\nPeka den lärande på dessa från notebooken\n[`16-python-agent-framework.ipynb`](..\u002F..\u002F..\u002F16-deploying-scalable-agents\u002Fcode_samples\u002F16-python-agent-framework.ipynb):\n\n- **Förfrågningshanterare**: cache → routa efter komplexitet → spårningsspan → kör → cache.\n- **Utvärderingsgrind**: poängsätt en offline testuppsättning; returnera `pass_rate >= threshold` och distribuera endast om sant.\n- **Mänskligt godkännande**: `@tool(approval_mode=\"always_require\")` för åtgärder som stora återbetalningar.\n- **Spårning**: wrappa varje förfrågan i `tracer.start_as_current_span(...)` och sätt attribut som `routed.model`, `customer.id`.\n\n## Rök-test av en distribuerad agent\n\nEfter distribution, verifiera att slutpunkten faktiskt svarar (en grön distribution kan fortfarande vara\ntyst). Använd [AI Smoke Test](https:\u002F\u002Fgithub.com\u002Fmarketplace\u002Factions\u002Fai-smoke-test)\nåtgärden 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). Köraren gör POST på varje\nprompt till `POST {project_endpoint}\u002Fagents\u002F{agent_name}\u002Fendpoint\u002Fprotocols\u002Fopenai\u002Fresponses`\noch kontrollerar svarstexten. Identiteten behöver rollen **Azure AI User** på\nFoundry-projektomfånget; tokenpubliken måste vara `https:\u002F\u002Fai.azure.com\u002F`.\n\nStapla grindarna: **rök-test** (nåbar\u002Fsvarande, varje distribution) → **offline\nutvärdering** (tillräckligt bra för att levereras, före promotion) → **online utvärdering** (hur\ngår det i det vilda, kontinuerligt).\n\n## Företagskontroller\n\n- **RBAC**: ge varje hostad agent en hanterad identitet med minsta privilegium.\n- **MCP i produktion**: behandla varje MCP-server som en otrorisk gräns — fäst versionen, scopa dess identitet, validera utdata, hastighetsbegränsa, exponera aldrig hemligheter.\n\n## Skydd för assistenten\n\n- Föredra det kanoniska `FoundryChatClient(...)` + `provider.as_agent(...)` mönstret som används genom kursen.\n- Lovar inte live-Azure-resultat du inte verifierat; rekommendera rök-testarbetsflödet för att bekräfta en distribution.\n- Håll utvärdering och kostnadsråd kopplade: utvärdering sätter kvalitetsgolvet, routing\u002Fcachning håller kostnader nära det golvet.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Ansvarsfriskrivning**:\nDetta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Även om vi strävar efter noggrannhet, var vänlig notera att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess modersmål bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår till följd av användningen av denna översättning.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->","# Distribuera Skalbara Agenter med Microsoft Foundry\n\n> Följeslagarfärdighet för [Lektion 16 – Distribuera Skalbara Agenter](..\u002F..\u002F..\u002F16-deploying-scalable-agents\u002FREADME.md).\n> Använd den för att hjälpa en lärande att flytta en agent från prototyp till en skalbar, observerbar\n> produktionsdistribution. Grundlägg varje rekommendation i lektionsinnehållet och\n> den körbara notebooken; uppfinna inte Foundry-API:er.\n\n## Triggers\n\nAktivera denna färdighet när en lärande vill:\n- Distribuera en agent till Microsoft Foundry som en **hostad agent** och göra den versionshanterad\u002Fobserverbar.\n- Välja mellan **klienthostad, hostad agent och agentarbetsflöde** distributionsmönster.\n- Lägg till **modellroutning**, **svarscachning** eller **begränsad samtidighet** för att kontrollera latens och kostnad.\n- Lägg till en **utvärderingsgrind** så att en dålig agentversion inte kan levereras.\n- Lägg till ett **människa-i-loopen-godkännande** steg för riskfyllda åtgärder.\n- Instrumentera en agent med **OpenTelemetry** spårning för produktionsobserverbarhet.\n- **Rök-test** en distribuerad agent som en snabb post-distributionsgrind.\n\n## Kärnmental modell\n\nEn produktionsagent är mestadels den operativa skelettet *runt* modellen (~80%),\ninte modellen själv. Karta varje rekommendation till en av dessa aspekter:\n\n| Aspekt | Prototyp → Produktion |\n|---------|------------------------|\n| Hostning | notebook → versionshanterad hostad tjänst |\n| Identitet | din `az login` → hanterad identitet + scopes RBAC |\n| Tillstånd | i minne → extern tråd\u002Fminneslagring |\n| Fel | traceback → omförsök, fallback, varningar |\n| Kostnad | \"några cent\" → spårad, routad, cachad, budgeterad |\n| Kvalitet | ögonbedömning → automatiserad utvärderingsgrind |\n| Tillit | du godkänner → policy + människa-i-loopen |\n\n## Distributionsmönster (välj ett, eller kombinera)\n\n1. **Klienthostad** — resonemangsloopen körs i din process. Max kontroll; du äger skalning\u002Ftillstånd.\n2. **Hostad agent (Foundry Agent Service)** — Foundry hostar loopen, lagrar trådar, genomdriver RBAC\u002Finnehållssäkerhet, visar agenten i portalen. Mindre kontroll, mycket mindre operativ yta.\n3. **Agentarbetsflöde** — flera agenter\u002Fverktyg sammansatta i en graf med förgreningar, godkännandenoder och hållbara checkpoints.\n\n## Livscykel (loopen som levererar en agent)\n\n`skapa → versionera → utvärdera (grind) → distribuera hostad → observera online → samla fel → upprepa`.\n**Offlineutvärdering är en grind, inte en eftertanke** — en version levereras inte\nom den inte klarar tröskeln. Onlineobserverbarhet matar verkliga fel tillbaka\nin i offline testuppsättningen.\n\n## Skalnings- och kostnadsreglage (i prioriteringsordning)\n\n1. **Rättstorlek modellen** — använd den minsta modellen som klarar utvärderingsgrinden.\n2. **Routa efter komplexitet** — liten\u002Fsnabb modell för enkla förfrågningar, stor modell för verklig resonemang (Gör själv-klassificerare eller Foundry Model Router).\n3. **Cache** — servera nästan dubblettförfrågningar utan ett modellanrop.\n4. **Stateless design + begränsad samtidighet** — externalisera tillstånd; försök igen med backoff.\n\n## Nyckelmönster att reproducera\n\nPeka den lärande på dessa från notebooken\n[`16-python-agent-framework.ipynb`](..\u002F..\u002F..\u002F16-deploying-scalable-agents\u002Fcode_samples\u002F16-python-agent-framework.ipynb):\n\n- **Förfrågningshanterare**: cache → routa efter komplexitet → spårningsspan → kör → cache.\n- **Utvärderingsgrind**: poängsätt en offline testuppsättning; returnera `pass_rate >= threshold` och distribuera endast om sant.\n- **Mänskligt godkännande**: `@tool(approval_mode=\"always_require\")` för åtgärder som stora återbetalningar.\n- **Spårning**: wrappa varje förfrågan i `tracer.start_as_current_span(...)` och sätt attribut som `routed.model`, `customer.id`.\n\n## Rök-test av en distribuerad agent\n\nEfter distribution, verifiera att slutpunkten faktiskt svarar (en grön distribution kan fortfarande vara\ntyst). Använd [AI Smoke Test](https:\u002F\u002Fgithub.com\u002Fmarketplace\u002Factions\u002Fai-smoke-test)\nåtgärden 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). Köraren gör POST på varje\nprompt till `POST {project_endpoint}\u002Fagents\u002F{agent_name}\u002Fendpoint\u002Fprotocols\u002Fopenai\u002Fresponses`\noch kontrollerar svarstexten. Identiteten behöver rollen **Azure AI User** på\nFoundry-projektomfånget; tokenpubliken måste vara `https:\u002F\u002Fai.azure.com\u002F`.\n\nStapla grindarna: **rök-test** (nåbar\u002Fsvarande, varje distribution) → **offline\nutvärdering** (tillräckligt bra för att levereras, före promotion) → **online utvärdering** (hur\ngår det i det vilda, kontinuerligt).\n\n## Företagskontroller\n\n- **RBAC**: ge varje hostad agent en hanterad identitet med minsta privilegium.\n- **MCP i produktion**: behandla varje MCP-server som en otrorisk gräns — fäst versionen, scopa dess identitet, validera utdata, hastighetsbegränsa, exponera aldrig hemligheter.\n\n## Skydd för assistenten\n\n- Föredra det kanoniska `FoundryChatClient(...)` + `provider.as_agent(...)` mönstret som används genom kursen.\n- Lovar inte live-Azure-resultat du inte verifierat; rekommendera rök-testarbetsflödet för att bekräfta en distribution.\n- Håll utvärdering och kostnadsråd kopplade: utvärdering sätter kvalitetsgolvet, routing\u002Fcachning håller kostnader nära det golvet.\n\n---\n\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Ansvarsfriskrivning**:\nDetta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https:\u002F\u002Fgithub.com\u002FAzure\u002Fco-op-translator). Även om vi strävar efter noggrannhet, var vänlig notera att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess modersmål bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår till följd av användningen av denna översättning.\n\u003C!-- CO-OP TRANSLATOR DISCLAIMER END -->",{"name":5,"license":14},"main","f09e94ffe170f8af6d3db7c42987bbe4db227723","translations\u002Fsv\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\u002Fsv\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"]