Qligħ:
- Jiddefinixxu aġent bħala 'mudell + għodda + loop' u jiddeċiedu meta jkun meħtieġ
- Kitba tad-definizzjoni tal-għodda bl-isem, deskrizzjoni u input_schema
- Il-monitoraġġ tal-fluss u l-immaniġġjar tal-iżbalji tal-loop tool_use u tool_result
Sa issa, il-mudell dejjem għamel xogħol wieħed: jirċievi input tat-test, jipproduċi tweġibiet tat-test. Iżda x-xogħol reali ħafna drabi jeħtieġ aktar minn test; twettiq ta' kalkolu, mistoqsija ta' database, sejħa ta' API, skoperta ta' rata tal-kambju kurrenti. Il-mudella ma tistax tagħmel dawn l-affarijiet hi stess - iżda tista 'tiddeċiedi meta jridu jsiru u titlob lil xi ħadd biex jagħmelhom. Dan huwa dak li l-użu tal-għodda jagħti lill-mudell, u din hija l-bażi tal-aġenti tal-AI. F'din l-unità, se nitgħallmu x'inhu aġent, kif l-għodda hija definita, u kif taħdem il-linja tool_use.
X'inhu aġent? Mudell + Għodda + Loop
Aġent AI jikkonsisti fi tliet partijiet: il-mudell (il-moħħ li jieħu d-deċiżjoni), l-għodod (il-funzjonijiet li l-mudell jista’ jsejjaħ: it-temp, id-database mistoqsija, ibgħat email), u l-loop (il-linja; il-mudell isejjaħ l-għodda, jieħu r-riżultat, jerġa’ jiddeċiedi x’għandu jagħmel, eċċ).
Distinzjoni kritika: Sejħa ta' mudell wieħed mhix aġent. L-aġent huwa proċess li fih il-mudell jipproċedi pass pass, f'kull pass jagħżel il-mossa li jmiss ibbażata fuq ir-riżultat tal-għodda. "Aħseb bħal bniedem, uża idejk, ħares lejn ir-riżultat, erġa' aħseb."
Fatt importanti: Il-mudell innifsu ma joperax il-vettura. Il-mudell jgħid biss "Irrid insejjaħ din l-għodda b'dawn l-inputs". L-applikazzjoni tiegħek (imsejħa xedd) tħaddem l-għodda u tirritorna r-riżultat lill-mudell. Dan huwa vitali għas-sigurtà: il-mudell ma jmissx direttament is-sistema tiegħek; Kull azzjoni hija taħt il-kontroll tiegħek.
Tip: Tippruvax issolvi kull problema mal-aġent. Aġent; iżid ir-riskju ta' dewmien, spejjeż u żbalji. Staqsi l-ewwel: "Dan se jiġi solvut b'sejħa waħda jew fluss tax-xogħol fiss?" Jekk it-tweġiba hija iva, m'hemmx bżonn ta' aġent. L-aġent huwa għal kompiti miftuħa fejn il-passi ma jistgħux ikunu magħrufa minn qabel.
Definizzjoni tal-Għodda: isem, deskrizzjoni, input_schema
Biex tintroduċi għodda fil-mudell, inti tagħti tliet affarijiet:
- isem: Identità tal-vettura, eż. get_temp.
- deskrizzjoni: X'tagħmel l-għodda u meta ssejħilha. Din hija l-aktar qasam importanti li jippermetti lill-mudell jagħżel l-għodda t-tajba fil-ħin it-tajjeb. Ikteb mhux biss "x'jagħmel" iżda wkoll "sejħa meta."
- input_schema (skema tad-dħul): skema JSON li tiddefinixxi liema parametri tistenna l-għodda, f'liema tip.
# Definizzjoni tal-vettura (kunċettwali — skema JSON){ "name": "get_order_status", "description": "Tirkupra l-istatus attwali tat-tbaħħir ta' ordni. Ċempel meta l-utent jistaqsi fejn hu numru tal-ordni jew meta se jasal.", "input_schema": { "type": "object", "properties": { "order_no": { "order_no:": {"order_no:": {"order_no": "":": eż. SP-1024"} }, "meħtieġa": ["order_no"] }}
Regoli għal deskrizzjoni tajba tal-għodda: isem ċar u konċiż, deskrizzjoni b'"meta tuża", deskrizzjoni għal kull parametru, li tpoġġi dawk tassew obbligatorji meħtieġa. Żomm in-numru ta 'vetturi ffukat; Għexieren ta 'mudelli ta' vetturi simili huma sorprendenti.
żona
X'tagħmel?
eżempju tajjeb
eżempju ħażin
isem
ID tal-vettura
order_status_getir
iġibu
deskrizzjoni
X’tagħmel + meta ċempel
"Jirritorna l-istatus tal-merkanzija; ċempel meta l-utent jistaqsi fejn hi l-ordni"
"jġib id-data"
skema_input
Tip ta 'parametru u rekwiżit
{order_no: string, annotata}
l-ebda dijagramma / l-ebda deskrizzjoni
tool_use → tool_result Loop
Iċ-ċiklu jaħdem hekk, pass pass:
- Inti tibgħat il-mistoqsija tal-utent + deskrizzjonijiet tal-għodda lill-mudell.
- Il-mudell jew jirrispondi direttament jew jiġġenera blokk tool_use: "sejħa order_durumu_getir ma order_no=SP-1024."
- L-applikazzjoni tiegħek fil-fatt tħaddem l-għodda (titlob id-database).
- Inti tibgħat ir-riżultat lura lill-mudell bħala tool_result.
- B'dan ir-riżultat, il-mudell jew jipproduċi t-tweġiba finali jew isejjaħ għodda oħra. Iċ-ċiklu jkompli sakemm il-mudell jgħid "Jien lest."
# Aġent loop (kunċettwali)messages = [user_question]while Veru: rispons = model.uret(messages, tools=tool_definitions) if response.tur == "tool_use": result = harness.run(response.tool_name, response.entries) # APPLIKAZZJONI tmexxi messaġġi += [response, tool_result)] (reazzjoni #; truf tal-linja
L-SDKs moderni joffru għodda runners li jmexxu din il-linja għalik; inti biss tikteb il-funzjonijiet tal-għodda. Iżda dan huwa eżattament dak li qed jiġri wara l-kwinti.
Ġestjoni ta' Żbalji
L-għodod jistgħu jfallu: l-ordni ma nstabx, l-API tispiċċa, l-input huwa invalidu. Jekk ma tistax tħaddem l-għodda, irritorna l-iżball lill-mudell bħala tool_result deskrittiv ("żball: Numru tal-ordni SP-9999 ma nstabx") u l-bandiera tal-iżball. Il-mudell jista 'jara dan u bil-mod jispjegah lill-utent, jew ipprova b'mod differenti. Tiblax l-iżball u rritorna r-riżultati vojta; Il-mudell irid ikun jaf x'mar ħażin.
Deskrizzjoni tal-Vettura Dgħajfa/Qawwija
Dgħajjef (nom indefinit, l-ebda "meta"):
isem: "data", deskrizzjoni: "jġib id-data" # Il-mudell ma jafx meta u kif iċempel; Hija jew ma sejħa xejn jew sejħiet ħażin.
Qawwija (isem nett + meta + deskrizzjoni tal-parametru):
name: "musteri_bakiyesi_getir"description: "Jirritorna l-bilanċ tal-kont kurrenti ta' klijent. Ċempel meta l-utent jitlob għal debitu, kreditu jew bilanċ. MA jagħmel ħlas."input_schema: {custeri_id: string ("Customer ID")}# Il-mudell isejjaħ fil-ħin it-tajjeb, bil-parametri t-tajbin, jaf il-limitu tiegħu.
Tliet Każijiet Mini
Każ 1 — Aġent mhux meħtieġ. Tim wieħed bena n-negozju ta '"summarize test" b'aġent b'ħafna għodda; Kull recap jieħu 4 sejħiet mudell u 9 sekondi. Ix-xogħol kien fil-fatt xogħol ta' sejħa waħda. Meta neħħejna l-aġent u naqqasha għal sejħa waħda, il-ħin naqas għal 1.5 sekondi u l-ispiża naqset għal kwart. Lezzjoni: uża l-aġent meta verament meħtieġ.
Każ 2 — Spjegazzjoni dgħajfa, sejħa ħażina. F'aġent ta 'appoġġ, għodda oskura msejħa fetch ġiet imsejjaħ bl-addoċċ mill-mudell kemm fil-kwistjoni tal-bilanċ kif ukoll fil-kwistjoni tat-tbaħħir. Meta l-vetturi ġew maqsuma f'balance_getir u cargo_durumu_getir u ġew miżjuda spjegazzjonijiet "sejħa meta", l-għażla ħażina tal-vettura naqset minn 18 għal 1 f'50 eżempju.
Każ 3 — Żball inbela'. Aġent kien qed jirritorna riżultati vojta meta l-ordni ma nstabitx; Il-mudell interpreta dan bħala "l-ordni ġiet ikkunsinnata" u żgwida lill-klijent. Meta l-messaġġ ta 'żball jinkiteb b'mod espliċitu għal tool_result ("ordni ma nstabx"), il-mudell jgħid b'mod korrett "Ma stajtx insib dan in-numru, tista' tiċċekkjah?" beda jgħid.
Żbalji komuni
- Dawwar kollox għal aġent: Filwaqt li sejħa waħda hija biżżejjed, l-aġent iżid l-ispiża u d-dewmien.
- Deskrizzjoni vaga tal-vettura: Il-mudell ma jafx meta jċempel; jagħżel ħażin.
- Taħseb li l-mudell imexxi l-vettura: Ix-xedd imexxi l-vettura; il-mudell irid biss.
- Tibla 'l-iżball: Il-mudell għandu jkun jaf x'mar ħażin; Agħti l-iżball bħala tool_result miftuħ.
- Wisq vetturi simili: Mudell jitfixkel; Żomm is-sett ta' għodda ffukat u minimu.
Attenzjoni: Sempliċement għax il-mudell jgħid "sejħa dik il-vettura" ma jfissirx li għandha tittieħed azzjoni. Fuq għodod distruttivi (ħassar, checkout, email) l-applikazzjoni tiegħek m'għandhiex tesegwixxi s-sejħa bl-addoċċ - dan huwa l-qalba tas-suġġett tas-sigurtà fl-unità li jmiss.
Fil-qosor
- Aġent = mudell (deċiżjoni) + għodod (funzjonijiet) + loop (għodda tas-sejħa, tikseb ir-riżultat, erġa 'tiddeċiedi).
- Sejħa ta 'mudell wieħed mhix aġent; aġent huwa proċess pass pass.
- Il-mudell ma jmexxix il-vettura; L-applikazzjoni tiegħek taħdem (xedd) u tirritorna r-riżultat bħala tool_result.
- L-għodda hija identifikata bl-isem, deskrizzjoni (speċifikament "sejħa meta"), u input_schema.
- Il-linja tkompli kif tool_use → xedd runs → tool_result → mudell ikompli sakemm il-mudell jgħid "lest"; l-iżbalji huma rrappurtati b'mod espliċitu lill-mudell.
Kompitu ta' applikazzjoni
Iddisinja 3 għodod min-negozju tiegħek stess li jistgħu jingħataw lill-aġent. (1) Ikteb isem, deskrizzjoni b'"sejħa meta", u input_schema għal kull wieħed; Ħalli mill-inqas waħda tkun għodda tal-qari mhux distruttiva u waħda kalkolu. (2) Agħżel mistoqsija realistika tal-utent u ikteb manwalment pass pass (f'linja) liema minn dawn l-għodod se jsejjaħ il-mudell b'liema inputs u x'se jagħmel wara li jasal l-għodda_riżultat. (3) Stabbilixxi xenarju li fih waħda mill-għodod tfalli u uri kif il-messaġġ ta 'żball se jerġa' lura għall-mudell.
lista ta' kontroll
- [ ] Kapaċi niddefinixxi l-aġent bħala "mudell + għodda + loop" u niddeċiedi meta jkun meħtieġ.
- [ ] Naf li l-arness imexxi l-vettura, il-mudell iridha biss.
- Kapaċi nikteb deskrizzjoni solida tal-vettura b'[ ] isem, deskrizzjoni ("sejħa meta") u input_schema.
- Kapaċi nsegwi ċ-ċiklu [ ] tool_use → tool_result pass pass.
- [ ] Nirrapporta żbalji tal-għodda lill-mudell bħala open tool_result.