Vienkāršāki izpildes ietvari un aģenti, kas izpilda kodu, ir labāk piemēroti atvērtiem uzdevumiem, kuros pārlieku stingra orķestrācija var ierobežot modeļa veiktspēju.
Tādēļ koda izpilde un smilškastes izolācija tagad ir būtiski aģentu sistēmu arhitektūras aspekti.
Mūsu testos Agents SDK līdz pat sešām reizēm samazināja sarežģītību un koda apjomu, kas nepieciešams koda izpildes aģentu izveidei.
Ilgu laiku aģentu sistēmu attīstību virzīja orķestrācijas uzlabojumi: labāka uzvedņu veidošana, rīku saskarnes, konteksta pārvaldība un stingrāka vadības plūsma. Taču, programmēšanas aģentiem kļūstot spējīgākiem, šis līdzsvars sāk mainīties.
Daudzās atvērtās darbplūsmās šaurā vieta vairs nav pats aģenta cikls, bet gan izpildes slānis — smilškaste, kurā modelis raksta kodu, izpilda komandas, pārbauda rezultātus un atkārto procesu. Arvien lielākai daļai uzdevuma spriestspējas pārceļoties uz šo vidi, apkārtējai orķestrācijai jākļūst vienkāršākai, lai modelis varētu pilnībā izmantot savas spējas.
Tieši šādu pāreju nodrošina jaunā Agents SDK versija. Testējot agrīnās piekļuves laikā, konstatējām, ka vēl viena ietvara loģikas slāņa vietā tas izpildes slāni padara modulārāku un kombinējamāku, lai pārējā sistēma varētu palikt vienkārša.
Izpildes ietvaru izstrādē ir kļuvis populāri vienkāršot ietvaru līdz tā minimālajai efektīvajai formai. Vispārīgi izpildes ietvars ir programmatūra ap modeli — slānis, kas pārvalda kontekstu, rīkus, vadības plūsmu un atgriezeniskās saites ciklus, lai modelis varētu uzticami veikt darbu.
Pēdējos gados daudzus aģentu veiktspējas uzlabojumus nodrošināja šī slāņa pilnveide. Labāki rīki, atmiņa un informācijas izgūšana, skaidrāka uzdevumu sadalīšana un stingrāka orķestrācija bieži padarīja sistēmas uzticamākas un spējīgākas. Šajā paradigmā attīstība lielākoties nozīmēja arvien plašākas uzdevuma loģikas iestrādi programmatūrā ap modeli.
Tagad šī tendence vājinās, vismaz noteiktai atvērtu uzdevumu grupai. Arvien vairāk projektu un publikāciju liecina, ka izpildes ietvara stingrāki priekšraksti ne vienmēr uzlabo veiktspēju. Programmēšanā ar asistenta palīdzību, ilgstošos uzdevumos, pārlūka lietošanā un gara konteksta uzdevumos atkārtoti parādās viena un tā pati tendence: kad modelis ir pietiekami inteliģents, pārmērīgi stingra uzdevuma strukturēšana apkārtējā programmatūrā var kļūt par ierobežojumu, nevis priekšrocību.
Tādēļ izpildes ietvara loma mainās. Tā vietā, lai ar stingru orķestrāciju jau iepriekš paredzētu uzdevuma norisi, izpildes ietvars arvien biežāk nodrošina skaidru izpildes vidi — smilškasti, kurā modelis var pārbaudīt stāvokli, izpildīt kodu, atkopties pēc kļūdām un pielāgot savu pieeju, vienlaikus darbojoties sistēmas saskarņu un aizsargmehānismu noteiktajās robežās. Šī pāreja līdzinās tai, ko Andrejs Karpatijs aprakstīja lekcijā «Software Engineer 3.0»: daļa loģikas, kas iepriekš atradās programmatūrā, pārceļas augstāk — uz «uzvedni».
Tas nenozīmē, ka aģentu sistēmām visur jāatsakās no struktūras. Daudzos uzdevumos joprojām noder skaidri noteiktas darbplūsmas, heiristikas un determinēti aizsargmehānismi, īpaši tad, ja uzdevums ir šauri definēts, veicams lielā apjomā vai tam ir skaidrs sekmīga iznākuma kritērijs. Kā norādījām iepriekšējā rakstā «Aģentu sistēmu projektēšanas heiristikas», efektīva orķestrācija joprojām ir svarīga, ja uzticama loģikas plūsma ir gan iespējama, gan vēlama.
Atvērtu uzdevumu gadījumā prioritātes mainās. Izaicinājums vairs nav veidot arvien sarežģītākus orķestrācijas slāņus, bet gan radīt pietiekami vienkāršas, pārskatāmas un modulāras izpildes vides, kurās modelis var efektīvi strādāt.
Kad aģents spēj lasīt failus, rakstīt kodu, izpildīt čaulas komandas un sākt ilgstošus uzdevumus, mainās arī inženiertehniskais izaicinājums. Grūtākais vairs nav tikai uzvednes optimizācija vai rīku maršrutēšana. Darbošanās reālā sistēmā padara šos aģentus ievērojami spējīgākus, bet arī riskantākus, jo palielinās drošības un aizsardzības risku tvērums. Piemēram, aģents, kas spēj izpildīt kodu, var veikt kaitīgas darbības, ja tā vide nav pienācīgi izolēta (skatiet AISI etalontestu Sandbox Bench).
Tādēļ smilškastes izolācija kļūst par kritiski svarīgu aģentu ietvaru aspektu. Agrākās sistēmās izpildi bieži uzskatīja par papildinājumu — izpildes ietvaram pievienotu rīku. Taču šāda pieeja vairs nedarbojas, kad izpilde sāk saglabāt stāvokli, ilgst ilgi vai notiek attāli. Smilškastes, tās dzīves cikla, stāvokļa, saskarņu un sasaistes ar aģenta ciklu pārvaldība ātri kļūst par atsevišķu sistēmas projektēšanas problēmu. Tas ir viens no iemesliem, kādēļ arvien vairāk pakalpojumu sniedzēju piedāvā pārvaldītas koda izpildes vides, tostarp OpenAI Container API un čaulas rīku, kā arī Modal, Cloudflare, Daytona, E2B un citus risinājumus.
Šis nodalījums ir svarīgs, jo koda izpildei nepieciešama stingrāka izolācija un izpildlaika kontrole nekā pārējam izpildes ietvaram. Praksē slikti īstenoti koda izpildes aģenti var radīt trīs uzņēmējdarbībai kritiskus riskus: nekontrolētus skaitļošanas izdevumus, destruktīvas darbības iekšējās sistēmās un sensitīvas informācijas noplūdi. Izmantojot pienācīgu konteinerizāciju, izolāciju un izpildlaika aizsargmehānismus, šos riskus var ierobežot līdz reālai ieviešanai pieņemamam līmenim.
To var iztēloties kā aģentam piešķirtu, izolētu darba telpu, nevis visa biroja atslēgas. Šajā telpā tas joprojām var veikt lietderīgu darbu, taču tikai skaidri noteiktās robežās. Var ierobežot tā izmantotos skaitļošanas resursus, noteikt, kurām sistēmām un failiem tas drīkst piekļūt, un kontrolēt, kāda informācija tam vispār ir pieejama.
Tas risku pilnībā nenovērš, taču problēmu «aģents brīvi darbojas jūsu infrastruktūrā» pārvērš par «aģents darbojas kontrolētā vidē». Ja šis slānis kļūs par aģentu sistēmu standarta daļu, pašam ietvaram tas jāatbalsta kā pilnvērtīga pamatfunkcija. Tādējādi smilškaste kļūst par modulāru izpildes slāni ar pārnesamiem pamatkomponentiem, kurus izstrādātāji var ātri ieviest, mainīt starp pakalpojumu sniedzējiem un mērogot, pastāvīgi nepārstrādājot aģenta loģiku.
Kad aģents izpilda kodu, jāorķestrē arī pati smilškaste. Pāreja no lokāla koncepcijas apliecinājuma uz attālu izpildi, vairākām aizmugursistēmām vai ilgstošām sesijām eksponenciāli palielina ekspluatācijas slogu. Ir vajadzīgs vienots veids, kā izveidot un apturēt vides, tās pauzēt un atsākt, veidot stāvokļa momentuzņēmumus, vēlāk atjaunot savienojumu un to visu pārvaldīt pie dažādiem pakalpojumu sniedzējiem.
Konceptuāli tajā nav nekā aizraujoša, taču praksē tas ir svarīgi. Tieši šāda infrastruktūra sagādā grūtības, ja katra komanda no jauna veido aģentu konveijeru, jo īpaši tad, ja tas nav integrēts aģentu ietvarā…
Šeit būtisks kļūst labāks ietvara atbalsts. Mēs ieguvām agrīnu piekļuvi jaunākajam OpenAI Agents SDK un izmantojām to, lai paši izveidotu smilškastēs izolētus aģentus. Īpaši izcēlās arhitektūras uzsvara maiņa: SDK izpildi uzskata par pilnvērtīgu pamatslāni, nevis perifēru rīku. Praksē tas nozīmē, ka ar mazāku koda apjomu var palaist smilškastē izolētu aģentu, izveidot smilškastes momentuzņēmumu vai atsākt izpildi (dažos mūsu testos koda bija aptuveni sešas reizes mazāk) un pēc tam mainīt aizmugursistēmu, nepārrakstot apkārtējo aģenta loģiku.
Šāds skaidrāks atbildības sadalījums ļauj izpildes ietvaram koncentrēties uz spriestspēju, kontekstu un darbplūsmu. Savukārt izpildes slānis var koncentrēties uz izolāciju, pārnesamību un izpildlaika stāvokli. Šī abstrakcija atvieglo tādu programmēšanas aģentu izveidi, kuri ir gan spējīgāki, gan vieglāk pilnveidojami, var pāriet starp lokālu un attālu izpildi, atbalsta ilgstošākus uzdevumus un ļauj mainīt izpildes aizmugursistēmas, nepārveidojot visu sistēmu.
Arvien lielākai uzdevuma loģikas daļai pārceļoties no izpildes ietvara uz modeli, tai seko arī daļa sistēmas sarežģītības — lejup uz izpildes slāni. Koda izpilde un smilškastes izolācija tagad ir būtiski aģentu sistēmu arhitektūras aspekti, īpaši atvērtos uzdevumos un uzdevumos ar lielu programmēšanas apjomu. Tagad ir vienlīdz svarīgi izstrādāt gan aģentu konveijeru, gan vidi, kurā aģents laika gaitā var darboties droši un uzticami.
Tādēļ ir svarīgas augstāka līmeņa abstrakcijas smilškastē izolētai izpildei. Jaunākais OpenAI Agents SDK virzās šajā virzienā, izpildi uzskatot par modulāru sistēmas slāni: tas ir pārnesams starp aizmugursistēmām, saglabā stāvokli ilgstošos uzdevumos un ir pietiekami vienkārši lietojams, lai katrai jaunai konfigurācijai nebūtu no jauna jāveido tā pati infrastruktūra.
Plašākā atziņa ir tāda, ka nākamās paaudzes aģentu ietvarus, visticamāk, noteiks nevis pievienotās orķestrācijas loģikas apjoms, bet gan tas, cik labi tie strukturē izpildes vides, no kurām aģenti kļūst arvien atkarīgāki.