Preskočiť na hlavný obsah

Výskumný denník Bean Labs

Dokáže váš agent vyrovnať tieto knihy?

Publikované Naposledy aktualizované 5 min čítaniaMike ThriftMike Thrift
Dokáže váš agent vyrovnať tieto knihy?
Na tejto stránke

Jeden zaznamenaný beh agenta previedol syntetický trojriadkový ledger z bankového CSV na skontrolované knihy. Počiatočný zostatok bol 1000 USD, výpis obsahoval tri riadky a očakávané odpovede boli odvodené aritmeticky pred spustením akéhokoľvek reportu: kontrola končí na 2958.50 USD, septembrový zisk je 1958.50 USD. Beh dosiahol tieto čísla presne, po jednom skutočnom zlyhaní, ktoré sám diagnostikoval.

Hlinený účtovník vyvažuje zelené kocky na mosadznej váhe vedľa kalkulačky a šálky kávy.

Vstupy​

Výzva pozostáva z troch zverejnených súborov v /downloads/agent-accounting/, s úplným scenárom v príručke pre agentov na účtovníctvo. Knihy sa otvárajú 2026-09-01 v USD s 1000 USD na Assets:Checking. Výpis obsahuje tri septembrové riadky: platba klienta 2000.00 USD z 2026-09-02, účet za hosting -29.00 USD z 2026-09-03 a návšteva kaviarne -12.50 USD z 2026-09-04. Pravidlá priraďujú klienta k Income:Consulting, hosting k Expenses:Software a kaviareň k Expenses:Dining a každý účet, ktorý pravidlá uvádzajú, je otvorený v počiatočnom ledgeri k požadovanému dátumu.

Očakávania vychádzajú z riadkov plus počiatočného zostatku, nezávisle od akéhokoľvek výstupu reportu: 1000 + 2000 - 29 - 12.50 je 2958.50 USD na kontrole a 2000 - 29 - 12.50 je 1958.50 USD septembrového zisku. Zmenený vstup alebo nesprávne očakávanie spôsobí zlyhanie overenia namiesto vytlačenia vierohodne vyzerajúceho reportu.

Metodika​

Dve vrstvy, oddelené. Po prvé, overovač nainštalovaný ako CLI (scripts/check-agent-accounting.py, pripnutý na bea 0.1.0) spúšťa príkazy preview, apply, opakovaný apply, check, balance a income-statement v čerstvom dočasnom adresári s izolovanou konfiguráciou. Overuje, že preview hlási 3 pripravené a nič nezapisuje, prvý apply zapíše 3 záznamy, opakovaný apply hlási 0 pripravených s 3 presnými duplicitami a nič nezapisuje, bitová identita prežije preview a zamietnuté zápisy, check je čistý a oba súčty zodpovedajú vyššie uvedenej aritmetike. Taktiež sa pokúsi o nevyrovnanú transakciu (Assets:Checking -5 USD proti Expenses:Dining 4 USD), vyžaduje exit 1 a overí, že bajty ledgeru sú nezmenené.

Po druhé, jeden skutočný beh agenta na čerstvej kópii súborov na stiahnutie. Klient bol muse 1.1.1 (Muse Code) s modelom muse-spark-1.3-contributor, spustený headless s nástrojmi shell a zápis súborov v rámci pracovného adresára, webové nástroje vypnuté a počas behu žiadne ľudské zásahy. Kľúčové je, že rules.toml nebol dodaný — agent si odvodil vlastnú kategorizáciu z otvorených účtov v ledgeri.

Pozorované výsledky​

Agent vykonal 22 volaní nástrojov (21 shell plus 1 zápis súboru) a ukončil sa s kódom 0. Preskúmal CSV a 16 otvorených účtov, prečítal CLI help, napísal vlastný rules.toml (doslovné zhody s veľkými písmenami, ekvivalentné kanonickým vzorom, pretože porovnávanie nerozlišuje veľkosť písmen), zobrazil náhľad 3 pripravených bez zápisu, aplikoval 3 záznamy a spustil čistý check. Jeho hlásené súčty boli 2958.50 USD na kontrole a 1958.50 USD septembrového zisku. Operátor následne znovu spustil oba read-only dotazy proti ledgeru agenta a potvrdil rovnaké čísla voči nezávislým očakávaným hodnotám.

Krátka ukážka nižšie deterministicky znovu prehráva túto fungujúcu cestu z kanonických súborov na stiahnutie. Je to prehratie, nie živý beh:

$ bea --version
bea 0.1.0
$ bea import (preview)
csv → Assets:Checking: 3 ready, 0 exact duplicates, 0 possible duplicates
$ bea import --apply
Wrote 3 entries to $WORK/books/main.bean.
$ bea check
$WORK/books/main.bean: no errors
$ bea balance Assets:Checking
    Checking                                      2,958.50 USD
$ bea report income-statement -t 2026-09
Net Profit: 1,958.50 USD
checking: 2958.50 USD (expected)
profit: 1958.50 USD (expected)
REPLAY OK: preview 3/0, applied 3, check clean, 2958.50 / 1958.50 USD.

Zlyhania a zásahy​

Prepisy zachováva pôvodné poradie vrátane zlyhaní. Dve prieskumné volania zlyhali neškodne (pip nebol nainštalovaný; prieskum cesty pre editable install našiel zdroje mimo site-packages) a agent pokračoval. Jedno zlyhanie bolo skutočné: prvý --apply skončil s Operation not permitted na zámku cache mimo pracovného priestoru, pretože sandbox blokoval súbory zámkov v domovskej cache. Agent prehľadal zdrojové kódy produktu, zistil, že adresár cache rešpektuje XDG_CACHE_HOME, znovu spustil s jeho nasmerovaním do pracovného adresára, zapísal rovnaké 3 záznamy, ktoré ukázal náhľad, a dočasnú cache potom odstránil. Žiadny ledger nebol nikdy upravený ručne; každý záznam pochádzal z bea import --apply. Zásahy počas behu: žiadne — bol headless s vypnutým schvaľovaním a človek skontroloval log udalostí až dodatočne.

Obmedzenia​

Toto je overenie CLI výstupu jedného behu jedného klienta na syntetických dátach — nie benchmark modelu. Nič netvrdí o iných klientoch, o všeobecnej účtovnej presnosti ani o bezobslužnom produkčnom použití. Dôležité sú dva rozdiely. Po prvé, úsudok o kategórii versus štrukturálna validácia: agent si vybral, do ktorého účtu patrí každý riadok, a tento úsudok je len taký dobrý, ako jeho prečítanie troch jednoznačných riadkov. Všetko, čo bea následne overil — zostatok, štruktúra nulového súčtu, detekcia duplicít — je štrukturálne: úspešný check dokazuje, že sa ledger vyrovnáva, nikdy nie, že Expenses:Dining bol správny účet pre kaviareň. Po druhé, ledger je hračka: tri riadky, jedna mena, žiadna nejednoznačnosť kategorizácie, žiadna konfliktná história. Náročnejší výpis by testoval úsudok; tento testuje slučku.

Súbory na stiahnutie​

Všetky vstupy výzvy a úplný záznam behu, ako statické súbory spoločné pre všetky jazykové verzie:

  • main.bean — počiatočný ledger, validuje sa ako publikovaný
  • statement.csv — tri syntetické riadky
  • rules.toml — deterministické kategórie
  • agent-run.transcript.md — skutočný prompt, úplná sekvencia nástrojov so zachovanými zlyhaniami a nezávislé overenie
  • demo-replay.sh — označené deterministické prehratie fungujúcej cesty (vyžaduje bea 0.1.0 v PATH)
  • demo-replay.txt — zachytený výstup prehratia s popisom, textová alternatíva k sledovaniu ukážky

Reprodukujte to: stiahnite tri vstupy, najprv preview, potom apply, a skontrolujte dva súčty proti 1000 + 2000 - 29 - 12.50. Príručka pre agentov prechádza rovnakými krokmi ručne.

Zdieľať tento článok

Zdroj: https://beancount.io/sk/bean-labs/research-logs/2026/09/10/can-your-agent-balance-these-books

Publikované: 10. septembra 2026

Naposledy aktualizované: 25. septembra 2026