Bygning af selvforbedrende skatteagenter med Codex
Af Members of Technical Staff: Aravind Srinivasan & Samay Shamdasani (Thrive Holdings), Arthur Fernandes Araujo & John de Wasseige (OpenAI)
Hvordan Thrive Holdings og OpenAI sammen udviklede Tax AI til Crete-revisorer ved at forene fagpersoners ekspertise med en Codex-drevet sløjfe
Systemer i den virkelige verden opfører sig anderledes i produktion end i et laboratorium og bryder sammen på måder, der er svære at forudse før udrulning. Teams opdager ofte disse fejl efter lancering og bruger derefter uger på at inspicere komplekse sager, justere prompts og omsætte produktionsfeedback til holdbare produktforbedringer. Feedbacksløjfen er manuel og langsom og forbedres kun, når en softwareudvikler driver den frem. Men i dag kan du med gennemtænkt eval-infrastruktur, direkte adgang til fagpersoner og virkelige miljøer samt Codex’ førende agentiske evner bygge agenter, der forbedrer sig selv.
I dette indlæg gennemgår vi, hvordan vi brugte Codex til at bygge denne type agent. I løbet af de sidste seks måneder har OpenAI’s forward deployed engineers og forskere sammen med Thrive Holdings’ udviklere samarbejdet om at bygge Tax AI sammen med og til Crete(åbner i et nyt vindue)s netværk af mere end 30 revisionsfirmaer for at hjælpe med at udarbejde stadig mere komplekse skatteindberetninger. I stedet for at være afhængig af, at udviklere finder og retter hver enkelt fejl, bruger Tax AI Codex til at omsætte produktionsbrug til strukturerede signaler, der driver autonom forbedring.
Fagpersoner fra Crete udarbejder titusindvis af skatteindberetninger hvert år, hvilket kræver arbejde med millioner af underliggende dokumenter. For indberetninger med mellem til høj kompleksitet kan dataindtastning alene tage otte timer pr. selvangivelse og involverer ofte rodede datakilder, dokumenter fra tidligere år samt manuel udtrækning og beregning. De pegede på skatteforberedelse som en væsentlig flaskehals i den travleste del af skatteperioden.
For at løse dette problem behandlede Tax AI 7.000 skatteindberetninger på tværs af de Crete-firmaer, der deltog i pilotprojektet i denne skatteperiode. Systemet automatiserer en stor del af den tidskrævende proces med at udarbejde 1040- og 1041-selvangivelser, men endnu mere overbevisende end effektivitetsgevinsterne er, at systemet selv er målbart bedre end den version, der først blev udrullet for tre måneder siden.
I Tax AI uploader fagpersoner kildefiler sammen med eventuelle klientspecifikke noter. Tax AI opretter derefter en indsendelse til skattesystemet, klar til gennemgang. Det sparer fagpersoner omkring en tredjedel af deres tid på skatteforberedelse, udarbejder skatteindberetninger med op til 97 % nøjagtighed og øger gennemløbet med omkring 50 %, hvilket giver mere plads til at bruge tid med kunder.
Vi kan kvantificere denne forbedring ved at forstå, hvor præcist Tax AI kan færdiggøre en selvangivelse uden senere at kræve rettelser. Vi måler nøjagtighed ved at kontrollere, hvor stor en andel af skatteindberetninger der når 75 %, 90 % eller 100 % korrekt fuldførelse af felter. Ved lanceringen nåede kun en fjerdedel af skatteindberetninger 75 % korrekt fuldførelse af felter, men inden for seks uger nåede 86 % dette niveau. Systemet viste endnu hurtigere vækst på niveauerne 90 % og 100 % korrekt fuldførelse af felter. Disse tærskler giver os et praktisk billede af, hvor meget opfølgning fra fagpersoner forskellige skatteindberetninger stadig kræver.
Tidligt i processen håndterede Tax AI enklere arbejde som årsopgørelser og indberetninger for selvstændig indkomst. Efterhånden som skatteperioden skred frem, gik det videre til mere komplekse selvangivelser med K-1-formularer, skatterapporteringsdokumenter og vanskeligere og mere komplekse sager. Hver ny evne sparede mere tid pr. selvangivelse end den forrige, fordi de opgaver, den overtog, var sværere og mere tidskrævende at udføre manuelt. Vi ser fortsat løbende fremskridt i dag.
Dernæst gennemgår vi, hvordan vores teams sammen udviklede Tax AI til at være selvforbedrende ved at støtte sig til tre kritiske søjler: 1) feedback fra professionelle eksperter, 2) produktionsspor (en struktureret historik fra input til endeligt output) og 3) en Codex-drevet iterationssløjfe baseret på skræddersyede evals for at muliggøre kontinuerlig og hurtigere produktudvikling. Vi håber, at vores erfaring vil være nyttig for andre byggere i domæner, hvor faglig ekspertise er afgørende for at forme kvaliteten af det overordnede system og de data, der løber gennem det.
Efterhånden som Tax AI blev udvidet til mere komplekse indberetninger, steg andelen af vurderede indberetninger, der nåede 75 %, 90 % og 100 % fuldførelse, fortsat gennem skatteperioden.
Da vi bevægede os ind i sværere dele af skatteforberedelse (K-1’er, rappporteringsdokumenter for udlejningsejendomme og skatteformularer, hvor værdier skulle afstemmes på tværs af flere kildefiler), blev det tydeligt, at den virkelige udfordring var, om produktet kunne gøre komplekse produktionsfejl synlige, forståelige og handlingsrettede.
I produktets tidlige dage var det meste af rettelsen manuel. Fagpersoner kunne rette systemfejl, men produktet indfangede ikke hele konteksten: en ændret værdi før indsendelse kunne afspejle en reel udtræksfejl, et mappingproblem, manglende produktunderstøttelse eller forventet workflowstøj. At sortere disse tilfælde krævede stadig opfølgning fra softwareudviklingsteamet. Ingeniører kunne bruge kodningsagenter, men systemet var endnu ikke designet til at bruge AI meningsfuldt i en forbedringssløjfe. Vi havde ikke tilstrækkelig evidens til at identificere de rigtige udfordringer.
Det fik os til at designe systemet omkring tre søjler:
- Lyt nøje til fagpersoner: De mennesker, der udfører arbejdet, skal styre, hvad produktet lærer. Deres intuition og forståelse afslører, hvilke fejl der betyder noget, og hjælper med at informere om, hvilke dele af workflowet det er værd at fokusere på næste gang.
- Byg produktet, så produktion skaber evidens: Produktet skal indfange mere end blot input og output; det skal indfange hele vejen fra kildemateriale til udtrukne felter og proveniens til downstream-indsendelse og ekspertrettelse.
- Skab en Codex-drevet forbedringssløjfe: Når produktionsproblemer er synlige og strukturerede, kan de blive til fund, skræddersyede evals og afgrænsede udviklingsopgaver. Codex kan derefter hjælpe med at undersøge, foreslå ændringer, validere dem mod målrettede evals og regressionsevals og flytte produktet hurtigere frem end en rent manuel iterationscyklus.
Eksemplet med udlejningsejendomme nedenfor viser, hvordan den sløjfe fungerer i praksis, og fører dig gennem, hvordan en rettelse fra en fagperson bliver til et struktureret fund, derefter et eval-mål og til sidst en Codex-afgrænset udviklingsopgave.
Indkomst fra udlejningsejendom rapporteres på skatteformular E i en personlig selvangivelse. Fra et softwareudviklingsmæssigt perspektiv er udtrækningsopgaven enkel at beskrive, men svær at udføre godt. Systemet skal læse rodet kildemateriale (håndskrevne noter, e-mails, regneark og andre klientfiler), udtrække de felter for udlejningsejendomme, som systemet med sikkerhed kan mappe til skattesystemet, og bevare tilstrækkelig evidens til, at en fagperson kan godkende eller rette resultatet. Det forenklede eksempel nedenfor viser, hvordan disse kildefiler og udtrukne output kan se ud.
En kildepakke for udlejningsejendomme normaliseres til citerede felter, før de mappes til downstream-begreber i skattesystemet.
En forskel mellem den agent-forudsagte værdi og den faktiske værdi fra den indsendte selvangivelse kan afspejle en reel udtræksfejl, men den kan også være en fagpersons præference, en værdi videreført fra sidste års selvangivelse i skattesystemet eller en værdi, der er indført eller ændret et andet sted i indberetningsworkflowet. Fagpersoner på området hjalp os med at skelne mellem disse tilfælde, så vi kunne identificere, hvilke handlinger der krævede en rettelse fra en fagperson eller blokerede en indsendelse.
Fordi vi kunne se disse rettelser i detaljer, omdannede vi gennemgangsprocessen fra et afsluttende trin efter fejl til en kontinuerlig læringscyklus. Vi designede workflowet til at indfange eksperthandlinger som strukturerede data. Nu fodrer hver intervention produktets forbedringssløjfe ved at registrere præcist, hvad Tax AI foreslog, hvad fagpersonen ændrede, og hvad der til sidst kom med i den indsendte selvangivelse.
For et komplekst workflow som udlejningsejendomme skal systemet bevare, hvad der sker mellem kildefilerne og den indsendte selvangivelse. Undervejs organiseres, opdeles og klassificeres dokumenter; felter for udlejningsejendomme udtrækkes med citater tilbage til kildematerialet; disse værdier mappes ind i skattesystemet; og fagpersoner kan stadig rette dem før indsendelse. Disse spor på produktniveau gør det muligt at undersøge, hvor en fejl opstod. For at gøre fagpersoners rettelser til nyttige evalueringsmål behandler systemet dem i tre trin:
- Indfang forskellen: Tax AI’s output sammenlignes med den indsendte selvangivelse for at producere gennemgangsrækker på feltniveau, der indfanger den forventede værdi, den forudsagte værdi, og om forskellen ser handlingsrettet ud.
- Gruppér relaterede fejl: Lignende gennemgangsrækker grupperes for at adskille tilbagevendende produktfejl fra forventet workflowstøj. For eksempel kan gentagne rettelser fra fagpersoner vise, at Tax AI ofte overser felter for „fair rental days“, håndterer „other expenses“ forkert eller forveksler flere udlejningsejendomme i samme kildepakke.
- Gør gentagne mønstre til eval-mål: Når de er gennemgået og målt, bliver gentagne fund til klare eval-mål, som Codex kan forbedre.
Gennemgangsrækker for udlejningsejendomme adskiller tilbagevendende produktfejl fra forventet støj og gør derefter de handlingsrettede tilfælde til eval-mål, som giver Codex en udfordring.
Den tredje søjle er at skabe en ingeniørsløjfe, der kan handle på disse nye evals. Det er her, Codex bliver central.
Antag, at vores eval-pipeline markerer, at Tax AI konsekvent overser feltet "rimelige ejedage", mens fagpersoner pålideligt udfylder det. Fordi dette fund allerede er pakket som et målrettet eval-sæt med repræsentative kildepakker og forventede output, kan Codex undersøge rodårsagen direkte i produktets scaffold.
Codex arbejder ikke kun med et utilstrækkeligt slutoutput. Det inspicerer sporet, eval, lager og skills samlet:
- Undersøg pipelinen: Inspicér kildepakker, udtræksskemaer, mapper-adfærd og kodeveje for at afgøre, om problemet er et ikke-understøttet felt, et overset udtræksmønster, et problem med kildevalg, et hul i mapperen eller et grader-problem.
- Implementér målrettede rettelser: Udvid udtræksskemaet, forbedr kildevalg for dokumenter om udlejningsejendomme, opdatér skattesystem-mapperen, eller finjustér graderen, hvis forventet workflowstøj tælles som en fejl.
- Validér og foreslå: Kør det målrettede eval igen, kør bredere regressionssuiter, og vis en kandidat-pull-anmodning til ingeniørgennemgang.
- Luk sløjfen: Gør en tilbagevendende rettelse fra en fagperson til en målbar softwareudviklingsopgave. Hvis evidensen er tvetydig eller ikke sikkert kan automatiseres, sendes sagen tilbage til produktteamet i stedet for at blive tvunget gennem sløjfen.
End-to-end-selvforbedringssløjfen: produktionsspor fremhæver gentagne rettelser på feltniveau, som bliver til fejlsignaler, Codex kan inspicere sammen med sporet, evals, lager og skills. Handlingsrettede mønstre bliver til afgrænsede evals og mulige produktændringer; tvetydige tilfælde sendes tilbage til ingeniører til gennemgang. Hver udsendt forbedring skaber ny produktionsevidens til næste cyklus.
Eksemplet med udlejningsejendomme er symbolsk for et bredere genanvendeligt mønster: at bruge produktionsartefakter og spor til at forbedre en agents evner. Givet gennemgåede fund fra produktionsdata, kildespor, forventet output fra skattesystemet, relevante kodeeksempler og eval-kommandoer som et sæt input kan Codex forbedre ydeevne og nøjagtighed mærkbart over uger og måneder. Dette bygger på principperne beskrevet i vores arbejde på harness engineering og Symphony, som gennemgår, hvordan man gør opgaver læselige for Codex, giver afgrænset kontekst og værktøjer og bevarer validering og menneskelig gennemgang som en del af miljøet.
Denne evidens bliver ikke automatisk til en Codex-opgave. En rettelse fra en fagperson kan afspejle en udtræksfejl, et mappingsproblem, ikke-understøttet produktadfærd, skattefaglig vurdering eller forventet workflowstøj. Først efter at gentagne forskelle er blevet gennemgået og grupperet til et handlingsrettet fund, gør systemet dem til en afgrænset opgave med en klar succesbetingelse.
Vi anvender denne automatisering på et afgrænset lag af produktet. Dette lag udfører udtræk og mapper kildedokumenter til skatteworkflows. Ingeniører er fortsat ansvarlige for arkitektur, produktbeslutninger og lancering. Fagpersoner styrer forbedringssløjfen gennem det arbejde, de allerede udfører: at rette udtrukne værdier, gennemgå selvangivelser og godkende endelige indberetninger.
For Codex er resultatet ikke en vag alarm, men en afgrænset udviklingsopgave med evidens, redigerbare produktflader og eksplicitte valideringsporte. Konteksten for en repræsentativ opgave om udlejningsejendomme kan opsummeres sådan:
Den samme sløjfe gælder ud over udlejningsejendomme. Udlejningsejendomme tog omkring seks uger og betydeligt softwareudviklingstilsyn at nå 90 % præcision og recall, men arbejdet skabte genanvendelige abstraktioner, gennemgangsartefakter, eval-konventioner og implementeringsmønstre, som gjorde det lettere at understøtte tilsvarende komplekse skatterapporteringsdokumenter som fradragsbilag og bilag for selvstændig virksomhed.
Tax AI viser en vej til at bygge selvforbedrende agenter. Fagpersoner genererer feedbacksignaler med høj værdi ved at levere tjenesten. Produktworkflows bevarer disse signaler som struktureret evidens. Softwaredviklingssystemer understøttet af evals validerer forbedringer, før de når produktion, og en agentdrevet sløjfe holder systemet i et kontinuerligt selvforbedrende flow.
Thrive Holdings’ struktur gør det muligt for os at kopiere dette miljø i specifikke brancher. Holdings er både ejer og operator, så vores samlede softwareudviklingsteams kan arbejde direkte med fagpersoner og produktionsdata inde i virksomheder som Crete, ikke som leverandør, men som partnere. Det betyder, at teknologien, produktet og tjenesten alle er samlet under ét tag, så vi kan bevæge os hurtigere og bygge exceptionelle produkter.
En erfaren regnskabsmedarbejder, som sidste år brugte 180 timer på skatteforberedelse, brugte i år kun 15 timer på det. Hun brugte en del af den tid på at ringe til hver eneste af sine kunder og gennemgå deres indberetninger med dem, et serviceniveau med høj personlig kontakt, som ikke var muligt for et år siden. Resten af tiden brugte hun på at tage nye kunder ind og udvide til nye servicetilbud.
Sammen bruger vores teams nu det samme tredelte design fra Tax AI som blueprint til at bygge workflows i andre domæner på tværs af Thrive Holdings(åbner i et nyt vindue); regnskabsworkflows som bogføring og revision samt operationelle workflows som automatisering af IT-helpdesk. På tværs af domæner og brancher holder det bredere løfte om selvforbedrende agenter. De bedste agenter styres af mennesker for at lære at blive mere kapable, mere betroede og mere værdifulde over tid.
Hvis du vil vide mere om OpenAI-teamet, der arbejdede på dette projekt, er du velkommen til at kontakte os.


