რეალურ დროში ხმა ადამიანებს AI-ზე დაფუძნებულ აპლიკაციებთან ურთიერთქმედების სრულიად განსხვავებულ გზას სთავაზობს. ტექსტის აკრეფისა და მენიუებში ნავიგაციის ნაცვლად, მომხმარებლები ბუნებრივად საუბრობენ და პასუხებს რეალური დროის ტემპითა და ემოციური კონტექსტით იღებენ.
რეალურ დროში შესანიშნავი ხმოვანი გამოცდილების შექმნა ცოცხალი ურთიერთქმედების კოორდინაციას გულისხმობს. პროდუქტზე რეალური მუშაობა სწორედ აქ იწყება. რეალურ დროში გამოცდილება მყისიერი და ბუნებრივია; ისეთი აპლიკაციის შექმნა, რომელიც ამას მუდმივად ინარჩუნებს, ცალკე საინჟინრო გამოწვევაა.
მოდელი სისტემის მხოლოდ ერთი ნაწილია. სამუშაო აპლიკაციებს სჭირდება ხმაზე მორგებული ინფრასტრუქტურა, საუბრის დინამიკისა და ღრმა მსჯელობის მკაფიო გამიჯვნა და სესიის მსვლელობისას მოვლენებზე დაფუძნებული მართვა.
დარჩენილი სირთულეების დიდი ნაწილი დამცავ მექანიზმებსა და შეფასებას უკავშირდება. უსაფრთხოების შემოწმებები ცოცხალი აუდიოს ტემპს უნდა მიჰყვეს, ხოლო საუბრის ისეთი წარმავალი თვისებები, როგორებიცაა დროის შერჩევა, ტონი და დინამიკა, შეფასების ტრადიციული მეთოდებით ძნელი შესაფასებელია.
დღეს ხმოვანი ფუნქციების მქონე AI-აპლიკაციების უმეტესობა კვლავ ერთნაირად მუშაობს: შედის მეტყველება, გამოდის ტექსტი, მოდელი მსჯელობს, შემდეგ კი სინთეზირებული ხმა პასუხს კითხულობს. ეს მუშაობს. თუმცა ურთიერთქმედება ზუსტად ისეთია, როგორიც სინამდვილეშია: პროცესი და არა საუბარი.
რეალურ დროში ხმა ამას ცვლის. მომხმარებლები ბუნებრივად საუბრობენ და იღებენ პასუხებს, რომლებშიც ტემპი, ტონი და ემოციური კონტექსტი იგრძნობა. ეს გამოცდილება უფრო სწრაფი და მოქნილია, ვიდრე მეტყველებიდან ტექსტზე გადასვლის ჯაჭვური პროცესები, და სისტემის მართვაზე მეტად ადამიანთან საუბარს ჰგავს.
ჩვენ ვნახეთ, რომ ეს შესაძლებელს ხდის ისეთი პროდუქტების შექმნას, რომლებთან გამკლავებაც ჯაჭვურ არქიტექტურებს უჭირს. რეალურ დროში მოქმედ ხმოვან აგენტებს შეუძლია მომხმარებელთა მომსახურების ისეთი შემთხვევების მართვა, რომლებიც სხვაგვარად ხანგრძლივ, შემზღუდველ IVR-მენიუებსა და განყოფილებებს შორის გადართვას მოითხოვდა. მათ შეუძლიათ სწავლება, ახალი მომხმარებლების გაცნობა, სხვადასხვა არხში ხელმისაწვდომობის გაუმჯობესება და სხვა მრავალი რამ. ყველგან, სადაც ზეპირი საუბარი ტექსტურ ინტერფეისზე უკეთესია, რეალურ დროში ხმოვანი სისტემის შექმნა ღირს.
ხმოვანი ფუნქციების მქონე აპლიკაციების უმეტესობა ეგრეთ წოდებულ „ჯაჭვურ მიდგომას“ იყენებს: მეტყველების ტექსტად გარდაქმნის, ენის დამუშავებისა და ტექსტის მეტყველებად გარდაქმნის ცალკეული მოდელებისგან შემდგარ პროცესს. ეს სისტემები კარგად მუშაობს და მრავალ შესაძლებლობას ქმნის, თუმცა აუდიო მხოლოდ პროცესის კიდეებზე გვხვდება. ცალკეული ეტაპები პროცესს სავალდებულო სტრუქტურასა და დაყოვნებას მატებს, რის გამოც ურთიერთქმედება რეალურ საუბარზე ნაკლებად ბუნებრივია.
რეალურ დროში ხმა განსხვავებულ მიდგომას იყენებს. მოსმენის, მსჯელობისა და საუბრისთვის ცალკეულ მოდელებზე დაყრდნობის ნაცვლად, ერთ მოდელს სამივეს უშუალოდ შესრულება შეუძლია: ის ერთდროულად იგებს და ქმნის როგორც აუდიოს, ისე ტრანსკრიპტებს. შემავალი და გამომავალი მონაცემები უწყვეტად მუშავდება, ამიტომ სისტემა ბუნებრივი დროის შერჩევითა და ემოციური შეფერილობით პასუხობს და ცოცხალი საუბრის რეალისტურ რიტმს ინარჩუნებს. შედეგად, დროის შერჩევა, ტონი და საუბრის შეწყვეტაზე რეაგირება პროდუქტის ცენტრალური ნაწილი ხდება.


რეალურ დროში გამოცდილება მიმზიდველია, რადგან მყისიერია; სირთულე კი ისაა, რომ აქ თავის რიგს არაფერი ელოდება. მისი მხარდაჭერა სწრაფ და ზუსტ აუდიოგენერაციაზე მეტს მოითხოვს. რთული სწორედ ყველაფერი დანარჩენია. მოდელი ცოცხალი სესიის ფარგლებში მუშაობს; მის გარშემო ყველაფერი — მდგომარეობა, უსაფრთხოება, კოორდინაცია და მართვა — საუბრის პარალელურად, იმავე ცოცხალი ტემპით უნდა მუშაობდეს.
ჯაჭვურ ხმოვან აპლიკაციაში მონაცვლეობაზე დაფუძნებული საუბარი მკაფიო მონაცვლეობით სტრუქტურას ქმნის. მომხმარებელი საუბრობს, სისტემა პასუხობს და შემდეგი ეტაპი იწყება. რეალურ დროში ხმოვან სისტემას ასეთი სტრუქტურა არ აქვს. ორივე მხარეს შეუძლია ერთდროულად საუბარი; ან შესაძლოა არცერთი საუბრობდეს და სიჩუმე ჩამოვარდეს. მომხმარებელს შეუძლია სისტემა პასუხის შუაში შეაწყვეტინოს ან დამატებითი კითხვა მის საუბრის დასრულებამდე დასვას. საუბრის შეწყვეტინება გამონაკლისი შემთხვევა აღარ არის და ურთიერთქმედების ძირითად მოდელად იქცევა.
სწორედ ეს მოდელი აქცევს რეალურ დროში აპლიკაციებს კოორდინაციის ამოცანად და ამიტომაა მოდელის გარშემო არსებული სისტემა თავად მოდელივით მნიშვნელოვანი.
ასეთი სისტემის მასშტაბური მხარდაჭერა ცოცხალი ურთიერთქმედებისთვის სპეციალურად დაპროექტებას მოითხოვს. სამუშაო გარემომდე მიღწეულ სისტემებში ამის სამი ძირითადი კომპონენტი მუდმივად მეორდება.
რეალურ დროში ხმოვანმა სესიებმა უნდა მართოს აუდიონაკადი, საუბრის მონაცვლეობა, შეწყვეტინებები, კავშირის სასიცოცხლო ციკლი და აგენტის შესრულება. აპლიკაციის განთავსების გარემოდან გამომდინარე, შესაძლოა სატელეფონო კავშირის მხარდაჭერაც გახდეს საჭირო. ეს გამოცდილების საფუძველი და აპლიკაციის მასშტაბირების მთავარი ნაწილია.
პირველი მოთხოვნა ხმაზე მორგებული სასესიო შრეა. რეალურ დროში კომუნიკაციის (RTC) ფრეიმვორქები აპლიკაციას მონაწილეების მართვის, აუდიოს ნაკადის სახით გადაცემისა და სატელეფონო გარემოში აგენტების გაშვების საშუალებას აძლევს. ჩვენი გამოცდილებით, განსაკუთრებით სასარგებლოა LiveKit, რომელიც მინიმალური დაყოვნების მქონე WebRTC სტეკს, ხმაურის მაღალხარისხიან ჩახშობასა და ჯიტერის შემცირებას მზა სახით გვთავაზობს. ამ შრის დამოუკიდებლად შექმნა, როგორც წესი, დამატებით სირთულედ არ ღირს.
რეალურ დროში ხმისთვის განკუთვნილი მრავალაგენტიანი არქიტექტურის არსი პასუხისმგებლობების გამიჯვნაა.
რეალურ დროში მოქმედი ხმოვანი მოდელები სასაუბრო აუდიოს ნაკადის სახით გადაცემას შესანიშნავად უმკლავდება, თუმცა ღრმა მსჯელობისთვის ოპტიმიზებული არ არის. ისეთი ამოცანები, როგორებიცაა ხელსაწყოების გამოძახება, ინფორმაციის მოძიება და სტრუქტურირებული გადაწყვეტილების მიღება, სხვა მოდელის გამოყენებით უკეთ სრულდება.
სასარგებლო მოდელია მოპასუხე-მოაზროვნის არქიტექტურა.
მოპასუხე რეალურ დროში მოქმედი ხმოვანი აგენტია. ის ცოცხალი ურთიერთქმედების შენარჩუნებაზეა პასუხისმგებელი: ისმენს, საუბრობს, რეაგირებს შეწყვეტინებებზე და საუბრის დინამიკას ინარჩუნებს. მისი დიზაინი პრიორიტეტს სწრაფ რეაგირებას, სიცხადესა და ემოციურ უწყვეტობას ანიჭებს.


მოაზროვნე ცალკე აგენტია, რომელსაც მსჯელობის უნარის მქონე მოდელი ამუშავებს. ის ძირითადი პროცესის მიღმა მუშაობს და ასრულებს ისეთ ამოცანებს, როგორებიცაა ხელსაწყოების გამოყენება, ინფორმაციის მოძიება და დაგეგმვა. საჭიროებისას მოპასუხეს შეუძლია მას მიმართოს და მიღებული შედეგები საუბარში დააბრუნოს.
ზოგ შემთხვევაში მოაზროვნემ შესაძლოა მსჯელობა უშუალოდ შეასრულოს. სხვა შემთხვევებში მას შეუძლია სპეციალიზებული აგენტების ჯგუფის კოორდინატორის როლი შეასრულოს. მთავარი იდეა ისაა, რომ ამ სამუშაოს მსჯელობის ამოცანებისთვის უკეთ შესაფერისი მოდელი ასრულებს.
სარგებელი მარტივია: მოპასუხე სწრაფი, საუბარზე ორიენტირებული და მიზანმიმართული რჩება, ხოლო მოაზროვნე ასრულებს სამუშაოს, რომელსაც მეტი დრო, კონტექსტი ან სტრუქტურა სჭირდება.
მოწინავე მოდელების მომავალმა განვითარებამ შესაძლოა ეს მიდგომა ზედმეტი გახადოს, თუმცა ჯერჯერობით, ჩვენი გამოცდილებით, ეს მოდელი მუდმივად სჯობს ერთაგენტიან მიდგომებს.
რეალურ დროში მოქმედი ხმოვანი სისტემები ბუნებრივად წარმოქმნის მოვლენების უწყვეტ ნაკადს.
მომხმარებლები იწყებენ საუბარს, ჩერდებიან და საუბარს აწყვეტინებენ. ტრანსკრიპტები ეტაპობრივად ახლდება. პასუხები იქმნება და ნაკადის სახით გადაიცემა. შემოდის გარე შედეგები. სესიის პირობები იცვლება. ყოველივე ეს შეიძლება აღირიცხოს, ნაკადის სახით გადაიცეს და შეინახოს იმ საკვანძო მოვლენებად, რომლებმაც საუბრის კონკრეტული მიმდინარე მდგომარეობა შექმნა. მათ გარეშე დეტალური და მიზნობრივი ჩარევის შესაძლებლობას ვკარგავთ.
მოვლენებზე დაფუძნებული მიდგომა ამის მართვის მკაფიო გზას გვთავაზობს. სისტემა მოვლენებს წარმოქმნისთანავე აღრიცხავს, სესიის მდგომარეობას აახლებს და შესაბამის შემდგომ მოქმედებებს იწვევს.
მსუბუქი დამმუშავებლები რეალურ დროში პროცესის სწრაფ რეაგირებას ინარჩუნებს, ხოლო უფრო რთული ამოცანები — მდგომარეობის მანქანების განახლება, მეტრიკების აღრიცხვა, მგრძნობიარე ინფორმაციის წაშლა, მონაცემთა ბაზების განახლება და სესიიდან გასვლა — ასინქრონულ ფონურ ამოცანებად იშვება.
ფუნქციების დამატებასთან ერთად ამ ფონური ამოცანების რაოდენობა შეიძლება სწრაფად გაიზარდოს. პროდუქტის მცირე ცვლილებამაც კი შეიძლება მოვლენების ახალი ნაკადები და დამოკიდებულებები წარმოქმნას. ამ პარალელურობისთვის კარგად სტრუქტურირებული არქიტექტურა მნიშვნელოვანია, რათა განვითარების პროცესში სისტემა გასაგები და საიმედო დარჩეს.
მოვლენებზე დაფუძნებული ეს მიდგომა პროდუქტის კიდევ ერთ მნიშვნელოვან ამოცანას — თავად საუბრის ფორმირებასაც — ემსახურება. რეალურ დროში მოქმედი აუდიოსისტემა მხოლოდ პასუხებს არ ქმნის; ის მართავს ტემპს, რეაგირებს სიჩუმესა და შეწყვეტინებაზე და წყვეტს, როგორ და როდის უნდა დასრულდეს სესია. ეს ქცევები პროდუქტის გამოცდილების ნაწილია და მათ გააზრებული დაპროექტება აუმჯობესებს.
რეპლიკების რაოდენობის, გასული დროისა თუ მომხმარებლის ქცევის მიხედვით სესიის მდგომარეობის ცვლილებისას სისტემას შეუძლია მოპასუხეს მიზნობრივი მითითებები მიაწოდოს. სესიის ლიმიტის მოახლოებისას მან შეიძლება აგენტს მომხმარებლისთვის საუბრის დასრულებაში დახმარება მოსთხოვოს, ხოლო ურთიერთქმედების შეფერხებისას — განმარტების მიწოდება. ეს ჩარევები მსუბუქია, თუმცა გამოცდილებას გააზრებულსა და თანმიმდევრულს ხდის.
კარგად დაპროექტებული სისტემა სესიის მდგომარეობის მკაფიო სურათს ინარჩუნებს: ვინ საუბრობს, როგორ ვითარდება საუბარი და რომელი პირობები შესრულდა. მოვლენების ნაკადის მიერ მუდმივად განახლებული ეს მდგომარეობა საჭირო დროს სწორი მითითებების მიწოდების საშუალებას იძლევა.
მომხმარებელზე ორიენტირებულ AI-ში დამცავი მექანიზმები აუცილებელია. ისინი უზრუნველყოფს უსაფრთხოებას, მოთხოვნებთან შესაბამისობას, ბოროტად გამოყენების პრევენციასა და საიმედოობას. მონაცვლეობაზე დაფუძნებულ სისტემაში მათი გაშვების აშკარა მომენტები არსებობს: მომხმარებლის საუბრის დასრულების შემდეგ ან პასუხის მიწოდებამდე.
რეალურ დროში ხმოვანი ურთიერთქმედება ამ მოსახერხებელი საკონტროლო წერტილების უმეტესობას აქრობს. მომხმარებლის მონაცემები უწყვეტად შემოდის. შესაძლოა, აუდიოგამოსავალი უკვე ნაკადის სახით გადაიცემოდეს. დასრულებული ტრანსკრიპტები ხშირად ხმას ჩამორჩება. თუ სისტემა შემოწმებამდე შეტყობინების დასრულებას დაელოდება, საუბარი რეალურ დროში მიმდინარე აღარ გამოჩნდება.
ამიტომ დამცავი მექანიზმები საუბრის პარალელურად უნდა მუშაობდეს, რათა ურთიერთქმედებამ ბუნებრიობა შეინარჩუნოს. ერთ-ერთი მიდგომაა აუდიოს ბუფერში ნაკადის სახით მიწოდება და ხელმისაწვდომი ტრანსკრიპტის ფრაგმენტების ასინქრონულად შეფასება. ასე უსაფრთხოების შემოწმება თითქმის რეალური დროის ტემპით, ურთიერთქმედების შეფერხების გარეშე სრულდება.


დამცავი მექანიზმის ამოქმედებისას სისტემას შეუძლია კონტექსტის შესაბამისად იმოქმედოს: საუბარი სხვა მიმართულებით წარმართოს, ქცევა შეცვალოს ან, საჭიროების შემთხვევაში, სესია დაასრულოს. ეს დამცავი მექანიზმების რეალურ დროში მუშაობას უზრუნველყოფს ისე, რომ მომხმარებლის გამოცდილება არ უარესდება.
რეალურ დროში მოქმედი სასაუბრო სისტემის შეფასებისას ყველაზე რთული ისაა, რომ ზოგი უმნიშვნელოვანესი თვისება — დროის შერჩევა, საუბრის შეწყვეტინება, დინამიკა და ტონი — მხოლოდ ტრანსკრიპტზე დაფუძნებული ტესტირებით ვერ აღირიცხება.
სტანდარტული შეფასების პროცესები სისტემას რეალისტურ სცენარებს აწვდის, შედეგებს აკვირდება და ქულებს ანიჭებს. ტექსტურ ან ჯაჭვურ აუდიოსისტემებში ეს მარტივია: შეიტანეთ ტექსტი და შეამოწმეთ მიღებული ტექსტი. რეალურ დროში შემავალი მონაცემი ცოცხალი აუდიოა, ხოლო ყველაზე მნიშვნელოვანი სასაუბრო დინამიკა დროში ვლინდება: როგორ უმკლავდება აგენტი პარალელურ საუბარს, რამდენად სწრაფად პასუხობს და როგორ აგრძელებს შეწყვეტილ საუბარს.
ხელით ტესტირება — აგენტთან უშუალოდ საუბარი — ამ თვისებებს ავლენს, თუმცა მასშტაბირებადი არ არის. ტრანსკრიპტზე დაფუძნებული ავტომატიზაცია მასშტაბირებადია, მაგრამ კარგ და ცუდ რეალურ დროში გამოცდილებას შორის განმასხვავებელ სიგნალს კარგავს.
ერთი მეთოდი საკმარისი არ არის. პრაქტიკული გამოსავალი მეთოდების ერთობლიობაა:
აგენტებს შორის შეფასება: მეორე, რეალურ დროში მოქმედი აგენტი, რომელსაც კონკრეტული მომხმარებლის პერსონის განსახიერება ევალება, სატესტო სისტემას ესაუბრება. მესამე LLM, მსაჯულის როლში, ურთიერთქმედებას აფასებს. ეს მეთოდი აუდიოს სრულ გზას, მათ შორის დროის შერჩევასა და საუბრის შეწყვეტაზე რეაგირებას, დიდი მოცულობით ამოწმებს.
არაფუნქციური მეტრიკები: პირველ აუდიომდე გასული დრო და ტრანსკრიპტის ემოციური შეფერილობის ანალიზი საუბრის ხარისხის რაოდენობრივ მიახლოებით მაჩვენებლებს გვაძლევს.
ხელით თვისებრივი შეფასება: კვლავ აუცილებელია იმ პრობლემების აღმოსაჩენად, რომლებსაც ავტომატური მეტრიკები ვერ აფიქსირებს, განსაკუთრებით ტონსა და ბუნებრიობასთან დაკავშირებით.
ყველაფერს ვერცერთი ცალკეული მეთოდი ვერ მოიცავს. რეალურ დროში მოქმედი აგენტების სამუშაო გარემოში დანერგვა სამივე მეთოდის გაერთიანებას მოითხოვს. ამის მიუხედავად, ტექსტურ AI-სთან შედარებით, რეალურ დროში აუდიოს შეფასების ხელსაწყოები ჯერ კიდევ არასაკმარისად განვითარებულია.
რეალურ დროში ხმა პროდუქტის ფორმას ცვლის. მომხმარებლის გამოცდილებას სიტყვების მსგავსად განსაზღვრავს დროის შერჩევა, საუბრის შეწყვეტინება, სიჩუმე და საუბრის განახლება.
ეს ნიშნავს, რომ მოდელი სისტემის მხოლოდ ერთი ნაწილია. სამუშაო გარემოში რეალურ დროში ხმოვან სისტემას სჭირდება ხმაზე მორგებული სასესიო შრე, საუბრისა და მსჯელობის მკაფიო გამიჯვნა და მიმდინარე სესიის მოვლენებზე დაფუძნებული მართვა. დამცავი მექანიზმები კვლავ დაყოვნების მთავარი წყაროა, თუმცა შემოქმედებითი მიდგომებით რეალურ დროში გამოცდილების დიდი ნაწილის შენარჩუნება შესაძლებელია.
სისტემის ყველაზე სუსტი ნაწილი კვლავ შეფასებაა. ჯერ არ არსებობს დამკვიდრებული გზა იმ თვისებების შესამოწმებლად, რომლებიც რეალურ დროში ხმოვან ურთიერთქმედებას სასიამოვნოს ხდის: დროის შერჩევა, ტონი, საუბრის შეწყვეტაზე რეაგირება და საუბრის დინამიკა. ასეთი მეთოდის შექმნამდე ამ ტექნოლოგიაზე მომუშავე გუნდებს ავტომატური ტესტების, აგენტებს შორის გამოცდებისა და ხელით შეფასების გაერთიანება მოუწევთ.