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.
Source: microsoft/ai-agents-for-beginners → translations/cs/.agents/skills/deploying-scalable-agents/SKILL.md
1---2name: deploying-scalable-agents-53description: 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.4---5# Nasazení škálovatelných agentů s Microsoft Foundry
6
7> Doplňková dovednost k [Lekci 16 – Nasazení škálovatelných agentů](../../../16-deploying-scalable-agents/README.md).
8> Použijte ji k pomoci studentovi přesunout agenta z prototypu do škálovatelného,
9> pozorovatelného produkčního nasazení. Každé doporučení zakládejte na obsahu lekce a
10> spustitelném notebooku; nevymýšlejte API Foundry.
11
12## Spouštěče
13
14Aktivujte tuto dovednost, když chce student:
15- Nasadit agenta do Microsoft Foundry jako **hostovaného agenta** a zajistit jeho verzování/pozorovatelnost.
16- Vybrat mezi nasazovacími vzory **client-hosted, hosted-agent a agent-workflow**.
17- Přidat **směrování modelů**, **cache odpovědí** nebo **omezenou paralelnost** pro kontrolu latence a nákladů.
18- Přidat **evaluační bránu**, aby se špatná verze agenta nemohla nasadit.
19- Přidat krok **schválení člověkem v procesu** pro akce s vysokým rizikem.
20- Instrumentovat agenta **OpenTelemetry** trasováním pro produkční pozorovatelnost.
21- Provést **smoke test** nasazeného agenta jako rychlou kontrolu po nasazení.
22
23## Základní mentální model
24
25Produkční agent je z velké části provozní kostra *kolem* modelu (~80%),
26nikoli samotný model. Každé doporučení namapujte na jeden z těchto aspektů:
27
28| Aspekt | Prototyp → Produkce |
29|---------|---------------------|
30| Hosting | notebook → verzovaná hostovaná služba |
31| Identita | váš `az login` → spravovaná identita + omezena RBAC |
32| Stav | v paměti → externí úložiště vláken/paměti |
33| Selhání | traceback → opakování, záložní mechanismy, upozornění |
34| Náklady | "několik centů" → sledované, směrované, cachované, rozpočtované |
35| Kvalita | odhadování okem → automatizovaná evaluační brána |
36| Důvěra | vy schvalujete → politika + člověk v procesu |
37
38## Nasazovací vzory (vyberte jeden, nebo kombinujte)
39
401. **Client-hosted** — smyčka rozumování běží ve vašem procesu. Maximální kontrola; vlastníte škálování/stav.
412. **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.
423. **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.
43
44## Životní cyklus (smyčka, která agentovi umožňuje nasazení)
45
46`create → version → evaluate (gate) → deploy hosted → observe online → collect failures → repeat`.
47**Offline hodnocení je brána, nikoli dodatečná myšlenka** — verze se nenasazuje,
48pokud neprojde nastaveným prahem. Online pozorovatelnost vrací skutečná selhání
49zpět do offline testovací sady.
50
51## Škálování a páky nákladů (v pořadí priority)
52
531. **Správná velikost modelu** — použijte nejmenší model, který projde evaluační bránou.
542. **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).
553. **Cache** — obsluhujte téměř duplicitní požadavky bez volání modelu.
564. **Bezustavový design + omezená paralelnost** — externě uložte stav; opakujte se zpožděním.
57
58## Klíčové vzory k reprodukci
59
60Nasměrujte studenta k těmto z notebooku
61[`16-python-agent-framework.ipynb`](../../../16-deploying-scalable-agents/code_samples/16-python-agent-framework.ipynb):
62
63- **Obslužná funkce požadavků**: cache → směrování podle složitosti → trasovací span → spuštění → cache.
64- **Evaluační brána**: vyhodnotit offline testovací sadu; vrátit `pass_rate >= threshold` a nasadit pouze, pokud je pravda.
65- **Lidské schválení**: `@tool(approval_mode="always_require")` pro akce jako velké refundace.
66- **Trasování**: zabalte každý požadavek do `tracer.start_as_current_span(...)` a nastavte atributy jako `routed.model`, `customer.id`.
67
68## Smoke test nasazeného agenta
69
70Po nasazení ověřte, že endpoint opravdu odpovídá (zelené nasazení může být stále
71tiché). Použijte [AI Smoke Test](https://github.com/marketplace/actions/ai-smoke-test)
72akci přes [`.github/workflows/smoke-test.yml`](../../../../../.github/workflows/smoke-test.yml)
73s katalogem v [`tests/`](../../../tests/README.md). Běhoun odesílá POST každého
74promptu na `POST {project_endpoint}/agents/{agent_name}/endpoint/protocols/openai/responses`
75a kontroluje odpověď textu. Identita potřebuje roli **Azure AI User** v rámci
76rozsahu Foundry projektu; token audience musí být `https://ai.azure.com/`.
77
78Naskládejte brány: **smoke test** (dosažitelnost/reakce, každý deploy) → **offline
79hodnocení** (dostatečně dobré k nasazení, před propagací) → **online hodnocení** (jak si vede v provozu, kontinuálně).
80
81
82## Podnikové kontroly
83
84- **RBAC**: přiřaďte každému hostovanému agentovi spravovanou identitu s nejmenšími právy.
85- **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.
86
87## Bezpečnostní opatření pro asistenta
88
89- Preferujte kanonický vzor `FoundryChatClient(...)` + `provider.as_agent(...)` používaný napříč kurzem.
90- Neslibujte výsledky živého Azure, které jste neověřili; doporučte workflow smoke-testu k potvrzení nasazení.
91- 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ě.
92
93---
94
95<!-- CO-OP TRANSLATOR DISCLAIMER START -->
96**Prohlášení o omezení odpovědnosti**:
97Tento 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.
98<!-- CO-OP TRANSLATOR DISCLAIMER END -->
99
100---
101
102**Source:** [`microsoft/ai-agents-for-beginners`](https://github.com/microsoft/ai-agents-for-beginners) → `translations/cs/.agents/skills/deploying-scalable-agents/SKILL.md`