Trumpas atsakymas: norint sukurti praktiškai veikiantį dirbtinio intelekto agentą, jį reikia traktuoti kaip kontroliuojamą ciklą: priimti įvestis, nuspręsti dėl kito veiksmo, iškviesti siauros apimties įrankį, stebėti rezultatą ir kartoti, kol bus sėkmingai patikrinta, ar viskas atlikta. Užduotis užsitarnaujama, kai ji yra daugiapakopė ir valdoma įrankio; jei ją išsprendžia viena raginimas, agentas praleidžiamas. Pridėti griežtas įrankių schemas, žingsnių apribojimus, registravimą ir validatorį/kritiką, kad įrankiams sugedus arba įvestims esant dviprasmiškoms, agentas eskaluotų procesą, o ne cikluotų.
Svarbiausios išvados:
Valdiklio ciklas : Įvestis→veiksmas→stebėti pasikartojimą su aiškiomis stabdymo sąlygomis ir maksimaliais žingsniais.
Įrankių dizainas : įrankiai turi būti siauro profilio, su tipais, leidimais ir patvirtinti, kad būtų išvengta chaoso „viską daryti“.
Atminties higiena : Naudokite kompaktišką trumpalaikę būseną ir ilgalaikę paiešką; venkite pilnų transkriptų išmetimo.
Apsauga nuo piktnaudžiavimo : pridėkite leidžiamųjų sąrašų, dažnių apribojimų, idempotencijos ir „sauso paleidimo“ rizikingiems veiksmams.
Testuojamumas : Palaikykite scenarijų rinkinį (gedimai, dviprasmybės, injekcijos) ir paleiskite jį iš naujo po kiekvieno pakeitimo.

🔗 Kaip išmatuoti dirbtinio intelekto našumą
Sužinokite praktinius rodiklius, kad galėtumėte palyginti greitį, tikslumą ir patikimumą.
🔗 Kaip kalbėtis su dirbtiniu intelektu
Norėdami gauti geresnių atsakymų, naudokite raginimus, kontekstą ir tolesnius veiksmus.
🔗 Kaip įvertinti dirbtinio intelekto modelius
Palyginkite modelius naudodami testus, vertinimo kriterijus ir realaus pasaulio užduočių rezultatus.
🔗 Kaip optimizuoti dirbtinio intelekto modelius
Pagerinkite kokybę ir sąnaudas derindami, genėdami ir stebėdami.
1) Kas yra dirbtinio intelekto agentas, suprantant jį paprastam žmogui 🧠
Dirbtinio intelekto agentas yra ciklas. „LangChain“ „Agentų“ dokumentai.
Štai ir viskas. Kilpa su smegenimis viduryje.
Įvestis → mąstyti → veikti → stebėti → kartoti . Apmąstyti dokumentą (samprotauti + veikti)
Kur:
-
Įvestis yra vartotojo užklausa arba įvykis (naujas el. laiškas, pagalbos bilietas, jutiklio signalas).
-
„Think“ yra kalbos modelis, samprotaujantis apie kitą žingsnį.
-
Veiksmas iškviečia įrankį (ieškoti vidinėje dokumentacijoje, vykdyti kodą, sukurti užklausą, parašyti atsakymo juodraštį). „OpenAI“ funkcijų iškvietimo vadovas
-
„Observe“ skaito įrankio išvestį.
-
Kartojimas yra ta dalis, kuri suteikia įspūdį „agentiškas“, o ne „plepus“. „LangChain“ „agentų“ dokumentai
Kai kurie agentai iš esmės yra išmaniosios makrokomandos. Kiti veikia labiau kaip jaunesnieji operatoriai, galintys žongliruoti užduotimis ir atkurti duomenis po klaidų. Abu tinka.
Be to, jums nereikia visiško savarankiškumo. Tiesą sakant... jūs tikriausiai to nenorite 🙃
2) Kada turėtumėte susikurti agentą (o kada ne) 🚦
Sukurkite agentą, kai:
-
Darbas yra daugiapakopis ir keičiasi priklausomai nuo to, kas nutinka viduryje.
-
Darbui atlikti reikia naudoti įrankius (duomenų bazes, CRM, kodo vykdymą, failų generavimą, naršykles, vidines API). „LangChain“ įrankių dokumentacija.
-
Norite pasikartojančių rezultatų su apsauginiais turėklais, o ne vienkartinių atsakymų.
-
„Atliktą“ galite apibrėžti taip, kad kompiuteris galėtų patikrinti, net ir laisvai.
Nekurkite agento, kai:
-
Paprastas raginimas + atsakymas išsprendžia problemą (nepersistenkite, vėliau savęs nekęsite).
-
Jums reikia tobulo determinizmo (agentai gali būti nuoseklūs, bet ne robotiški).
-
Neturite jokių įrankių ar duomenų, kad galėtumėte prisijungti – tuomet tai dažniausiai tik vibracijos.
Būkime atviri: pusė „DI agentų projektų“ galėtų būti darbo eiga su keliomis išsišakojimo taisyklėmis. Bet kartais ir atmosfera svarbi 🤷♂️
3) Kas daro dirbtinio intelekto agentą gerą ✅
Štai skyrius „Kas lemia gerą versiją“, kurio prašėte, tik būsiu šiek tiek tiesmukas:
Gera dirbtinio intelekto agento versija yra ne ta, kuri mąsto sunkiausiai. Ji yra ta, kuri:
-
Žino, ką leidžiama daryti (apimties ribos)
-
Patikimai naudoja įrankius (struktūrizuoti iškvietimai, pakartotiniai bandymai, skirtieji laiko limitai). „OpenAI“ funkcijų iškvietimo vadovas. AWS „skirtieji laiko limitai, pakartotiniai bandymai ir atidėjimas dėl trūkčiojimo“.
-
Švarią būseną palaiko (atmintis, kuri nesuyra) „LangChain“ „Atminties apžvalga“
-
Paaiškina savo veiksmus (audito takeliai, o ne slapti samprotavimai) NIST AI RMF 1.0 (patikimumas ir skaidrumas)
-
Tinkamai sustoja (užbaigtumo patikrinimai, maksimalūs žingsniai, eskalavimas) „LangChain“ agentų dokumentai
-
Saugiai suklysta (prašo pagalbos, nehaliucinuoja apie autoritetą) NIST AI RMF 1.0
-
Yra testuojamas (galite paleisti pagal iš anksto paruoštus scenarijus ir gauti rezultatus)
Jei jūsų agento negalima išbandyti, tai iš esmės yra labai pasitikėjimą keliantis lošimo automatas. Smagu vakarėliuose, baugu gamyboje 😬
4) Pagrindiniai agento elementai („anatomija“ 🧩)
Dauguma kietų agentų turi šias dalis:
A) Valdiklio kilpa 🔁
Tai yra orkestratorius:
-
įmušti įvartį
-
paklausti modelio apie tolesnius veiksmus
-
paleidimo įrankis
-
pridėti stebėjimą
-
Kartokite, kol baigsite „LangChain“ „Agentų“ dokumentaciją
B) Įrankiai (dar žinomi kaip galimybės) 🧰
Įrankiai yra tai, kas daro agentą efektyvų: „LangChain“ įrankių dokumentai
-
duomenų bazės užklausos
-
el. laiškų siuntimas
-
failų ištraukimas
-
veikiantis kodas
-
iškviečiant vidines API
-
rašymas į skaičiuokles arba CRM
C) Atmintis 🗃️
Svarbios dvi rūšys:
-
trumpalaikė atmintis : dabartinis bėgimo kontekstas, naujausi žingsniai, dabartinis planas
-
ilgalaikė atmintis : vartotojo nuostatos, projekto kontekstas, gautos žinios (dažnai per įterpimus + vektorinę saugyklą), RAG dokumentas
D) Planavimo ir sprendimų politika 🧭
Net jei to nevadinate „planavimu“, jums reikia metodo:
-
kontroliniai sąrašai
-
„ReAct“ stiliaus „pagalvok, o tada naudok“ ReAct darbas
-
užduočių grafikai
-
vadovo ir darbuotojo modeliai
-
vadovo ir darbuotojo šablonai „Microsoft AutoGen“ (daugiaagentė sistema)
E) Apsauginiai turėklai ir vertinimas 🧯
-
leidimai
-
saugių įrankių schemos, „OpenAI“ struktūrizuoti rezultatai
-
išvesties patvirtinimas
-
žingsnių ribos
-
medienos ruoša
-
NIST AI RMF 1.0 testai
Taip, tai labiau inžinerija nei raginimas. Kas... iš dalies ir yra esmė.
5) Palyginimo lentelė: populiarūs agento kūrimo būdai 🧾
Žemiau pateikiama realistiška „palyginimo lentelė“ – su keliomis ypatybėmis, nes tikros komandos yra keistos 😄
| Įrankis / Sistema | Auditorija | Kaina | Kodėl tai veikia | Užrašai (mažas chaosas) | |
|---|---|---|---|---|---|
| LangChain | statybininkai, kuriems patinka Lego stiliaus komponentai | nemokamas + infraraudonųjų spindulių | didelė įrankių, atminties, grandinių ekosistema | gali greitai pasidaryti „spagečių“, jei aiškiai neįvardinsi dalykų | |
| Lamos indeksas | RAG gausos komandos | nemokamas + infraraudonųjų spindulių | stiprūs paieškos šablonai, indeksavimas, jungtys | puiku, kai jūsų agentas iš esmės yra „ieškoti + veikti“... kas yra įprasta | |
| „OpenAI“ asistentų stiliaus metodas | komandos, norinčios greitesnio pasiruošimo | naudojimo pagrindu | integruoti įrankių iškvietimo šablonai ir vykdymo būsena | mažiau lankstus kai kuriuose kampuose, bet švarus daugeliui programų | „OpenAI Runs“ API iškvietimas „OpenAI Assistants“ funkcijoms |
| Semantinis branduolys | kūrėjams, norintiems struktūrizuoto orkestravimo | laisvas | tvarkinga įgūdžių / funkcijų abstrakcija | Jaučiasi „tvarkingai įmonėje“ – kartais tai komplimentas 😉 | |
| AutoGen | daugiaagentiniai eksperimentuotojai | laisvas | agentų bendradarbiavimo modeliai | gali per daug kalbėti; nustatyti griežtas atleidimo taisykles | |
| CrewAI | „Agentų komandų“ gerbėjai | laisvas | vaidmenis + užduotis + perdavimą lengva išreikšti | geriausiai veikia, kai užduotys yra aiškios, o ne minkštos | |
| Šieno kupeta | paieška + kanalai, žmonės | laisvas | kietieji vamzdynai, išgavimas, komponentai | mažiau „agentų teatro“, daugiau „praktinio fabriko“ | |
| Suk savo (pasirinktinė kilpa) | kontrolės fanatikai (meilūs) | tavo laikas | Minimali magija, maksimalus aiškumas | paprastai geriausias ilgalaikis... kol viską iš naujo išrandi 😅 |
Nėra vieno nugalėtojo. Geriausias pasirinkimas priklauso nuo to, ar jūsų agento pagrindinė užduotis yra paieška , įrankių vykdymas , kelių agentų koordinavimas ar darbo eigos automatizavimas .
6) Kaip žingsnis po žingsnio sukurti dirbtinio intelekto agentą (tikrasis receptas) 🍳🤖
Tai yra dalis, kurią dauguma žmonių praleidžia, o tada stebisi, kodėl agentas elgiasi kaip meškėnas sandėliuke.
1 veiksmas: apibrėžkite darbą vienu sakiniu 🎯
Pavyzdžiai:
-
„Parašykite kliento atsakymą, remdamiesi politika ir bilieto kontekstu, tada paprašykite patvirtinimo.“
-
„Ištirkite klaidos pranešimą, jį atkurkite ir pasiūlykite pataisymą.“
-
„Netobulus susitikimų užrašus paverskite užduotimis, savininkais ir terminais.“
Jei negalite to apibrėžti paprastai, jūsų agentas irgi negali. Turiu omenyje, kad gali, bet improvizuos, o improvizacijoje biudžetai žlunga.
2 veiksmas: nustatykite autonomijos lygį (žemas, vidutinis, aštrus) 🌶️
-
Žemas autonomijos lygis : siūlo veiksmus, žmogus spusteli „patvirtinti“
-
Vidutinis : paleidžia įrankius, sukuria išvesties juodraščius, didėja neapibrėžtumas
-
Aukštas : vykdo nuo pradžios iki galo, siunčia žmonėms ping signalus tik esant išimtims
Pradėkite nuo mažesnio nei norite dydžio. Visada galite padidinti vėliau.
3 veiksmas: pasirinkite savo modelio strategiją 🧠
Paprastai renkatės:
-
vienas stiprus modelis viskam (paprastas)
-
vienas stiprus modelis + mažesnis modelis pigiems žingsniams (klasifikavimas, frezavimas)
-
specializuoti modeliai (regėjimas, kodas, kalba), jei reikia
Taip pat nuspręskite:
-
maks. žetonų
-
temperatūra
-
ar leidžiate ilgus samprotavimo pėdsakus viduje (galite, bet neatskleiskite galutiniams vartotojams neapdorotos minčių grandinės)
4 veiksmas: apibrėžkite įrankius su griežtomis schemomis 🔩
Įrankiai turėtų būti:
-
siauras
-
įvestas
-
leidžiamas
-
patvirtinti „OpenAI“ struktūrizuoti rezultatai
Vietoj įrankio, vadinamo „do_anything(input: string) , sukurkite:
-
search_kb(užklausa: eilutė) -> rezultatai[] -
create_ticket(pavadinimas: eilutė, turinys: eilutė, prioritetas: sąrašas) -> ticket_id -
send_email(kam: eilutė, tema: eilutė, tekstas: eilutė) -> statusasOpenAI funkcijos iškvietimo vadovas
Jei duosite agentui grandininį pjūklą, nenustebkite, kai jis apkarpys gyvatvorę pašalindamas ir tvorą.
5 veiksmas: sukurkite valdiklio kilpą 🔁
Minimalus ciklas:
-
Pradėkite nuo tikslo + pradinio konteksto
-
Paklauskite modelio: „Kitas veiksmas?“
-
Jei iškviečiamas įrankis – vykdyti įrankį
-
Pridėti stebėjimą
-
Patikrinkite sustojimo sąlygą
-
Pakartokite (su maksimaliu žingsnių skaičiumi) „LangChain“ „agentų“ dokumentus
Pridėti:
-
pertraukos
-
pakartotiniai bandymai (atsargiai – pakartotiniai bandymai gali cikluoti) AWS „Laiko limitai, pakartotiniai bandymai ir atsilikimas dėl trūkčiojimo“
-
įrankio klaidos formatavimas (aiškus, struktūrizuotas)
6 veiksmas: atsargiai pridėkite atmintį 🗃️
Trumpalaikė perspektyva: kiekviename žingsnyje atnaujinkite kompaktišką „būsenos santrauką“. „LangChain“ „atminties apžvalga“.
Ilgalaikė perspektyva: saugokite patvarius faktus (vartotojo nuostatas, organizacijos taisykles, stabilius dokumentus).
Nykščio taisyklė:
-
jei dažnai keičiasi – laikykite jį trumpalaikį
-
jei stabilus – laikyti ilgalaikiam naudojimui
-
jei jautrus – saugokite minimaliai (arba visai nelaikykite)
7 veiksmas: pridėkite patvirtinimą ir „kritiko“ leidimą 🧪
Pigus, praktiškas modelis:
-
agentas generuoja rezultatą
-
validatoras tikrina struktūrą ir apribojimus
-
neprivalomos kritinės modelių peržiūros dėl trūkstamų veiksmų ar politikos pažeidimų NIST AI RMF 1.0
Ne tobula, bet pagauna šokiruojančiai daug nesąmonių.
8 veiksmas: užsirašykite viską, ko neužregistravę gailėsitės 📜
Žurnalas:
-
įrankių iškvietimai + įvesties duomenys + išvesties duomenys
-
priimti sprendimai
-
klaidos
-
galutiniai rezultatai
-
žetonai ir delsa „OpenTelemetry“ stebimumo pradmuo
Ateityje tau padėkos. Dabartyje viską pamirši. Toks jau gyvenimas 😵💫
7) Įrankių iškvietimas, kuris nesudaužo tavo sielos 🧰😵
Įrankių iškvietimas yra tai, kur „Kaip sukurti dirbtinio intelekto agentą“ tampa tikra programinės įrangos inžinerija.
Padarykite įrankius patikimus (patikimas yra gerai)
Patikimi įrankiai yra šie:
-
deterministinis
-
siauros apimties
-
lengva išbandyti
-
saugu pakartotinai vykdyti „Stripe“ „Idempotent requests“
Į įrankių sluoksnį įtraukite apsauginius turėklus, o ne tik raginimus
Raginimai yra mandagūs pasiūlymai. Įrankio patvirtinimas yra užrakintos durys. „OpenAI“ struktūrizuoti rezultatai.
Darykite:
-
leidžiamųjų sąrašų (kurie įrankiai gali veikti)
-
įvesties patvirtinimas
-
spartos apribojimai OpenAI spartos apribojimų vadovas
-
leidimų patikrinimai pagal vartotoją / organizaciją
-
„Sauso paleidimo režimas“ rizikingiems veiksmams
Projektavimas daliniam gedimui
Įrankiai neveikia. Tinklai stringa. Autorizacija baigiasi. Agentas privalo:
-
interpretuoti klaidas
-
Pakartotinis bandymas su pertrauka, kai tinkama „Google Cloud“ pakartotinio bandymo strategija (atsilikimas + trūkčiojimas)
-
pasirinkti alternatyvius įrankius
-
įstrigęs sustiprėti
Tyliai efektyvus triukas: grąžinkite struktūrizuotas klaidas, tokias kaip:
-
tipas: autentifikavimo klaida -
tipas: nerasta -
tipas: rate_limited
Kad modelis galėtų reaguoti protingai, o ne panikuoti.
8) Prisiminimai, kurie padeda, o ne persekioja 👻🗂️
Atmintis yra galinga, bet ji taip pat gali tapti šiukšlių stalčiumi.
Trumpalaikė atmintis: išlaikykite ją kompaktišką
Naudojimas:
-
paskutiniai N žingsnių
-
nuolatinė santrauka (atnaujinama kiekvieną ciklą)
-
dabartinis planas
-
dabartiniai apribojimai (biudžetas, laikas, politika)
Jei viską sudėsite į kontekstą, gausite:
-
didesnė kaina
-
lėtesnis delsos laikas
-
daugiau painiavos (taip, net ir tada)
Ilgalaikė atmintis: atgaminimas, o ne „įdaras“
Dauguma „ilgalaikės atminties“ yra panašesnė į:
-
įterpimai
-
vektorių parduotuvė
-
papildytos kartos (RAG) paieškos RAG popierius
Agentas neįsimena. Jis vykdymo metu nuskaito svarbiausius fragmentus. „LlamaIndex“ „Įvadas į RAG“
Praktinės atminties taisyklės
-
Išsaugokite „nuostatas“ kaip aiškius faktus: „Vartotojas mėgsta santraukas su ženkleliais ir nekenčia jaustukų“ (lol, bet ne čia 😄)
-
Saugokite „sprendimus“ su laiko žymomis arba versijomis (kitaip kaupsis prieštaravimai)
-
Niekada neslėpkite paslapčių, nebent to tikrai reikia
O štai mano netobula metafora: atmintis – kaip šaldytuvas. Jei niekada jo nevalysite, galiausiai jūsų sumuštinis skonis bus kaip svogūnai ir gailestis.
9) Planavimo modeliai (nuo paprastų iki įmantrių) 🧭✨
Planavimas tėra kontroliuojamas skaidymas. Nedarykite to mistiškai.
A modelis: Kontrolinių sąrašų planavimo priemonė ✅
-
Modelis pateikia žingsnių sąrašą
-
Vykdo žingsnis po žingsnio
-
Atnaujinimų kontrolinio sąrašo būsena
Puikiai tinka pradedantiesiems. Paprasta, išbandoma.
B modelis: ReAct ciklas (priežastis + veiksmas) 🧠→🧰
-
modelis nusprendžia kitą įrankio iškvietimą
-
stebi išvestį
-
kartoja „ReAct“ darbą
Tai klasikinis agento pojūtis.
C modelis: vadovas-darbuotojas 👥
-
vadovas suskirsto tikslą į užduotis
-
darbuotojai atlieka specializuotas užduotis
-
vadovas sujungia rezultatus „Microsoft AutoGen“ (daugiaagentė sistema)
Tai vertinga, kai užduotis galima lygiagretinti arba kai norite skirtingų „vaidmenų“, tokių kaip:
-
tyrėjas
-
programuotojas
-
redaktorius
-
QA tikrintuvas
D modelis: Planuoti, tada vykdyti su perplanavimu 🔄
-
sukurti planą
-
vykdyti
-
Jei įrankio rezultatai pakeičia realybę, perplanuokite
Tai neleidžia agentui atkakliai laikytis blogo plano. Žmonės taip pat tai daro, nebent jie yra pavargę, tokiu atveju jie taip pat laikosi blogų planų.
10) Saugumas, patikimumas ir tai, kad nebūtumėte atleisti iš darbo 🔐😅
Jei jūsų agentas gali imtis veiksmų, jums reikia saugos dizaino. Ne „malonu turėti“. Poreikis. NIST AI RMF 1.0
Griežti apribojimai
-
maksimalus žingsnių skaičius bėgimo metu
-
maksimalus įrankių iškvietimų skaičius per minutę
-
maksimalios išlaidos vienam seansui (žetonų biudžetas)
-
riboti įrankiai, skirti patvirtinimui
Duomenų tvarkymas
-
prieš registravimą redaguoti jautrius įvesties duomenis
-
atskiros aplinkos (kūrimo ir gamybos)
-
mažiausių privilegijų įrankio leidimai
Elgesio apribojimai
-
priversti agentą cituoti vidinius įrodymų fragmentus (ne išorines nuorodas, tik vidines nuorodas)
-
reikalauti neapibrėžtumo žymų, kai pasitikėjimas yra mažas
-
reikalauti „užduoti patikslinantį klausimą“, jei įvedami duomenys yra dviprasmiški
Patikimas agentas nėra pats pasitikintis savimi. Jis yra tas, kuris žino, kada spėlioja... ir tai sako.
11) Testavimas ir vertinimas (dalis, kurios visi vengia) 🧪📏
Neįmanoma patobulinti to, ko negalima išmatuoti. Taip, ši frazė banali, bet erzinančiai teisinga.
Sukurkite scenarijų rinkinį
Sukurkite 30–100 testų atvejų:
-
laimingi takai
-
kraštutiniai atvejai
-
„Įrankio gedimo“ atvejai
-
dviprasmiški prašymai
-
priešiškos užuominos (greitos injekcijos bandymai) OWASP 10 geriausių LLM programėlių OWASP LLM01 greita injekcija
Rezultatai
Naudokite tokius rodiklius kaip:
-
užduočių sėkmės rodiklis
-
užbaigimo laikas
-
įrankio klaidų atkūrimo rodiklis
-
haliucinacijų dažnis (teiginiai be įrodymų)
-
žmogaus patvirtinimo rodiklis (jei įjungtas prižiūrimas režimas)
Regresiniai testai, skirti užduotims ir įrankiams
Bet kuriuo metu, kai keičiate:
-
įrankio schema
-
sistemos instrukcijos
-
paieškos logika
-
Atminties formatavimas
Paleiskite programų paketą dar kartą.
Agentai – jautrūs žvėrys. Kaip kambariniai augalai, tik brangesni.
12) Diegimo modeliai, kurie neištuština jūsų biudžeto 💸🔥
Pradėkite nuo vienos paslaugos
-
agento valdiklio API
-
įrankių paslaugos, už kurių slypi
-
registravimas + stebėjimas „OpenTelemetry“ stebimumo pradmuo
Pridėkite išlaidų valdiklius anksti
-
talpykloje kaupiami paieškos rezultatai
-
pokalbio būsenos glaudinimas su santraukomis
-
naudojant mažesnius modelius frezavimui ir ištraukimui
-
apriboti „gilaus mąstymo režimą“ sunkiausiais žingsniais
Dažnas architektūros pasirinkimas
-
be būsenos valdiklis + išorinė būsenos saugykla (DB/redis)
-
Įrankių iškvietimai, kur įmanoma, yra idempotentiniai. „Stripe“ – „Idempotentinės užklausos“.
-
eilė ilgoms užduotims (kad žiniatinklio užklausa nebūtų atidaryta amžinai)
Taip pat: susikurkite „išjungimo jungiklį“. Jums jo neprireiks, kol tikrai, labai neprireiks 😬
13) Baigiamosios pastabos – trumpa versija, kaip sukurti dirbtinio intelekto agentą 🎁🤖
Jei nieko kito neprisimenate, prisiminkite tai:
-
Kaip sukurti dirbtinio intelekto agentą, daugiausia kalbama apie saugaus ciklo kūrimą aplink modelį. „LangChain“ „Agentų“ dokumentai.
-
Pradėkite nuo aiškaus tikslo, mažo autonomiškumo ir griežtų įrankių. „OpenAI“ struktūrizuoti rezultatai.
-
Pridėkite atmintį per paiešką, o ne begalinį konteksto pildymą. RAG popierius
-
Planavimas gali būti paprastas – kontroliniai sąrašai ir perplanavimas gali daug nuveikti.
-
Registravimas ir testai paverčia agentų chaosą tuo, ką galite siųsti. „OpenTelemetry“ stebimumo pradžiamokslis
-
Apsauginiai turėklai turėtų būti programuojami kode, o ne tik raginimuose. OWASP 10 geriausių LLM programų.
Agentas nėra magija. Tai sistema, kuri pakankamai dažnai priima gerus sprendimus, kad būtų vertinga... ir pripažįsta pralaimėjimą, kol dar nepadarė žalos. Tam tikra prasme tyliai guodžia 😌
Ir taip, jei viską sukonstruosite teisingai, tai bus tarsi samdytumėte mažytį skaitmeninį praktikantą, kuris niekada nemiega, kartais panikuoja ir mėgsta tvarkyti dokumentus. Taigi, iš esmės, praktikantas.
DUK
Kas yra dirbtinio intelekto agentas, paprastai tariant?
Dirbtinio intelekto agentas iš esmės yra ciklas, kuris kartojasi: priima įvestį, nusprendžia dėl kito žingsnio, naudoja įrankį, nuskaito rezultatą ir kartoja, kol baigiama. „Agentinė“ dalis kyla iš veikimo ir stebėjimo, o ne vien pokalbių. Daugelis agentų yra tiesiog išmanioji automatika su prieiga prie įrankių, o kiti elgiasi labiau kaip jaunesnysis operatorius, galintis atkurti savo žinias po klaidų.
Kada turėčiau kurti dirbtinio intelekto agentą, o ne tik naudoti raginimą?
Sukurkite agentą, kai darbas yra daugiapakopis, keičiasi atsižvelgiant į tarpinius rezultatus ir jam reikia patikimų įrankių (API, duomenų bazių, bilietų pardavimo, kodo vykdymo). Agentai taip pat naudingi, kai norite pasikartojančių rezultatų su apsauginiais barjerais ir būdu patikrinti, ar darbas atliktas. Jei paprastas greitas atsakymas veikia, agentas paprastai yra nereikalingas papildomas sąnaudas ir gedimų režimus.
Kaip sukurti dirbtinio intelekto agentą, kuris neužstrigtų cikluose?
Naudokite griežto sustabdymo sąlygas: maksimalų žingsnių skaičių, maksimalų įrankių iškvietimų skaičių ir aiškius užbaigimo patikrinimus. Pridėkite struktūrizuotas įrankių schemas, skirtus laikus ir pakartotinius bandymus, kurie nekartotų amžinai. Registruokite sprendimus ir įrankių rezultatus, kad matytumėte, kur jie neveikia. Įprastas saugos vožtuvas yra eskalavimas: jei agentas nėra tikras arba kartoja klaidas, jis turėtų prašyti pagalbos, o ne improvizuoti.
Kokia yra minimali architektūra, reikalinga norint sukurti dirbtinio intelekto agentą?
Bent jau reikia valdiklio ciklo, kuris modeliui pateikia tikslą ir kontekstą, prašo kito veiksmo, vykdo įrankį, jei to prašoma, prideda stebėjimą ir kartoja. Taip pat reikia įrankių su griežtomis įvesties / išvesties formomis ir „atlikta“ patikrinimu. Net ir „pasidaryk pats“ ciklas gali gerai veikti, jei palaikote švarią būseną ir vykdysite žingsnių apribojimus.
Kaip turėčiau suprojektuoti įrankių iškvietimą, kad jis būtų patikimas gamyboje?
Įrankiai turi būti siauro diapazono, tipizuoti, leidimais paremti ir patvirtinti – venkite bendro pobūdžio įrankio „daryti bet ką“. Pirmenybę teikite griežtoms schemoms (pvz., struktūrizuotiems išvesčių / funkcijų iškvietimui), kad agentas negalėtų rankiniu būdu keisti įvesčių. Įrankių lygmenyje pridėkite leidžiamųjų sąrašų, dažnio apribojimų ir vartotojo / organizacijos leidimų patikrinimus. Kurkite įrankius taip, kad juos būtų saugu paleisti pakartotinai, kai įmanoma, naudodami idempotencijos šablonus.
Koks geriausias būdas padidinti atmintį nepabloginant agento?
Atmintį traktuokite kaip dvi dalis: trumpalaikę vykdymo būseną (neseniai atlikti veiksmai, dabartinis planas, apribojimai) ir ilgalaikę paiešką (nuostatos, stabilios taisyklės, atitinkami dokumentai). Trumpalaikė atmintis turėtų būti kompaktiška, pateikiant veikiančias santraukas, o ne pilnus transkriptus. Ilgalaikėje atmintyje paieška (įterpimai + vektorių saugojimas / RAG modeliai) paprastai yra geresnė nei visko „įkišimas“ į kontekstą ir modelio painiava.
Kurį planavimo modelį turėčiau naudoti: kontrolinį sąrašą, „ReAct“ ar vadovo ir darbuotojo planą?
Kontrolinių sąrašų planavimo priemonė puikiai tinka, kai užduotys yra nuspėjamos ir norite kažko lengvai testuojamo. „ReAct“ stiliaus ciklai puikiai veikia, kai įrankio rezultatai pakeičia jūsų tolesnius veiksmus. Vadovo ir darbuotojo modeliai (pvz., „AutoGen“ stiliaus vaidmenų atskyrimas) padeda, kai užduotis galima sulyginti arba pasinaudoti skirtingais vaidmenimis (tyrėjo, programuotojo, kokybės užtikrinimo specialisto). „Planuok, tada vykdyk“ su perplanavimu yra praktiškas kompromisas, siekiant išvengti užsispyrusių blogų planų.
Kaip užtikrinti agento saugumą, jei jis gali imtis realių veiksmų?
Naudokite mažiausiai privilegijų turinčias teises ir apribokite rizikingus įrankius, kuriems taikomi patvirtinimo arba „bandomojo paleidimo“ režimai. Pridėkite biudžetus ir ribas: maksimalų žingsnių skaičių, maksimalų išlaidų skaičių ir įrankių iškvietimo per minutę apribojimus. Prieš registruodami redaguokite neskelbtinus duomenis ir atskirkite kūrimo aplinkas nuo gamybos aplinkos. Reikalaukite neapibrėžtumo žymų arba patikslinančių klausimų, kai įvestys yra dviprasmiškos, užuot leidus pasitikėjimui pakeisti įrodymus.
Kaip išbandyti ir įvertinti dirbtinio intelekto agentą, kad jis laikui bėgant tobulėtų?
Sukurkite scenarijų rinkinį su sėkmingais keliais, kraštutiniais atvejais, įrankių gedimais, dviprasmiškomis užklausomis ir raginimų injekcijos bandymais (OWASP stiliumi). Įvertinkite rezultatus, tokius kaip užduoties sėkmė, atlikimo laikas, atkūrimas po įrankio klaidų ir teiginiai be įrodymų. Kiekvieną kartą pakeitus įrankių schemas, raginimus, paiešką ar atminties formatavimą, iš naujo paleiskite rinkinį. Jei negalite jo išbandyti, negalite patikimai jo išsiųsti.
Kaip diegti agentą nepadidinant delsos ir išlaidų?
Įprastas modelis yra valdiklis be būsenos su išorine būsenos saugykla (DB/Redis), už jos esančiomis įrankių paslaugomis ir stipriu registravimu/stebėjimu (dažnai „OpenTelemetry“). Kontroliuokite išlaidas naudodami paieškos talpyklą, kompaktiškas būsenos santraukas, mažesnius maršrutizavimo/ištraukimo modelius ir „gilaus mąstymo“ ribojimą iki sunkiausių žingsnių. Naudokite eiles ilgoms užduotims, kad nelaikytumėte atidarytų žiniatinklio užklausų. Visada įtraukite išjungimo jungiklį.
Nuorodos
-
Nacionalinis standartų ir technologijų institutas (NIST) – NIST AI RMF 1.0 (patikimumas ir skaidrumas) – nvlpubs.nist.gov
-
„OpenAI“ – struktūrizuoti rezultatai – platform.openai.com
-
„OpenAI“ – funkcijų iškvietimo vadovas – platform.openai.com
-
„OpenAI“ – dažnio apribojimų vadovas – platform.openai.com
-
OpenAI – veikia API – platform.openai.com
-
„OpenAI“ – asistentų funkcijų iškvietimas – platform.openai.com
-
„LangChain“ – agentų dokumentacija („JavaScript“) – docs.langchain.com
-
„LangChain“ – įrankių dokumentacija (Python) – docs.langchain.com
-
„LangChain“ – atminties apžvalga – docs.langchain.com
-
arXiv - ReAct darbas (priežastis + veiksmas) - arxiv.org
-
arXiv – RAG straipsnis – arxiv.org
-
„Amazon Web Services“ (AWS) kūrimo biblioteka – skirtasis laikas, pakartotiniai bandymai ir atidėjimas naudojant „jitter“ – aws.amazon.com
-
„OpenTelemetry“ – stebimumo pradžiamokslis – opentelemetry.io
-
„Stripe“ – Idempotentinės užklausos – docs.stripe.com
-
„Google Cloud“ – pakartotinio bandymo strategija (atsilikimas + trūkčiojimas) – docs.cloud.google.com
-
OWASP – 10 geriausių didelių kalbų modelių taikymų – owasp.org
-
OWASP - LLM01 greitoji injekcija - genai.owasp.org
-
„LlamaIndex“ – Įvadas į RAG – developers.llamaindex.ai
-
„Microsoft“ – semantinis branduolys – learn.microsoft.com
-
„Microsoft AutoGen“ – kelių agentų sistema (dokumentacija) – microsoft.github.io
-
„CrewAI“ – agentų koncepcijos – docs.crewai.com
-
Haystack (gilusis setas) – Retriverių dokumentacija – docs.haystack.deepset.ai