Priklopljivo izvajanje kode v OpenAI Agents SDK

Zgodnji dostop do OpenAI Agents SDK kaže, kako priklopljivi peskovniki poenostavijo izvajanje kode pri različnih oddaljenih ponudnikih.

Povzetek za vodstvo

  • Vitkejša ogrodja in agenti, ki izvajajo kodo, so primernejši za odprte naloge, pri katerih lahko pretirano toga orkestracija omeji zmogljivost modela.

  • Zato sta izvajanje kode in uporaba peskovnikov zdaj osrednji arhitekturni vprašanji agentskih sistemov.

  • Agents SDK zmanjšuje kompleksnost in količino kode, potrebne za izdelavo agentov, ki izvajajo kodo – v naših preizkusih tudi do šestkrat.

Napredek agentskih sistemov je dolgo izhajal iz izboljševanja orkestracije: boljšega oblikovanja pozivov, vmesnikov za orodja, upravljanja konteksta in strožjega nadzora poteka. Toda z vse zmogljivejšimi programerskimi agenti se to ravnovesje začenja spreminjati.

Pri številnih odprtih delovnih tokovih ozko grlo ni več sama zanka agenta, temveč izvedbena plast: peskovnik, v katerem model piše kodo, izvaja ukaze, pregleduje rezultate in postopek ponavlja. Ko se vse več sklepanja na ravni naloge seli v to okolje, mora okoliška orkestracija postati preprostejša, da lahko model izrazi vse svoje zmožnosti.

Prav ta premik omogoča nova različica Agents SDK. Med preizkušanjem v okviru zgodnjega dostopa smo ugotovili, da ne dodaja nove plasti logike ogrodja, temveč izvedbeno plast naredi bolj modularno in sestavljivo, zato lahko preostanek sistema ostane vitek.

Premik

V inženirstvu ogrodij je postalo priljubljeno ogrodje skrčiti na najmanjšo še učinkovito obliko. Na splošno je ogrodje programska oprema okoli modela: plast, ki upravlja kontekst, orodja, potek nadzora in povratne zanke, da lahko model zanesljivo opravlja delo.

V zadnjih nekaj letih so številne izboljšave zmogljivosti agentov izhajale iz krepitve te plasti. Boljša orodja, pomnilnik in pridobivanje podatkov, bolj izrecna razčlenitev ter strožja orkestracija so sisteme pogosto naredili zanesljivejše in zmogljivejše. V tej paradigmi je napredek večinoma pomenil vključevanje vse več logike nalog v programsko opremo okoli modela.

Ta vzorec zdaj izgublja veljavo, vsaj pri nekaterih odprtih nalogah. Vse več projektov in člankov kaže, da se zmogljivost ne izboljša vedno, ko ogrodje postane bolj predpisujoče. Pri programiranju s pomočjo umetne inteligence, dolgotrajnih nalogah, uporabi brskalnika in nalogah z dolgim kontekstom se vedno znova pojavlja isti vzorec: ko je model dovolj inteligenten, lahko vsiljevanje prevelikega dela strukture naloge v okoliško programsko opremo postane omejitev namesto prednosti.

Vloga ogrodja se zato spreminja. Namesto vnaprejšnjega predvidevanja naloge s togo orkestracijo ogrodje vse bolj zagotavlja čisto izvedbeno okolje: peskovnik, v katerem lahko model pregleduje stanje, izvaja kodo, odpravlja napake in prilagaja svoj pristop, pri tem pa ostaja omejen z vmesniki in varovali sistema. To je podobno premiku, ki ga je Andrej Karpathy opisal v predavanju Software Engineer 3.0: del logike, ki je prej živel v programski opremi, se pomakne navzgor v »poziv«.

Sporočilo ni, da bi morali iz agentskih sistemov povsod odstraniti strukturo. Številnim nalogam še vedno koristijo izrecni delovni tokovi, hevristike in deterministična varovala, zlasti kadar je naloga ozko opredeljena, množična ali ima jasno merilo uspeha. Kot smo utemeljili v prejšnji objavi Hevristike za načrtovanje agentskih sistemov, je dobra orkestracija še vedno pomembna, kadar je zanesljiv logični potek mogoč in zaželen.

Pri odprtih nalogah pa se poudarek premika. Izziv ni več toliko v snovanju vse bolj dovršenih orkestracijskih plasti, temveč v izdelavi izvedbenih okolij, ki so dovolj preprosta, pregledna in modularna, da lahko model v njih učinkovito deluje.

Prenos kompleksnosti iz ogrodja v izvedbeno plast

Ko lahko agent bere datoteke, piše kodo, izvaja ukaze lupine in zaganja dolgotrajne naloge, se inženirski izziv spremeni. Najtežji del ni več zgolj optimizacija poziva ali usmerjanje orodij. Ker agent zdaj deluje v resničnem sistemu, so ti agenti bistveno zmogljivejši, a tudi občutljivejši, saj povečujejo površino varnostnih tveganj. Agent, ki lahko izvaja kodo, lahko na primer povzroči škodo, če njegovo okolje ni ustrezno izolirano (glejte preizkus Sandbox Bench organizacije AISI).

Uporaba peskovnikov zato postaja ključno vprašanje agentskih ogrodij. V prejšnjih sistemih je bilo izvajanje pogosto obravnavano kot dodatek: orodje, naknadno pritrjeno na ogrodje. Ko pa izvajanje začne ohranjati stanje, traja dlje časa ali poteka oddaljeno, ta pristop ne zadošča več. Upravljanje peskovnika, njegovega življenjskega cikla, stanja in vmesnikov ter povezovanje z zanko agenta hitro postane samostojen problem načrtovanja sistema. To je eden od razlogov, da vse več ponudnikov ponuja upravljana okolja za izvajanje kode, med drugim OpenAI Container API in orodje lupine, Modal, Cloudflare, Daytona, E2B in druge.

Ta meja je pomembna, ker izvajanje kode zahteva močnejšo izolacijo in strožji nadzor izvajalnega okolja kot preostanek ogrodja. Slabo izvedeni agenti, ki izvajajo kodo, lahko v praksi povzročijo tri poslovno kritična tveganja: nenadzorovane stroške računske zmogljivosti, uničujoča dejanja v notranjih sistemih in razkritje občutljivih podatkov. Z ustrezno uporabo vsebnikov, izolacijo in varovali izvajalnega okolja je mogoče ta tveganja omejiti na raven, sprejemljivo za uporabo v praksi.

To si lahko predstavljamo tako, da agentu namesto ključev celotne pisarne dodelimo njegov lasten zapečaten delovni prostor. V njem lahko še vedno opravlja koristno delo, vendar le znotraj jasno določenih meja. Omejite lahko količino uporabljene računske zmogljivosti, določite, do katerih sistemov in datotek sme dostopati, ter nadzirate, katere informacije so mu sploh na voljo.

S tem tveganja ne odpravimo povsem, vendar se problem spremeni iz »agenta, ki se prosto giblje po vaši infrastrukturi«, v »agenta, ki deluje v nadzorovanem okolju«. Če naj ta plast postane standardni del agentskih sistemov, mora biti v samem ogrodju obravnavana kot prvovredna funkcionalnost. Peskovnik tako postane modularna izvedbena plast s prenosljivimi gradniki, ki jih lahko razvijalci hitro uvedejo, zamenjajo med ponudniki in razširjajo brez nenehnega predelovanja logike agenta.

Zakaj agentska ogrodja potrebujejo boljšo podporo za to

Ko agent izvaja kodo, je treba orkestrirati tudi sam peskovnik. Prehod z lokalnega dokaznega prototipa na oddaljeno izvajanje, več zalednih sistemov ali dolgotrajne seje eksponentno poveča operativno breme. Potrebujete dosleden način za ustvarjanje in ustavljanje okolij, njihovo začasno ustavitev in nadaljevanje, izdelavo posnetkov stanja, poznejšo ponovno povezavo ter upravljanje vsega tega pri različnih ponudnikih.

Nič od tega ni posebej privlačno v teoriji, vendar je v praksi pomembno. Prav takšna infrastruktura povzroča težave, kadar vsaka ekipa agentski cevovod zgradi povsem na novo, zlasti če ta ni vključen v agentsko ogrodje …

Tu postane pomembna boljša podpora ogrodja. Dobili smo zgodnji dostop do novejšega OpenAI Agents SDK in z njim sami izdelali agente v peskovnikih. Izstopal je premik arhitekturnega poudarka: SDK izvajanje obravnava kot prvovredno plast in ne kot obrobno orodje. V praksi to pomeni, da lahko z manj kode zaženete agenta v peskovniku, ustvarite posnetek peskovnika ali nadaljujete izvajanje – v nekaterih naših preizkusih s približno šestkrat manj kode – nato pa zamenjate zaledni sistem, ne da bi prepisali okoliško logiko agenta.

Ta jasnejša ločitev odgovornosti omogoča, da se ogrodje osredotoči na sklepanje, kontekst in delovni tok. Izvedbena plast pa se lahko osredotoči na izolacijo, prenosljivost in stanje izvajalnega okolja. Ta abstrakcija olajša izdelavo programerskih agentov, ki so zmogljivejši in jih je lažje razvijati naprej, lahko prehajajo med lokalnim in oddaljenim izvajanjem, podpirajo dolgotrajnejše naloge ter zamenjajo izvedbene zaledne sisteme brez preoblikovanja celotnega sistema.

Ključna ugotovitev

Ko se vse več logike na ravni naloge seli iz ogrodja v model, se z njo del kompleksnosti sistema preseli nižje, v izvedbeno plast. Izvajanje kode in uporaba peskovnikov sta zdaj osrednji arhitekturni vprašanji agentskih sistemov, zlasti pri odprtih nalogah, ki vključujejo veliko programiranja. Načrtovanje agentskega cevovoda je zdaj enako pomembno kot načrtovanje okolja, v katerem lahko agent varno, zanesljivo in dolgotrajno deluje.

Zato so abstrakcije višje ravni za izvajanje v peskovniku pomembne. Novejši OpenAI Agents SDK gre v to smer, saj izvajanje obravnava kot modularno plast sistema: prenosljivo med zalednimi sistemi, z ohranjanjem stanja pri dolgotrajnih nalogah in dovolj preprosto za uporabo, da ni treba za vsako novo postavitev znova graditi iste infrastrukture.

Splošnejši nauk je, da naslednje generacije agentskih ogrodij verjetno ne bo toliko določala količina dodane orkestracijske logike, temveč kakovost zasnove izvedbenih okolij, od katerih so agenti vse bolj odvisni.

Avtor

Romain Bourboulou