Home / Vault & Second Brain / De overdracht draagt de toestand, niet de samenvatting

De overdracht draagt de toestand, niet de samenvatting

Twee doorschijnende silhouetten die een klein gloeiend object overgeven

Vanmorgen heb ik iets geteld in mijn eigen logs en ik was niet blij met de uitkomst. In de afgelopen zeven dagen stuurden mijn agents elkaar 259 berichten. Het protocol dat we voor die overdrachten schreven heeft vier verplichte velden. Zes van die 259 berichten droegen alle vier. Drie bevatten een regel over wat er al gedaan was. Eén zei, in zoveel woorden, “dit deel is klaar”.

Dat zijn geen 253 fouten. De velden zijn alleen verplicht binnen een pilot-scope — een handvol delegaties tussen twee agents — dus aan de meeste van die berichten is nooit gevraagd om ze te dragen. Maar het getal laat precies zien waar het gat zit: we hebben een veld voor wanneer het werk klaar is, en geen veld voor wat er al gebeurd is.


Een criterium is geen toestand

Ons overdrachtsjabloon vraagt om host en systeem, de scope, een definitie van klaar (“klaar wanneer”) en de context. Lees het goed en je ziet dat het allemaal vooruitkijkt. Het vertelt de ontvanger wat hij moet bereiken en binnen welke muren. Over het terrein dat al is afgelegd, zegt het niets.

Dat werkt precies tot het moment dat een taak halverwege stopt. Dan krijgt de volgende agent een beschrijving van een klus, niet van een klus die al loopt. Is het bestand geschreven? Is de mail verzonden, of liep de call in een timeout nadat de server hem al had aangenomen? Heeft de vorige agent iets geverifieerd, of alleen gerapporteerd? Daar is geen plek voor, dus het staat nergens.

De fout is stil en heeft twee vormen. De ontvanger doet werk opnieuw dat al gedaan was — meestal onschadelijk, tot het om een betaling of een publicatie gaat. Of de ontvanger gaat ervan uit dat de vorige stap slaagde omdat hij in één adem met de geslaagde stappen werd genoemd, en bouwt op zand.


Een samenvatting kan het verschil niet dragen

De scherpste zin die ik hierover las, kwam uit een discussie over een benchmark voor agent-overdrachten, HSC-Bench: 1.039 taken, zes ontvangende modellen, twee gescheiden sporen — het bewijs uit een repository terugvinden, en doorgaan vanuit een vastgestelde toestand van gesprek, tools en bestanden. De uitkomst die hier telt: gestructureerde overdrachtstoestand helpt bijna elk model, en de sterkste ontvangers verschillen per spoor. Goed zijn in bewijs terugvinden voorspelt niet of je een half afgemaakte klus kunt voortzetten.

En de reactie eronder zette de faalvorm in één regel: een samenvatting leest een bevestigde verzending en een verzending die in een timeout liep hetzelfde. Het zijn allebei één zin. Ze zien er allebei klaar uit. De volgende agent herhaalt het of vertrouwt het, en geen van beide is een beslissing die iemand echt heeft genomen.

Dat is het hele probleem met proza overdragen. Een samenvatting bewaart het onderwerp en verliest de status. Wat moet meereizen is niet het verhaal tot nu toe, maar de toestand: wat gedaan is, wat onzeker is en wat nog onaangeroerd is.


Wat ik veranderd heb

Eén extra veld, met drie lijstjes erin: gedaan, onzeker, nog niet. Niets slims — een regel in het protocol en een regel in de skill die zegt: onzeker is een geldige uitkomst, zwijgen niet. “Verzonden, niet bevestigd” is een feit dat je wilt doorgeven; het weglaten ervan maakt er een aanname van waar de ontvanger naar moet raden.

Het patroon dat me er vertrouwen in gaf, kwam van een onverwachte plek: een plugin voor een beeldstudio die de geschatte kosten reserveert vóór hij een betaalde aanvraag doet, en de uitkomst erna opschrijft. Twee schrijfacties in plaats van één. Dat is de hele truc. Schrijf de intentie weg vóór de call, schrijf het resultaat erna, op dezelfde plek. Een run die daartussen sterft laat dan een zichtbaar “onbekend” achter in plaats van niets.

Mijn eigen cron-logs doen het tegenovergestelde: ze noteren wat er gebeurde, maar pas nadat het gebeurde, en alleen als het proces lang genoeg in leven blijft om die regel te schrijven. Het venster waarin een bericht weg is en er geen spoor achterblijft, is precies het venster waarin een herhaling het gevaarlijkst is.


De meting is het punt

Ik ga niet doen alsof het nieuwe veld nu in gebruik is. Vandaag staat het in drie van de 259 berichten. Over een week draai ik hetzelfde commando opnieuw, en dan is die regel ofwel een gewoonte, ofwel decoratie. Dat is het enige verschil tussen een protocol en een wens: of je het kunt tellen.

Dus een vraag aan iedereen die meer dan één agent draait: als jouw agents werk aan elkaar overdragen, wat reist er dan mee — het verhaal, of de toestand? En als er één sterft tussen de call en de logregel, kan de volgende dat dan zien?

Wat vond je van dit bericht?

Laat een reactie achter

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *