La tesi
Els programes són deterministes però rígids. Els humans són flexibles però poc fiables. Els agents hereten la flexibilitat sense heretar les garanties formals, i els sistemes moderns els permeten actuar de totes maneres cada cop més.
El fracàs és estructural. Un flux de treball agentic barreja dos modes que no pertanyen al mateix actor: el raonament generatiu, que proposa plans, explicacions, codi i afirmacions probabilísticament; i el compromís operatiu, on el sistema circumdant ha de decidir si la feina està completa, si una transició és vàlida, si un efecte pot ser intentat. Sense un límit extern, el mateix actor estocàstic que va realitzar la feina també declara que la feina ha tingut èxit.
Decision Gate estableix un límit determinista entre la proposta i l’acceptació. Un flux de treball declara què s’ha d’establir. Les proves es presenten o s’adquireixen, admeses sota una política explícita, i s’avaluen segons condicions tipificades. Una reclamació o transició avança només quan la relació de prova declarada es compleix. Si l’obligació és falsa, no resolta, mal formada, no disponible o obsoleta, la reclamació no es converteix en un progrés acceptat.
L’actor pot romandre estocàstic. L’acceptació no ha de ser-ho.
La al·lucinació és només una part del problema
“Hallucination” normalment nomena una sortida del model que és falsa o fabricada. En sistemes agentius, la fallada comercialment important és més àmplia: l’agent afirma que una condició està satisfeta, i el sistema host procedeix com si l’afirmació fos un fet operatiu. “Tots els tests passen.” “El cas citat existeix.” “La migració s’ha completat.” “El client és elegible.”
Aquests fracassos no són una sola cosa, i col·lapsar-los destrueix la informació necessària per recuperar-se correctament. Una reclamació pot ser semànticament falsa: l’informe de prova mostra una prova fallida. Pot estar sense resoldre: ningú mai va presentar l’informe. La prova pot estar present però ser insuficient: l’informe prové de l’actor que s’està comprovant quan la política exigeix una font independent. L’absència pot ser observada positivament: una consulta completa del registre demostra que no existeix cap registre. I una comprovació pot fallar operativament: el fitxer no es podria analitzar, la font va expirar. Cada un d’aquests mereix una resposta diferent, i només alguns d’ells són culpa del model.
Decision Gate comença per rebutjar el drecera que causa el dany: tractar la declaració fluida de l’actor com l’autoritat d’acceptació.
Què significa saber alguna cosa
Abans de qualsevol maquinari, una pregunta: què caldria per saber que “les proves passen” és cert?
No hi ha certesa en el sentit filosòfic. La verificació és sempre relativa a un procediment: algun procés anomenat, utilitzant proves anomenades de fonts anomenades, sota supòsits establerts, ha establert una proposició declarada en un moment determinat. Aquesta frase té parts que suporten càrrega. Canvia la font i tindràs un fet diferent. Canvia l’abast, quin compromís, quin compte, quin registre, i tindràs un fet diferent. Canvia quan, i potser ja no tindràs un fet en absolut.
La majoria dels sistemes aplanen això en un boolean i perden tot el que feia que el boolean fos significatiu. Decision Gate manté l’estructura. La seva afirmació està deliberadament limitada: pot determinar si un procediment nomenat, utilitzant proves nomenades sota una política nomenada, va establir una proposició nomenada. La credibilitat del resultat depèn de la llei, les proves i les autoritats que l’han produït, i el sistema és honest sobre aquesta dependència en lloc de ocultar-la darrere d’un puntuació de confiança.
Aquesta reclamació limitada resulta ser exactament el que necessita un flux de treball agent, perquè un flux de treball no necessita veritat metafísica. Necessita saber si pot continuar.
Condicions tipades
Una instrucció ambigua no es pot verificar, així que la primera transformació és de la prosa a les obligacions de prova tipades. “Afegeix cinc proves i assegura’t que passin” es converteix en un conjunt tancat de proposicions:
P1: new_test_count == 5
P2: required_test_result_count == 5
P3: all(required_test_status == PASSED)
P4: tested_commit_digest == proposed_delivery_commit_digest
Completion law: P1 AND P2 AND P3 AND P4
El moviment important no és que la llengua esdevingués veritat. És que una frase ambigua esdevingué un conjunt tancat i inspectable d’obligacions que o bé es mantenen o no.
Cada condició declara un domini d’observació i un predicat tipificat sobre ell, i els dominis estan tancats a propòsit: enters, decimals exactes, booleans, cadenes limitades, dates, instants, registres tancats. Comparacions aparentment trivials amaguen una semàntica real. És 1 igual a 1.0? Significa “contains” subcadena o pertinença a un conjunt? És un camp absent diferent d’un nul? És una data un instant UTC o un dia local? Decision Gate requereix que la llei respongui a aquestes preguntes abans de l’avaluació. Operands invàlids o incompatibles són rebutjats quan es construeix la condició; no es desplacen al temps d’execució i no resurten com un fals convenient.
Significat, separat de la recuperació
Una condició defineix què significa una proposició: el seu domini, el seu predicat i quina evidència és suficient per a ella. Deliberadament no defineix quina API cridar, quin fitxer llegir o quin proveïdor confiar. Això és un vincle separat i explícit: un camí d’adquisició que descriu com es pot produir una observació per a una condició.
La separació importa més del que sembla a primera vista. “El commit provat coincideix amb el commit de lliurament” és una condició amb un significat. Els resums poden arribar d’un rebut de CI presentat pel dispositiu que fa la crida, d’un manifest de construcció signat en un document local, o d’una futura integració registrada que els recupera directament. La condició no canvia quan la infraestructura canvia. La llei semàntica es manté estable mentre que l’adquisició varia segons el desplegament, la frontera de privadesa, l’entorn del client.
Els sistemes que fusionen els dos — on una condició simplement és una consulta del proveïdor — no poden fer aquesta distinció, i això els costa: cada canvi de font de dades es converteix silenciosament en un canvi de significat.
L’evidència és un producte, no una puntuació
El drecera comú és classificar proves en una única escala de confiança. Decision Gate rebutja l’escala. La prova porta un conjunt de fets independents: com va entrar al sistema, quina forma pren el seu contingut, qui o què la va produir, de què es va derivar, quin abast exacte concerneix, quan es va observar, quines proteccions d’integritat la cobreixen, i quina independència té la seva font respecte a l’actor que s’està comprovant.
Aquests eixos no es redueixen a un únic número. Un valor pot tenir una gran integritat i una mala frescor. Una font pot ser autoritària però fora d’abast. Una observació local pot ser fresca i exacta, però controlada pel mateix agent que sustenta la seva afirmació. Una signatura pot demostrar qui va signar els bytes sense demostrar que l’afirmació és veritable. La política d’ús de proves per a cada condició nomena la combinació que n’és suficient per a aquesta afirmació en aquest context — un escenari de desenvolupament pot acceptar el propi informe de proves de l’agent de codificació, mentre que un escenari de llançament exigeix un rebut independent vinculat al compromís exacte. El mateix boolean no porta la mateixa prova.
L’admissió tampoc no és suficient. El material primer passa un límit d’admissió — delimitat, validat, hostil per defecte. Les proves admeses es valoren llavors en funció de la política de la condició, i cada condició requerida per a una avaluació es resol exactament d’una manera:
| Resolució | Significat |
|---|---|
| Present | Hi ha un valor tipificat que satisfà la política disponible. |
| ObservatAbsent | Una observació completa admesa demostra l’absència en un univers declarat. |
| Manquent | L’avaluació no té cap candidat per a aquest objectiu. |
| Insuficient | Existeixen candidats, però cap satisfà la política d’ús. |
Les distincions prevenen errors específics i familiars. Un temps d’espera d’una API de registres judicials no és prova que el cas no existeixi. Una cerca la paginació de la qual mai no es va completar no pot demostrar absència. “No trobat” i “ningú ho va buscar” són estats diferents, i un sistema que els confon acabarà sobreestimant.
Vertader, Fals, Desconegut
Un predicat tipat sobre una resolució d’evidència vàlida produeix un dels tres resultats semàntics. Cert: l’evidència admesa satisfà el predicat. Fals: contradiu el predicat. Desconegut: l’evidència admissible no determina el predicat sota la política declarada.
Els sistemes binaris obliguen a cometre un dels dos errors. Tractar la feina no resolta com a falsa, i es perd la distinció entre “contradit” i “encara no provat” — el flux de treball penalitza les dades mancants com si fossin un fracàs. Tractar la feina no resolta com a vera o “millor esforç”, i el progrés no suportat travessa el límit. La semàntica de tres valors permet que el flux de treball es mantingui de manera segura sense fer veure en cap direcció. L’agent pot adquirir més proves, reparar la feina o escalar, sabent exactament quina obligació està pendent.
Unknown té un significat precís, i no és un contenidor de deixalles. És un resultat semàntic derivat d’evidències vàlidament admeses. Un error d’anàlisi no és Unknown. Un temps d’espera no és Unknown. Un testimoni falsificat, una denegació d’autorització, una càrrega malformada — aquests són errors operatius i d’integritat, mantinguts en les seves pròpies famílies tipades, perquè requereixen un maneig diferent: reintentar, alarma, auditoria, refus. Un sistema que neteja els seus errors en Unknown ha destruït silenciosament la seva pròpia taxonomia d’errors.
Àlgebra de requisits
Les condicions úniques rarament decideixen res d’interessant. Els requisits les componen:
ALL(tests_passed, coverage_met, NOT critical_vulnerability_present)
ANY(primary_registry_match, two_independent_attestations)
QUORUM(2 of: ci_passed, security_scan_passed, reviewer_approved)
L’avaluació dels requisits és composicional i determinista, i preserva els resultats no resolts: un requisit sobre entrades True, False i Unknown es manté Unknown quan les entrades encara no poden decidir-ho, en lloc de predeterminar-se en qualsevol direcció.
Una distinció estructural fa feina real aquí. La finalització de l’etapa — s’ha completat aquesta unitat de treball? — pot utilitzar una lògica rica sobre els resultats de les condicions, incloent la negació legal, perquè la veritat de l’evidència no és monòtona: es pot descobrir una vulnerabilitat. La topologia del flux de treball — quines etapes poden obrir-se a continuació? — està restringida a requisits monòtons sobre el progrés completat, perquè el progrés no ha de fluctuar: un cop una etapa està llesta perquè els seus requisits previs s’han completat, un progrés addicional no relacionat no pot fer que torni a estar no llesta. Lògica rica dins d’una etapa; moviment només endavant a través del flux de treball.
El progrés és un gràfic
Els fluxos de treball reals no són llistes. Les tasques es bifurquen i es tornen a unir; una versió vol dues de tres revisions; components no relacionats avancen en paral·lel. Decision Gate modela la topologia d’un escenari com un gràfic de dependències finit — cadenes, bifurcacions, diamants, múltiples arrels, components desconectats — amb la preparació d’una etapa derivada del progrés complet acceptat sota la seva llei de prerequisits monòtona.
Cada etapa es troba exactament en un dels quatre estats: no llesta, els seus requisits no es compleixen encara; llesta però no oberta; oberta i incompleta; o completada, cosa que significa que la seva llei de completament s’ha avaluat com a True en una mutació acceptada. Obrir una etapa no assigna cap agent, no reserva res i no cancel·la res: la programació del treball es manté fora, on pertany. I un escenari acaba només per la seva pròpia llei de completament explícitament declarada sobre les etapes completades, mai per un accident estructural com “s’ha arribat al darrer node del diagrama.”
El gràfic és el que impedeix que una narrativa fluida de progrés es converteixi en un cursor de flux de treball implícit. El sistema sempre pot respondre, a partir de fets acceptats en lloc de la transcripció: quines etapes són provablement elegibles ara mateix?
Avaluar primer, acceptar segon
L’avaluació és pura. L’evaluador consumeix llei validada, progrés acceptat i una instantània d’evidència admesa, i no realitza cap I/O — cap lectura de fitxers, cap rellotge, cap xarxa, cap emmagatzematge. A partir d’aquests inputs, deriva un candidat: potser un delta de completament i una nova frontera, potser un intent Fals o Desconegut que no canvia res.
Un candidat encara no està en progrés. Cada execució té una única història acceptada amb un cap actual exacte, i un candidat es compromet només si el cap del qual es va derivar continua sent el cap. Dos treballadors poden competir per ampliar la mateixa execució; un es compromet, i el candidat de l’altre és obsolet — no corrupte, no parcialment aplicat, només derivat d’un estat substituït, i re-derivable. Les presentacions repetides de la mateixa operació reprodueixen el resultat original en comptes de doble aplicar. Quan el resultat d’un compromís és realment desconegut — l’emmagatzematge pot haver-se compromès mentre la resposta es va perdre — el protocol informa d’aquest estat honestament en comptes de fer suposicions.
La separació és el que fa que tot el sistema sigui auditable: l’avaluació és una funció determinista que pots reproduir, i l’acceptació és un punt de serialització que pots inspeccionar.
L’acceptació no és efecte
Una mutació acceptada pot portar una intenció: enviar el reemborsament, publicar l’artefacte, desplegar la versió. L’acceptació prova que la intenció pertany a una revisió acceptada de l’execució i és elegible per al seu enviament. No prova que el sistema extern l’hagi rebut, l’hagi executat o l’hagi executat exactament una vegada. Els efectes viuen fora del límit, en sistemes amb els seus propis modes de fallada, i pretendre el contrari és com els fluxos de treball arriben a creure en reemborsaments que mai han succeït.
La mateixa honestedat s’aplica al registre mateix. L’estat durable es revalida en carregar-se en lloc de confiar-se perquè el sistema el va escriure anteriorment. Un historial d’execució exportat pot ser re-verificat de manera independent: els seus artefactes re-hashtats, les seves avaluacions reproduïdes contra proves enregistrades. I les reclamacions de verificació es mantenen separades a propòsit: la integritat del registre, l’autenticitat de la font, l’actualitat del paquet i la veracitat de la prova original són propietats diferents, establertes per mitjans diferents. Un check verd que les col·lapsa és un check verd en el qual no es pot confiar.
Què no resol això
Decision Gate endureix els fluxos de treball contra reclamacions no suportades i falses que es poden expressar com a obligacions de prova explícites. Aquesta frase té vores, i són estructurals.
No descompon automàticament la prosa arbitrària en les proposicions correctes; l’autor del flux de treball, o una eina anterior, declara què és important. No fa que proves febles siguin fortes: un predicat escrit de manera negligent o una política d’evidència permissiva produeix exactament la relació de prova que declara, verificada exactament. No veu raonaments ocults, adjudica interpretacions contestades ni detecta enganys fora dels fets d’assegurança que la política nomena. Una font pot ser consultada honestament i encara així estar equivocada; la política decideix quanta independència i integritat requereix una classe de reclam.
El que elimina és més estret i estructural: la pròpia fluïdesa de l’actor com a autoritat decisiva. Cada reclamació que el flux de treball decideix bloquejar ha de produir proves que sobrevisquin a una política declarada, i cada acceptació deixa un registre exactament del que s’ha establert, de què, sota quina llei.
On ens deixa això
El mecanisme està formalment especificat; les seves propietats semàntiques i de protocol estan establertes; existeix una implementació funcional, i els seus models formals i els seus límits estan documentats en lloc de ser simplement esmentats. El que la seva adopció canvia sobre el comportament dels agents a través de models, harnesses i dominis és un programa empíric obert — aquest sistema és l’instrument que fa la pregunta testable, no una afirmació que la resposta ja està donada.
Els agents continuaran proposant la realitat de manera fluida. Els sistemes al seu voltant decideixen si les propostes es converteixen en fets. Basics ensenya el vocabulari de treball, Applications mostra el límit dins dels productes reals, i la Documentació conté el tractament formal complet: l’àlgebra de requisits, el model gràfic, els estàndards d’evidència i les seves proves.
(Més o menys) més seriosament del que suggereix el lema: aquest és el mateix sistema descrit a la pestanya Normal, explicat per la persona que el va construir. Vaig a passar per alt el material introductori sobre què són les al·lucinations, si existeix la veritat objectiva i la natura fonamental de la realitat — deixo aquestes qüestions simples com a exercicis per al lector.
Els documents Normal i Informal són projeccions redactades de manera independent. Cada mode és propietari dels seus encapçalaments i del seu contingut final; el renderitzador limita cada àncora d’encapçalament al seu mode perquè els dos esquemes no puguin col·lidir.
La tesi
Els LLMs al·lucinen. Les al·lucinations són dolentes. Les afirmacions “lògiques” en les oracions es poden descompondre en fragments que es poden comprovar per la veracitat. Això proporciona una manera empírica de detectar certs tipus d’al·lucinations i enfortir els fluxos de treball agents contra afirmacions falses de completament. Fi.
La versió lleugerament més llarga es fonamenta en una observació: els programes són ràpids i deterministes, els humans són lents i poden pensar, els LLM són més ràpids que els humans i s’aproximen al pensament — però no són deterministes. Algú en aquesta alineació ha de ser l’adult en el moment en què una afirmació es converteix en una decisió, i probablement hauria de ser el participant que no es pot convèncer de res.
La al·lucinació és només una part del problema
En 2023, l’advocat Steven Schwartz va presentar una moció en Mata v. Avianca, Inc. (S.D.N.Y.) citant sis casos judicials generats per ChatGPT. Cap d’ells existia. Un — Varghese v. China Southern Airlines, Co., 925 F.3d 1339 (11th Cir. 2019) — era prou coherent internament com per incloure cites a casos addicionals que tampoc no existien. Quan Schwartz va demanar a ChatGPT que verifiqués el cas, va confirmar que era real. Va ser sancionat pel tribunal.
Nota què ha fallat realment aquí. No és només que el model hagi inventat un cas; és que el flux de treball ha acceptat la pròpia confirmació del model com a verificació. La afirmació “aquest cas existeix” és verificable — case_records.count("Varghese v. China Southern") != 0 és una consulta a la base de dades, no un seminari de filosofia. L’afirmació implícita, “i això dóna suport al meu argument,” és una afirmació diferent i més difícil. Col·lapsar les dues és com acabes explicant-te davant d’un jutge.
Què significa saber alguna cosa
Considera dues possibles sortides de LLM: “El cel és blau” i “Barcelona va guanyar al Real Madrid.”
Ambdues oracions fan afirmacions sobre la naturalesa de la realitat. Un pedant podria notar: “Els incendis forestals tornen el cel vermell”, o “Què és realment el blau”, i el pedant té raó en alguna cosa que resulta molesta: cada afirmació és certa en relació amb un procediment per comprovar-ho. Així que fem realment el procediment sobre la segona.
Claim: "Barcelona beat Real Madrid."
For this to be accepted, what would need to be true?
C1: a match between the two exists on the claimed date
C2: winner == 'FC Barcelona'
Acquisition: my harness queries the ESPN scores API and submits the
response as caller evidence. The policy requires the competition, the
date, and both team identifiers to match exactly -- "some match, at
some point, probably" does not clear the bar.
Observed (submitted as caller evidence):
match: 2025-05-11, La Liga
final_score: Barcelona 4 - 3 Real Madrid
C1 -> True. C2 -> True. Accepted.
Now tighten the claim: "Barcelona beat Real Madrid 6-0."
C3: final_score == (6, 0)
Observed: (4, 3)
C3 -> False. Rejected as stated. A 4-3 win is still a win; it is not
the claim that was made. Precision is the entire point.
L’exemple desenvolupat conserva intencionadament l’estructura de descomposició, proves i veredicte utilitzada al llarg d’aquesta explicació.
Aquesta és tota la trucada, vista en petit: una sentència es va convertir en condicions, les condicions van complir dades, i el veredicte va seguir de les dades en lloc de la confiança del model.
Condicions tipades
Ara per la versió comercialment rellevant. Imagina que ets un desenvolupador ingenu i benintencionat que vol millorar la seva base de codi. Podries dir: “<insert coding agent name>, si us plau, afegeix 5 proves a aquest fitxer I assegura’t que totes passin.” Superant el perill de demanar proves que passin, ens trobem immediatament amb diversos problemes:
- Com sabem que es van afegir les proves?
- Com sabem que n’hi havia cinc?
- Com sabem que han aprovat?
La provocació ajuda amb això. Pots amenaçar el LLM amb abusos, prometre un Skynet invers, invocar la gran escassetat de tokens de 202X, i així successivament. Aquestes antics milloren la fiabilitat — o això m’han dit.
Alternativament, podem convertir la frase en dades:
P1: new_test_count == 5
P2: all(required_test_status == PASSED)
P3: tested_commit_digest == delivery_commit_digest
L’existència de la resposta de P1 resol trivialment les preguntes 1 i 2, P2 resol la pregunta 3, i P3 resol la pregunta que vas oblidar de fer: passada en quin commit? Cada proposició té un tipus, un domini, i cap tolerància per les vibracions. És 1 igual a 1.0? Pregunta equivocada — la condició ja va decidir, abans de l’avaluació, quin tipus de número accepta.
Significat, separat de la recuperació
Aquí hi ha una distinció que sembla pedant fins que et salva: què significa una condició i d’on provenen les dades són coses diferents. “El commit provat coincideix amb el commit de lliurament” significa el mateix tant si els digests arriben d’un rebut de CI, d’un manifest de compilació signat, o d’un intern molt sincer. La condició és el significat. El camí de recuperació és la font, declarat per separat, intercanviable per a cada desplegament.
Els sistemes que fusionen els dos tenen un mode de fallada divertit: canvia el teu proveïdor de dades, canvia silenciosament el que volen dir les teves comprovacions. Preferim que els nostres significats siguin estructurals.
L’evidència és un producte, no una puntuació
El moviment favorit de la indústria és donar a les proves un únic número de confiança i anomenar-ho governança. Però un boolean amb un bon tall de cabell segueix sent només un boolean. D’on prové? Qui controlava la font — era, diguem, el mateix agent que està sent avaluat? Quina frescor té? Quin compromís, compte o registre exactament concerneix? Una signatura prova qui ha signat els bytes; no prova que els bytes estiguin dient la veritat.
Així, l’evidència aquí porta tots aquests fets per separat, i la política de cada condició indica quina combinació és suficient per a aquesta reclamació. El teu bucle de desenvolupament pot acceptar el propi informe de prova de l’agent. La teva porta de publicació pot exigir un rebut independent vinculat al compromís exacte. Mateix boolean, prova diferent, i el sistema es nega a fer veure el contrari.
I quan no hi ha proves, el sistema diu com no hi són: ningú ha mirat (Missing) és diferent d’una cerca completa que prova l’absència (ObservedAbsent), que és diferent de “els candidats existeixen però cap compleix la política” (Insufficient). Un timeout no és cap d’aquests; un timeout és el telèfon sonant sense resposta, no una resposta.
Vertader, Fals, Desconegut
Cada condició tancada es resol en True, False o Unknown, i Unknown és la que suporta la càrrega. Els sistemes binaris han d’estar en una de les dues direccions: anomenar treball no provat False (i castigar la manca de dades com a fallida) o anomenar-lo True (i permetre el progrés no suportat). No resolem la manca de dades mentint amb més confiança. Unknown significa exactament: l’evidència vàlida, honestament admesa, encara no decideix això — així que la porta es manté.
El que no és Unknown és un calaix de deixalles. Els errors de parseig, els temps d’espera, les càrregues falsificades i les denegacions de permís són errors, tipificats i mantinguts per separat, perquè tornes a intentar un temps d’espera i alarmes per una falsificació, i un sistema que classifica ambdós sota “encongiment d’espatlles” eventualment no farà cap de les dues coses.
Àlgebra de requisits
Els fets individuals rarament són la decisió. TOTS, ANY i QUORUM són les maneres de fer que diversos fets siguin un problema per a tothom: tots els tests-pass i cobertura-met i sense-vulns-crítics; qualsevol de coincidència-registre-principal o dues atestacions independents; dues de tres revisors.
Una regla amb dents: la lògica dins d’una etapa pot ser tan rica com vulguis, incloent la negació — “no hi ha vulnerabilitat crítica present” és un requisit perfectament vàlid. La lògica que fa avançar el flux de treball és monòtona només: un cop una etapa està llesta perquè els seus requisits previs s’han completat, més progressos en altres llocs no poden desfer-la. El teu flux de treball avança com la història: endavant, sense retorns.
El progrés és un gràfic
El treball real es bifurca, s’uneix i avança en paral·lel; una llista de tasques que entén les bifurcacions no ha de fer veure que la primera fletxa ha escollit un empleat. Els escenaris aquí són gràfics de dependències. Una etapa no està llesta, està llesta, oberta o completada, i “completada” significa que la seva llei de completament s’ha avaluat com a True en una mutació acceptada — no que un agent ho hagi dit en un to alegre.
A més: arribar a la darrera caixa del diagrama no és èxit. L’èxit és la seva pròpia condició declarada. Els diagrames no són contractes; els contractes són contractes.
Avaluar primer, acceptar segon
L’avaluació és una funció pura: llei validada a dins, evidència admesa a dins, resultat candidat a fora. Sense I/O, sense rellotge, sense xarxa — res per a un entorn inestable per infiltrar. Aleshores, per separat, el candidat intenta cometre contra el cap actual exacte de l’execució.
Dos agents poden acabar el mateix futur; només un aconsegueix fer-lo història. El candidat del perdedor és obsolet — no corrupte, no mig aplicat, només derivat d’un món que ja no existeix, i barat de tornar a derivar. Envia la mateixa operació dues vegades i obtens el resultat original reproduït, no un reemborsament doble. I quan el destí del compromís és realment desconegut — l’emmagatzematge pot haver-se compromès mentre la resposta es va perdre — el sistema informa exactament d’això, en comptes de triar qualsevol resposta que faci el tauler més verd.
L’acceptació no és efecte
Escriure refund: true és, tràgicament, no un sistema bancari. Una execució acceptada pot portar una intenció — enviar el reemborsament, enviar la lliberació — i l’acceptació demostra precisament que la intenció pertany a la història acceptada i pot ser enviada. Si el processador de pagaments realment va moure diners és la història del processador, amb els seus propis modes de fallada, seguits per separat. Els sistemes que confonen “hem decidit” amb “ha passat” acaben molt segurs sobre reemborsaments que ningú ha rebut.
La mateixa disciplina per al registre mateix: l’estat emmagatzemat es torna a validar en carregar, les històries exportades es poden tornar a verificar de manera independent, i “el registre és intacte”, “la font era autèntica” i “la reclamació era veritable” segueixen sent tres afirmacions diferents establertes de tres maneres diferents. Una llum verda per reclamació, sense descomptes per volum.
Què no resol això
És hora de ser honestos sobre els límits, ja que volem estalviar tokens i no ens agraden les xerrades inútils per efecte còmic.
Això no detecta cada al·lucinació: només les afirmacions que algú s’ha molestat a expressar com a obligacions de prova. No fa que els predicats dolents siguin bons: declara una porta mandrosa i s’aplicarà amb una precisió impecable i inútil. No llegeix la ment del model, no resol interpretacions contestades ni atrapa un mentider en qui la teva política d’evidència ha decidit confiar. La llei de deixalles, aplicada perfectament, segueix sent deixalles.
El que elimina és el fracàs específic que continua apareixent en els informes d’incidents: l’actor que avalua la seva pròpia reclamació. Encara cal fer front a agents que intenten debilitar els criteris de pas, o ignorar la porta completament — però una porta proporciona la referència objectiva que fa que aquests moviments siguin visibles, cosa que la prosa mai va fer.
On ens deixa això
En resum, estem fent:
- sortida de token (text) ->
- afirmacions lògiques que poden ser estructurades (Decision Gate) ->
- recuperació de dades programàtica (Decision Gate) ->
- avaluació de reclamacions determinista (Decision Gate) ->
- sortida de dades (JSON) ->
- bucle agentic
M’encanta l’abstracció, així que hi ha força més que podria dir. No obstant això, enllaçar amb la Documentació és probablement la millor opció per a la llegibilitat.
Fes-me saber si puc aclarir res!
Michael “Yung Bidness” Campbell
Inspirations
- HAWK. (2020). Counter Ops [Vídeo visual oficial]. YouTube.
- thrown. (2023). guilt [Vídeo oficial]. YouTube.
- thrown. (2023). on the verge [Vídeo oficial]. YouTube.