![]()
Kuni selle kursuse punktini olete loonud agente, kes töötavad teie sülearvutis, märkmikus, juhituna az login ja käputäie keskkonnamuutujatega. See on õige viis õppimiseks. See ei ole õige viis agenti käivitamiseks, kellele tuhanded kliendid 3 hommikul toetuvad.
See õppetund räägib lõhest “see töötab minu masinal” ja “see töötab usaldusväärselt ja taskukohaselt tootmises” vahel. Selle lõhe sulgeme kasutades Microsoft Foundry ja Microsoft Foundry Agent Service, ehitades päris klienditoe agendi, millel on tööriistad, andmete hankimine, mälu, hindamine ja jälgimine.
See õppetund hõlmab:
Pärast selle õppetunni lõpetamist oskate:
See õppetund eeldab, et olete lõpetanud varasemad õppetunnid ja tunnete end mugavalt:
Vajate ka:
az login).requirements.txt.Prototüüpagendi ja tootmisagendi tuum on sama — järeldamine, tööriistade kutsumine, vastamine. Mis muutub, on kõik selle tsükli ümber. Mudel on tootmisagendist umbes 20%; ülejäänud 80% on operatiivne skelett.
| Teema | Prototüüp | Tootmine |
|---|---|---|
| Majutamine | Jookseb teie märkmikus | Jookseb majutatud teenusena, versioonitud ja juurutatud |
| Identiteet | Teie az login tokeniga |
Haldusega identiteet piiratud RBAC-iga |
| Seisund | Mälu sees, taaskäivitamisel kaob | Eksternaliseeritud (niidipood, mäluteenistus) |
| Rike | Näete veateateid | Taaskatsed, varuplaanid, surnu-kirjad, häired |
| Kulu | “See on paar senti” | Jälgitakse päringu kaupa, marsruuditakse, vahemällus, eelarvega |
| Kvaliteet | Te vaatate väljundit silmadega | Hinnatakse automaatselt enne igat väljaannet |
| Usaldus | Te heaks kiidate iga toimingu | Poliitika + inimene otsustamas riskantsete toimingute puhul |
Pidage seda tabelit meeles. Iga alljärgnev sektsioon vastab ühe reale selles tabelis.
On kolm mustrit, mida te sageli kombineeritult kasutate.
Agendi objekt elab teie rakenduse protsessis. Teie kood kutsub mudeli pakkujat otse; järeldus-tsükkel töötab teie teenuses. Nii on iga varasem õppetund toimunud.
Agent registreeritakse ressursina Microsoft Foundrys. Foundry majutab järeldus-tsükli, salvestab niidid, tagab sisuohutuse ja RBAC-i ning muudab agendi nähtavaks Foundry portaalis. Teie rakendus muutub õhukeseks kliendiks, kes loob niidid ja loeb vastuseid.
Mitmed agentid (ja tööriistad) on ühendatud graafiks, millel on selge juhtimisvoog — järjestikused sammud, harud, inimluba sõlmed ja vastupidavad kontrollpunktid, mis võivad peatada ja jätkata. See on Microsoft Agent Frameworki Workflows võimekus juurutusmastaabis.
flowchart TB
subgraph P1[Kliendi majutatud]
A1[Teie rakendusprotsess] --> M1[Mudeli pakkuja]
end
subgraph P2[Majutatud esindaja]
A2[Õhuke klient] --> F2[Foundry esindajateenus]
F2 --> M2[Mudel + Tööriistad + Lõimede hoidla]
end
subgraph P3[Esindaja töövoog]
A3[Orkestreerija] --> S1[Esmane esindaja]
S1 --> S2[Lahendaja esindaja]
S2 --> H[Inimese kinnituse sõlm]
H --> S3[Tegutsemisagent]
end
Agendi juurutamine ei ole ühekordne push. See on tsükkel, mis näeb välja nagu tarkvaraväljaande tsükkel, sest see ongi.
flowchart LR
Create[Loo / Autor] --> Version[Versioon]
Version --> Evaluate[Hinda võrguväliselt]
Evaluate -->|läbib värava| Deploy[Juhi juurutamine]
Evaluate -->|ebaõnnestub väravas| Create
Deploy --> Observe[Jälgi võrgu peal]
Observe --> Improve[Kogu tõrked]
Improve --> Create
Deploy --> Retire[Võta vana versioon kasutusest]
Peamine idee, mis võetakse üle Õppetunnist 10: võrguvälise hindamise võib olla piir, mitte järelmõte. Uus agentide versioon ei laeku enne, kui see läbib teie hindamiskünnise. Online-jälgitavus suunab reaalse maailma tõrked tagasi võrguvälisele testikomplektile. See on kogu tsükkel.
Agendi skaleerimine erineb olekutust veebirakenduse API skaleerimisest, sest iga päring võib esile kutsuda mitu kallist mudeli- ja tööriistaahelat. Neli tehnikat kannavad enamikku laadist.
Olekuta päringute töötlemine. Ärge hoidke protsessimälus ühegi kasutaja seisundit. Salvestage vestluste niidid Foundry niidipoodi või mäluteenusesse, nii et ükskõik milline instants suudab iga päringuga toime tulla. See võimaldab horisontaalset skaleerimist — lisage instantsse, pole kleepuvaid sessioone.
Mudeli marsruutimine. Iga päring ei vaja teie võimekaimat (ja kõige kallimat) mudelit. Marsruuditakse lihtsad päringud — kavatsuse klassifikatsioon, lühikesed faktivastused — väikesele, kiirele mudelile ja reserveeritakse suur mudel tõeliseks järeldamiseks. Foundry mudeli marsruutija saab seda teie eest teha või saate ise kergekaalulise klassifikaatori ehitada. Laboris ehitate selle versiooni ise.
Vastuste vahemällu salvestamine. Paljud toetuspaigaldused on peaaegu kordused (“kuidas ma oma parooli lähtestan?”). Vahemällu salvestage vastused korduvatele küsimustele ja pakkige need mudelit kasutamata. Isegi tagasihoidlik vahemälu tabamissagedus vähendab märgatavalt kulusid ja latentsust.
Samaaegsus ja surve tagasipaisumine. Mudelipakkujatel on kiirusepiirangud. Piirake samaaegsust, kasutage korduskatseid eksponentsiaalse viivitusega ja ebaõnnestumisel laske graatsiliselt läbi (järjekorda pandud “me töötame selle kallal” vastus on parem kui 500).
flowchart LR
Q[Kasutaja päring] --> C{Vahemälu tabamus?}
C -->|jah| R[Tagasta vahemällu salvestatud vastus]
C -->|ei| Router{Kompleksus?}
Router -->|lihtne| SLM[Väike mudel]
Router -->|keeruline| LLM[Suur mudel]
SLM --> Out[Vastus]
LLM --> Out
Out --> Store[Vahemälu + jälgimine]
Te ei saa hallata seda, mida te ei näe. Nii nagu Õppetunnis 10 kirjeldatud, Microsoft Agent Framework edastab OpenTelemetry jälgi natiivselt — iga mudelikõne, tööriista kutsumine ja orkestreerimise samm muutub ulatuseks. Tootmises ekspordite need ulatused Microsoft Foundrysse (või mõnda OTel-i ühilduvasse taustsüsteemi), et saaksite:
from agent_framework.observability import get_tracer
tracer = get_tracer()
with tracer.start_as_current_span("support_request") as span:
span.set_attribute("customer.tier", "enterprise")
span.set_attribute("routed.model", "gpt-4.1-mini")
# agendi täitmist jälgitakse selle ulatuse sees automaatselt
Atribuudid nagu customer.tier ja routed.model muudavad suure jälgede seina vastatavatele küsimustele (“kas ettevõtte kliendid suunatakse liiga tihti väikesele mudelile?”).
Tootmisagentide kulud on domineeritud tokenite poolt. Kolm hoobasid mõju järgi:
Hindamislukk ja kulude kontroll on sama distsipliin kahe nurga alt vaadates: hindamine määrab kvaliteedi põranda, marsruutimine ja vahemälu hoiavad teid võimalikult lähedal selle põranda kulule.
Haldus. Majutatud agentidel on Foundry RBAC, sisuohutus ja auditilogimine. Andke igale agendile hallatav identiteet vähimate õigustega, mida ta vajab — lugemisõigus teadmistebaasile, piiritletud ligipääs pileti API-le, mitte midagi rohkemat.
Inimene otseloomulikus. Mõned toimingud on liiga olulised, et neid täielikult automatiseerida — tagasimakse tegemine, konto kustutamine, juriidilisele meeskonnale edastamine. Microsoft Agent Framework toetab luba nõudvaid tööriistu: agent pakub toimingu ette, täitmine peatub, inimene heaks kiidab või lükkab tagasi ja töövoog jätkub. Sellist primitivi nägite Õppetunnis 6; siin juurutate seda.
MCP tootmises. MCP lubab teie agendil tarbida väliseid tööriistu standardliidese kaudu. Tootmises käsitlege iga MCP serverit kui usaldust mitte väärivat piiri: lukustage serveri versioon, käitage seda piiratud identiteediga, valideerige väljundid ja ärge kunagi avalikustage sellele saladusi. MCP server on sõltuvus ja sõltuvused vajavad parandamist, auditeerimist ja kiirusepiiranguid.
flowchart TB
subgraph Dev[Arendusarhitektuur]
D1[Sülearvuti] --> D2[Agendi raamistik]
D2 --> D3[Mudelite pakkuja]
D2 --> D4[Kohalikud tööriistad]
end
subgraph Deploy[Paigaldusarhitektuur]
E1[CI torujuhe] --> E2[Hindamise värav]
E2 -->|läbi| E3[Foundry agendi teenus]
E3 --> E4[Versioonitud majutatud agent]
end
subgraph Run[Käituse arhitektuur]
F1[Kliendi rakendus] --> F2[Majutatud agent]
F2 --> F3[Mudeli marsruuter]
F2 --> F4[Azure AI otsing RAG]
F2 --> F5[Mälu teenus]
F2 --> F6[MCP tööriistad]
F2 --> F7[OTel -> Foundry jälgimine]
F2 --> F8[Inimese kinnitamine]
end
Need kolm diagrammi — arendus, juurutus, jooksutamine — on sama agent kolme eluetapi jooksul. Järgmine labor juhatab teid selle ehitamisel.
Avage code_samples/16-python-agent-framework.ipynb ja tehke see lõpuni läbi. Teil on vaja kokku panna Contoso klienditoe agent kõigi tootmisküsimustega ühendatult:
Märkmik on organiseeritud nii, et iga tootmisküsimus on iseseisev, käivitatav sektsioon. Tuum on marsruutimise ja vahemälu päringutöötlus:
async def handle_support_request(query: str, customer_id: str) -> str:
# 1. Teeninda vahemälust, kui võimalik.
cached = response_cache.get(normalize(query))
if cached:
return cached
# 2. Suuna keerukuse järgi, et kontrollida kulusid.
model = "gpt-4.1-mini" if is_simple(query) else "gpt-4.1"
# 3. Käivita agent jälgimisvahemikus jälgitavuse jaoks.
with tracer.start_as_current_span("support_request") as span:
span.set_attribute("routed.model", model)
span.set_attribute("customer.id", customer_id)
response = await support_agent.run(query, model=model)
# 4. Vahemäleta ja tagasta.
response_cache.set(normalize(query), response.text)
return response.text
Väljaandmise juurdepääsutõkke näide on selline:
async def evaluation_gate(agent, test_cases, threshold: float = 0.8) -> bool:
passed = 0
for case in test_cases:
result = await agent.run(case["input"])
if score_response(result.text, case["expected"]) >= 0.8:
passed += 1
pass_rate = passed / len(test_cases)
print(f"Evaluation pass rate: {pass_rate:.0%} (gate: {threshold:.0%})")
return pass_rate >= threshold # teosta paigaldus ainult juhul, kui värav läbib kontrolli
Lugege iga rida — märkmik hoiab primitiivid sihikindlalt väikestena, et mitte midagi ei oleks raamistikukutse taha peidetud.
Ülaltoodud hindamislussild töötab võrguväliselt teie agendi objekti suhtes. Kui agent on juurutatud kui Majutatud Agent, vajate veel ühe, veel odavama kontrolli: kas juurutatud lõpp-punkt tõesti vastab?
“Edukalt” juurutamine tõestab ainult, et kontrolltase aktsepteeris definitsiooni — see ei tõesta, et agent vastab. Puuduv sõltuvus, halb mudeli marsruutimine või aegunud ühendus võivad jätta rohelise juurutuse, mis ei tagasta midagi. Suitsetest tabab selle sekunditega, igal juurutusel, ilma täishindamise kuluta.
See hoidla sisaldab kasutusvalmis suitsutesti liini, mis põhineb AI Smoke Test GitHub Action’il:
tests/lesson-16-smoke-tests.json sisaldab sisendeid ja väiteid Contoso tugiedendi jaoks (toetuspoliitika vastused, tellimuse päring, teemadega piirdumine ja mitme sammu niidijärjepidevus). Teiste õppetundide agentide kataloogid asuvad seal kõrval — vt tests/README.md..github/workflows/smoke-test.yml logib sisse Azure OIDCi kaudu ja postitab iga sisendi agendi Responses lõpp-punktile, ebaõnnestudes igal valeväitel.- name: Smoke-test hosted agent
uses: JFolberth/ai-smoketest@v1
with:
project_endpoint: $
agent_name: ContosoSupportAgent
tests_file: tests/lesson-16-smoke-tests.json
Käivitage see Actions vahekaardilt, kui teie agend on juurutatud, esitades oma Foundry projekti lõpp-punkti ja agendi nime. Liit-identiteedil peab olema Azure AI User roll Foundry projekti ulatuses. Mõelge kihtidele nagu püramiidile: suitsutestid (kas on ligipääsetav ja vastab?) käivad läbi igal juurutamisel, võrguvälise hindamise (kas piisavalt hea saatmiseks?) käivad läbi enne edendamist ja võrguhindamine (kuidas lood looduses?) töötab pidevalt.
Kontrollige oma arusaamist enne ülesande juurde liikumist.
1. Kui suur osa tööstusagendist on ligikaudu “mudel” ja mis moodustab ülejäänu?
2. Millal valiksite majutatud Agendi asemel kliendi majutatud agendi?
3. Miks peab skaleeritav agent olema oma protsessi mälus seisundita?
4. Millist probleemi lahendab mudeli marsruutimine ja kuidas see seostub hindamisega?
5. Mis on “hindamise värav” ja kus see elutsüklis asub?
6. Miks tuleks tootmises MCP serverit käsitleda usaldamata piirina?
7. Milline üksik muudatus avaldab tavaliselt suurimat mõju tootmisagendi kulule ja miks?
8. Millist rolli mängivad jälgitavuses sellised ulatuse atribuudi nagu customer.tier ja routed.model?
Võtke laborist klienditoe agent ja tugevdage seda konkreetseks stsenaariumiks: tellijate arvepöördumise tugi SaaS ettevõttele.
Teie esituses peaks olema:
get_subscription_status, get_invoice ja issue_credit (kui krediidisumma ületab 50 dollarit, vajab inimkinnitust).Kirjutage lühike lõik (markdown lahtris), milles selgitate, millise mudeli marsruutimise reegli valisite ja kuidas seda reaalse liiklusega valideeriksite. Ühte õiget vastust ei ole — teid hinnatakse selle järgi, kas tootmisküsimused on kooskõlas kokku ühendatud.
Selles õppetükis viisite agendi prototüübist tootmisse Microsoft Foundry kaudu:
Järgmine õppetükk teeb vastupidise rännaku: selle asemel, et agendid pilvkeskkonda skaleerida, toote need alla ühe arendajamasina peale ja käivitate need täielikult lokaalselt.
Arvutikasutusagentide loomine (CUA)
Lokaalsete AI agentide loomine
Lahtiütlus: See dokument on tõlgitud kasutades AI tõlketeenust Co-op Translator. Kuigi me püüdleme täpsuse poole, palun pange tähele, et automatiseeritud tõlgetes võib esineda vigu või ebatäpsusi. Originaaldokument selle emakeeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta selle tõlkega seotud eksimustest või valesti mõistmistest.