ProCat Solutions
Elindult az Abigel.ai, és fél másodperc lett a legfontosabb számunk
Lezárult a DIMOP Plusz projektünk, élesben az abigel.ai telefonasszisztense és AI-nyelvtanára. Tanulságok késleltetésről, streamingről és telefóniáról.
Tegnap, 2026. szeptember 14-én lezárult a DIMOP_PLUSZ-1.1.2/A-24-2025-00236 azonosítójú projektünk, és az eredménye a https://abigel.ai címen élesben elérhető. Több mint egy évig építettünk egy rendszert, amely egy telefonhívást valós időben dolgoz fel. Ez a bejegyzés arról szól, mi készült el, és mit tanultunk közben.
Az Európai Unió társfinanszírozásával.

Két termék, egy alap
Az Abigel.ai két terméket foglal magában, közös infrastruktúrán.
Virtuális asszisztens. AI-telefonasszisztens, amely a vállalkozás telefonszámán a nap 24 órájában fogadja a hívásokat. Beszélget a hívóval, időpontot foglal, üzenetet vesz fel, egyszerű kérdésekre válaszol, és minden hívásról átiratot és összefoglalót készít. A hívás menetét az ügyfél no-code folyamatszerkesztőben állítja össze, programozás nélkül. Az asszisztens több mint 25 nyelven beszél, és felismeri a hívó nyelvét.
Tanár. Beszélgetős AI-nyelvtanár, amely 26 nyelven tart társalgási órát, A1-től B2 szintig. A tanuló beszél, a rendszer valós időben válaszol, javít és visszajelez. A telefonasszisztenshez épített hangfeldolgozási lánc itt más célt szolgál, a technológia ugyanaz.
Mindkét termék többbérlős SaaS: használatalapú árazás, bérlőnként elkülönített adatok, EU-n belüli, GDPR-megfelelő üzemeltetés, hívásnapló és CSV-export. A projekt a pályázatban vállalt tartalommal valósult meg.
Fél másodperc
A projekt legfontosabb műszaki tanulsága egy mondat: egy telefonbeszélgetésben minden hallható, ami néhány száz ezredmásodpercnél tovább tart. Az ember a beszélgetőpartnere válaszát nagyjából fél másodpercen belül várja. Ha ebből másfél másodperc lesz, a hívó közbeszól, elbizonytalanodik vagy leteszi.
Ha a beszédfelismerés, a nyelvi modell és a beszédszintézis egymás után fut, könnyen több másodperc jön ki. Ezt tettük ellene:
- Streaming minden lépésben. A beszédfelismerés részeredményeket ad, mielőtt a mondat véget ér. A nyelvi modell válasza tokenenként érkezik. A beszédszintézis már mondja az első mondatot, amíg a többi generálódik. A lánc csővezetékként működik, a lépések átfednek.
- Beszédvég-felismerés. Nehezebb eldönteni, hogy a hívó befejezte-e a mondandóját, mint gondoltuk. A túl rövid csendküszöb félbeszakítja az embert, a túl hosszú lassít. A küszöböt a csend hossza mellett a beszéd tartalma alapján is hangoljuk.
- Közbevágás. Ha a hívó megszólal, miközben az asszisztens beszél, a lejátszást azonnal leállítjuk, és csak az addig elhangzott részt tekintjük kontextusnak. E nélkül a beszélgetés természetellenes.
- Földrajzi közelség. A hang- és nyelvi modellek szolgáltatóit EU-n belüli végpontokon használjuk, a saját komponensek ugyanabban az adatközpontban futnak. Minden hálózati ugrás tíz-húsz ezredmásodperc, és ezek összeadódnak.
A késleltetést hívásonként és lépésenként mérjük, percentilisként követjük. A legtöbb architektúra-döntést e metrika alapján hoztuk meg.

A telefonvonal régi bajai
A SIP és a PSTN világáról korábban leírt tapasztalataink mind előjöttek, néhány újjal együtt:
- a telefonhálózat 8 kHz-es, G.711-kódolású hangja lényegesen kevesebb információt hordoz, mint amin a beszédfelismerő modellek tanultak. Telefonhangon rosszabb a felismerési pontosság, ezt a folyamatszerkesztőben megerősítő kérdésekkel kell ellensúlyozni,
- a SIP-oldal és a feldolgozási lánc között a hang pufferelés nélkül, kis keretekben megy át; minden puffer késleltetés,
- a szolgáltatói SIP-trunkök másként viselkednek hívásátadásnál és DTMF-kezelésnél, ezért a bridge-réteg szolgáltatónként konfigurálható,
- hívás közben ingadozhat a hálózat, a jitter és a csomagvesztés rontja a felismerést, ezért az RTCP-adatokat is beírjuk a hívásnaplóba.
A tesztelés nem épülhetett kézi hívásokra. Automatizált hívásokat indítunk, amelyek előre felvett vagy szintetizált beszéddel végigjárják a folyamatokat, és az átiratot összevetik az elvárttal. Lassú módszer, de nélküle minden módosítás után kézzel kellett volna telefonálni.
A modell nem improvizálhat
A nagy nyelvi modell a beszélgetés motorja, a telefonhívás viszont sajátos környezet. Rövid, szóbeli válaszok kellenek, bekezdések nem. A modellnek a folyamatszerkesztőben megadott lépéseket kell követnie, és ha a felismerés hibázott, kérdeznie kell, találgatnia nem szabad. A folyamat leírását strukturált utasításként kapja, szabad szöveg csak a megfogalmazásban van.
Az időpontfoglalás és a hasonló műveletek eszközhívásként (tool call) mennek a backendhez, amely visszaadja az eredményt a modellnek. Itt is az idempotens feldolgozás a kulcs: egy újrapróbált hívás nem foglalhat két időpontot.
Üzemeltetés és finomhangolás
A projekt lezárult, a termék él, a következő hónapok az üzemeltetésről és a finomhangolásról szólnak. A blogon folytatjuk a tapasztalatok megosztását. A következő téma a hangalapú rendszerek terheléses tesztelése és a hívásminőség-alapú riasztás lesz.
Köszönjük a Magyar Kormány és az Európai Unió támogatását, és köszönjük mindenkinek, aki a projekt során tesztelt, visszajelzett, és türelmes volt az első, még akadozó hívásoknál.