Nasazení škálovatelných agentů s Microsoft Foundry
Doplňková dovednost k Lekci 16 – Nasazení škálovatelných agentů.
Použijte ji k pomoci studentovi přesunout agenta z prototypu do škálovatelného,
pozorovatelného produkčního nasazení. Každé doporučení zakládejte na obsahu lekce a
spustitelném notebooku; nevymýšlejte API Foundry.
Spouštěče
Aktivujte tuto dovednost, když chce student:
- Nasadit agenta do Microsoft Foundry jako hostovaného agenta a zajistit jeho verzování/pozorovatelnost.
- Vybrat mezi nasazovacími vzory client-hosted, hosted-agent a agent-workflow.
- Přidat směrování modelů, cache odpovědí nebo omezenou paralelnost pro kontrolu latence a nákladů.
- Přidat evaluační bránu, aby se špatná verze agenta nemohla nasadit.
- Přidat krok schválení člověkem v procesu pro akce s vysokým rizikem.
- Instrumentovat agenta OpenTelemetry trasováním pro produkční pozorovatelnost.
- Provést smoke test nasazeného agenta jako rychlou kontrolu po nasazení.
Základní mentální model
Produkční agent je z velké části provozní kostra kolem modelu (~80%),
nikoli samotný model. Každé doporučení namapujte na jeden z těchto aspektů:
| Aspekt |
Prototyp → Produkce |
| Hosting |
notebook → verzovaná hostovaná služba |
| Identita |
váš az login → spravovaná identita + omezena RBAC |
| Stav |
v paměti → externí úložiště vláken/paměti |
| Selhání |
traceback → opakování, záložní mechanismy, upozornění |
| Náklady |
"několik centů" → sledované, směrované, cachované, rozpočtované |
| Kvalita |
odhadování okem → automatizovaná evaluační brána |
| Důvěra |
vy schvalujete → politika + člověk v procesu |
Nasazovací vzory (vyberte jeden, nebo kombinujte)
- Client-hosted — smyčka rozumování běží ve vašem procesu. Maximální kontrola; vlastníte škálování/stav.
- Hosted agent (Foundry Agent Service) — Foundry hostuje smyčku, ukládá vlákna, vynucuje RBAC/bezpečnost obsahu, zobrazuje agenta v portálu. Méně kontroly, mnohem menší provozní povrch.
- Agent workflow — více agentů/nástrojů složených do grafu s větvením, schvalovacími uzly a trvalými kontrolními body.
Životní cyklus (smyčka, která agentovi umožňuje nasazení)
create → version → evaluate (gate) → deploy hosted → observe online → collect failures → repeat.
Offline hodnocení je brána, nikoli dodatečná myšlenka — verze se nenasazuje,
pokud neprojde nastaveným prahem. Online pozorovatelnost vrací skutečná selhání
zpět do offline testovací sady.
Škálování a páky nákladů (v pořadí priority)
- Správná velikost modelu — použijte nejmenší model, který projde evaluační bránou.
- Směrování podle složitosti — malý/rychlý model pro jednoduché požadavky, velký model pro skutečné rozumování (vlastní klasifikátor nebo Foundry Model Router).
- Cache — obsluhujte téměř duplicitní požadavky bez volání modelu.
- Bezustavový design + omezená paralelnost — externě uložte stav; opakujte se zpožděním.
Klíčové vzory k reprodukci
Nasměrujte studenta k těmto z notebooku
16-python-agent-framework.ipynb:
- Obslužná funkce požadavků: cache → směrování podle složitosti → trasovací span → spuštění → cache.
- Evaluační brána: vyhodnotit offline testovací sadu; vrátit
pass_rate >= threshold a nasadit pouze, pokud je pravda.
- Lidské schválení:
@tool(approval_mode="always_require") pro akce jako velké refundace.
- Trasování: zabalte každý požadavek do
tracer.start_as_current_span(...) a nastavte atributy jako routed.model, customer.id.
Smoke test nasazeného agenta
Po nasazení ověřte, že endpoint opravdu odpovídá (zelené nasazení může být stále
tiché). Použijte AI Smoke Test
akci přes .github/workflows/smoke-test.yml
s katalogem v tests/. Běhoun odesílá POST každého
promptu na POST {project_endpoint}/agents/{agent_name}/endpoint/protocols/openai/responses
a kontroluje odpověď textu. Identita potřebuje roli Azure AI User v rámci
rozsahu Foundry projektu; token audience musí být https://ai.azure.com/.
Naskládejte brány: smoke test (dosažitelnost/reakce, každý deploy) → offline
hodnocení (dostatečně dobré k nasazení, před propagací) → online hodnocení (jak si vede v provozu, kontinuálně).
Podnikové kontroly
- RBAC: přiřaďte každému hostovanému agentovi spravovanou identitu s nejmenšími právy.
- MCP v produkci: považujte každý MCP server za nedůvěryhodnou hranici — připněte verzi, omezte jeho identitu, ověřujte výstupy, omezujte rychlost, nikdy nezveřejňujte tajné údaje.
Bezpečnostní opatření pro asistenta
- Preferujte kanonický vzor
FoundryChatClient(...) + provider.as_agent(...) používaný napříč kurzem.
- Neslibujte výsledky živého Azure, které jste neověřili; doporučte workflow smoke-testu k potvrzení nasazení.
- Držte hodnocení a rady ohledně nákladů propojené: hodnocení určuje kvalitativní standard, směrování/cachování drží náklady poblíž této úrovně.
Prohlášení o omezení odpovědnosti:
Tento dokument byl přeložen pomocí AI překladatelské služby Co-op Translator. Přestože usilujeme o co největší přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro kritické informace se doporučuje profesionální lidský překlad. Nejsme odpovědní za jakékoli nedorozumění nebo nesprávné interpretace vzniklé použitím tohoto překladu.
1---2name: deploying-scalable-agents-43description: Nasazení škálovatelných agentů s Microsoft Foundry4license: MIT5---6# Nasazení škálovatelných agentů s Microsoft Foundry78> Doplňková dovednost k [Lekci 16 – Nasazení škálovatelných agentů](../../../16-deploying-scalable-agents/README.md).9> Použijte ji k pomoci studentovi přesunout agenta z prototypu do škálovatelného, 10> pozorovatelného produkčního nasazení. Každé doporučení zakládejte na obsahu lekce a11> spustitelném notebooku; nevymýšlejte API Foundry.1213## Spouštěče1415Aktivujte tuto dovednost, když chce student:16- Nasadit agenta do Microsoft Foundry jako **hostovaného agenta** a zajistit jeho verzování/pozorovatelnost.17- Vybrat mezi nasazovacími vzory **client-hosted, hosted-agent a agent-workflow**.18- Přidat **směrování modelů**, **cache odpovědí** nebo **omezenou paralelnost** pro kontrolu latence a nákladů.19- Přidat **evaluační bránu**, aby se špatná verze agenta nemohla nasadit.20- Přidat krok **schválení člověkem v procesu** pro akce s vysokým rizikem.21- Instrumentovat agenta **OpenTelemetry** trasováním pro produkční pozorovatelnost.22- Provést **smoke test** nasazeného agenta jako rychlou kontrolu po nasazení.2324## Základní mentální model2526Produkční agent je z velké části provozní kostra *kolem* modelu (~80%),27nikoli samotný model. Každé doporučení namapujte na jeden z těchto aspektů:2829| Aspekt | Prototyp → Produkce |30|---------|---------------------|31| Hosting | notebook → verzovaná hostovaná služba |32| Identita | váš `az login` → spravovaná identita + omezena RBAC |33| Stav | v paměti → externí úložiště vláken/paměti |34| Selhání | traceback → opakování, záložní mechanismy, upozornění |35| Náklady | "několik centů" → sledované, směrované, cachované, rozpočtované |36| Kvalita | odhadování okem → automatizovaná evaluační brána |37| Důvěra | vy schvalujete → politika + člověk v procesu |3839## Nasazovací vzory (vyberte jeden, nebo kombinujte)40411. **Client-hosted** — smyčka rozumování běží ve vašem procesu. Maximální kontrola; vlastníte škálování/stav.422. **Hosted agent (Foundry Agent Service)** — Foundry hostuje smyčku, ukládá vlákna, vynucuje RBAC/bezpečnost obsahu, zobrazuje agenta v portálu. Méně kontroly, mnohem menší provozní povrch.433. **Agent workflow** — více agentů/nástrojů složených do grafu s větvením, schvalovacími uzly a trvalými kontrolními body.4445## Životní cyklus (smyčka, která agentovi umožňuje nasazení)4647`create → version → evaluate (gate) → deploy hosted → observe online → collect failures → repeat`.48**Offline hodnocení je brána, nikoli dodatečná myšlenka** — verze se nenasazuje,49pokud neprojde nastaveným prahem. Online pozorovatelnost vrací skutečná selhání50zpět do offline testovací sady.5152## Škálování a páky nákladů (v pořadí priority)53541. **Správná velikost modelu** — použijte nejmenší model, který projde evaluační bránou.552. **Směrování podle složitosti** — malý/rychlý model pro jednoduché požadavky, velký model pro skutečné rozumování (vlastní klasifikátor nebo Foundry Model Router).563. **Cache** — obsluhujte téměř duplicitní požadavky bez volání modelu.574. **Bezustavový design + omezená paralelnost** — externě uložte stav; opakujte se zpožděním.5859## Klíčové vzory k reprodukci6061Nasměrujte studenta k těmto z notebooku62[`16-python-agent-framework.ipynb`](../../../16-deploying-scalable-agents/code_samples/16-python-agent-framework.ipynb):6364- **Obslužná funkce požadavků**: cache → směrování podle složitosti → trasovací span → spuštění → cache.65- **Evaluační brána**: vyhodnotit offline testovací sadu; vrátit `pass_rate >= threshold` a nasadit pouze, pokud je pravda.66- **Lidské schválení**: `@tool(approval_mode="always_require")` pro akce jako velké refundace.67- **Trasování**: zabalte každý požadavek do `tracer.start_as_current_span(...)` a nastavte atributy jako `routed.model`, `customer.id`.6869## Smoke test nasazeného agenta7071Po nasazení ověřte, že endpoint opravdu odpovídá (zelené nasazení může být stále72tiché). Použijte [AI Smoke Test](https://github.com/marketplace/actions/ai-smoke-test)73akci přes [`.github/workflows/smoke-test.yml`](../../../../../.github/workflows/smoke-test.yml)74s katalogem v [`tests/`](../../../tests/README.md). Běhoun odesílá POST každého75promptu na `POST {project_endpoint}/agents/{agent_name}/endpoint/protocols/openai/responses`76a kontroluje odpověď textu. Identita potřebuje roli **Azure AI User** v rámci77rozsahu Foundry projektu; token audience musí být `https://ai.azure.com/`.7879Naskládejte brány: **smoke test** (dosažitelnost/reakce, každý deploy) → **offline80hodnocení** (dostatečně dobré k nasazení, před propagací) → **online hodnocení** (jak si vede v provozu, kontinuálně).818283## Podnikové kontroly8485- **RBAC**: přiřaďte každému hostovanému agentovi spravovanou identitu s nejmenšími právy.86- **MCP v produkci**: považujte každý MCP server za nedůvěryhodnou hranici — připněte verzi, omezte jeho identitu, ověřujte výstupy, omezujte rychlost, nikdy nezveřejňujte tajné údaje.8788## Bezpečnostní opatření pro asistenta8990- Preferujte kanonický vzor `FoundryChatClient(...)` + `provider.as_agent(...)` používaný napříč kurzem.91- Neslibujte výsledky živého Azure, které jste neověřili; doporučte workflow smoke-testu k potvrzení nasazení.92- Držte hodnocení a rady ohledně nákladů propojené: hodnocení určuje kvalitativní standard, směrování/cachování drží náklady poblíž této úrovně.9394---9596<!-- CO-OP TRANSLATOR DISCLAIMER START -->97**Prohlášení o omezení odpovědnosti**:98Tento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). Přestože usilujeme o co největší přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro kritické informace se doporučuje profesionální lidský překlad. Nejsme odpovědní za jakékoli nedorozumění nebo nesprávné interpretace vzniklé použitím tohoto překladu.99<!-- CO-OP TRANSLATOR DISCLAIMER END -->