AInora
Techninės architektūros vadovas

Kaip sukurti DI balso agentą skolų išieškojimui

Parašė inžinieriai, kurie kuria balso DI sistemas gamybai. Ne teorija - architektūros sprendimai, technologijų pasirinkimai ir kompromisai, apie kuriuos niekas nekalba.

6 sluoksniai, 5 kritiniai projektavimo sprendimai ir atvira kūrimo vs pirkimo analizė.

6
Architektūros sluoksniai
<800ms
Vėlinimo tikslas
5
Kritiniai sprendimai
6
Atitikties patikros

6 sluoksnių architektūra

Kiekvienoje gamybinėje balso DI sistemoje yra šie šeši sluoksniai. Praleiskite vieną ir turėsite demonstraciją, ne produktą. Kiekvienas sluoksnis turi savo vėlinimo biudžetą, gedimų režimus ir technologijų pasirinkimus.

Sluoksnis 01

Telefonijos sluoksnis

SIP magistralės, WebRTC ir numerių valdymas

Pagrindas. Jūsų DI reikia būdo skambinti ir priimti skambučius. Tai reiškia SIP magistrales (Telnyx, Twilio, Vonage), WebRTC naršyklės testavimui ir programinį numerių valdymą skirtinguose regionuose. Reikia garso šakojimo, kad garso srautas būtų nukreiptas į DI konvejerį, išlaikant pokalbį. Telnyx TeXML arba Twilio Media Streams suteikia neapdorotą garsą per WebSocket - tai yra jūsų įėjimo taškas.

Telnyx SIPTwilio Media StreamsWebRTCRTP/SRTPWebSocket garso srautai
Sluoksnis 02

Balso aktyvumo aptikimas

Kalbos pabaigos nustatymas, pertraukimas ir tylos aptikimas

VAD nustato, kada skolininkas pradeda ir baigia kalbėti. Jei tai padarysite neteisingai, jūsų DI arba nutrauks žmones, arba per ilgai lauks prieš atsakydamas. Reikia konfigūruojamų tylos ribų (paprastai 500-800 ms skolų išieškojimui), pertraukimo aptikimo, kad skolininkas galėtų pertraukti DI vidury sakinio, ir foninio triukšmo valdymo. Silero VAD yra atvirojo kodo standartas. OpenAI Realtime API tai tvarko viduje su server_vad režimu.

Silero VADWebRTC VADServerinis kalbos pabaigos nustatymasKonfigūruojamos tylos ribos
Sluoksnis 03

Kalbos atpažinimas (ASR)

Deepgram, Whisper, Google STT ir vėlinimas

Kalbos pavertimas tekstu pakankamai greitai realaus laiko pokalbiui. Vėlinimas yra apribojimas - paketinis apdorojimas (Whisper) suteikia tikslumą, bet prideda 1-3 sekundes. Srautinis ASR (Deepgram Nova-2, Google Chirp) duoda dalinius rezultatus per 200-400 ms. Skolų išieškojimui reikia didelio tikslumo atpažįstant vardus, sąskaitų numerius ir pinigų sumas. Deepgram yra pramonės standartas realaus laiko balso DI. Jei naudojate OpenAI Realtime API arba Gemini Live, ASR yra integruotas į modelį.

Deepgram Nova-2Google ChirpOpenAI WhisperAzure SpeechSrautinis vs paketinis
Sluoksnis 04

LLM orkestravimas

OpenAI Realtime API vs Gemini Live vs kaskadinis konvejeris

Smegenys. Trys architektūros: (1) OpenAI Realtime API - garsas-į-garsą su vietine funkcijų iškvietime, mažiausias vėlinimas (~300 ms), bet brangu ir riboti balso variantai. (2) Gemini Live - Google vietinis garso modelis su pertraukimų valdymu, tinka dideliems kiekiams. (3) Kaskadinis STT + LLM + TTS - lankščiausias, naudokite bet kokį derinį, bet jūs valdote vėlinimo biudžetą. Skolų išieškojimui LLM reikia nepriekaištingo užklausų inžinerijos: Mini-Miranda įterpimo, skolos konteksto valdymo, prieštaravimų apdorojimo ir griežtų apsaugos priemonių nuo pažadų, kurių agentas negali įvykdyti.

OpenAI Realtime APIGemini 2.5 Flash LiveGPT-4o / ClaudeFunkcijų iškvietimasUžklausų inžinerija
Sluoksnis 05

Kalbos sintezė (TTS)

ElevenLabs, Google TTS, balso klonavimas ir vėlinimas

Jei naudojate kaskadinį konvejerį, TTS yra paskutinė vėlinimo kliūtis. ElevenLabs suteikia natūraliausius balsus su srautiniu išvedimu (~150 ms iki pirmo baito). Google Cloud TTS ir Azure Neural TTS yra pigesni dideliems kiekiams. Skolų išieškojimui balso tonas labai svarbus - reikia balso, kuris yra profesionalus, ramus ir autoritetingas, bet ne agresyvus. Balso klonavimas gali sukurti nuoseklius prekės ženklo balsus. Jei naudojate OpenAI Realtime API arba Gemini Live, TTS yra integruotas į modelio išvestį.

ElevenLabs Turbo v2.5Google Cloud TTSAzure Neural TTSOpenAI TTSSrautinis garsas
Sluoksnis 06

Integracijos sluoksnis

CRM API, mokėjimų apdorojimas ir atitikties variklis

Kur DI prisijungia prie realaus pasaulio. Funkcijų iškvietimas leidžia LLM ieškoti skolininkų sąskaitų jūsų CRM pokalbio metu, tikrinti mokėjimo būseną, inicijuoti mokėjimo nuorodas ir atnaujinti dispozicijas realiu laiku. Jūsų atitikties variklis taip pat yra čia - laiko juostos tikrinimas, DNC paieška, sutikimo patikrinimas ir dažnio ribojimo užtikrinimas vyksta prieš skambutį ir jo metu. Šis sluoksnis atskiria demonstraciją nuo gamybinės sistemos.

REST/GraphQL APIWebhook įvykių sistemaMokėjimų tarpininkų SDKAtitikties taisyklių variklis
Kur projektai pavyksta arba žlunga

5 projektavimo sprendimai, kurie apibrėžia jūsų sistemą

Tai ne funkcijos plano sąraše. Tai architektūriniai pasirinkimai, kuriuos darote pirmą savaitę ir kurie nulemia, ar jūsų sistema veiks gamyboje.

Srautinis vs paketinis apdorojimas

Skolų išieškojimo skambučiuose suvokiamas vėlinimas tiesiogiai veikia skolininko įsitraukimą. Jei jūsų DI atsakymui reikia daugiau nei 2 sekundžių, skolininkas padeda ragelį. Kaskadinis konvejeris (STT -> LLM -> TTS) su paketiniu apdorojimu kiekviename žingsnyje sukaupia 3-5 sekundes vėlinimo. Srautinis apdorojimas keičia žaidimo taisykles: Deepgram transliuoja dalinius nuorašus, LLM generuoja žetoną po žetono, o ElevenLabs pradeda kalbėti nuo pirmo sakinio fragmento. Tikslas: mažiau nei 800 ms nuo skolininko kalbos pabaigos iki DI kalbos pradžios. OpenAI Realtime API pasiekia ~300 ms, nes visas konvejeris yra vienas modelis.

Pertraukimo valdymas

Skolininkai pertraukinėja. Jie nesutinka, užduoda klausimus vidury sakinio, emociškai reaguoja. Jūsų DI turi tai valdyti dailiai. Kai VAD aptinka, kad skolininkas kalba, kol DI išveda garsą, reikia: (1) nedelsiant sustabdyti TTS atkūrimą, (2) išvalyti dabartinę LLM generaciją, (3) užfiksuoti, ką skolininkas pasakė, ir (4) sugeneruoti kontekstui tinkamą atsakymą, pripažįstantį pertraukimą. OpenAI Realtime API tai tvarko natyviai. Su kaskadiniu konvejeriu turite valdyti atšaukimo/valymo logiką tarp trijų paslaugų patys.

Konteksto lango valdymas

Skolų išieškojimo pokalbiai reikalauja istorijos. DI turi žinoti: kas yra skolininkas, kiek jis skolingas, mokėjimų istorija, ankstesnių skambučių rezultatai, ginčai ar skundai ir dabartinė sąskaitos būsena. Tai daug konteksto, kurį reikia sutalpinti į užklausą. Strategija: įkelkite struktūruotą skolininko profilį skambučio pradžioje (500-1000 žetonų), saugokite slenkamąją pokalbio istoriją (paskutinius 10-15 apsikeitimų) ir naudokite funkcijų iškvietimą CRM užklausoms pagal poreikį, o ne iš anksto įkelkite viską. Kelių skolų vartotojams įkelkite tik aktualios skolos kontekstą - nekraukite visų sąskaitų į užklausą.

Funkcijų iškvietimas realaus laiko CRM užklausoms

LLM neturėtų spėlioti sąskaitų likučių ar mokėjimo terminų. Kai skolininkas klausia „kiek esu skolingas?", DI iškviečia funkciją, kuri realiu laiku užklausia jūsų CRM API. Tam reikia: (1) gerai apibrėžtos funkcijų schemos, kurią LLM supranta, (2) mažesnio nei sekundės API atsakymo laiko iš jūsų CRM, (3) klaidų valdymo, kai CRM yra lėtas ar neveikia, ir (4) rezultatų kaupimo talpykloje pakartotinėms užklausoms tame pačiame skambutyje. OpenAI Realtime API ir Gemini Live abu palaiko natyvų funkcijų iškvietimą. Kaskadiniame konvejeryje perimkite LLM išvestį, aptikite funkcijų iškvietimus, vykdykite juos ir grąžinkite rezultatus.

Konferencinio tilto architektūra

Kas nutinka, kai DI reikia perduoti pokalbį žmogui operatoriui? Paprastas būdas atjungia DI ir šaltai perjungia. Geresnis būdas: konferencinis tiltas. DI lieka linijoje, informuoja žmogų operatorių (arba per šnibždėjimą, arba per iš anksto paruoštą santrauką, nusiųstą į jo ekraną), ir tuomet trys šalys yra viename pokalbyje. DI gali toliau klausytis, užsirašinėti, pildyti CRM laukus ir vėl įsitraukti, jei reikia. Tam reikia SIP lygio konferencijos valdymo - Telnyx skambučių valdymo API tai palaiko natyviai su konferencijos komandomis. Architektūra yra trys WebSocket sesijos, besidalinančios vienu tiltu.

Sukurta naudojant pažangiausias technologijas

OpenAIAnthropicAWSGoogleElevenLabsTelnyxOpenAIAnthropicAWSGoogleElevenLabsTelnyxOpenAIAnthropicAWSGoogleElevenLabsTelnyx
Privaloma infrastruktūra

Atitikties variklio architektūra

Šešios posistemės, kurios turi egzistuoti prieš jūsų DI atliekant pirmą skolų išieškojimo skambutį. Tai ne funkcijos, kurias pridėsite vėliau - tai patikros prieš skambutį ir pokalbio metu. Sukurkite jas pirmiausiai arba nekurkite iš viso.

Laiko juostos tikrinimas

Prieš skambinant, nustatykite skolininko laiko juostą pagal jo vietovės kodą ar adresą. Užtikrinkite FDCPA 8:00-21:00 langą vartotojo vietinės laiko juostos atžvilgiu. Atsižvelkite į vasaros/žiemos laiko perėjimus. Naudokite laiko juostų duomenų bazę (IANA/Olson) ir operatoriaus paieškos API - niekada nepasikliaukite skolų išieškotojo vietiniu laiku. Užblokuokite skambutį API lygiu, jei nepatenka į leidžiamas valandas.

DNC sąrašo tikrinimas

Patikrinkite kiekvieną numerį federaliniame „Neskambinti" registre (atnaujinamas kas 31 dieną), jūsų vidiniame DNC sąraše (galioja iš karto), valstijų DNC sąrašuose ir FCC perskirtų numerių duomenų bazėje. Įdiekite tai kaip patikrinimą prieš skambinant telefonijos sluoksnyje - skambutis niekada neturėtų būti inicijuotas, jei numeris yra bet kuriame sąraše. Talpinkite rezultatus, bet nustatykite trumpą galiojimo laiką vidiniams sąrašams.

Sutikimo sekimas

Tvarkykite kiekvieno vartotojo, kiekvieno kanalo, kiekvienos skolos sutikimo įrašą. Saugokite, kaip sutikimas buvo gautas (raštu, žodžiu, per interneto formą), kada, tikslią naudotą formuluotę ir ar jis buvo atšauktas. TCPA reikalauja išankstinio aiškaus sutikimo automatizuotiems skambučiams į mobiliuosius telefonus. Jūsų sistema turi atsisakyti skambinti, jei sutikimo būsena yra nežinoma, pasibaigusi arba atšaukta. Tai griežtas sustabdymas, ne švelnus perspėjimas.

Mini-Miranda įterpimas

LLM sisteminė užklausa turi apimti Mini-Miranda atskleidimą kaip privalomą pirmą frazę: įvardyti įmonę, nurodyti, kad skambutis yra bandymas išieškoti skolą, ir kad bet kokia gauta informacija bus naudojama šiuo tikslu. Tai negali būti neprivaloma, praleidžiama ar paslėpta. Suprojektuokite užklausą taip, kad DI tai pateiktų aiškiai ir natūraliu tempu prieš bet kokį kitą pokalbį. Patvirtinkite testų rinkinyje, kad tai niekada nebūna praleista.

Įrašymo ir transkripcijos konvejeris

Įrašykite kiekvieną skambutį atitikčiai ir kokybės kontrolei. Valstijose, kuriose reikia visų šalių sutikimo (Kalifornija, Florida, Ilinojus), atskleiskite įrašymą skambučio pradžioje. Saugokite įrašus šifruotus (AES-256) su prieigos valdymu pagal vaidmenis. Paleiskite asinchroninę transkripciją (Deepgram arba Whisper) po skambučio pabaigos. Indeksuokite nuorašus paieškojimui - reguliuotojai prašys konkrečių skambučių. Saugokite pagal savo politiką, paprastai 3-7 metus skolų išieškojimui. Kurkite konvejerį tūkstančiams vienu metu vykstančių įrašų valdyti.

Dažnio ribojimo užtikrinimas

Reguliavimo F taisyklė riboja skolų išieškotojus iki 7 bandymų skambinti vienai skolai per slenkamą 7 dienų langą. Po gyvo pokalbio jokių tolesnių skambučių 7 dienas dėl tos skolos. Sekite bandymus kiekvienos skolos lygiu, ne kiekvieno vartotojo. Sumuokite skaičius per visus kanalus ir agentus - DI ir žmonių. Įdiekite kaip duomenų bazės patikrinimą prieš skambinant: užklausų bandymų istoriją, apskaičiuokite slenkamą langą ir užblokuokite, jei pasiektas limitas. Tai griežtas techninis apribojimas, ne rekomendacija.

Atvira analizė

Kurti vs pirkti vs užsakyti specialistams

Nėra universaliai teisingo atsakymo. Teisingas pasirinkimas priklauso nuo jūsų inžinerinio pajėgumo, skambučių apimties, atitikties reikalavimų ir terminų. Štai atvira analizė.

Kurti savo jėgomis

Kada tai prasminga

Rinkitės, kai

  • Turite 5+ inžinierių komandą su balso DI patirtimi
  • Jums reikia gilaus pritaikymo, kurio jokia platforma nepalaiko
  • Skambučių apimtis viršija 100K+ minučių per mėnesį (kaštų sutaupymas pateisina investiciją)
  • Turite reguliavimo reikalavimų, kurie reikalauja visiškos kodo nuosavybės
  • Kuriate balso DI kaip pagrindinę kompetenciją, o ne šalutinę funkciją

Kompromisai

  • 6-12 mėnesių iki gamybai paruošto MVP
  • 500K-2M+ USD inžinerijos investicija prieš pirmą skambutį
  • Nuolatinė priežiūra: modelių atnaujinimai, operatorių keitimai, atitikties pataisos
  • Jūs valdote vėlinimo biudžetą - ir derinimą, kai sugenda 3 val. nakties

Naudoti platformą (Retell, Vapi, Bland)

Kada tai prasminga

Rinkitės, kai

  • Reikia pradėti per savaites, ne mėnesius
  • Jūsų skambučių srautai yra palyginti standartiniai (įeinantys/išeinantys, paprastas šakojimas)
  • Apimtis mažesnė nei 50K minučių per mėnesį
  • Jums nereikia pritaikytų ASR modelių ar specializuoto balso treniravimo
  • Jūsų inžinerijos komanda yra maža ir sutelkta į pagrindinį produktą

Kompromisai

  • Kaina už minutę brangsta dideliuose kiekiuose (0,07-0,15 USD/min + operatoriaus kaštai)
  • Ribota vėlinimo, balso kokybės ir modelio elgsenos kontrolė
  • Platformos gedimai tiesiogiai paveikia jūsų operacijas
  • Atitikties atsakomybė lieka jums - platforma jūsų nedraudžia

Specialistų sukurta sistema (AInora požiūris)

Kada tai prasminga

Rinkitės, kai

  • Jums reikia gamybinės kokybės balso DI be inžinerijos komandos kūrimo
  • Jūsų atvejis reikalauja gilios CRM integracijos ir pritaikytų atitikties taisyklių
  • Norite turėti sistemą, bet ne kurti jos nuo nulio
  • Jums reikia europietiško lygio privatumo (BDAR/ES DI aktas), įdiegto į architektūrą
  • Jums reikia nuolatinio optimizavimo - ne tik diegimo ir perdavimo

Kompromisai

  • Didesnė pradinė kaina nei platforma, mažesnė nei kurti savo jėgomis
  • Priklausote nuo kūrėjo dėl gilaus pritaikymo (nors kodas yra jūsų)
  • Terminas: 4-8 savaitės iki gamybos vs 6-12 mėnesių savo jėgomis
  • Gaunate pagrįstus architektūros sprendimus - tai dažniausiai privalumas, ne trūkumas
Svarbiausias skaičius

Jūsų vėlinimo biudžetas: 800 ms

Natūraliame telefoniniame pokalbyje tarpas tarp vieno žmogaus pabaigos ir kito pradžios yra maždaug 200-500 ms. Jūsų DI gauna šiek tiek daugiau erdvės, nes skambintojai tikisi, kad automatizuotos sistemos reaguoja truputį lėčiau, bet lubos yra apie 800 ms. Daugiau nei tai - pokalbis atrodo sugedęs.

OpenAI Realtime API~300 ms
Gemini Live~400-600 ms
Kaskadinis (Deepgram + GPT-4o + ElevenLabs)~700-1200 ms
Kaskadinis su paketiniu Whisper~1500-3000 ms

Inžinerinė išvada:

Jei pasirenkate kaskadinį konvejerį, svarbi kiekviena milisekundė. Naudokite srautinį apdorojimą kiekviename etape - srautinį ASR, srautinę LLM generaciją, srautinę TTS. Iš anksto paruoškite ryšius. Talpinkite skolininkų profilius. Laikykite paslaugas tame pačiame duomenų centre. Skirtumas tarp 700 ms ir 1200 ms yra skirtumas tarp natūralaus pokalbio ir skolininko, kuris padeda ragelį.

Išgirskite architektūrą veikime

Pasikalbėkite su mūsų DI balso agentu ir patirkite 6 sluoksnių sistemą gyvai.

AgnėAgnė·Lietuviškai

Spauskite norėdami pradėti pokalbį

Norite paskambinti? Skambinkite mūsų DI tiesiogiai

24/7 DI - skambinkite bet kada

Techniniai DUK

Dažniausi inžineriniai klausimai apie DI balso agentų kūrimą skolų išieškojimui.

OpenAI Realtime API pasiekia maždaug 300 ms nuo galo iki galo, Gemini Live - 400-600 ms, o kaskadinis Deepgram + GPT-4o + ElevenLabs konvejeris - 700-1200 ms. Skolų išieškojimui viskas, kas mažiau nei 800 ms, atrodo natūraliai - virš 1,5 sekundės skolininkai padeda ragelį.
OpenAI Realtime API suteikia mažiausią vėlinimą ir paprasčiausią architektūrą su natyviu pertraukimo valdymu, bet pririša prie OpenAI modelių ir didesnės kainos per minutę. Kaskadinis konvejeris siūlo visišką kontrolę ir tiekėjų lankstumą, bet jūs valdote vėlinimo biudžetą ir pertraukimo logiką. Pradėkite su Realtime API greitam startui, tada įvertinkite kaskadinį kaštų optimizavimui dideliuose kiekiuose.
Pertraukimui reikia koordinuoti VAD aptikimą, nedelsiant sustabdyti TTS, išvalyti LLM generaciją ir iš naujo užklausti su pertraukimo kontekstu. OpenAI Realtime API tai tvarko natyviai. Kaskadiniame konvejeryje turite valdyti atšaukimo/valymo logiką tarp trijų paslaugų patys - tai vienas sunkiausių inžinerinių iššūkių balso DI srityje.
Telnyx ir Twilio dominuoja. Telnyx siūlo žemesnes kainas ir skambučių valdymo API su natyviu konferencinio tilto palaikymu ir WebSocket garso srautu. Twilio turi didesnę ekosistemą ir daugiau dokumentacijos. Skolų išieškojimo konferencinio tilto architektūroms Telnyx yra stipresnis pasirinkimas.
Suprojektuokite Mini-Miranda kaip absoliutų pirmos frazės reikalavimą sisteminės užklausos viršuje, virš visų kitų instrukcijų. Paleiskite automatizuotus patikrinimus kiekvienam skambučio nuorašui, kad patvirtintumėte pateikimą per pirmąsias 30 sekundžių. Jei DI kada nors tai praleidžia, tai yra užklausų inžinerijos klaida.
Tai tarpinė programinė įranga prieš skambutį ir jo metu. Prieš skambutį: laiko juostos tikrinimas, DNC patikrinimas, sutikimo patvirtinimas ir Reguliavimo F dažnio ribojimas. Pokalbio metu: Mini-Miranda įterpimas, prašymo nutraukti aptikimas, įrašymo atskleidimas ir realaus laiko registravimas. Visi yra griežti sustabdymai - jei bet kuris patikrinimas nepavyksta, skambutis nevyksta.
Inžinerinis MVP užtrunka 6-12 mėnesių su 3-5 inžinieriais (500K-2M USD). Kaina per minutę: 0,04-0,13 USD kaskadiniam, 0,06-0,10 USD OpenAI Realtime API. Platformos kaip Retell ar Vapi kainuoja 0,07-0,15 USD/min iš viso. Kurti vs pirkti matematika pasikeičia apie 100K minučių per mėnesį.
Taip, bet su kompromisais. Whisper prideda vėlinimą be GPU infrastruktūros, atviri LLM praranda natyvaus funkcijų iškvietimo patikimumą, o atviras TTS neprilygsta ElevenLabs kokybei. Savarankiškas talpinimas reikalauja 2-5K USD per mėnesį vienam GPU instancijai. Pradėkite su komercinėmis API ir pereikite prie atvirojo kodo tik esant labai didelėms apimtims.
Praleiskite kūrimą. Išlaikykite kontrolę.

Mes jau sukūrėme šią sistemą

Viskas, kas aprašyta šiame vadove - 6 sluoksnių architektūra, atitikties variklis, pertraukimo valdymas, konferencinis tiltas - šiandien veikia gamyboje. Paskambinkite demonstraciniu numeriu ir išgirskite patys.