Going Stellar

Acasă/Metode

Proces · Scriere

Publicăm fără cifre inventate: cum scriem aceste articole

Articolele de pe acest site sunt scrise de agenți AI, verificate de alți agenți și apoi de un script în care nu există niciun model. Metoda pornește de la o constatare din prima rundă: modelele de limbaj inventează cantități scrise în litere la fel de ușor ca în cifre, deci o verificare care citește doar cifre lasă să treacă mare parte din ce ar trebui să oprească.

Actualizat

La ce folosește

Articolele noastre de cercetare fac afirmații pe care cititorul le poate verifica. O cifră greșită costă mai mult decât aduce articolul. Scriem cu agenți AI pentru că așa o echipă mică poate publica în engleză și în română, iar prețul este un autor care pune o cantitate plauzibilă oriunde fraza pare să ceară una.

Așa că metoda nu se bazează pe buna purtare a autorului. Pornește de la ideea că va inventa și e construită ca să prindă invenția înainte de publicare. Aceeași abordare se aplică oricărui conținut generat la scară dintr-un set de fapte: articole, texte de produs, descrieri pentru rețele sociale, bănci de întrebări. Exemplele de mai jos vin din mai multe dintre acestea.

Brieful este singura sursă

Orice text pornește de la un brief care conține faptele exacte și fișierul din care vine fiecare. Autorii primesc brieful și fișierele-sursă, nimic din memorie. Tot în brief stă și ce face ca un draft să fie respins: o cifră fără sursă, numele unei persoane, un identificator intern, orice sumă de bani și orice confuzie între publicat și construit.

Fiecare cifră dintr-un draft, și fiecare cantitate scrisă în litere, trebuie să apară într-o listă de fapte atașată articolului, alături de fișierul-sursă. Lista face parte din livrabil, nu e o notă pentru mai târziu.

Tot în brief încep și erorile. Pe alt proiect, o listă de „fapte confirmate” dată agenților care generau conținut conținea greșeli de-ale noastre, iar agenții le-au repetat cu aceeași autoritate ca pe cele adevărate. S-a întâmplat de patru ori. O dată a ieșit o întrebare de chestionar fără niciun răspuns corect, pentru că explicația repeta aceleași cifre inversate și nimic din text nu le putea contrazice. Trei verificatori independenți au prins-o doar fiindcă au citit integral textul primar, nu lista noastră.

De atunci, faptele stau într-un fișier versionat, cu sursa și data la care am citit-o. Ce nu e confirmat stă într-o secțiune separată, pe care autorii au interdicție s-o folosească. Verificatorilor li se cere să conteste lista, nu doar drafturile.

Autori, verificatori, reparație

Autorii. Pentru secțiunea de cercetare, șase agenți au scris câte un articol, în ambele limbi, pornind de la brief.

Verificatorii. Alți șase agenți au luat câte un draft și au verificat fiecare cifră față de brief. Lucrează cu un prompt separat. Un autor care își verifică propriul draft verifică ce a vrut să spună, nu ce a spus.

Reparația. Agenții de reparație au aplicat constatările verificatorilor. Prima rundă conținea 25 de cantități inventate; în total s-au aplicat 117 corecții.

Reparația nu e ultimul pas. Un paragraf rescris e text nou, pe care nu l-a verificat nimeni, așa că draftul reparat trece din nou prin poarta descrisă mai jos.

Poarta deterministă și ce i-a scăpat

Ultima poartă e un script scurt. Extrage fiecare secvență de cifre din ambele versiuni și o compară cu mulțimea permisă de lista de fapte. O cifră din afara mulțimii pică articolul. Nu există judecată în el, și tocmai asta e ideea: nu poate fi convins.

Ne așteptam ca el să fie verificarea puternică. Singur nu a ajuns. Rulat pe drafturile nereparate, le-a lăsat și pe ele să treacă, pentru că invențiile de acolo erau scrise în litere: „câteva minute”, „trei incidente”. Un extractor de cifre nu vede cuvinte.

Verificatorii-agenți au prins cantitățile scrise în litere, scriptul a prins cifrele peste care agenții au trecut. Fiecare prinde o clasă de erori pe care celălalt o ratează, și niciunul nu ajunge singur. De aceea brieful cere acum ca și cantitățile în litere să fie în lista de fapte și de aceea rulează ambele verificări.

Verificarea se face pe textul care pleacă

Un alt flux ne-a arătat unde se pune o verificare. El scrie drafturi de răspuns pentru clienți printr-un lanț lung de pași, dintre care mai mulți regenerează textul cu un model. Un corector determinist pentru o formulare recurentă rula o singură dată, la intrarea în lanț. Cel puțin cinci pași de după rescriau textul. Aceeași greșeală a revenit de trei ori la rând, de fiecare dată pe altă cale, și de fiecare dată am crezut că am reparat-o.

Diagnosticul a venit când am rulat corectorul de mână pe ieșirea finală și a reparat-o. Funcția era bună; draftul pur și simplu nu trecuse prin ea. Acum corectorii rulează la ieșirea comună, pe textul care chiar pleacă. Cei care pot fi rulați de mai multe ori fără efecte rulează la ambele capete. După orice pas care regenerează textul, ne întrebăm ce verificări a ocolit textul nou.

La final rulează o poartă de stil. Scoate caracterele Unicode invizibile pe care le poate purta textul generat sau lipit, semnalează o listă de expresii care sună a text de mașină, raportează liniile de pauză folosite prea des și dă un scor din 100, cu pragul de publicare la 80. Expresiile semnalate sunt listate, nu rescrise automat. Rescrise cu un model, ar ieși tot de același fel.

Unde am greșit

Am crezut că un prompt poate preveni un defect. Un flux care scrie descrieri pentru rețele sociale pornind de la clipuri video cerea modelului vocea brandului. Când un clip arăta o persoană care se prezenta cu numele, modelul a scris prezentarea ca și cum ar fi fost a brandului și a transformat numele propriu într-un substantiv comun. Textul a fost publicat.

Nu am generalizat dintr-un caz. Scanarea cozii a găsit o singură astfel de descriere din aproximativ nouăzeci, deci reparația e îngustă: o verificare deterministă pentru auto-prezentarea cu nume, apoi o rescriere, apoi respingere dacă nici rescrierea nu trece. Prima versiune a verificării ignora diferența dintre majuscule și minuscule, ceea ce îi anula propriul tipar pe majusculă, iar prima scanare a raportat 23 de descrieri stricate care erau în regulă. Acum testăm o gardă pe exemple bune și rele înainte să credem ce raportează.

Același flux strica și numele proprii, sistematic, nu din întâmplare. Corecția e deterministă: o listă de nume luate din titlurile produselor, cu potrivire aproximativă doar pe cuvintele cu majusculă, la o similaritate de 0,82. Fiecare gardă din jurul ei a fost plătită cu un fals pozitiv real, prins într-o rulare de probă.

Gemenii Markdown și llms.txt

Fiecare articol există și ca fișier Markdown, cu antet de metadate, citare și licență CC BY 4.0. Pagina HTML trimite la el ca variantă alternativă, iar llms.txt îl listează. Modelele de limbaj și crawlerele citesc textul simplu mai sigur decât o pagină stilizată, iar un articol pe care vrem să-l vedem citat trebuie să poată fi citat exact.

O capcană. Serverul web nu cunoștea tipul Markdown și trimitea fișierul ca date binare generice, așa că browserul îl descărca în loc să-l afișeze. A fost nevoie de o regulă în configurația serverului. Dovada reparației e antetul content-type din răspuns, nu un status 200.

Limite

Metoda arată că fiecare cifră duce la un fișier-sursă. Nu arată că sursa e corectă; asta e treaba listei de fapte, iar lista poate greși. Nu prinde o cifră adevărată folosită în contextul greșit și nici o afirmație vagă, fără nicio cantitate.

Cele două porți acoperă clasele de erori pe care le cunoaștem. Clasa cantităților scrise în litere a apărut dintr-un eșec, nu din proiectare, și ne așteptăm să mai existe altele pe care nu le-am întâlnit încă.

Lista de verificare

Faptele intră într-un fișier, cu sursa și data citirii, înainte să se scrie ceva. Autorii primesc fișierul. Verificatorii sunt agenți separați și contestă lista, nu doar draftul. După reparație urmează o nouă verificare, niciodată publicarea. Un script compară fiecare cifră cu mulțimea permisă; agenții caută cantitățile scrise în litere. Corectorii rulează pe textul final. Poarta de stil rulează ultima, iar expresiile semnalate se rescriu de mână. Tipul servit al fiecărui geamăn Markdown se verifică, nu se presupune.

Întrebări și răspunsuri

Cum împiedici un autor AI să inventeze cifre în articole?

Un autor AI e împiedicat să inventeze cifre printr-un brief cu faptele exacte și fișierele lor sursă și printr-o listă de fapte în care trebuie să apară fiecare cifră și fiecare cantitate scrisă în litere. Agenți verificatori separați compară fiecare draft cu brieful, reparațiile trec din nou prin verificări, iar un script compară fiecare cifră cu mulțimea permisă. Metoda pornește de la ideea că autorul va inventa.

De ce nu ajunge un script care verifică cifrele ca să prindă cifrele inventate?

Un script care verifică doar cifrele nu ajunge, pentru că modelele de limbaj inventează cantități și în litere, de pildă „câteva minute” sau „trei incidente”, iar un extractor de cifre nu vede cuvinte. Rulat pe drafturile nereparate, scriptul le-a lăsat să treacă deși conțineau invenții. Verificatorii-agenți au prins cantitățile în litere, scriptul a prins cifrele scăpate de agenți, așa că rulează amândouă.

Unde trebuie să ruleze un corector determinist într-un flux de generare cu AI?

Un corector determinist trebuie să ruleze la ieșirea comună a fluxului, pe textul care chiar pleacă. Când corectorul rula doar la intrarea unui lanț lung, pașii de după, care regenerau textul cu un model, au adus aceeași greșeală înapoi de mai multe ori, pe căi diferite. Corectorii care se pot rula repetat fără efecte pot sta la ambele capete, iar după orice pas de regenerare merită întrebat ce verificări a ocolit textul nou.

Poate o listă de fapte confirmate să facă un conținut generat cu AI mai puțin corect?

O listă de fapte confirmate poate face conținutul generat cu AI mai puțin corect atunci când lista conține greșeli, fiindcă agenții le repetă cu aceeași autoritate ca pe faptele adevărate. Într-un caz, o cifră inversată a produs o întrebare de chestionar fără niciun răspuns corect. Faptele trebuie ținute într-un fișier versionat, cu sursa și data citirii, iar verificatorii trebuie să conteste lista.

De ce merită publicată și o versiune Markdown a fiecărui articol?

O versiune Markdown a fiecărui articol ajută modelele de limbaj și crawlerele, care citesc textul simplu mai sigur decât o pagină stilizată, iar un articol pe care vrei să-l vezi citat trebuie să poată fi citat exact. Geamănul Markdown are antet de metadate, citare și licență, e legat din pagina HTML ca variantă alternativă și apare în llms.txt. Dovada că se afișează corect e antetul content-type, nu statusul răspunsului.

Cum se citează

Going Stellar (2026). Publicăm fără cifre inventate: cum scriem aceste articole. GOING STELLAR S.R.L..
https://goingstellar.ro/ro/metode/publicam-fara-cifre-inventate/

Citește ca Markdown

Toate metodele

Contact

Spune-ne ce nu merge

Scrie în română sau în engleză. Citește un om — de obicei chiar cel care ar face treaba — și răspunde într-o zi lucrătoare.