![]()
Hadi hatua hii katika kozi, umejenga mawakala wanaotumia kompyuta yako kibao, ndani ya daftari (notebook), wakiongozwa na az login na vigezo vya mazingira vichache. Hiyo ndiyo njia sahihi kabisa ya kujifunza. Siyo njia sahihi ya kuendesha wakala wa mteja elfu nyingi anategemea saa 3 asubuhi.
Somo hili linahusu pengo kati ya “inafanya kazi kwenye mashine yangu” na “inafanya kazi, kwa kuaminika na kwa gharama nafuu, katika uzalishaji.” Tunafunga pengo hilo kwa kutumia Microsoft Foundry na Huduma ya Wakala wa Microsoft Foundry, na tunafanya hivyo kwa kujenga wakala halisi wa msaada wa wateja anaaye na zana, upokeaji, kumbukumbu, tathmini, na ufuatiliaji.
Somo hili litashughulikia:
Baada ya kumaliza somo hili, utajua jinsi ya:
Somo hili linadhani umefanya masomo ya awali na uko na uelewa kuhusu:
Pia utahitaji:
az login).requirements.txt.Wakala wa mfano na wakala wa uzalishaji wanashiriki miganhu kuu — kufikiri, kuitisha zana, kujibu. Kinachobadilika ni kila kitu kilichozunguka mzunguko huo. Mfano ni takriban 20% ya wakala wa uzalishaji; asilimia 80 ni mwili wa uendeshaji.
| Hitilafu | Mfano | Uzalishaji |
|---|---|---|
| Ukaribu (Hosting) | Inakwenda kwenye daftari lako | Inakwenda kama huduma ya mwenyeji, ina matoleo na inatolewa kidogo kidogo |
| Utambulisho | Tokeni yako ya az login |
Utambulisho uliodhibitiwa na RBAC iliyopangwa |
| Hali | Kumbukumbu ndani ya kumbukumbu ya programu, hupotea baada ya kuanzishwa upya | Hifadhiwa nje (hifadhi za thread, huduma za kumbukumbu) |
| Kushindwa | Unaona kurudi nyuma kwa makosa | Jaribu tena, njia mbadala, barua ya kufa, onyo |
| Gharama | “Ni senti chache” | Inafuatiliwa kwa kila ombi, inachangiliwa, kuhifadhiwa kwenye bajeti |
| Ubora | Unaangalia matokeo | Inapimwa moja kwa moja kabla ya kutolewa |
| Imani | Unaruhusu kila kitendo | Sera + binadamu katika mzunguko kwa vitendo vyenye hatari |
Hifadhi jedwali hili akilini. Kila sehemu iliyopo chini inaendana na moja ya safu hizi.
Kuna mifumo mitatu utakayotumia, mara nyingi kwa pamoja.
Kitu cha wakala kiko ndani ya mchakato wa programu yako. Nambari yako inatuma ombi moja kwa moja kwa mlengo wa mfano; mzunguko wa kufikiri unafanywa katika huduma yako. Hii ndio kila somo lililopita lililofanya.
Wakala huandikishwa kama rasilimali kwenye Microsoft Foundry. Foundry inakumbuka mzunguko wa kufikiri, huhifadhi threads, inatekeleza miongozo ya usalama wa maudhui na RBAC, na huufanya wakala kuonekana kwenye lango la Foundry. Programu yako huwa mteja mwembamba anayetoa threads na kusoma majibu.
Mawakala wengi (na zana) huunganishwa katika grafu yenye mchakato wa kudhibiti wazi — hatua mlianziliano, matawi, nodi za idhini ya binadamu, na sehemu za kumbukumbu zinazoweza kusitisha na kuendelea. Hii ni uwezo wa Microsoft Agent Framework Workflows unaotumika kwa kiwango cha usambazaji.
flowchart TB
subgraph P1[Mteja Aliyeshikwa]
A1[Mchakato wa Programu Yako] --> M1[Mtoa Mfano]
end
subgraph P2[Wakala Aliyeshikwa]
A2[Mteja Mwembamba] --> F2[Huduma ya Wakala wa Foundry]
F2 --> M2[Mfano + Vifaa + Hifadhi ya Thread]
end
subgraph P3[Mwendo wa Kazi wa Wakala]
A3[Mratibu] --> S1[Wakala wa Kupanga Kwanza]
S1 --> S2[Wakala wa Kutatua]
S2 --> H[Kidude cha Uidhinishaji wa Binadamu]
H --> S3[Wakala wa Hatua]
end
Kusambaza wakala si push ya mara moja. Ni mzunguko, na inaonekana sana kama mzunguko wa kutolewa kwa programu maana hiyo ndio hasa.
flowchart LR
Create[Unda / Mwandishi] --> Version[Toleo]
Version --> Evaluate[Tathmini bila mtandao]
Evaluate -->|pita lango| Deploy[Weka mwenyeji]
Evaluate -->|shindwa lango| Create
Deploy --> Observe[Angalia mtandaoni]
Observe --> Improve[Kusanya matatizo]
Improve --> Create
Deploy --> Retire[Piga retirement toleo la zamani]
Wazo kuu, lililotokana na Somo la 10: tathmini isiyokuwa mtandaoni ni mlango, si mawazo ya ziada. Toeneo jipya halitolewi hadi litakapovuka viwango vya tathmini. Ufuatiliaji mtandaoni huhamisha makosa halisi kwenye seti ya majaribio isiyo mtandaoni. Huyo ni mzunguko mzima.
Kupanua wakala ni tofauti na kupanua API isiyo na hali, kwa sababu kila ombi linaweza kusababisha miito mingi ya mfano na zana za gharama kubwa. Mbinu nne zinabeba mzigo mkubwa zaidi.
Usimamizi wa maombi isiyo na hali. Usihifadhi hali ya mtumiaji katika kumbukumbu ya mchakato wako. Hifadhi mazungumzo kwenye hifadhi ya thread ya Foundry au huduma ya kumbukumbu ili mfano wowote uweze kushughulikia ombi lolote. Hii ndio inayokuwezesha kupanua kwa wima — ongeza mfano, hakuna vikao vilivyofungwa.
Usambazaji wa mfano. Siyo kila ombi linahitaji mfano wako wenye uwezo mkubwa (na gharama kubwa). Tuma maombi rahisi — utambuzi wa nia, majibu mafupi ya ukweli — kwa mfano mdogo na haraka, na uhifadhi mfano mkubwa kwa sababu ya kufikiri kweli. Model Router ya Foundry inaweza kufanya hili kwako, au unaweza kutekeleza mkeni mwepesi mwenyewe. Utajenga toleo la DIY maabara.
Kuweka majibu kwenye cache. Maswali mengi ya msaada ni karibu nakala (“ninawezaje kuweka upya nenosiri langu?”). Hifadhi majibu ya maswali yanayojirudia mara nyingi na uwasilishe bila kugonga mfano kabisa. Hata kiwango kidogo cha hits kwenye cache hupunguza gharama na ucheleweshaji kwa maana.
Ufanisi wa kazi nyingi na kuzuia msukumo. Watoa huduma wa mfano wana mipaka ya mzunguko wa maombi. Punguza idadi ya maombi yanayoshughulikiwa kwa wakati mmoja, tumia jaribio tena zenye mbadala za mwinuko, na shindwa kwa hila (jibu la queued “tuko nayo” ni bora kuliko kosa la 500).
flowchart LR
Q[Uchunguzi wa mtumiaji] --> C{Je, cache imepatikana?}
C -->|Ndiyo| R[Rudisha jibu lililohifadhiwa]
C -->|Hapana| Router{Ugumu?}
Router -->|Rahisi| SLM[Mfano mdogo]
Router -->|Changamano| LLM[Mfano mkubwa]
SLM --> Out[Jibu]
LLM --> Out
Out --> Store[Cache + njia]
Huwezi kuendesha unavyojua, na huwezi kujua usiposoma. Kama ilivyoripotiwa kwenye Somo la 10, Mfumo wa Wakala wa Microsoft hutuma OpenTelemetry kwa kawaida — kila wito wa mfano, miito ya zana, na hatua za utaratibu huwa ni muda. Katika uzalishaji unasafirisha vipindi hivyo kwenda Microsoft Foundry (au hosti yoyote inayoungwa mkono OTel) ili uweze:
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-5-nano")
# utekelezaji wa wakala unafuatiliwa moja kwa moja ndani ya kipindi hiki
Sifa kama customer.tier na routed.model ndizo zinazotafsiri mgawanyiko wa vipindi kuwa maswali yanayojibiwa (“je, wateja wa shirika wanatumwa mara nyingi kwenye mfano mdogo?”).
Gharama katika mawakala wa uzalishaji hutawaliwa na tokeni. Zinaweza kudhibitiwa kwa njia tatu, kwa mpangilio wa athari:
Milango ya tathmini na udhibiti wa gharama ni maadili sawa yanayoangaliwa kwa pembe mbili: tathmini inakuambia katika kiwango cha ubora, usambazaji na kuhifadhi vinakusalia karibu na gharama ya kiwango hicho.
Udhibiti. Mawakala wenyeji wanarithi RBAC, usalama wa maudhui, na ufuatiliaji wa audit wa Foundry. Mpe kila wakala utambulisho ulio na mipaka midogo tu inayohitajika — ufikivu wa kusoma kwenye hifadhidata, ufikivu wa API ya tiketi, hakuna zaidi.
Binadamu katika mzunguko. Vitendo vingine ni muhimu mno kuamilishwa moja kwa moja — kutoa marejesho, kufuta akaunti, kupeleka kwa timu ya sheria. Mfumo wa Wakala wa Microsoft unaunga mkono zana zinazoomba idhini: wakala hupendekeza kitendo, utekelezaji unasitishwa, binadamu anaruhusu au anakataa, na mchakato unaendelea. Uliona mfano wake katika Somo la 6; hapa unautumia.
MCP katika uzalishaji. MCP huruhusu wakala wako kutumia zana za nje kupitia kiolesura cha kitaalamu. Katika utendaji, chukuliana na kila seva ya MCP kama mpaka usioaminika: futilia toleo la seva, endesha na utambulisho ulio na mipaka, thibitisha matokeo yake, na usiwape siri. Seva ya MCP ni tegemezi, na tegemezi hupatiwa viraka, kufanyiwa ukaguzi, na mipaka ya mzunguko.
flowchart TB
subgraph Dev[Miundombinu ya Maendeleo]
D1[Daftari] --> D2[Mfumo wa Wakala]
D2 --> D3[Mtoa Mfano]
D2 --> D4[Vifaa vya Mahali]
end
subgraph Deploy[Miundombinu ya Utekelezaji]
E1[Mlolongo wa CI] --> E2[Mlango wa Tathmini]
E2 -->|pita| E3[Huduma ya Wakala wa Foundry]
E3 --> E4[Wakala mwenye toleo lililohifadhiwa]
end
subgraph Run[Miundombinu ya Kukimbia]
F1[App ya mteja] --> F2[Wakala aliyohifadhiwa]
F2 --> F3[Kiolezo cha Mfano]
F2 --> F4[Azure AI Search RAG]
F2 --> F5[Huduma ya Kumbukumbu]
F2 --> F6[Vifaa vya MCP]
F2 --> F7[OTel -> Ufuatiliaji wa Foundry]
F2 --> F8[Idhini ya Binadamu]
end
Michoro hiyo mitatu — maendeleo, usambazaji, runtime — ni wakala yule yule katika hatua tatu za maisha yake. maabara inayofuata itakuongoza jinsi ya kuijenga.
Fungua code_samples/16-python-agent-framework.ipynb na ifanyie kazi kutoka mwanzo hadi mwisho. Utajenga wakala wa msaada wa wateja wa Contoso yenye kila hitilafu za uzalishaji zilizounganishwa:
Daftari limepangwa kwa kila hitilafu ya uzalishaji kuwa sehemu huru inayoweza kuendesha. Msingi wake ni msimamizi wa maombi yenye usambazaji-zaidi-kuhifadhi:
async def handle_support_request(query: str, customer_id: str) -> str:
# 1. Hudumia kutoka kwa cache tunapoweza.
cached = response_cache.get(normalize(query))
if cached:
return cached
# 2. Pitia kwa ugumu ili kudhibiti gharama.
model = "gpt-5-nano" if is_simple(query) else "gpt-5-mini"
# 3. Endesha wakala ndani ya eneo la ufuatiliaji kwa ajili ya uangalizi.
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. Hifadhi na rudisha.
response_cache.set(normalize(query), response.text)
return response.text
Mlango wa tathmini unaolinda kutolewa unaonekana hivi:
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 # tengeneza tu ikiwa lango litapita
Soma kila mstari — daftari linahifadhi mifumo midogo kwa makusudi ili hakuna kitu kifiche nyuma ya wito wa mfumo.
Mlango wa tathmini hapo juu hufanya kazi isipokuwa mtandaoni dhidi ya kitu cha wakala wako. Mara wakala anapowekwa kama Wakala Mwenyeji, unahitaji ukaguzi mwingine, hata rahisi zaidi: je, sehemu iliyo sambazwa inajibu kweli?
Kusambaza “kwa mafanikio” kunathibitisha kwamba mfumo wa udhibiti umekubali maelezo — si kuthibitisha wakala anajibu. Kutanakili tegemezi, usambazaji mbaya wa mfano, au muunganisho uliotia muda ukifika kunaweza kusababisha usambazaji wenye rangi ya kijani asiotoe chochote. Jaribio la punguza hatari (smoke test) linakuta hilo ndani ya sekunde, kila mara unaposambaza, bila gharama ya tathmini kamili.
Hifadhidata hii inaleta bomba la jaribio la punguza hatari tayari kutumia lililojengwa kwenye Kitendo cha GitHub cha AI Smoke Test:
tests/lesson-16-smoke-tests.json ina ombi na uthibitisho kwa wakala msaada wa Contoso (majibu ya sera yaliyothibitishwa, kuangalia oda, kubaki kwenye mada, na kuendeleza kipindi cha mazungumzo). Catalog za mawakala kutoka masomo mengine zipo pamoja na hii — angalia tests/README.md..github/workflows/smoke-test.yml huingia kwa Azure OIDC na hutuma POST kila ombi kwa sehemu ya majibu ya wakala, na kushindwa kama uthibitisho wowote unakosa.- name: Smoke-test hosted agent
uses: JFolberth/ai-smoketest@v1
with:
project_endpoint: $
agent_name: ContosoSupportAgent
tests_file: tests/lesson-16-smoke-tests.json
Endesha kutoka kwenye kichupo cha Actions mara tu wakala wako anapowekwa, ukitoa kiunganishi cha mradi wa Foundry na jina la wakala. Kitambulisho kilichounganishwa kinahitaji jukumu la Azure AI User katika upeo wa mradi wa Foundry. Fikiria tabaka kama piramidi: vipimo vya moshi (vifikike na vinajibu?) vinaendeshwa kila kuweka, tathmini ya mtandaoni (ni nzuri vya kutosha kusafirisha?) hufanyika kabla ya kukuza, na tathmini ya mtandao (inafanya vipi katika mazingira halisi?) hufanyika kwa mfululizo.
Jaribu uelewa wako kabla ya kuendelea na kazi.
1. Kiasi gani kwa takriban cha wakala wa uzalishaji ni “mfano,” na ni nini kingine?
2. Utachagua Wakala Anayehudumiwa (Hosted Agent) badala ya wakala anayehudumiwa na mteja lini?
3. Kwanini wakala anayeweza kupanuka lazima awe hauna hali (stateless) katika kumbukumbu ya mchakato wake?
4. Tatizo gani husuluhishwa na upangaji wa mifano, na linahusianaje na tathmini?
5. Ni nini “mlango wa tathmini” na upo wapi katika mzunguko wa maisha?
6. Kwanini seva ya MCP inapaswa kutazamwa kama mipaka isiyoheshimiwa katika uzalishaji?
7. Mabadiliko gani moja kawaida huwa na athari kubwa zaidi kwa gharama za wakala wa uzalishaji, na kwanini?
8. Sifa za span kama customer.tier na routed.model huchangia vipi katika ufuatiliaji?
Chukua wakala wa msaada kwa wateja kutoka maabara na ugande kwa hali maalum: wakala wa msaada wa malipo kwa kampuni ya SaaS.
Omba lako lifanye yafuatayo:
get_subscription_status, get_invoice, na issue_credit (mikopo zaidi ya $50 inahitaji idhini ya binadamu).Andika aya fupi (katika seli ya markdown) ikielezea ni sheria gani ya upangaji wa mfano uliyochagua na ungebainisha vipi kwa trafiki halisi. Hakuna jibu moja sahihi — unakaguliwa kama masuala ya uzalishaji yameunganishwa kwa muktadha mzuri.
Katika somo hili ulisogeza wakala kutoka mfano hadi uzalishaji na Microsoft Foundry:
Somo lijalo linachukua safari kinyume: badala ya kupanua mawakala hadi wingu, utaileta chini kwenye mashine ya mwanajumla mmoja na kuendesha moja kwa moja ndani yake.
Kujenga Wakala wa Matumizi ya Kompyuta (CUA)
Kuunda Mawakali wa AI wa Ndani
Kionyozo: Hati hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI Co-op Translator. Ingawa tunajitahidi kupata usahihi, tafadhali fahamu kwamba tafsiri za kiotomatiki zinaweza kuwa na makosa au upungufu wa usahihi. Hati ya asili katika lugha yake halisi inapaswa kuchukuliwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu inayofanywa na binadamu inapendekezwa. Hatutojibu kwa kuelewa vibaya au tafsiri potofu zinazotokea kutokana na matumizi ya tafsiri hii.