Grai · Modelul
Un sistem realtime cascadat: trei modele care lucrează în lanț, plus stratul care le face să se comporte ca o singură conversație.
Există două feluri de a construi un agent vocal. Full-duplex nativ — un singur model care primește audio și scoate audio, cum face ChatGPT Live. Și cascadat — recunoaștere, apoi model de limbaj, apoi sinteză, trei piese distincte.
Grai e cascadat. Asta e o alegere, nu o limitare accidentală: piesele se pot schimba independent, două din trei rulează local, iar costul de rulare al audio-ului e zero. Prețul plătit e că nu putem produce sunete în timp ce ascultăm — pauza dintre tura ta și a lui e reală.
Aproape toată piața comercială e cascadată, inclusiv ElevenLabs Agents și majoritatea furnizorilor. Full-duplex nativ, în producție și cu română, azi nu are nimeni.
| Piesa | Model | Unde rulează | Licență | Măsurat |
|---|---|---|---|---|
| Recunoaștere | Nemotron 3.5 ASR streaming, 0,6 miliarde de parametri | local, pe procesor | OpenMDW-1.1 | 92 ms |
| Model de limbaj | schimbabil, prin poartă compatibilă OpenAI | în afară | a furnizorului | 2180 ms |
| Sinteză | Supertonic 3, 99 de milioane de parametri, 31 de limbi | local, pe procesor | OpenRAIL-M | 305 ms |
Singura piesă care pleacă de pe mașina ta e modelul de limbaj, și primește text, nu audio. Poate fi și el local, dacă ai hardware — atunci nu iese nimic.
Modelele de mai sus sunt împrumutate și se pot înlocui. Ce e al nostru — și ce face diferența dintre o demonstrație și un agent care poate răspunde la telefon — e stratul dintre ele.
Decide când ai terminat de vorbit, pe panta intonației. Distinge confirmările scurte („mhm") de preluarea turei, ridică pragul când dictezi cifre, se calibrează pe ritmul tău în silabe pe secundă.
1.019 linii · 86 de testeMăsoară înălțime, energie, ritm, ezitare, șoaptă — normalizate față de linia ta de bază, nu absolut. Panta F0 pe ultimele 600 ms e semnalul care decide tura.
731 linii · 1,9 ms per replicăȚine minte între conversații, cu revizuire în timp: „vine vineri" devine „a venit vineri" după ce trece vineri. Ștergerea funcționează pe disc, nu doar în interfață.
976 linii · 104 testeÎn ambele sensuri. De la om: „douăzeci și trei de mii" devine 23480 înainte de model. Spre om: 069123456 devine „zero șase nouă unu…", cifră cu cifră. Ore, date, sume, fiecare cu regula ei.
1.280 linii · 98 de testeAgentul trăiește în afara conexiunii. Închizi fila, cade rețeaua, repornește serverul — conversația continuă. Uneltele își termină treaba și rezultatul te așteaptă la coadă.
632 liniiLimite pe client și pe adresă, cu poziția în coadă în loc de refuz sec. Închirierea recunoașterii se face pe tură, nu pe conexiune — de aici capacitatea.
506 linii · 57 de teste16.082 de linii de cod, din care 4.112 de teste. Cifrele de lângă fiecare bloc sunt numărate din sursă, nu estimate.
Când are nevoie de o informație din afară, majoritatea agenților tac și așteaptă. Grai bifurcă: spune o punte scurtă, trimite treaba pe alt fir, și rămâne întreruptibil.
Partea grea a întreruperii nu e oprirea. Sinteza merge mai repede decât redarea, deci în momentul în care vorbești peste el rămâne în tampon audio care n-a ajuns niciodată la urechea ta.
Fără corecție, modelul crede că a spus tot — și la replica următoare zice „v-am spus deja" despre ceva ce n-ai auzit. Istoricul se taie la câte milisecunde au ieșit efectiv din difuzor. Oprirea propriu-zisă durează între 1 și 3 milisecunde.
Fiecare afirmație de mai sus are o măsurătoare în spate, cu eșantion, geometrie și interval de încredere.