Beislatækni: að nýta Codex í fulltrúamiðuðum heimi
Eftir Ryan Lopopolo, meðlim tækniteymisins
Undanfarna fimm mánuði hefur teymið okkar verið að framkvæma tilraun: að þróa og senda frá okkur innri betaútgáfu af hugbúnaðarvöru með 0 línum af handskrifuðum kóða.
Varan hefur innri daglega notendur og utanaðkomandi alfaprófara. Það er sent, sett upp, bilar og er lagað. Það sem er frábrugðið er að hver einasta lína af kóða—forritsrökfræði, prófanir, CI-stillingar, skjölun, rekjanleiki og innri verkfæri—hefur verið skrifuð af Codex. Við áætlum að við höfum byggt þetta á um það bil tíunda hluta af þeim tíma sem það hefði tekið að skrifa kóðann handvirkt.
Menn stjórna. Fulltrúar framkvæma.
Við völdum þessa takmörkun viljandi til að byggja það sem var nauðsynlegt til að auka verkfræðihraða um stærðargráður. Við höfðum nokkrar vikur til að skila því sem reyndist vera milljón línur af kóða. Til að gera það þurftum við að skilja hvað breytist þegar aðalverkefni hugbúnaðarverkfræðiteymis er ekki lengur að skrifa kóða, heldur að hanna umhverfi, skilgreina ásetning og byggja upp endurgjafarlykkjur sem gera fulltrúum Codex kleift að vinna áreiðanlega.
Þessi færsla fjallar um það sem við lærðum við að þróa glænýja vöru með teymi fulltrúa—hvað brást, hvað magnaðist og hvernig við getum hámarkað eina raunverulega af skornum skammti auðlind okkar: tíma og athygli manna.
Fyrsta skráningin í tóma geymslu var gerð seint í ágúst 2025.
Upphaflega stoðgrindin—uppbygging geymslunnar, CI-stillingar, sniðreglur, uppsetning pakkastjóra og forritarammi—var búin til af Codex CLI með GPT‑5, með leiðsögn frá litlu safni af fyrirliggjandi sniðmátum. Jafnvel upphaflega AGENTS.md skráin sem leiðbeinir um hvernig á að vinna í geymslunni var sjálf skrifuð af Codex.
Enginn fyrirliggjandi kóði skrifaður af mönnum var til staðar til að festa kerfið. Frá upphafi var geymslan mótuð af fulltrúanum.
Fimm mánuðum síðar inniheldur geymslan um eina milljón línur af kóða sem nær yfir forritsrökfræði, innviði, verkfæri, skjölun og innri verkfæri fyrir þróunaraðila. Á því tímabili hafa um það bil 1.500 pull request verið opnaðar og sameinaðar af litlu teymi, aðeins þremur verkfræðingum, sem stýra Codex. Þetta jafngildir meðalafköstum upp á 3,5 PRs á hvern verkfræðing á dag, og það kemur á óvart að afköstin hafa aukist eftir því sem teymið hefur stækkað og telur nú sjö verkfræðinga. Mikilvægt er að þetta var ekki framleiðsla til framleiðslunnar vegna: varan hefur verið notuð af hundruðum notenda innanhúss, þar á meðal daglegum afburðanotendum.
Í gegnum allt þróunarferlið lögðu menn aldrei beint fram neinn kóða. Þetta varð kjarnahugmyndafræði teymisins: enginn handskrifaður kóði.
Skortur á verklegri mannlegri kóðun leiddi til annars konar verkfræðivinnu, sem einblínir á kerfi, stoðkerfi og nýtingu.
Framvinda í upphafi var hægari en við bjuggumst við, ekki vegna þess að Codex væri ófært, heldur vegna þess að umhverfið var ekki nægilega vel skilgreint. Fulltrúinn skorti verkfæri, óhlutbundin hugtök og innri uppbyggingu sem þurfti til að ná framgangi í átt að markmiðum á háu stigi. Aðalverkefni verkfræðiteymisins okkar varð að gera fulltrúunum kleift á að vinna gagnlegt starf.
Í reynd þýddi þetta að vinna á dýpt fyrst: að brjóta stærri markmið niður í smærri byggingareiningar (hönnun, kóðun, yfirferð, prófun, o.s.frv.), hvetja fulltrúann til að smíða þessar einingar og nota þær til að leysa flóknari verkefni. Þegar eitthvað mistókst var lausnin næstum aldrei að „reyna meira“. Þar sem eina leiðin til að ná framförum var að fá Codex til að vinna verkið, tóku mannlegir verkfræðingar alltaf þátt í verkefninu og spurðu: „hvaða getu vantar, og hvernig gerum við hana bæði læsilega og framfylgjanlega fyrir fulltrúann?“
Fólk hefur nánast öll samskipti við kerfið í gegnum kvaðningar: verkfræðingur lýsir verkefni, keyrir fulltrúann og leyfir honum að opna pull request. Til að ljúka PR, leiðbeinum við Codex að yfirfara eigin breytingar á staðnum, biðja um viðbótar, sértækar yfirferðir frá fulltrúum bæði á staðnum og í skýinu, bregðast við allri endurgjöf frá mönnum eða fulltrúum, og endurtaka í lykkju þar til allir fulltrúar eru ánægðir (í raun er þetta Ralph Wiggum lykkja(opnast í nýjum glugga)). Codex notar staðlaða þróunarverkfæri okkar beint (gh, staðbundna forskrift og geymslu-innbyggða hæfni) til að safna samhengi án þess að fólk afriti og lími inn í CLI.
Manneskjur geta farið yfir pull request, en það er ekki skylda. Með tímanum höfum við beint nánast allri yfirferðarvinnu að því að hún sé afgreidd frá fulltrúa til fulltrúa.
Eftir því sem afköst kóðans jukust, varð flöskuhálsinn okkar mannleg geta til gæðaeftirlits. Þar sem fasta takmörkunin hefur verið mannlegur tími og athygli, höfum við unnið að því að bæta við fleiri eiginleikum í fulltrúann með því að gera hluti eins og notendaviðmót forritsins, annála og mælikvarða forritsins sjálfa beint læsilega fyrir Codex.
Til dæmis gerðum við forritið ræsanlegt fyrir hvert git worktree, svo Codex gæti ræst og stjórnað einu tilviki fyrir hverja breytingu. Við tengdum einnig Chrome DevTools Protocol við keyrsluumhverfi fulltrúans og þróuðum hæfni til að vinna með DOM-skyndimyndir, skjámyndir og leiðsögn. Þetta gerði Codex kleift að endurskapa villur, staðfesta lagfæringar og rökstyðja hegðun notendaviðmótsins beint.

Við gerðum það sama fyrir verkfæri skoðanleika. Annálar, mæligögn og rekjanir eru gerð aðgengileg Codex í gegnum staðbundinn skoðanleikastafla sem er skammvinnur fyrir hvert tiltekið vinnutré. Codex vinnur á fullkomlega einangraðri útgáfu af því appi—þar á meðal skrám og mælikvörðum, sem eru teknar niður þegar því verkefni er lokið. Fulltrúar geta spurt annála með LogQL og mælingar með PromQL. Með þetta samhengi tiltækt verða kvaðningar eins og „tryggðu að ræsing þjónustu ljúki á innan við 800 ms“ eða „engin svið í þessum fjórum mikilvægu notendaferðum fara yfir tvær sekúndur“ framkvæmanlegar.
Við sjáum reglulega að einstakar Codex-lotur vinna að einu verkefni í meira en sex klukkustundir (oft á meðan mennirnir sofa).
Samhengisstjórnun er ein af stærstu áskorunum við að gera fulltrúa árangursríka í stórum og flóknum verkefnum. Ein af fyrstu lexíunum sem við lærðum var einföld: gefðu Codex kort, ekki 1.000 blaðsíðna leiðbeiningarhandbók.
Við prófuðum „eina stóra AGENTS.md(opnast í nýjum glugga)“ aðferð Það mistókst á fyrirsjáanlegan hátt:
- Samhengi er takmörkuð auðlind. Risastór leiðbeiningaskrá skyggir á verkefnið, kóðann og viðeigandi skjöl—svo að fulltrúinn annaðhvort missir af lykilskilyrðum eða byrjar að fínstilla fyrir röng skilyrði.
- Of mikil leiðsögn verður að leiðsögn sem ekki leiðbeinir. Þegar allt er „mikilvægt“, er ekkert mikilvægt. Fulltrúar enda á því að nota mynstursamsvörun staðbundið í stað þess að fara markvisst.
- Allt rotnar samstundis. Ein stór handbók breytist í kirkjugarð úreltra reglna. Fulltrúar geta ekki greint hvað er enn satt, fólk hættir að viðhalda því og skráin verður hljóðlega að aðlaðandi áhættugildru.
- Það er erfitt að sannreyna. Ein einingaklessa hentar ekki fyrir vélrænar athuganir (svið, ferskleiki, eignarhald, krosstenglar), þannig að frávik eru óhjákvæmileg.
Þannig að í stað þess að líta á AGENTS.md sem alfræðiritið, lítum við á það sem efnisyfirlitið.
Þekkingargrunnur geymslunnar er í skipulagðri docs/ möppu sem er meðhöndluð sem skráningarkerfi. Stutt AGENTS.md (um það bil 100 línur) er sett inn í samhengi og þjónar fyrst og fremst sem kort, með vísunum í dýpri heimildir annars staðar.
Hönnunarskjöl eru skráð og flokkuð, þar á meðal staða sannprófunar og safn kjarnaviðhorfa sem skilgreina fulltrúamiðaðar rekstrarreglur. Högunarskjölun(opnast í nýjum glugga) veitir yfirlitskort yfir lén og lagskiptingu pakka. Gæðaskjal metur hvert vörusvið og högunarlag og fylgist með eyðum yfir tíma.
Áætlanir eru meðhöndlaðar sem fyrsta flokks skjöl. Skammlífar léttar áætlanir eru notaðar fyrir litlar breytingar, á meðan flókin vinna er skráð í framkvæmdaáætlanir(opnast í nýjum glugga) með framvindu- og ákvörðunarskrám sem eru skráðar í geymsluna. Virkar áætlanir, loknar áætlanir og þekkt tækniskuld eru öll útgáfustýrð og sett á sama stað, sem gerir fulltrúum kleift að starfa án þess að reiða sig á ytra samhengi.
Þetta auðveldar stigvaxandi upplýsingagjöf: fulltrúar byrja með lítinn, stöðugan upphafspunkt og læra hvert þeir eigi að leita næst, frekar en að vera yfirbugaðir strax í upphafi.
Við framfylgjum þessu sjálfvirkt. Sérhæfð lint-verkfæri og CI-verkefni sannreyna að þekkingargrunnurinn sé uppfærður, tengdur saman og rétt uppbyggður. Endurtekinn „doc-gardening“ fulltrúi leitar að úreltum eða óþörfum skjölum sem endurspegla ekki raunverulega hegðun kóðans og opnar pull request.
Eftir því sem kóðagrunnurinn þróaðist þurfti rammi Codex fyrir hönnunarákvarðanir að þróast einnig.
Þar sem geymslan er alfarið fulltrúagerð er hún fyrst og fremst fínstillt fyrir læsi Codex. Á sama hátt og teymi leitast við að bæta leiðsögn í kóða sínum fyrir nýja verkfræðinga, var markmið verkfræðinga okkar að gera fulltrúa kleift að átta sig á öllu viðskiptasviðinu beint úr geymslunni sjálfri.
Frá sjónarhóli fulltrúans er allt sem hann getur ekki nálgast í samhengi á meðan hann er í gangi í raun ekki til. Þekking sem er geymd í Google Docs, spjallþráðum eða í höfðum fólks er ekki aðgengileg fyrir kerfið. Staðbundin, útgáfustýrð verk í geymslu (t.d., kóði, markdown, skema, keyrsluáætlanir) eru allt sem það getur séð.

Við komumst að því að við þyrftum að bæta sífellt meira samhengi inn í geymsluna með tímanum. Þessi Slack-umræða sem samræmdi teymið um högunarsmynstur? Ef fulltrúinn getur ekki fundið það, er það ólæsilegt á sama hátt og það væri óþekkt fyrir nýjan starfsmann sem byrjar þremur mánuðum síðar.
Að veita Codex meira samhengi felur í sér að skipuleggja og birta réttar upplýsingar þannig að fulltrúinn geti rökstutt út frá þeim, frekar en að yfirhlaða hann með tilfallandi leiðbeiningum. Á sama hátt og þú myndir kynna nýjan liðsfélaga fyrir meginreglum vörunnar, verkfræðilegum viðmiðum og teymismenningu (þar á meðal emoji-óskum), leiðir það til betur samræmdrar útkomu að veita fulltrúanum þessar upplýsingar.
Þessi framsetning skýrði mörg viðskiptaleg sjónarmið. Við lögðum áherslu á ósjálfstæði og abstraksjónir sem hægt væri að innleiða að fullu og rökstyðja innan geymslunnar. Tækni sem oft er lýst sem „leiðinleg“ hefur tilhneigingu til að vera auðveldari fyrir fulltrúa að líkja eftir vegna samsetjanleika, stöðugleika API og framsetningar í þjálfunargagnasafninu. Í sumum tilfellum var ódýrara að láta fulltrúinn endurútfæra hluta af virkni heldur en að vinna í kringum ógegnsæja hegðun frá opinberum forritasöfnum. Til dæmis, í stað þess að nota almennan p-limit-stíl pakka, útfærðum við okkar eigin samhliða kortaaðstoð: það er þétt samþætt við OpenTelemetry-instrumentation okkar, hefur 100% prófunarsvið og hegðar sér nákvæmlega eins og keyrsluumhverfið okkar býst við.
Að færa meira af kerfinu í form sem fulltrúinn getur skoðað, staðfest og breytt beint eykur áhrifamátt—ekki bara fyrir Codex, heldur einnig fyrir aðra fulltrúa (t.d. Aardvark) sem einnig vinna að kóðagrunninum.
Skjölun ein og sér heldur ekki kóðagrunni sem er alfarið búinn til af fulltrúa samhangandi. Með því að framfylgja óbreytileika, án þess að smástýra útfærslum, getum við látið fulltrúa skila hratt án þess að grafa undan grunninum. Til dæmis krefjumst við þess að Codex lesi gagnalögun við mörkin(opnast í nýjum glugga), en við erum ekki nákvæm um hvernig það gerist (líkanið virðist hafa dálæti á Zod, en við tilgreindum ekki það tiltekna safn).
Fulltrúar eru áhrifaríkastir í umhverfi með ströng mörk og fyrirsjáanlega uppbyggingu(opnast í nýjum glugga), svo við byggðum forritið í kringum stíft högunarlíkan. Hvert viðskiptasvið er skipt í fast sett af lögum, með stranglega staðfestum stefnum háða og takmörkuðu setti leyfilegra tenginga. Þessum takmörkunum er framfylgt vélrænt með sérsniðnum linter (auðvitað búnum til af Codex!) og uppbyggingarprófum.
Skýringarmyndin hér að neðan sýnir regluna: innan hvers viðskiptasviðs (t.d. app-stillingar), kóði getur aðeins verið háður „fram á við“ í gegnum fast sett af lögum (Types → Config → Repo → Service → Runtime → UI). Þverlæg atriði (auth, connectors, telemetry, feature flags fara í gegnum eitt skýrt skilgreint viðmót: Veitendur. Öllu öðru er bannað og er framfylgt með vélrænum hætti.

Þetta er sú tegund högunar sem þú frestar yfirleitt þar til þú ert með hundruð verkfræðinga. Með kóðunarfulltrúum er þetta snemmbúin forsenda: takmarkanirnar eru það sem gerir hraðann mögulegan án hnignunar eða frávika í högun.
Í reynd framfylgjum við þessum reglum með sérsniðnum linter og uppbyggingarprófum, auk lítils safns af „smekksóbreytum“. Til dæmis tryggjum við á kyrrstæðan hátt skipulagða skráningu, nafngiftavenjur fyrir skemu og gerðir, takmarkanir á skráarstærð og vettvangssértækar áreiðanleikakröfur með sérsniðnum lint. Þar sem lint eru sérsniðin, skrifum við villuskilaboðin til að setja inn leiðbeiningar um úrbætur í samhengi fulltrúa.
Í vinnuflæði þar sem manneskjan er í forgangi gætu þessar reglur virst smásmugulegar eða takmarkandi. Með fulltrúum verða þær að margföldurum: þegar þær eru kóðaðar, virka þær alls staðar samtímis.
Á sama tíma erum við skýr um hvar takmarkanir skipta máli og hvar þær skipta ekki máli. Þetta líkist því að leiða stórt verkfræðilegt verkvangsfyrirtæki: framfylgja mörkum miðlægt, veita sjálfræði staðbundið. Þú hefur mikinn áhuga á mörkum, réttmæti og endurtekningarhæfni. Innan þessara marka veitir þú teymum—eða fulltrúum—verulegt frelsi í því hvernig lausnir eru settar fram.
Kóðinn sem verður til passar ekki alltaf við stílfræðilegar óskir manna og það er allt í lagi. Svo lengi sem úttakið er rétt, viðhaldshæft og læsilegt fyrir framtíðar keyrslur fulltrúa, stenst það kröfurnar.
Mannlegur smekkur er stöðugt fóðraður aftur inn í kerfið. Athugasemdir við yfirferð, endurskipulagningu á pull request og villur sem snúa að notendum eru skráðar sem uppfærslur á skjölun eða kóðaðar beint inn í verkfæri. Þegar skjölun bregst, setjum við regluna inn í kóðann
Eftir því sem afköst Codex jukust urðu margar hefðbundnar verkfræðilegar venjur óhagkvæmar.
Geymslan starfar með lágmarks hindrunum í samrunahliðum. Pull request eru skammlífar. Prófunarflökt er oft leyst með eftirfylgnikeyrslum frekar en að stöðva framvindu um óákveðinn tíma. Í kerfi þar sem afköst fulltrúa fara langt fram úr mannlegri athygli, eru leiðréttingar ódýrar og bið er kostnaðarsöm.
Þetta væri óábyrgt í umhverfi með litlum afköstum. Hér er það oft rétta málamiðlunin.
Þegar við segjum að kóðagrunnurinn sé búinn til af Codex-fulltrúum, meinum við allt í kóðagrunninum.
Fulltrúar framleiða:
- Vörukóða og prófanir
- CI-uppsetningu og útgáfuverkfæri
- Innri forritaraverkfæri
- Skjölun og hönnunarferil
- Matsbeisli
- Skoða athugasemdir og svör
- Forskriftir sem stjórna geymslunni sjálfri
- Skilgreiningarskrár framleiðslustjórnborðs
Mannfólk er alltaf hluti af ferlinu, en vinnur á öðru stigi útfærslu en áður. Við forgangsröðum vinnu, umbreytum ábendingum frá notendum í samþykkisskilyrði og staðfestum niðurstöður. Þegar fulltrúinn á í erfiðleikum, lítum við á það sem merki: greinum hvað vantar—verkfæri, öryggisvarnir, skjölun—og setjum það aftur inn í geymsluna, alltaf með því að láta Codex sjálft skrifa lagfæringuna.
Fulltrúar nota stöðluð þróunarverkfæri okkar beint. Þeir sækja endurgjöf úr yfirferð, svara beint í línu, ýta uppfærslum og oft sameina og samþykkja sínar eigin pull request.
Þar sem sífellt meira af þróunarferlinu var kóðað beint inn í kerfið—prófanir, staðfesting, yfirferð, meðhöndlun endurgjafar og endurheimt—hefur geymslan nýlega farið yfir mikilvægan þröskuld þar sem Codex getur knúið nýjan eiginleika frá upphafi til enda.
Með einni kvaðningu getur fulltrúinn nú:
- Staðfest núverandi stöðu kóðagrunnsins
- Endurskapað tilkynnta villu
- Tekið upp myndband sem sýnir bilunina
- Lagfært vandamálið
- Staðfest lagfæringuna með því að prófa forritið
- Tekið upp annað myndband sem sýnir lausnina
- Opnað pull request
- Svarað fulltrúa og ábendingum frá fólki
- Greint og lagfært byggingarmistök
- Sent aðeins til manneskju þegar dómgreind er nauðsynleg
- Sameinað breytinguna
Þessi hegðun ræðst að miklu leyti af sérstöku skipulagi og verkfærum þessarar geymslu og ætti ekki að gera ráð fyrir að hún alhæfist án sambærilegrar fjárfestingar—að minnsta kosti ekki ennþá.
Fullt sjálfræði fulltrúans skapar einnig ný vandamál. Codex endurtekur mynstur sem eru þegar til staðar í geymslunni—jafnvel þau sem eru ójöfn eða ófullkomin. Með tímanum leiðir þetta óhjákvæmilega til fráviks.
Upphaflega leystu menn þetta handvirkt. Teymið okkar eyddi áður hverjum föstudegi (20% af vikunni) í að hreinsa upp „gervigreindarrusl.“ Það kom ekki á óvart að þetta reyndist ekki skalanlegt.
Í staðinn byrjuðum við að innleiða það sem við köllum „gullnar meginreglur“ beint í geymsluna og settum upp endurtekinn hreinsunarferil. Þessar meginreglur eru skoðanadrifnar, vélrænar reglur sem halda kóðagrunninum læsilegum og samræmdum fyrir framtíðarkeyrslur fulltrúa. Til dæmis: (1) við kjósum sameiginlega notkunarpakka fram yfir handsmíðað hjálparfall til að halda óbreytileikum miðlægum, og (2) við könnum ekki gögn „YOLO-stíl“—við staðfestum mörk eða treystum á innslegnar SDK-skrár svo að fulltrúinn geti ekki óvart byggt á ágiskuðum gagnalögunum. Með reglulegu millibili höfum við safn bakgrunnsverkefna Codex sem leita að frávikum, uppfæra gæðaeinkunnir og opna markvissar endurhönnunar pull request. Flest af þessu er hægt að fara yfir á innan við mínútu og sameinast sjálfkrafa.
Þetta virkar eins og sorphirða. Tækniskuld er eins og lán með háum vöxtum: það er næstum alltaf betra að greiða hana niður stöðugt í litlum skrefum en að láta hana vaxa og takast á við hana í sársaukafullum rykkjum. Mannlegur smekkur er einu sinni fangaður og síðan viðhaldið stöðugt í hverri línu kóða. Þetta gerir okkur einnig kleift að finna og laga slæm mynstur daglega, í stað þess að leyfa þeim að breiðast út í kóðagrunninum í marga daga eða vikur.
Þessi stefna hefur hingað til virkað vel fram að innanhússkynningu og innleiðingu hjá OpenAI. Að þróa raunverulega vöru fyrir raunverulega notendur hjálpaði til við að festa fjárfestingar okkar í raunveruleikanum og leiða okkur í átt að langtímaviðhaldi.
Það sem við vitum ekki enn er hvernig byggingarleg samkvæmni þróast yfir árin í kerfi sem er að fullu myndað af fulltrúum. Við erum enn að læra hvar mannleg dómgreind hefur mest áhrif og hvernig á að kóða þá dómgreind þannig að hún aukist. Við vitum heldur ekki hvernig þetta kerfi mun þróast eftir því sem líkönin halda áfram að verða hæfari með tímanum.
Það sem hefur orðið ljóst: að byggja hugbúnað krefst enn aga, en aginn birtist frekar í stoðkerfinu en í kóðanum. Verkfærin, útdrættirnir og endurgjafarlykkjurnar sem halda kóðagrunninum samræmdum verða sífellt mikilvægari.
Erfiðustu áskoranir okkar nú snúast um að hanna umhverfi, endurgjafarkerfi og stjórnkerfi sem hjálpa fulltrúum að ná markmiði okkar: að byggja og viðhalda flóknum, áreiðanlegum hugbúnaði í stórum stíl.
Þar sem Codex-fulltrúar taka að sér stærri hluta hugbúnaðarlífsferilsins, munu þessar spurningar skipta enn meira máli. Við vonum að það að deila nokkrum fyrstu lexíum hjálpi þér að átta þig á því hvar þú ættir að leggja þig fram svo þú getir einfaldlega búið til hluti.


