Strukturat më të lehta dhe agjentët që ekzekutojnë kod janë më të përshtatshëm për detyra të hapura, ku orkestrimi tepër i ngurtë mund të kufizojë performancën e modelit.
Për rrjedhojë, ekzekutimi i kodit dhe izolimi në sandbox janë tashmë çështje thelbësore arkitekturore për sistemet me agjentë.
Agents SDK ul deri në 6 herë kompleksitetin dhe sasinë e kodit që nevojitet për të ndërtuar agjentë që ekzekutojnë kod, sipas testeve tona.
Për një kohë të gjatë, përparimi në sistemet me agjentë erdhi nga përmirësimi i orkestrimit: kërkesa më të mira, ndërfaqe më të mira të mjeteve, menaxhim i kontekstit dhe rrjedhë kontrolli më e rreptë. Por, ndërsa agjentët e programimit bëhen më të aftë, ky ekuilibër po fillon të ndryshojë.
Në shumë procese pune të hapura, pengesa kryesore nuk është më vetë cikli i agjentit, por shtresa e ekzekutimit: sandbox-i ku modeli shkruan kod, ekzekuton komanda, shqyrton rezultatet dhe e përsërit procesin. Ndërsa më shumë arsyetim në nivel detyre zhvendoset në atë mjedis, orkestrimi përreth duhet të thjeshtohet, në mënyrë që modeli të shfaqë aftësitë e tij të plota.
Kjo është pikërisht ajo që mundëson versioni i ri i Agents SDK. Gjatë testimit në fazën e qasjes së hershme, zbuluam se, në vend që të shtojë një shtresë tjetër logjike të platformës, ai e bën shtresën e ekzekutimit më modulare dhe të kombinueshme, duke lejuar që pjesa tjetër e sistemit të mbetet e lehtë.
Në inxhinierinë e strukturës është bërë prirje që struktura të reduktohet në formën minimale që funksionon. Në vija të përgjithshme, struktura është softueri rreth modelit: shtresa që menaxhon kontekstin, mjetet, rrjedhën e kontrollit dhe ciklet e reagimit, në mënyrë që modeli të kryejë punë me besueshmëri.
Gjatë viteve të fundit, shumë përmirësime në performancën e agjentëve erdhën nga fuqizimi i kësaj shtrese. Mjete më të mira, memorie dhe marrje informacioni më të mira, zbërthim më i qartë dhe orkestrimi më i rreptë shpesh i bënë sistemet më të besueshme dhe më të afta. Në këtë paradigmë, përparimi nënkuptonte kryesisht përfshirjen e më shumë logjike të detyrës në softuerin përreth modelit.
Tani kjo prirje po dobësohet, të paktën për një kategori detyrash të hapura. Një numër në rritje projektesh dhe punimesh sugjerojnë se performanca nuk përmirësohet gjithmonë kur struktura bëhet më urdhëruese. Në programimin me asistencë, detyrat afatgjata, përdorimin e shfletuesit dhe detyrat me kontekst të gjatë, përsëritet e njëjta prirje: sapo modeli të jetë mjaftueshëm inteligjent, imponimi i një strukture të tepruar të detyrës në softuerin përreth mund të kthehet në kufizim dhe jo në përparësi.
Prandaj, roli i strukturës po ndryshon. Në vend që të përpiqet ta parashikojë detyrën nëpërmjet orkestrimit të ngurtë, struktura po shërben gjithnjë e më shumë për të ofruar një mjedis të pastër ekzekutimi: një sandbox ku modeli mund të shqyrtojë gjendjen, të ekzekutojë kod, të rikuperohet nga gabimet dhe të përshtatë qasjen e vet, duke mbetur brenda ndërfaqeve dhe masave mbrojtëse të sistemit. Kjo i ngjan ndryshimit që Andrej Karpathy përshkroi në Software Engineer 3.0: një pjesë e logjikës që më parë ndodhej në softuer zhvendoset më lart, te «kërkesa».
Mësimi nuk është se sistemet me agjentë duhet ta heqin strukturën kudo. Shumë detyra ende përfitojnë nga procese të qarta pune, heuristika dhe masa mbrojtëse përcaktuese, veçanërisht kur detyra është e kufizuar, ka vëllim të lartë ose ka një kriter të qartë suksesi. Siç argumentuam në shkrimin tonë të mëparshëm mbi Heuristikat për projektimin e sistemeve me agjentë, orkestrimi i fuqishëm mbetet i rëndësishëm kur një rrjedhë e besueshme logjike është edhe e mundur, edhe e dëshirueshme.
Për detyrat e hapura, fokusi po ndryshon. Sfida lidhet më pak me projektimin e shtresave gjithnjë e më të ndërlikuara të orkestrimit dhe më shumë me krijimin e mjediseve të ekzekutimit që janë aq të thjeshta, të vëzhgueshme dhe modulare sa modeli të punojë me efikasitet brenda tyre.
Sapo një agjent të mund të lexojë skedarë, të shkruajë kod, të ekzekutojë komanda shell dhe të nisë detyra afatgjata, sfida inxhinierike ndryshon. Pjesa e vështirë nuk është më vetëm optimizimi i kërkesës ose drejtimi te mjetet e duhura. Fakti që agjenti tani vepron në një sistem real i bën këta agjentë shumë më të fuqishëm, por edhe më delikatë, pasi zgjerojnë sipërfaqen e rreziqeve të sigurisë. Për shembull, një agjent që mund të ekzekutojë kod mund të ndërmarrë veprime të dëmshme nëse mjedisi i tij nuk është izoluar mirë (shihni Sandbox Bench nga AISI).
Prandaj, izolimi në sandbox po bëhet një çështje kritike në platformat e agjentëve. Në sistemet e mëparshme, ekzekutimi shpesh trajtohej si shtesë: një mjet i bashkëngjitur strukturës. Por kjo qasje fillon të dështojë sapo ekzekutimi të ruajë gjendjen, të zgjasë në kohë ose të kryhet në distancë. Menaxhimi i vetë sandbox-it, i ciklit të tij jetësor, gjendjes, ndërfaqeve dhe integrimit të tij me ciklin e agjentit kthehet shpejt në një problem më vete të projektimit të sistemit. Kjo është një nga arsyet pse gjithnjë e më shumë ofrues po ofrojnë mjedise të menaxhuara për ekzekutimin e kodit, duke përfshirë Container API dhe mjetin shell të OpenAI, Modal, Cloudflare, Daytona, E2B etj.
Kjo ndarje është e rëndësishme, sepse ekzekutimi i kodit kërkon izolim më të fortë dhe kontroll më të rreptë gjatë ekzekutimit sesa pjesa tjetër e strukturës. Në praktikë, agjentët që ekzekutojnë kod, kur zbatohen keq, mund të sjellin tri rreziqe kritike për biznesin: shpenzime të pakontrolluara informatike, veprime shkatërruese në sistemet e brendshme dhe ekspozim të informacionit të ndjeshëm. Me kontejnerizimin, izolimin dhe masat e duhura mbrojtëse gjatë ekzekutimit, këto rreziqe mund të kufizohen në një nivel të pranueshëm për zbatime reale.
Një mënyrë për ta kuptuar është të imagjinoni sikur agjentit i jepni hapësirën e vet të izoluar të punës, në vend të çelësave të të gjithë zyrës. Ai mund të kryejë punë të dobishme brenda asaj hapësire, por vetëm brenda kufijve të përcaktuar qartë. Mund të caktoni një kufi për burimet informatike që përdor, të kufizoni sistemet dhe skedarët ku mund të ketë qasje dhe të kontrolloni që në fillim se çfarë informacioni i vihet në dispozicion.
Kjo nuk e eliminon plotësisht rrezikun, por e shndërron problemin nga «një agjent i pakontrolluar në infrastrukturën tuaj» në «një agjent që vepron brenda një mjedisi të kontrolluar». Nëse kjo shtresë do të bëhet pjesë standarde e sistemeve me agjentë, duhet të mbështetet drejtpërdrejt nga vetë platforma. Kështu, sandbox-i bëhet një shtresë modulare ekzekutimi me elemente bazë portative, të cilat zhvilluesit mund t'i përdorin shpejt, t'i ndërrojnë mes ofruesve dhe t'i shkallëzojnë pa ripunuar vazhdimisht logjikën e agjentit.
Sapo një agjent të ekzekutojë kod, edhe vetë sandbox-i ka nevojë për orkestrimin e vet. Kalimi nga një provë lokale koncepti te ekzekutimi në distancë, sistemet e shumta mbështetëse ose seancat afatgjata e rrit në mënyrë eksponenciale barrën operative. Nevojitet një mënyrë e njëtrajtshme për të krijuar mjedise, për t'i ndaluar, ndërprerë dhe rifilluar, për të ruajtur pamje të gjendjes, për t'u rilidhur më vonë dhe për t'i menaxhuar të gjitha këto te ofrues të ndryshëm.
Asgjë nga këto nuk duket veçanërisht tërheqëse në teori, por ka rëndësi në praktikë. Kjo është pikërisht ajo lloj infrastrukture që bëhet e mundimshme kur çdo ekip e rindërton nga e para një linjë procesi me agjentë, sidomos kur ajo nuk është e integruar në platformën e agjentëve…
Pikërisht këtu bëhet e rëndësishme mbështetja më e mirë nga platforma. Patëm qasje të hershme në OpenAI Agents SDK më të ri dhe e përdorëm për të ndërtuar vetë agjentë të izoluar në sandbox. Ajo që binte në sy ishte ndryshimi i theksit arkitekturor: SDK-ja e trajton ekzekutimin si shtresë parësore dhe jo si mjet anësor. Në praktikë, kjo do të thotë se mund të nisni një agjent të izoluar në sandbox, të ruani një pamje të sandbox-it ose të rifilloni ekzekutimin me më pak kod (rreth 6 herë më pak në disa nga testet tona), pastaj të ndërroni sistemin mbështetës pa rishkruar logjikën përreth agjentit.
Kjo ndarje më e qartë e përgjegjësive i lejon strukturës të përqendrohet tek arsyetimi, konteksti dhe procesi i punës. Shtresa e ekzekutimit mund të përqendrohet tek izolimi, transportueshmëria dhe gjendja gjatë ekzekutimit. Ky abstraksion e lehtëson ndërtimin e agjentëve të programimit që janë njëkohësisht më të aftë dhe më të lehtë për t'u zhvilluar më tej, që mund të kalojnë mes ekzekutimit lokal dhe atij në distancë, të mbështesin detyra më afatgjata dhe të ndryshojnë sistemet mbështetëse të ekzekutimit pa kërkuar riprojektimin e gjithë sistemit.
Ndërsa më shumë logjikë në nivel detyre zhvendoset nga struktura te modeli, bashkë me të zhvendoset edhe një pjesë e kompleksitetit të sistemit, drejt shtresës së ekzekutimit. Ekzekutimi i kodit dhe izolimi në sandbox janë tashmë çështje thelbësore arkitekturore për sistemet me agjentë, veçanërisht për detyrat e hapura dhe ato që përfshijnë shumë programim. Tani projektimi i mjedisit ku agjenti mund të veprojë në mënyrë të sigurt, të besueshme dhe për një kohë të gjatë është po aq i rëndësishëm sa projektimi i linjës së procesit me agjentë.
Kjo është arsyeja pse kanë rëndësi abstraksionet e nivelit më të lartë për ekzekutimin e izoluar në sandbox. Versioni më i ri i OpenAI Agents SDK ecën në këtë drejtim duke e trajtuar ekzekutimin si një shtresë modulare të sistemit: të transferueshme mes sistemeve mbështetëse, me gjendje të ruajtur gjatë detyrave afatgjata dhe mjaftueshëm të thjeshtë për t'u përdorur pa rindërtuar të njëjtën infrastrukturë për çdo konfigurim të ri.
Mësimi më i gjerë është se brezi i ardhshëm i platformave të agjentëve ka të ngjarë të përcaktohet më pak nga sasia e logjikës së orkestrimit që shtojnë dhe më shumë nga cilësia e strukturimit të mjediseve të ekzekutimit, nga të cilat varen gjithnjë e më shumë agjentët.