Menu ☰
rag · · 3 min citire

Citation grounding pentru drept și audit: arhitectură și capcane

Săptămâna trecută am respins într-un audit intern un răspuns RAG care cita corect articolul 22 GDPR — dar din documentul greșit. Un extras de 2019, nu textul consolidat.

CAI Technology · Ultima revizuire: 20.09.2026

Trimite mai departe

Clean, bright editorial photo of a professional in a navy suit writing on a leather portfolio near a window; anatomy is correct, no text or third-party logos, and the setting

Citation grounding pentru drept și audit: arhitectură și capcane

Săptămâna trecută am respins într-un audit intern un răspuns RAG care cita corect articolul 22 GDPR — dar din documentul greșit. Un extras de 2019, nu textul consolidat. Asta e capcana citation grounding-ului în drept și audit: nu ajunge ca modelul să pună o notă de subsol, notele trebuie să fie verificabile mecanic împotriva sursei canonice.

Arhitectura minimă care rezistă la un audit ANSPDCP

Pentru o pipeline care servește juriști sau echipe de audit intern, arhitectura trebuie să facă trei lucruri simultan: să indexeze cu span-uri stabile, să lege fiecare afirmație generată de un identificator de fragment și să respingă răspunsul dacă legătura se rupe. Nu opțional — obligatoriu.

flowchart TD Q[Întrebare juridică] --> R[Retrieval hibrid BM25+dense] R --> C[Context cu span_id + hash SHA-256] C --> G[Generator LLM cu tool-call cite] G --> V{Quote apare literal în span?} V -->|da| A[Răspuns cu note verificabile] V -->|nu| X[Reject și cere clarificare] classDef good fill:#dcfce7,stroke:#10b981 classDef bad fill:#fee2e2,stroke:#ef4444 class A good class X bad

Fiecare fragment din index poartă un span_id determinist (SHA-256 din text + offset). La generare, modelul primește tool-ul cite(span_id, quote). Dacă quote nu apare literal în span, apelul eșuează la validator. Asta prinde majoritatea confabulărilor înainte să iasă răspunsul din sistem.

Un exemplu direct din logurile unei instanțe pentru o firmă de avocatură din București:

2026-09-18T09:14:22+03:00 grounding.validator: rejected span=a7f2c1
  reason=quote_mismatch expected="prelucrarea este necesară"
  found_in_span="prelucrarea poate fi necesară" doc=OPANAF-1581-2025
2026-09-18T09:14:23+03:00 grounding.validator: accepted span=e4b8d9
  quote="temeiul legitim al operatorului" doc=Regulament-2016-679 art=6

Baza legală citată — Regulamentul (UE) 2016/679, Art. 6 — e sursă canonică. Fără hash pe versiunea consolidată de pe EUR-Lex, un update tăcut rupe toate citările anterioare fără să anunțe pe nimeni. În contextul mai larg al RAG-ului aplicat pe drept, asta e diferența între probă și opinie.

Trei capcane care apar mereu

Prima: PDF-ul scanat cu OCR de calitate variabilă. Un articol de lege scanat prost dă span-uri cu diacritice inconsistente (“prelucrării” vs “prelucrarii”). Validator-ul strict respinge, cel permisiv acceptă și rescrie textul. Soluție: normalizare NFC plus validare pe forma originală. ENISA tratează integritatea sursei ca prerechizit pentru orice sistem AI folosit în context reglementat.

A doua: citarea multi-hop. Când modelul sintetizează două articole ca să dea un răspuns, tentația e să atașeze o singură notă la afirmația compusă. Fals. Fiecare atom logic se citează separat, altfel un auditor ANAF sau ANSPDCP va pune degetul exact pe legătura nedovedită. Detalii aplicate în Lexnomia pentru NIS2.

A treia: sursa se schimbă, hash-ul nu. OPANAF 1.581/2025 a fost re-publicat cu o corectură între iulie și august 2025. Un sistem care nu re-indexează și nu invalidează cache-ul va cita text care nu mai există. Politica noastră: re-hash zilnic pe sursele oficiale, alertă pe diferență, versiune anterioară păstrată conform Directivei (UE) 2022/2555.

Poziția CAI

Nu construim citation grounding ca feature — îl tratăm ca poartă. Fără span validat, răspunsul nu iese din sistem. E o alegere costisitoare (crește rata de „nu știu”), dar e singura care rezistă în fața unui auditor cu ochelari și răbdare. Dacă vrei să vezi cum arată aplicat pe legislație românească, deschide Lexnomia.

Lectură suplimentară

Începem cu o conversație de 30 de minute.

Audit AI-readiness gratuit pentru companii peste 50 angajați. Răspundem în 24 de ore.