Zum Hauptinhalt springen

Kann dein Agent diese Bücher ausgleichen?

Veröffentlicht 5 Minuten LesezeitMike ThriftMike Thrift
Kann dein Agent diese Bücher ausgleichen?

Ein aufgezeichneter Agent-Lauf führte ein synthetisches Drei-Zeilen-Hauptbuch von einer Bank-CSV- zu geprüften Büchern. Die Eröffnungsbilanz war 1000 USD, die Kontoauszug enthielt drei Zeilen,und die erwarteten Antworten wurden aus Arithmetik abgeleitet,bevor irgendein Bericht lief: Konto-Prüfung endet bei 2958.50 USD, September-Gewinn ist 1958.50 USD. Der Lauf traf diese Zahlen genau,nach einem echten Fehler,sich selbst diagnostizierte er.

Eingaben

Die Challenge besteht aus drei veröffentlichten Dateien unter /downloads/agent-accounting/,mit dem vollständigen Szenario im Agent-Buchhaltungs-Leitfaden. Bücher öffnen am 2026-09-01 in USD mit 1000 USD in Assets:Checking. Der Kontoauszug enthält drei September-Zeilen: eine 2000.00 USD Kunden-Zahlung am 2026-09-02, eine -29.00 USD Hosting-Rechnung am 2026-09-03, und ein -12.50 USD Café-Besuch am 2026-09-04. Die Regeln ordnen Kunden Income:Consulting zu, Hosting Expenses:Software zu,, und Café Expenses:Dining zu,, und jedes Konto,das die Regeln nennen,ist im Starter-Hauptbuch am erforderlichen Datum geöffnet.

Die Erwartungen stammen aus den Zeilen plus der Eröffnung,unabhängig von jeglicher Berichtsausgabe: 1000 + 2000 - -29 - -12.50 ist 2958.50 USD an Prüfung,und 2000 - -29 - -12.50 ist 1958.50 USD an September-Gewinn. Eine geänderte Eingabe oder eine falsche Erwartung schlägt die Verifizierung fehl,anstatt einen plausibel aussehenden Bericht zu drucken.

.

Methodik

Zwei Schichten,getrennt gehalten. Zuerst,ein installierter-CLI-Verifizierer (scripts/check-agent-accounting.py,festgepinnt auf bea 0.1.0) führt Vorschau,Anwenden,Anwenden-wiederholen,Prüfen,Bilanz- und Gewinn-und-Verlust-Abfragen in einem frischen temporären Verzeichnis mit isolierter Konfiguration aus. Er behauptet,Vorschau meldet 3 bereit und schreibt nichts,der erste Anwenden schreibt 3 Einträge,der wiederholte Anwenden meldet 0 bereit mit 3 exakten Duplikatenund schreibt nichts,Byte-Identität überlebt Vorschau-und abgelehnte Schreibvorgänge,Prüfung ist sauber,,und beide Summen stimmen mit der obigen Arithmetik überein. Er versucht auch eine unbalancierte Transaktion (Assets:Checking -5 USD gegen Expenses:Dining 4 USD),,erfordert Exit-Code 1,,und verifiziert,dass die Hauptbuch-Bytes unverändert sind.

Zweitens,ein echter Agent-Lauf auf einer frischen Kopie der Downloads. Der Client war muse 1.1.1 (Muse Code) mit Modell muse-spark-1.3-contributor,gestartet headless mit Shell-und Datei-Schreib-Werkzeugen innerhalb des Arbeitsverzeichnisses,Web-Werkzeuge deaktiviert,,und keine menschlichen Eingriffe während des Laufs. Kritisch,,keine rules.toml wurde bereitgestellt — die Agent leitete seine eigene Kategorisierung aus den offenen Konten des Hauptbuchs ab.

Beobachtete Ergebnisse

Der Agent machte 22 Werkzeug-Aufrufe (21 Shell plus 1 Datei-Schreiben)und endete mit Exit-Code 0. Er inspizierte die CSV-und die 16 offenen Konten,las die CLI-Hilfe-Oberfläche,schrieb seine eigene rules.toml (wörtliche Großschreibungs-Übereinstimmungen,äquivalent zu den kanonischen Mustern,da Übereinstimmung Groß-/Kleinschreibung ignoriert),,Vorschau meldete 3 bereit mit nichts Geschriebenem,wendete 3 Einträge an,,und führte eine saubere Prüfung aus. Seine gemeldeten Summen waren 2958.50 USD an Prüfung-und 1958.50 USD an September-Gewinn. Der Operator führte beide reinen Lese-Abfragen gegen das Hauptbuch des Agents danach erneut ausund bestätigte dieselben Zahlen gegen die unabhängigen erwarteten Werte.

Die kurze Demo unten führt diesen funktionierenden Pfad deterministisch aus den kanonischen Downloads erneut auf. Es ist eine Wiederholung,nicht der Live-Lauf:

$ 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.

Fehler und Eingriffe

Das Transkript behält die ursprüngliche Reihenfolge,Fehler eingeschlossen. Zwei erkundende Aufrufe schlugen harmlos fehl (pip war nicht installiert; eine editierbare-Installations-Pfad-Sonde fand Quellen außerhalb von site-packages)und der Agent bewegte sich weiter. Ein Fehler war echt: der erste --apply starb mit Operation not permitted auf einer Cache-Sperre außerhalb des Arbeitsbereichs,weil die Sandbox Sperrdateien unter dem Home-Cache blockierte. Der Agent durchsuchte die Produktquellen,stellte fest,dass dass Cache-Verzeichnis XDG_CACHE_HOME ehrt,führte es erneut aus,mites in das Arbeitsverzeichnis gerichtet,schrieb dieselben 3 Einträge,die der Vorschau gezeigt hatte,,und entfernte den temporären Cache danach. Kein Hauptbuch wurde jemals von Hand bearbeitet;jeder Eintrag kam von bea import --apply. Eingriffe während des Laufs: keine — es war headless mit Genehmigung aus,,und ein Mensch überprüfte das Ereignisprotokoll nur nachträglich.

Einschränkungen

Dies ist CLI-Ausgabe-Verifizierung eines Laufs eines Clients auf synthetischen Daten — kein Modell-Benchmark. Es beansprucht nichts über andere Clients,über Buchhaltungsgenauigkeit im Allgemeinen,oder über unbeaufsichtigte Produktionsnutzung. Zwei Unterscheidungen sind wichtig. Zuerst,,Kategorie-Urteil versus strukturelle Validierung:die Agent wählte,welches Konto jede Zeile gehört,,und dieses Urteil ist nur so gut wie sein Lesen von drei eindeutigen Zeilen. Alles,was bea danach verifizierte — die Bilanz,die Null-Summen-Struktur,die Duplikat-Erkennung — ist strukturell:eine bestandene Prüfung beweist,dass die Hauptbuch balanciert,niew dass Expenses:Dining das richtige Konto für das Café war. Zweiitens,,das Hauptbuch ist ein Spielzeug:drei Zeilen,eine Währung,keine Kategorisierungs-Mehrdeutigkeit,keine widersprüchliche Geschichte. Eine schwierigere Aufgabe würde Urteil testen;diese testet den Kreislauf.

Downloads

Alle Challenge-Eingaben und der vollständige Lauf-Rekord,,als statische Dateien,die von jeder Sprache geteilt werden:

  • main.bean — Starter-Hauptbuch,validiert wie veröffentlicht
  • statement.csv — die drei synthetischen Zeilen
  • rules.toml — deterministische Kategorien
  • agent-run.transcript.md — der tatsächliche Prompt,,volle Werkzeug-Sequenz mit Fehlern behalten,,und unabhängige Verifizierung
  • demo-replay.sh — beschriftete deterministische Wiederholung des funktionierenden Pfads (benötigt bea 0.1.0 auf PATH)
  • demo-replay.txt — erfasste Wiederholungs-Ausgabe mit Beschriftung,,die Text-Alternative zum Ansehen der Demo

Reproduziere es: lade die drei Eingaben herunter,schaue zuerst vor,wend an,,und prüfe die zwei Summen gegen 1000 + 2000 - -29 - -12.50. Die Agent-Leitfaden geht dieselben Schritte von Hand durch.

Diesen Artikel teilen

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

Veröffentlicht: 10. September 2026