„În această lucrare explorăm folosirea LLM-urilor pentru a genera atât urme de raționament, cât și acțiuni specifice sarcinii, într-o manieră întrețesută, permițând o sinergie mai mare între cele două: urmele de raționament ajută modelul să inducă, să urmărească și să actualizeze planuri de acțiune și să trateze excepțiile, în timp ce acțiunile îi permit să interacționeze cu surse externe, cum ar fi baze de cunoștințe sau medii, pentru a aduna informații suplimentare.”Shunyu Yao et al. · ReAct: Synergizing Reasoning and Acting in Language Models · 2022 · ReAct: Synergizing Reasoning and Acting in Language Models (arXiv 2210.03629, octombrie 2022) — rezumat
Gând, acțiune, observație: fiecare rotire a buclei e un loc de verificat și un loc de atacat.
ReAct întrețese Gând / Acțiune / Observație. Azi e bucla nativă de unelte a oricărui API: modelul emite un apel de unealtă, runtime-ul îl execută, adaugă rezultatul, modelul continuă. Ce a măsurat lucrarea: mai puține halucinații decât lanțul de gândire singur, fiindcă faptele vin din mediu, nu din memorie. Consecințe de inginerie: observația e locul pe unde intră conținutul neverificat (lecția 17); plafonezi numărul de iterații; fiecare unealtă e idempotentă sau confirmabilă; jurnalizezi fiecare triplet ca să-l poți rejuca. Variante: Reflexion (autocritică între episoade), plan-și-execută (planifici o dată, apoi acționezi).
Bucla gând-acțiune-observație schimbă ce înseamnă o greșeală a modelului. Când faptele vin din mediu, eroarea nu mai e doar în textul generat, ci în momentul alegerii uneltei sau în interpretarea rezultatului. Asta face depanarea mai concretă: poți privi fiecare triplet și întreba unde s-a rupt lanțul. De exemplu, un agent care rezervă o masă greșită poate fi urmărit pas cu pas: a gândit bine, dar a citit ora dintr-un răspuns ambiguu al uneltei. Așa bug-ul devine un punct localizabil, nu o nebuloasă de text. Rămâne însă o întrebare: ce se întâmplă când observația însăși e mincinoasă sau incompletă?
Observația e poarta slabă a buclei. Modelul nu poate ști dacă rezultatul uneltei e adevărat; îl tratează ca fapt, exact ca pe propriile gânduri. Dacă o unealtă răspunde cu date vechi, parțiale sau generate de alt model, halucinația nu dispare — doar se mută în mediu. De exemplu, un agent care verifică disponibilitatea unui produs primește un răspuns de API învechit și spune cu încredere că produsul e pe stoc. De aceea observațiile merită același control ca textul generat: sursă, moment, semnătură. Dar dacă observația poate fi suspectă, apare o întrebare: modelul ar trebui să-și verifice propriile concluzii între runde?
De ce contează Orice agent pe care îl depanezi are aceeași buclă; când o știi, știi unde să te uiți în jurnal.