Naċċelleraw il-workflows tal-aġent b’WebSockets fir-Responses API
Minn Brian Yu u Ashwin Nathan, Membri tal-Persunal Tekniku
Meta titlob lil Codex jirranġa bug, jiskennja l-codebase tiegħek għal fajls rilevanti, jaqrahom biex jibni kuntest, jagħmel editjar, u jmexxi tests biex jivverifika li t-tiswija ħadmet. Fil-prattika, dan ifisser għexieren ta’ talbiet Responses API ‘l quddiem u lura: jiddetermina l-azzjoni li jmiss tal-mudell, iħaddem għodda fuq il-kompjuter tiegħek, jibgħat l-output tal-għodda lura lill-API, u jirrepeti.
Dawn it-talbiet kollha jistgħu jammontaw għal minuti li l-utenti jqattgħu jistennew lil Codex itemm kompiti kumplessi. Mill-perspettiva tal-latenza, il-loop tal-aġent Codex tqatta’ ħafna mill-ħin tagħha fi tliet stadji ewlenin: jaħdem fis-servizzi tal-API (biex jivvalida u jipproċessa t-talbiet), inferenza tal-mudell, u ħin min-naħa tal-klijent (it-tħaddim tal-għodod u l-bini tal-kuntest tal-mudell). L-inferenza hija l-istadju fejn il-mudell jaħdem fuq GPUs biex jiġġenera tokens ġodda. Fil-passat, it-tħaddim ta’ inferenza LLM fuq GPUs kien l-aktar parti bil-mod tal-loop tal-aġent, għalhekk l-overhead tas-servizz tal-API kien faċli tinħeba. Hekk kif l-inferenza ssir aktar veloċi, l-overhead akkumulat tal-API minn rollout ta’ aġent isir ħafna aktar notevoli.
F’din il-kariga, se nispjegaw kif għamilna l-loops tal-aġent li jużaw l-API 40% aktar veloċi minn tarf sa tarf, u ħallejna lill-utenti jesperjenzaw il-qabża fil-veloċità tal-inferenza minn 65 għal kważi 1,000 token kull sekonda. Avviċinajna dan permezz ta’ caching, l-eliminazzjoni ta’ network hops mhux meħtieġa, it-titjib tal-istack tas-sikurezza tagħna biex jimmarka malajr problemi, u—l-aktar importanti—il-bini ta’ mod biex tinħoloq konnessjoni persistenti mar-Responses API, minflok ma jkollok tagħmel sensiela ta’ sejħiet sinkroni tal-API.

Fir-Responses API, mudelli flagship preċedenti bħal GPT‑5 u GPT‑5.2 kienu jaħdmu b’madwar 65 token kull sekonda (TPS). Għat-tnedija ta’ GPT‑5.3‑Codex‑Spark, mudell veloċi għall-kodifikazzjoni, il-mira tagħna kienet ordni ta’ kobor aktar veloċi: aktar minn 1,000 TPS, possibbli permezz ta’ ħardwer speċjalizzat ta’ Cerebras ottimizzat għal inferenza LLM. Biex niżguraw li l-utenti setgħu jesperjenzaw il-veloċità vera ta’ dan il-mudell ġdid, kellna nnaqqsu l-overhead tal-API.
Madwar Novembru tal-2025, bdejna sprint ta’ prestazzjoni fuq ir-Responses API, u daħħalna ħafna ottimizzazzjonijiet fil-latenza tal-critical path għal talba waħda:
- Caching ta’ tokens irrenderjati u konfigurazzjoni tal-mudell fil-memorja biex naqbżu tokenizzazzjoni għalja u sejħiet tan-network għal tweġibiet multi-turn
- Tnaqqis tal-latenza tan-network hop billi neħħejna sejħiet lil servizzi intermedji (pereżempju, ir-riżoluzzjoni tal-ipproċessar tal-immaġni) u sejjaħna direttament lis-servizz tal-inferenza nnifsu
- Titjib tal-istack tas-sikurezza tagħna biex stajna nħaddmu ċerti classifiers biex jimmarkaw konversazzjonijiet aktar malajr
B’dawn it-titjibiet, rajna kważi 45% titjib fil-ħin sal-ewwel token (TTFT)—li jirrifletti kemm tħossok reattiva l-API—iżda dawn it-titjibiet xorta ma kinux veloċi biżżejjed għal GPT‑5.3‑Codex‑Spark. Anke b’dawn it-titjibiet, l-overhead tar-Responses API kien kbir wisq meta mqabbel mal-veloċità tal-mudell—jiġifieri, l-utenti kellhom jistennew għaċ-CPUs li jmexxu l-API tagħna qabel ma setgħu jużaw il-GPUs li jservu l-mudell.
Il-kwistjoni aktar profonda kienet strutturali: ittrattajna kull talba ta’ Codex bħala indipendenti, u pproċessajna l-istat tal-konversazzjoni u kuntest ieħor li jista’ jerġa’ jintuża f’kull talba ta’ segwitu. Anke meta l-biċċa l-kbira tal-konversazzjoni ma tkunx inbidlet, xorta ħallasna għal xogħol marbut mal-istorja kollha. Hekk kif il-konversazzjonijiet saru itwal, dak l-ipproċessar ripetut sar aktar għali.
Biex nissikkaw id-disinn, erġajna ħsibna l-protokoll tat-trasport: stajna nżommu konnessjoni persistenti u nżommu stat fil-cache, minflok nistabbilixxu konnessjoni ġdida fuq HTTP u nibagħtu l-istorja sħiħa tal-konversazzjoni għal kull talba ta’ segwitu? L-idea kienet li nibagħtu biss kwalunkwe informazzjoni ġdida li teħtieġ validazzjoni u pproċessar u nżommu stat li jista’ jerġa’ jintuża fil-memorja għat-tul tal-konnessjoni. Dan inaqqas l-overhead minn xogħol ridondanti.
Qisna ftit approċċi differenti, inklużi WebSockets u gRPC bidirectional streaming. Għażilna WebSockets għaliex, bħala protokoll sempliċi għat-trasport tal-messaġġi, l-utenti ma kellhomx għalfejn ibiddlu l-forom tal-input u l-output tagħhom tar-Responses API. Kien faċli għall-iżviluppaturi u kien jaqbel mal-arkitettura eżistenti tagħna bi ftit tfixkil.
L-ewwel prototip ta’ WebSocket biddel dak li ħsibna li kien possibbli għal-latenza tar-Responses API. Inġinier fit-tim ta’ Codex b’għarfien profond madwar l-istack kollu tal-API ġabar prototip billi ħaddem aġent Codex matul il-lejl.
F’dak il-prototip, rollouts agentiċi ġew immudellati bħala Response waħda li ddum taħdem. Bl-użu ta’ karatteristiċi ta’ asyncio, ir-Responses API kienet timblokka b’mod asinkronu fil-loop tas-sampling wara li kien ġie sampled tool call, u r-Responses API kienet tibgħat avveniment response.done lura lill-klijent. Wara li jeżegwixxu t-tool call, il-klijenti kienu jibagħtu lura avveniment response.append bir-riżultat tal-għodda, li jneħħi l-imblukkar tal-loop tas-sampling u jħalli l-mudell ikompli.
Analoġija hawnhekk hija li tittratta t-tool call lokali bħal tool call hosted. Meta l-mudell isejjaħ web search, il-loop tal-inferenza timblokka, issejjaħ servizz ta’ web search, u ddaħħal ir-rispons tas-servizz fil-kuntest tal-mudell. Fid-disinn tagħna, għamilna l-istess ħaġa; imma minflok insejħu servizz remot, bgħatna t-tool call tal-mudell lill-klijent lura fuq il-WebSocket. Meta l-klijent wieġeb, daħħalna r-rispons tat-tool call tal-klijent fil-kuntest u komplejna s-sampling.
Dan id-disinn kien effettiv ħafna għax elimina xogħol ripetut tal-API tul rollout ta’ aġent. Stajna nagħmlu xogħol ta’ qabel l-inferenza darba, nieqfu għall-eżekuzzjoni tal-għodda, u nagħmlu xogħol ta’ wara l-inferenza darba fl-aħħar.
Sfortunatament, dan ġie bi prezz ta’ forma tal-API inqas familjari u aktar ikkumplikata. Ridna li l-iżviluppaturi jkunu jistgħu jdaħħlu appoġġ għal WebSocket mingħajr ma jkollhom jiktbu mill-ġdid l-integrazzjoni tal-API tagħhom madwar mod ġdid ta’ interazzjoni.
Għall-verżjoni li neddejna, biddilna lura għal forma familjari: kompli uża response.create bl-istess body, u uża previous_response_id biex tkompli l-kuntest tal-konversazzjoni mill-istat tat-tweġiba preċedenti.
Fuq konnessjoni WebSocket, is-server iżomm cache fil-memorja tal-istat tat-tweġiba preċedenti marbut mal-konnessjoni. Meta response.create ta’ segwitu jinkludi previous_response_id, inġibu dak l-istat mill-cache minflok nerġgħu nibnu l-konversazzjoni sħiħa mill-bidu.
Dan l-istat fil-cache jinkludi:
- L-oġġett
responsepreċedenti - Items ta’ input u output preċedenti
- Definizzjonijiet ta’ għodod u namespaces
- Artifacts ta’ sampling li jistgħu jerġgħu jintużaw, bħal tokens irrenderjati qabel

Billi erġajna użajna l-istat tat-tweġiba preċedenti fil-memorja, stajna nwettqu diversi ottimizzazzjonijiet kbar:
- Nagħmlu xi wħud mill-classifiers tas-sikurezza u l-validaturi tat-talbiet tagħna jipproċessaw biss input ġdid, mhux l-istorja kollha kull darba
- Inżommu cache fil-memorja ta’ tokens irrenderjati li nkomplu nżidu magħha biex naqbżu tokenizzazzjoni mhux meħtieġa
- Nużaw mill-ġdid il-loġika ta’ riżoluzzjoni/rotot tal-mudell li rnexxiet tagħna bejn talbiet differenti
- Nissovrapponu xogħol ta’ wara l-inferenza li ma jimblokkax bħall-billing ma’ talbiet sussegwenti
L-għan kien li naslu kemm jista’ jkun qrib il-prototip b’overhead minimu iżda b’forma tal-API li l-iżviluppaturi diġà jifhmu u li bnew madwarha.
Wara sprint ta’ xahrejn biex nibnu l-modalità WebSocket, niedejna alpha ma’ startups ewlenin ta’ coding agent sabiex ikunu jistgħu jintegrawha fl-infrastruttura tagħhom u jżidu t-traffiku b’mod sikur. L-utenti alpha għoġobhom ħafna, u rrappurtaw sa 40% titjib(jinfetaħ f’tieqa ġdida) fil-workflows agentiċi tagħhom. Minħabba l-feedback pożittiv tal-alpha, konna lesti għat-tnedija.
Ir-riżultati tat-tnedija kienu immedjati. Codex malajr żied il-maġġoranza tat-traffiku tiegħu tar-Responses API fuq il-modalità WebSocket, u ra titjib sinifikanti fil-latenza. Għal GPT‑5.3‑Codex‑Spark, laħaqna l-mira tagħna ta’ 1,000 TPS u rajna bursts sa 4,000 TPS, u dan wera li r-Responses API setgħet tlaħħaq ma’ inferenza ħafna aktar veloċi fi traffiku reali tal-produzzjoni. L-impatt deher malajr ukoll fil-komunità tal-iżviluppaturi:
- Codex malajr daħħal il-maġġoranza tat-traffiku tiegħu fuq WebSockets. L-utenti ta’ Codex li jħaddmu l-aħħar mudelli bħal GPT‑5.3‑Codex(jinfetaħ f’tieqa ġdida), GPT‑5.4(jinfetaħ f’tieqa ġdida), u lil hinn, kollha jibbenefikaw mill-aċċelerazzjoni tal-modalità WebSocket.
- Vercel integra l-modalità WebSocket fl-AI SDK u ra l-latenza tonqos b’sa 40%(jinfetaħ f’tieqa ġdida).
- Il-workflows b’ħafna fajls ta’ Cline huma 39% aktar veloċi(jinfetaħ f’tieqa ġdida).
- Il-mudelli OpenAI f’Cursor saru sa 30% aktar veloċi(jinfetaħ f’tieqa ġdida).
Il-modalità WebSocket hija waħda mill-aktar kapaċitajiet ġodda sinifikanti fir-Responses API mit-tnedija tagħha f’Marzu 2025. Morna minn idea għal xogħol fil-produzzjoni fi ftit ġimgħat biss permezz ta’ kollaborazzjoni mill-qrib bejn it-timijiet tal-API u Codex ta’ OpenAI. Mhux biss ittejjeb b’mod drammatiku l-latenza tar-rollout tal-aġent, iżda tappoġġa wkoll ħtieġa dejjem tikber għall-bennejja: hekk kif l-inferenza tal-mudell issir aktar veloċi, is-servizzi u s-sistemi li jdawru l-inferenza jridu jħaffu wkoll biex jittrasferixxu dawn il-qligħ lill-utenti.
Awturi
Brian Yu u Ashwin Nathan
Ringrazzjamenti
Ringrazzjament speċjali lit-timijiet tar-Responses API u Codex, li ħadmu fuq il-ħolqien tal-modalità WebSocket.


