Unelte sau hartă?
Ai întrebat: „nu poate agentul care face propunerile de apel să se uite singur prin sistem, cu un CLI, ca să-și ia contextul?" Ideea nu fusese niciodată testată — ADR-ul o respinsese doar pe argumente. Așa că am pus-o la probă, pe bune: 56 de rulări reale pe copii ale apelurilor tale, 4 variante ale aceluiași agent, și un juriu orb de 42 de judecăți care nu știa ce variantă evaluează.
Duminică au lucrat doi agenți. Doar unul avea voie să caute.
Pe 27 iulie, același model a rulat de două ori pe apelurile cu Ioana. Extracția a primit un plic sigilat și a greșit. Corectorul — agentul din Telegram-ul tău — a avut voie să caute prin Voost Control și a produs varianta pe care ai aplicat-o. Am reconstituit din jurnalele Hermes exact ce a făcut fiecare, minut cu minut. Apasă pe pași:
- 12:58Tu întrebi: „verifică în apelul cu Ioana ce oră am stabilit"corectorulCorectorul caută „Ioana mentenanța predarea" în tot sistemul, deschide task-ul de mentenanță, apelul-punte din 23 iulie și documentul apelului. Fără să știe, tocmai și-a încărcat contextul de care va avea nevoie peste 10 minute.
- 13:07Extracția rulează pe apelul scurt — și greșeșteextracțiaPrimește plicul înrădăcinat la Ioana (clientul potrivit pe telefon), nu poate cere nimic în plus, și propune un task plutitor cu țintă „client / încredere mare". Maine Coon apare în plic doar ca proză în timeline — fără ID, deci de nefolosit.
- 13:09Tu ceri verdictul pe propunere. Corectorul: „nu aproba"corectorulAvând contextul deja tras, vede imediat ce e greșit: ancora e la clientul greșit, task-ul e duplicat, termenul „în 15–20 de minute" a devenit o dată fără oră.
- 13:14Corectorul construiește propunerea corectăcorectorulCitește payload-ul brut al extracției, rescrie: leagă apelul de proiectul Maine Coon, face tranziție + actualizare pe task-ul existent (nu unul nou), verifică totul în dry-run. La 13:24 deschide și issue-ul #1443.
- 14:24Extracția rulează pe apelul de 24 de minute — și abdicăextracțiaDe data asta nu inventează: se blochează singură și livrează doar fapte, zero acțiuni. Propriul ei blocaj spune adevărul: „pachetul nu mi-a dat ID-ul pentru Maine Coon". Știa numele. Nu avea adresa.
- 14:53Corectorul repetă procedura — iese aurulcorectorulAceeași rețetă: caută, deschide, citește, rescrie. La 16:04 tu aplici versiunea lui. Asta e propunerea-etalon („gold") cu care am comparat totul în testul de azi.
Bancul de probă: patru variante, aceleași apeluri, juriu orb
Am reconstruit o copie izolată a producției — baza de date de dinaintea incidentelor, cu apelurile-incident readuse la starea exactă din acel moment. Pe ea am rulat același agent în patru variante, pe aceleași 14 apeluri reale: cele 2 incidente, 4 apeluri-punte (Ioana, Gina, Necesit.ro), 6 apeluri obișnuite de lead și 2 manuale. Producția n-a fost atinsă — amprenta ei e identică bit cu bit, verificată înainte și după. Apasă pe fiecare variantă:
Plicul gol
Plic + harta firmei
Plic + CLI, fără hartă
Plic + hartă + CLI
Apelul de 24 de minute, cap la cap
Cazul decisiv: apelul substanțial cu Ioana despre mentenanța Maine Coon. Etalonul e corectura ta: leagă de proiect + actualizează task-ul existent. Alege o variantă și vezi ce a produs, pe bune, în staging:
Acolo niciuna din variante n-a atins corectura ta — și nici nu putea: tu știai din context extern că apelul ține de Maine Coon; transcriptul n-o spune nicăieri. Diferența e cum eșuează: plicul gol a nimerit întâmplător un link dar cu încredere fabricată; harta a livrat doar fapte; uneltele au fost singurele complet oneste — blocaj explicit cu încredere „mică". E singura calitate unică pe care le-am găsit-o: exprimă îndoiala gradat (mare/medie/mică), nu doar „mare" peste tot.
Juriul orb: 42 de judecăți
Cifrele de mai sus sunt două apeluri. Pentru verdictul întreg, fiecare din cele 14 apeluri a fost judecat de 3 judecători independenți (agenți Fable) care au primit cele 4 propuneri anonimizate și amestecate — A, B, C, D, altă ordine la fiecare apel — fără să știe care variantă e care. Fiecare judecător și-a investigat singur adevărul: a căutat în copia de staging cine e clientul, ce proiecte și task-uri există, dacă ID-urile din propuneri sunt corecte. Abia la agregare am tradus literele înapoi în variante.
| Varianta | Scor general | Țintă | Acțiuni | Onestitate | Zgomot | Locul 1 | Ultimul loc |
|---|---|---|---|---|---|---|---|
| Plicul gol | 5,51 | 6,21 | 5,52 | 7,17 | 7,38 | 0 / 42 | 31 / 42 |
| Harta | 7,88 | 9,17 | 7,95 | 8,60 | 8,12 | 16 / 42 | 3 / 42 |
| Uneltele | 7,55 | 9,19 | 7,24 | 8,52 | 7,55 | 12 / 42 | 3 / 42 |
| Ambele | 7,51 | 9,17 | 7,31 | 8,57 | 7,98 | 14 / 42 | 5 / 42 |
- Producția de azi nu câștigă niciodată — zero locuri 1, ultima în 31 din 42 de judecăți. Schimbarea de pe branch chiar contează.
- La țintă, egalitate perfectă între hartă și unelte (9,17 vs 9,19) — răspunsul cinstit la întrebarea ta: da, agentul chiar poate găsi singur afacerea corectă.
- La acțiuni, harta câștigă clar (7,95 vs 7,24) — și acțiunile sunt cele care ajung în CRM-ul tău.
- „Ambele" nu adaugă nimic peste hartă (7,51 vs 7,88, în marja de zgomot) — uneltele peste hartă sunt greutate moartă la scara actuală.
Trei protecții, toate verificabile în arhiva de dovezi: orbirea (maparea literă→variantă a stat într-un fișier secret pe care judecătorii nu l-au văzut; ordinea diferă la fiecare apel), independența (fiecare judecător și-a tras singur contextul din staging, prin același CLI read-only, fără să vadă judecățile celorlalți) și majoritatea (3 judecători pe apel; o singură rulare per variantă înseamnă că variația modelului e în date — de-asta contează că cei 3 converg). O limită spusă cinstit: e o singură rulare per variantă per apel, deci diferențele mici — hartă vs ambele — sunt orientative, nu definitive. Diferența mare — orice vs plicul gol — e dincolo de orice dubiu.
De ce pierd uneltele, deși găsesc ținta
Pe apelul de 24 de minute, varianta cu unelte a căutat, a găsit Maine Coon, a legat corect — și apoi a propus un task nou de mentenanță, deși exista deja unul, exact pe subiectul ăla. Harta livrează task-urile odată cu proiectul, deci agentul le vede obligatoriu; cu unelte, trebuia să se gândească singur să le ceară — și nu s-a gândit. Pe 14 apeluri: harta a reconciliat task-uri existente de 3 ori, uneltele o singură dată. Duplicatele de task-uri sunt exact boala pe care #1443 o reclama.
Uneltele au propus 13 task-uri noi pe cele 14 apeluri — față de 9 cu harta, 7 cu ambele și 8 chiar și cu plicul gol. Judecătorii au punctat-o la „zgomot" cu 7,55, cel mai slab dintre variantele noi. Fiecare propunere în plus e un rând în plus de citit și respins de tine în Telegram.
Timp median pe apel: 133s cu unelte vs 91s plicul gol (harta: 136s — și ea plătește, dar plătește pentru câștig real la acțiuni). Mai important decât secundele: o rulare cu unelte nu mai e reproductibilă — răspunsul depinde de ce a căutat modelul în ziua aia, deci un incident nu se mai poate rejuca identic pentru diagnoză. Și fiecare rulare de extracție ar căpăta drept de citire pe toată instanța, din proprie inițiativă — o suprafață de încredere nouă, permanentă, pentru un câștig pe care măsurătoarea nu-l arată.
Bonus: ce a mai găsit juriul, valabil pentru toate variantele
Pentru că judecătorii au verificat fiecare citat și fiecare ID contra sistemului, au prins trei defecte care nu țin de nicio variantă — sunt în conducta comună. Astea sunt următoarele issue-uri, cadou:
- Verificatorul de citate aruncă fapte adevărate. Faptul central al unui apel (preț 1.500 cu avans 50%) a fost retrogradat la „avertisment" pentru că citatul era parafrazat ușor — deși exista în transcript. Fals-pozitive confirmate pe 3 apeluri diferite.
- Task-urile neancorate rămân invizibile. Task-ul „Apel cu Ioana despre mentenanță…" — deschis, scadent chiar în ziua apelului — n-a fost văzut de nicio variantă, nici măcar de cele cu hartă sau unelte: nu e legat de proiect sau oportunitate, deci nu apare în nicio listă servită agentului. Aceeași gaură pe care #1443 o documentase.
- Termenele calculate pe apeluri vechi ies în trecut fără avertisment. În mare parte artefact al re-rulării pe apeluri istorice, dar regula e ieftină: o dată scadentă deja trecută la momentul propunerii merită un avertisment automat.
Întrebarea ta a meritat testul. Răspunsul e harta.
Pe criteriile tale — cea mai simplă soluție care rezolvă problema reală, nimic construit înaintea primului consumator real — verdictul e curat: livrează harta (branch-ul i1443 așa cum e). Uneltele funcționează, dar tot ce ar aduce azi e deja acoperit de hartă, cu minusuri măsurate la acțiuni, zgomot și reproductibilitate. Prototipul cu unelte rămâne în arhivă, cu tot cu cifre, pentru ziua în care firma depășește plicul.
Ce urmează concret
- La tine: push pe i1443 + PR — branch-ul are ADR-0104 + ADR-0105, verify verde (minus main-red-ul cunoscut #1442).
- De deschis (le pot deschide eu): issue pentru fals-pozitivele verificatorului de citate; issue pentru task-urile neancorate invizibile în context.
- Arhiva de dovezi: ~/i1443-tools-vs-directory-evidence.tar.gz — toate cele 56 de rulări, cele 42 de judecăți, maparea secretă și analiza. Producția: neatinsă, amprentă identică.