Izgradnja poreskih agenata koji se sami poboljšavaju uz Codex
Autori, članovi tehničkog osoblja: Aravind Srinivasan i Samay Shamdasani (Thrive Holdings), Arthur Fernandes Araujo i John de Wasseige (OpenAI)
Kako su Thrive Holdings i OpenAI zajednički razvili Tax AI za računovođe u Creteu spajajući stručnost praktičara s petljom koju pokreće Codex
Sistemi iz stvarnog svijeta ponašaju se drugačije u produkciji nego u laboratoriji i kvare se na načine koje je teško predvidjeti prije puštanja u rad. Timovi često otkriju te neuspjehe nakon lansiranja, a zatim provedu sedmice ispitujući rubne slučajeve, prilagođavajući upite i prevodeći produkcijske povratne informacije u trajna poboljšanja proizvoda. Petlja povratnih informacija je ručna i spora i poboljšava se samo kada je inženjer unaprijedi. Ali danas, uz promišljeno dizajniranu eval infrastrukturu, direktan pristup praktičarima i stvarnim okruženjima te granične agentske sposobnosti Codexa, možete graditi agente koji se sami poboljšavaju.
U ovom tekstu objasnit ćemo kako smo koristili Codex za izgradnju ove vrste agenta. Tokom proteklih šest mjeseci, inženjeri i istraživači OpenAI-ja raspoređeni na terenu zajedno s inženjerima Thrive Holdingsa sarađivali su na izgradnji Tax AI-a uz i za mrežu od više od 30 računovodstvenih firmi Crete(otvara se u novom prozoru) kako bi pomogli u pripremi sve složenijih poreskih prijava. Umjesto da se oslanja na inženjere da pronađu i isprave svaki neuspjeh, Tax AI koristi Codex da produkcijsku upotrebu pretvori u strukturirane signale koji pokreću autonomno poboljšanje.
Praktičari u Creteu svake sezone pripreme desetine hiljada poreskih prijava, što zahtijeva rad kroz milione osnovnih dokumenata. Za prijave srednje do visoke složenosti, sam unos podataka može trajati osam sati po prijavi i često uključuje neuredne izvore podataka, dokumente iz prethodne godine te ručnu ekstrakciju i izračun. Ukazali su nam na pripremu poreza kao na značajno usko grlo tokom najprometnijeg dijela poreske sezone.
Da bi riješio ovaj problem, Tax AI je ove poreske sezone obradio 7.000 poreskih prijava u firmama Crete koje su učestvovale u pilotu. Sistem automatizira veliki dio vremenski zahtjevnog procesa pripreme poreskih prijava 1040 i 1041, ali još uvjerljivije od dobitaka u efikasnosti jeste to što je sam sistem mjerljivo bolji od verzije koja je prvi put puštena prije tri mjeseca.
U Tax AI-u praktičari učitavaju izvorne datoteke zajedno sa svim bilješkama specifičnim za klijenta. Tax AI zatim kreira podnesak za poreski mehanizam, spreman za pregled. Praktičarima štedi oko trećinu vremena za pripremu poreza, izrađuje nacrte prijava s tačnošću do 97% i povećava protok za oko 50%, stvarajući više prostora da vrijeme provedu s klijentima.
Ovo poboljšanje možemo kvantificirati razumijevanjem koliko tačno Tax AI može dovršiti prijavu bez potrebe za kasnijom ispravkom. Tačnost mjerimo provjerom koliki udio prijava dostiže 75%, 90% ili 100% ispravno popunjenih polja. Pri lansiranju je samo četvrtina prijava bila na nivou od 75% ispravno popunjenih polja, ali je u roku od šest sedmica 86% dostiglo taj prag. Sistem je pokazao još brži rast na nivoima od 90% i 100% ispravno popunjenih polja. Ovi pragovi daju nam praktičan uvid u to koliko naknadnog rada praktičara različite prijave još zahtijevaju.
U početku je Tax AI obrađivao jednostavniji posao, poput W-2 i 1099 obrazaca. Kako je sezona odmicala, prelazio je na složenije prijave s K-1 obrascima, rasporedima i težim rubnim slučajevima. Svaka nova sposobnost štedjela je više vremena po prijavi od prethodne jer su zadaci koje je preuzimao bili teži i vremenski zahtjevniji za ručni rad. I danas nastavljamo bilježiti stalan napredak.
Zatim ćemo proći kroz to kako su naši timovi zajednički inženjerski oblikovali Tax AI da se sam poboljšava oslanjajući se na tri ključna stuba: 1) povratne informacije stručnih praktičara, 2) produkcijske tragove (strukturiranu historiju od ulaza do konačnog izlaza) i 3) iteracijsku petlju koju pokreće Codex na osnovu prilagođenih evalova kako bi se omogućio kontinuiran i brži razvoj proizvoda. Nadamo se da će naše iskustvo biti korisno drugim graditeljima u domenama gdje je stručnost praktičara ključna za oblikovanje kvaliteta cjelokupnog sistema i podataka koji kroz njega prolaze.
Kako se Tax AI širio na složenije prijave, udio ocijenjenih prijava koje su dostigle 75%, 90% i potpunu popunjenost nastavio je rasti tokom poreske sezone.
Kako smo ulazili u teže dijelove pripreme poreza (K-1 obrasci, rasporedi za nekretnine za iznajmljivanje i poreski obrasci gdje su se vrijednosti morale usklađivati kroz više izvornih datoteka), postalo je očito da je pravi izazov može li proizvod učiniti složene produkcijske neuspjehe vidljivim, razumljivim i primjenjivim.
U ranim danima proizvoda većina ispravki bila je ručna. Praktičari su mogli ispravljati greške sistema, ali proizvod nije bilježio puni kontekst: promijenjena vrijednost prije podnošenja mogla je odražavati stvarni propust u ekstrakciji, problem mapiranja, nedostajuću podršku proizvoda ili očekivani šum toka rada. Razvrstavanje tih slučajeva i dalje je zahtijevalo dodatni rad inženjerskog tima. Inženjeri su mogli koristiti agente za kodiranje, ali sistem još nije bio dizajniran da smisleno koristi AI unutar petlje poboljšanja. Nismo imali signal da prepoznamo pravi uspon koji treba savladati.
To nas je navelo da sistem dizajniramo oko tri stuba:
- Ostanite blizu praktičarima: Ljudi koji rade posao trebaju usmjeravati ono što proizvod uči. Njihova intuicija i razumijevanje otkrivaju koje su greške važne i pomažu odrediti na koje dijelove toka rada se sljedeće vrijedi fokusirati.
- Izgradite proizvod tako da produkcija stvara dokaze: Proizvod mora bilježiti više od samih ulaza i izlaza; treba zabilježiti puni put od izvornog materijala, preko izdvojenih polja i porijekla, do nizvodnog podneska i stručne ispravke.
- Napravite petlju poboljšanja koju pokreće Codex: Kada su produkcijski problemi vidljivi i strukturirani, mogu postati nalazi, prilagođeni evalovi i ograničeni inženjerski zadaci. Codex tada može pomoći u istraživanju, predlaganju promjena, njihovoj validaciji prema ciljanim i regresijskim evalovima te bržem napretku proizvoda nego u potpuno ručnom iteracijskom ciklusu.
Primjer nekretnina za iznajmljivanje u nastavku pokazuje kako ta petlja funkcioniše u praksi, vodeći vas kroz to kako ispravka praktičara postaje strukturirani nalaz, zatim cilj evaluacije i na kraju inženjerski zadatak ograničen za Codex.
Prihod od nekretnine za iznajmljivanje prijavljuje se u Schedule E individualne poreske prijave. Iz inženjerske perspektive, zadatak njegovog izdvajanja jednostavno je opisati, ali ga je teško dobro uraditi. Sistem mora čitati neuredan izvorni materijal (rukom pisane bilješke, e-poruke, tabele i druge klijentske datoteke), izdvojiti polja za nekretnine za iznajmljivanje koja sistem može pouzdano mapirati u poreski mehanizam i sačuvati dovoljno dokaza da praktičar može odobriti ili ispraviti rezultat. Pojednostavljeni primjer u nastavku pokazuje kako bi te izvorne datoteke i izdvojeni izlazi mogli izgledati.
Izvorni paket za nekretninu za iznajmljivanje normalizira se u citirana polja prije nego što se ona mapiraju na nizvodne koncepte poreskog mehanizma.
Razlika između vrijednosti koju je predvidio agent i stvarne vrijednosti iz podnesene poreske prijave može odražavati stvarni propust u ekstrakciji, ali može biti i preferencija praktičara, vrijednost prenesena iz prijave za prethodnu godinu u poreskom mehanizmu ili vrijednost unesena ili promijenjena negdje drugo u toku rada podnošenja. Praktičari su nam pomogli da razlikujemo te slučajeve kako bismo mogli utvrditi koje su radnje zahtijevale ispravku praktičara ili blokirale podnošenje.
Budući da smo te ispravke mogli detaljno vidjeti, proces pregleda pretvorili smo iz završnog koraka nakon neuspjeha u kontinuirani ciklus učenja. Dizajnirali smo tok rada tako da bilježi radnje stručnjaka kao strukturirane podatke. Sada svaka intervencija hrani petlju poboljšanja proizvoda tako što tačno bilježi šta je Tax AI predložio, šta je praktičar izmijenio i šta je na kraju ušlo u podnesenu prijavu.
Za složen tok rada kao što su nekretnine za iznajmljivanje, sistem mora sačuvati ono što se dešava između izvornih datoteka i podnesene prijave. Na tom putu dokumenti se organiziraju, dijele i klasificiraju; polja za nekretnine za iznajmljivanje izdvajaju se uz citate koji vode nazad do izvornog materijala; te vrijednosti se mapiraju u poreski mehanizam; a praktičari ih i dalje mogu ispraviti prije podnošenja. Ti tragovi na nivou proizvoda omogućavaju istraživanje mjesta na kojem je došlo do neuspjeha. Da bi ispravke praktičara pretvorio u korisne ciljeve evaluacije, sistem ih obrađuje u tri koraka:
- Zabilježite razliku: Izlaz Tax AI-a poredi se s podnesenom prijavom kako bi se proizveli redovi pregleda na nivou polja koji bilježe očekivanu vrijednost, predviđenu vrijednost i da li razlika djeluje primjenjivo.
- Grupišite povezane neuspjehe: Slični redovi pregleda grupišu se kako bi se odvojili ponavljajući kvarovi proizvoda od očekivanog šuma toka rada. Na primjer, ponovljene ispravke praktičara mogu pokazati da Tax AI često propušta polja „dani po fer najmu“, pogrešno obrađuje „ostale troškove“ ili miješa više nekretnina za iznajmljivanje unutar istog izvornog paketa.
- Pretvorite ponavljajuće obrasce u ciljeve evaluacije: Nakon pregleda i mjerenja, ponovljeni nalazi postaju jasni ciljevi evaluacije koje Codex treba poboljšati.
Redovi pregleda nekretnina za iznajmljivanje odvajaju ponavljajuće kvarove proizvoda od očekivanog šuma, a zatim primjenjive slučajeve pretvaraju u ciljeve evaluacije koji Codexu daju uspon koji treba savladati.
Treći stub je stvaranje inženjerske petlje sposobne da djeluje na osnovu ovih novih evalova. Tu Codex postaje centralan.
Pretpostavimo da naš eval proces označi da Tax AI dosljedno propušta polje „dani po fer najmu“, dok ga praktičari pouzdano popunjavaju. Budući da je ovaj nalaz već upakovan u ciljani eval skup, s reprezentativnim izvornim paketima i očekivanim izlazima, Codex može istražiti osnovni uzrok direktno unutar okvira proizvoda.
Codex ne radi samo sa slabijim konačnim izlazom. Zajedno pregledava trag, eval, repozitorij i vještine:
- Istražite proces: Pregledajte izvorne pakete, šeme ekstrakcije, ponašanje mapera i putanje koda kako biste utvrdili da li je problem nepodržano polje, propušten obrazac ekstrakcije, problem odabira izvora, praznina u maperu ili problem s ocjenjivačem.
- Implementirajte ciljane ispravke: Proširite šemu ekstrakcije, poboljšajte odabir izvora za dokumente o nekretninama za iznajmljivanje, ažurirajte mapper poreskog mehanizma ili doradite ocjenjivač ako se očekivani šum toka rada računa kao neuspjeh.
- Potvrdite i predložite: Ponovo pokrenite ciljani eval, pokrenite šire regresijske skupove i prikažite kandidatski zahtjev za spajanje za inženjerski pregled.
- Zatvorite petlju: Pretvorite ponavljajuću ispravku praktičara u mjerljiv inženjerski zadatak. Ako su dokazi nejasni ili se ne mogu sigurno automatizirati, slučaj se vraća timu za proizvod umjesto da se na silu provlači kroz petlju.
Cjelovita petlja samopoboljšanja: produkcijski tragovi otkrivaju ponovljene ispravke na nivou polja, koje postaju signali neuspjeha koje Codex može pregledati zajedno s tragom, evalovima, repozitorijem i vještinama. Primjenjivi obrasci postaju ograničeni evalovi i kandidatske promjene proizvoda; nejasni slučajevi vraćaju se inženjerima na pregled. Svako isporučeno poboljšanje stvara nove produkcijske dokaze za sljedeći ciklus.
Primjer nekretnine za iznajmljivanje simbolizira širi obrazac koji se može ponovo koristiti: korištenje produkcijskih artefakata i tragova za poboljšanje sposobnosti agenta. Uz pregledane nalaze iz produkcijskih podataka, izvorne tragove, očekivani izlaz poreskog mehanizma, relevantne primjere koda i eval naredbe kao skup ulaza, Codex može značajno poboljšati performanse i tačnost tokom sedmica i mjeseci. Ovo se nadovezuje na principe opisane u našem radu o inženjeringu harnessa i Symphony, koji objašnjavaju kako zadatke učiniti čitljivim za Codex, pružiti ograničen kontekst i alate te zadržati validaciju i ljudski pregled kao dio okruženja.
Ti dokazi ne postaju automatski zadatak za Codex. Ispravka praktičara može odražavati propust u ekstrakciji, problem mapiranja, nepodržano ponašanje proizvoda, poresku procjenu ili očekivani šum toka rada. Tek nakon što se ponovljene razlike pregledaju i grupišu u primjenjiv nalaz, sistem ih pretvara u ograničen zadatak s jasnim uslovom uspjeha.
Ovu automatizaciju primjenjujemo na ograničeni sloj proizvoda. Taj sloj vrši ekstrakciju i mapira izvorne dokumente u poreske tokove rada. Inženjeri i dalje ostaju odgovorni za arhitekturu, odluke o proizvodu i isporuku. Praktičari usmjeravaju petlju poboljšanja kroz posao koji već rade: ispravljanje izdvojenih vrijednosti, pregled prijava i odobravanje konačnih podnesaka.
Za Codex rezultat nije nejasno upozorenje nego ograničen inženjerski zadatak s dokazima, površinama proizvoda koje se mogu uređivati i eksplicitnim validacijskim kapijama. Kontekst za reprezentativan zadatak s nekretninom za iznajmljivanje može se sažeti ovako:
Ista petlja primjenjuje se i izvan nekretnina za iznajmljivanje. Nekretninama za iznajmljivanje trebalo je oko šest sedmica i značajan inženjerski nadzor da dostignu 90% preciznosti i odziva, ali je taj rad proizveo ponovo upotrebljive apstrakcije, artefakte pregleda, eval konvencije i obrasce implementacije koji su olakšali podršku za slično složene rasporede kao što su Schedule C i Schedule A.
Tax AI pokazuje put ka izgradnji agenata koji se sami poboljšavaju. Praktičari stvaraju visokovrijedne signale povratnih informacija pružanjem usluge. Tokovi rada proizvoda čuvaju te signale kao strukturirane dokaze. Inženjerski sistemi potkrijepljeni evalovima potvrđuju poboljšanja prije nego što stignu u produkciju, a petlja koju pokreće agent održava sistem u kontinuiranom toku samopoboljšanja.
Struktura Thrive Holdingsa omogućava nam da ovo okruženje repliciramo u određenim industrijama. Holdings je i vlasnik i operator, pa naši objedinjeni inženjerski timovi mogu direktno raditi s praktičarima i produkcijskim podacima unutar firmi poput Cretea, ne kao dobavljač nego kao partneri. To znači da su tehnologija, proizvod i usluga pod istim krovom, što nam pomaže da se krećemo brže i gradimo izuzetne proizvode.
Jedna viša računovođa koja je prošle godine provela 180 sati na pripremi poreza ove je godine na to potrošila samo 15 sati. Dio tog vremena uložila je u to da nazove svakog svog klijenta i prođe s njima kroz njihove prijave, nivo vrlo bliske usluge koji prije godinu dana nije bio moguć. Ostatak tog vremena iskoristila je za preuzimanje novih klijenata i širenje na nove uslužne ponude.
Zajedno naši timovi sada koriste isti trodijelni dizajn iz Tax AI-a kao nacrt za izgradnju tokova rada u drugim domenama širom Thrive Holdings(otvara se u novom prozoru); računovodstvenih tokova rada kao što su knjigovodstvo i revizija te operativnih tokova rada kao što je automatizacija IT help deska. Kroz domene i industrije, šire obećanje agenata koji se sami poboljšavaju ostaje na snazi. Najbolje agente ljudi usmjeravaju da uče kako bi s vremenom postali sposobniji, pouzdaniji i vrjedniji.
Da saznate više o OpenAI timu koji je radio na ovom projektu, javite nam se.


