Glavna navigacija

Smjernice za projektiranje agentskih sustava

Praktične smjernice pomažu timovima odrediti koja ponašanja agenta pripadaju jezičnom modelu, a koja zahtijevaju eksplicitni softver.

Sažetak

  • Važno je pomno razmotriti kako se i gdje donose odluke u agentskom sustavu.

  • Prepuštanje većeg broja odluka LLM-u omogućuje sustavu da se potencijalno prilagodi većem broju zadataka, ali može smanjiti brzinu, pouzdanost i robusnost.

  • Kad god je moguće, nastojte što veći dio procesa odlučivanja premjestiti iz LLM-a u eksplicitni programski kod. To osobito vrijedi za visokorizične i produkcijske radne procese.

Uvod

Pri projektiranju agentskog sustava temeljenog na LLM-u jedna je od najvažnijih odluka odrediti koliko će odlučivanja biti obuhvaćeno LLM modelom, a koliko eksplicitnim softverom.

Radi lakšeg razumijevanja taj izbor možemo promatrati kao raspon između sljedećih pristupa:

  • Arhitekture temeljene na usmjerivaču eksplicitno definiraju redoslijed i logiku u kodu, čime osiguravaju mogućnost testiranja, predvidljivost i robusnost za zadatke iz usko određene domene (nazivaju se i „agentima radnog procesa”).

  • Agenti orkestratori oslanjaju se na velike jezične modele (LLM-ove) koji pomoću upita na prirodnom jeziku dinamički određuju tijek zadataka. Idealni su za otvorene interakcije u kojima unaprijed definirana logika nije dovoljna ili moguća.

Uvodni dijagram.

Za visokorizične produkcijske radne procese obično preporučujemo više značajki temeljenih na usmjerivaču, dok orkestratore valja čuvati za primjene koje zahtijevaju fleksibilne razgovore opće namjene.

Usmjerivač i orkestrator: razumijevanje razlike

Arhitekture temeljene na usmjerivaču

Agentski sustavi s usmjerivačem:

  • Eksplicitno definiraju tijek odlučivanja kodom odnosno softverom, a LLM određuje kojim će putem taj softver krenuti.

  • Sličniji su tradicionalnim softverskim sustavima jer imaju jasne i predvidljive putove koji daju dosljednije rezultate.

  • Idealni su za zadatke koji se mogu strogo definirati.

Slijedi pojednostavljeni primjer agenta za rezervacije u obliku zrakoplovnog chatbota koji primjenjuje „pristup s usmjerivačem”. LLM pomaže razvrstati namjeru pitanja u jednu od triju mogućih kategorija, ali naš softver naposljetku povezuje tu namjeru s predloškom tekstualnog odgovora. Budući da je LLM strogo ograničen, korisnik će dobivati dosljednije ponašanje.

Dijagram koji prikazuje razliku između usmjerivača i orkestratora.

Arhitekture orkestratora

Za razliku od sustava s usmjerivačem, agentski sustavi s orkestratorom:

  • Definiraju logičke tijekove upitima na prirodnom jeziku umjesto softverom. Napomena: u usporedbi s programskim jezikom, prirodni je jezik sam po sebi dvosmislen i fleksibilan, što je istodobno prednost i nedostatak, kao što ćemo poslije objasniti. To možemo opisati kao „namjeru umjesto upute”.

  • Mogu ponuditi više mogućnosti obrade, dok LLM određuje redoslijed i način izvršavanja.

  • Mogu dinamički stvarati nove logičke putove koje je teško eksplicitno definirati u softveru.

  • Ta dvosmislenost može dovesti do nedosljednih rezultata, ali kada funkcionira, doima se „čarobno”.

Sljedeći primjer primjenjuje pristup s orkestratorom na isti pojednostavljeni problem zrakoplovne tvrtke. Umjesto da softver odlučuje koji je odgovor prikladan, odlučivanje se prepušta sloju LLM-a. Ovdje imamo višeagentski sustav u kojem „glavni” agent orkestrator procjenjuje korisnički upit i prosljeđuje ga agentu posebno namijenjenom promjeni letova, koji zatim korisniku daje odgovor.

U ovom primjeru sloj LLM-a ima ulogu klasifikatora, usmjerivača i sastavljača odgovora. U primjeru s usmjerivačem imao je samo ulogu klasifikatora, dok je softver obavljao sve ostalo.

Dijagram koji prikazuje razliku između usmjerivača i orkestratora.

Prednosti i izazovi arhitektura s usmjerivačem

Kad god je moguće, preporučujemo pristupe temeljene na usmjerivaču jer nude sljedeće prednosti:

  • Brzina i učinkovitost: lokalni izračuni brži su od orkestratora koji ovise o vanjskim API-jima. Ujedno je mnogo jeftinije obraditi logiku „IF/ELSE” u Pythonu nego plaćati pružatelju LLM-a da je provuče kroz svoj model s 400 milijardi parametara.

  • Mogućnost testiranja i predvidljivost: znatno ih je lakše otklanjati pogreške, testirati i održavati ustaljenim softverskim praksama.

  • Transparentnost i pouzdanost: manje razlika u ponašanju olakšava otklanjanje poteškoća. Veći dio tijeka aplikacije izražen je i transparentnim softverom pod nadzorom verzija, za razliku od neprozirnih i teško protumačivih težina LLM-a.

Nedostaci pristupa s usmjerivačem jesu krutost, nefleksibilnost i poteškoće pri rješavanju otvorenijih problema. Korisnicima bi chatbot koji uvijek daje potpuno jednake odgovore mogao djelovati dosadno i ustajalo.

Prednosti i izazovi arhitektura orkestratora

Dizajni s orkestratorom nude moćne mogućnosti:

  1. Planiranje: mogu dinamički planirati odgovore.

  2. Odabir alata i predaja agentu: odabiru odgovarajuće alate ili delegiraju zadatke agentima.

  3. Iterativno kombiniranje rezultata: kreativno ponavljaju i iznova kombiniraju rezultate.

  4. Utvrđivanje dovršenosti: određuju kada je prikupljeno dovoljno informacija za dovršetak odgovora.

Okviri kao što su Pydantic-AI ili OpenAI Agents SDK omogućuju jednostavnu i brzu implementaciju orkestracije. Zato su odlični za demonstracije i provjeru koncepta.

Nedostaci su ovog pristupa sljedeći:

  • Nema jamstva da će koraci planiranja LLM-a i radnje koje slijede biti točni i primjereni. Sustav s usmjerivačem ima isti problem, ali je njegovo ponašanje predvidljivije jer je strože ograničen.

  • Za jednostavne i dobro definirane zadatke vjerojatno nam nisu potrebne sve mogućnosti višeagentskog sustava. Primjerice, u našem primjeru zrakoplovnog agenta vjerojatno postoji tek ograničen broj vrsta zahtjeva koje korisnik zapravo želi uputiti sustavu korisničke podrške zrakoplovne tvrtke.

  • Budući da LLM sadržava više logike, znatno je podložniji jailbreak napadima i drugim oblicima zloupotrebe.

  • Odlučivanje apstrahira u LLM, pa je sustav teže razumjeti, iako alati za nadzor poput Langfusea ili Braintrusta mogu donekle pomoći.

Naše smjernice za projektiranje agentskih sustava

Napomena čitatelju: iako se mogućnosti modela brzo mijenjaju, malo je vjerojatno da će se preporuke u nastavku promijeniti u bliskoj budućnosti.

Shvatite koje su odluke potrebne u vašoj aplikaciji

Odredite opseg problema.

  • Možete li željenu logiku odlučivanja lako prikazati dijagramom?

  • Je li neuspjeh ili neočekivano ponašanje u vašoj aplikaciji neprihvatljivo?

Potvrdan odgovor na bilo koje od tih pitanja upućuje na to da bi značajke usmjerivača bile bolji izbor.

Najprije usmjerivač, a zatim hibridni pristupi

Kad god je moguće, preporučujemo što dulju primjenu pristupa s usmjerivačem. Opće je pravilo: ako se dio sustava može izraziti kodom, izrazite ga kodom, odnosno nemojte nepotrebno upotrebljavati LLM-ove.

Kada dosegnu svoja ograničenja, neke prednosti otvorenih orkestratora mogu se oponašati na kontroliran način. Primjerice:

  1. Odabir alata i predaja agentu: lako se implementiraju uvjetnim grananjem ili klasifikatorima LLM-a.

  2. Utvrđivanje dovršenosti: jednostavni klasifikatori LLM-a mogu provjeriti potpunost odgovora prije nego što ga pošalju korisniku.

Međutim, „planiranje” i „iterativno kombiniranje rezultata” nesumnjivo je mnogo teže ostvariti u krutom sustavu s usmjerivačem. Stoga, kada zadatak zahtijeva te mogućnosti, što utvrđuje klasifikator LLM-a ili neka druga logika, predlažemo stvaranje manje ograničene grane orkestratora u sustavu.

Zaključak i pogled u budućnost

Izbor između arhitekture usmjerivača i orkestratora treba odražavati jasnoću i složenost aplikacije te način interakcije. Pristupi temeljeni na usmjerivaču trenutačno pružaju pouzdanost, učinkovitost i jednostavno testiranje jasno definiranih zadataka. Orkestratori nude veću fleksibilnost za šire razgovorne interakcije.

Kako se LLM-ovi budu razvijali, ravnoteža između tih pristupa mogla bi se mijenjati. Za produkcijska opterećenja skloniji smo arhitekturama temeljenima na usmjerivaču ili hibridnim arhitekturama, dok orkestratore čuvamo za otvorene probleme koji zahtijevaju dinamičnu interakciju nalik ljudskoj.

Autor

Andrew Liubinas