Uzmanlık · Sesli agent'lar
Sayfanda ve telefonda konuşan — ve kesintiye uğratılabilen — bir agent.
Kallina üzerinde sesli agent'lar geliştiriyoruz: yazılı bir rol, onaylanmış bir bilgi tabanı, görüşme sırasında çağırdığı araçlar ve ötesinde konuşmayı bir insana devrettiği bir sınır. Yeni agent'ların varsayılan dili Rumence.
Construit dejaTrei implementări proprii, citate mai jos. (1) Platforma Kallina — 472 de funcții edge Deno și 559 de migrări de bază de date, numărate azi în depozit; `https://app.kallina.info` răspunde 200. (2) Componenta de pe acest site, `src/components/agents/KallinaVoiceAgent.tsx`, care implementează traseul corect de sesiune și documentează cele două moduri în care un agent vocal eșuează în tăcere. (3) Puntea `elevenlabs-bridge` și sesiunea `openai-realtime-session`, unde stau parametrii reali de întrerupere și de detecție a vorbirii. Rezerva pe care o spunem: partea de telefon depinde de o gazdă SIP, iar gazda prin care trec liniile noastre de test nu răspunde la data scrierii — vezi pagina de telefonie. Pe web, traseul e verificabil azi.
Un agent vocal, la noi, nu e „un bot care citește un scenariu”. Are patru lucruri scrise înainte de primul apel: un rol, o bază de cunoștințe aprobată de tine, un set de unelte pe care are voie să le cheme, și o limită dincolo de care predă discuția unui om. Ce iese din conversație nu e doar un transcript: apelul are durată, cost defalcat pe furnizor, înregistrare și analiză, toate legate de contul afacerii.
Motorul nu e unul singur, și asta e o decizie, nu un accident. În configurația agentului alegi între ElevenLabs Conversational AI, OpenAI Realtime și Gemini Live, sau lași „auto” și alege platforma după limbă, încărcare și disponibilitate. Peste el alegi separat creierul textual, dintr-un catalog în care fiecare model are latența și costul pe minut afișate în interfață. Când cineva întreabă „de ce răspunde încet”, răspunsul are cifre, nu păreri.
Partea pe care oamenii o simt cel mai tare e întreruperea. Pe OpenAI Realtime, detecția vorbirii e semantică, cu prag 0,5, o pernă de 300 ms înainte și 500 ms de liniște ca să considere că ai terminat de vorbit; comutatorul „permite întreruperi” e pornit implicit. Pe ElevenLabs, evenimentul de întrerupere e trimis mai departe centralei telefonice, ca să oprească redarea imediat. Iar timpul după care agentul consideră că tăcerea ta e un răspuns e configurabil per agent — pe un agent de vânzări scris de noi e strâns la 12 secunde, față de 15 implicit.
Agentul trăiește în două locuri diferite, cu constrângeri diferite. În pagina web intră cu o singură linie de script sau cu o componentă proprie, iar regula de aur e că pagina nu ține niciodată identificatorul agentului și nicio cheie de furnizor — cere platformei o sesiune și primește un URL semnat, de scurtă durată. La telefon intră printr-un trunk SIP, iar acolo constrângerile sunt ale operatorului și ale centralei, nu ale agentului; despre asta scriem separat, pe pagina de telefonie.