[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-\u002Far\u002Fblog\u002Fvoix-temps-reel-vs-batch":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"author":10,"date":11,"tags":12,"body":16,"_type":506,"_id":507,"_source":508,"_file":509,"_stem":510,"_extension":511},"\u002Far\u002Fblog\u002Fvoix-temps-reel-vs-batch","blog",false,"","agent هاتفي ذكي: الوقت الحقيقي أم الدفعي؟","لماذا يتطلّب المساعد الصوتي بنيةً مختلفة جذريًّا عن chatbot نصّي، وماذا يعني ذلك لزمن الاستجابة، والمقاطعة (barge-in)، واختيار النموذج.","Équipe betool","2026-04-28",[13,14,15],"voice","architecture","latency",{"type":17,"children":18,"toc":497},"root",[19,40,45,52,71,84,89,95,105,124,129,200,205,210,244,250,262,274,279,302,307,313,318,323,376,382,387,430,435,441,446,485],{"type":20,"tag":21,"props":22,"children":23},"element","p",{},[24,27,33,35],{"type":25,"value":26},"text","عندما يعرض عليك مورّدٌ ",{"type":20,"tag":28,"props":29,"children":30},"em",{},[31],{"type":25,"value":32},"«agent هاتفيًّا بالذكاء الاصطناعي»",{"type":25,"value":34},"، اطرح عليه سؤالًا واحدًا: ",{"type":20,"tag":28,"props":36,"children":37},{},[38],{"type":25,"value":39},"«ما زمن الاستجابة الشامل لديك بين نهاية كلام المستخدم وبداية الرد؟»",{"type":20,"tag":21,"props":41,"children":42},{},[43],{"type":25,"value":44},"إذا تجاوز الجواب 1.5 ثانية، فهو ليس agent هاتفيًّا. إنّه chatbot أُلصِق بمقدّمته وحدة ASR \u002F TTS.",{"type":20,"tag":46,"props":47,"children":49},"h2",{"id":48},"قاعدة-الـ-800-مللي-ثانية",[50],{"type":25,"value":51},"قاعدة الـ 800 مللي ثانية",{"type":20,"tag":21,"props":53,"children":54},{},[55,57,62,64,69],{"type":25,"value":56},"يتحمّل الإنسان على الهاتف الصمت بعد سؤاله. لكن لهذا الصمت عتبة: فوق 800 مللي ثانية، يشعر الطرف الآخر بأنّ الخط ",{"type":20,"tag":28,"props":58,"children":59},{},[60],{"type":25,"value":61},"«تجمّد»",{"type":25,"value":63},". عند 1500 مللي ثانية، يقول المتّصل ",{"type":20,"tag":28,"props":65,"children":66},{},[67],{"type":25,"value":68},"«ألو؟»",{"type":25,"value":70},". وعند 3000 مللي ثانية، يُنهي المكالمة ظنًّا منه بوجود مشكلة في الخط.",{"type":20,"tag":21,"props":72,"children":73},{},[74,76,82],{"type":25,"value":75},"الهدف من agent صوتي جادّ إذن هو: ",{"type":20,"tag":77,"props":78,"children":79},"strong",{},[80],{"type":25,"value":81},"أقل من 800 مللي ثانية",{"type":25,"value":83}," بين نهاية الكلام وأول بايت مسموع من الرد.",{"type":20,"tag":21,"props":85,"children":86},{},[87],{"type":25,"value":88},"فلنحلّل ذلك.",{"type":20,"tag":46,"props":90,"children":92},{"id":91},"ميزانية-الوقت-بالتفصيل",[93],{"type":25,"value":94},"ميزانية الوقت بالتفصيل",{"type":20,"tag":96,"props":97,"children":99},"pre",{"code":98},"[user speech]──▶[ASR streaming]──▶[LLM]──▶[TTS streaming]──▶[audio out]\n      ~150ms          ~80ms        ~?       ~250ms             ~50ms\n",[100],{"type":20,"tag":101,"props":102,"children":103},"code",{"__ignoreMap":7},[104],{"type":25,"value":98},{"type":20,"tag":21,"props":106,"children":107},{},[108,110,115,117,122],{"type":25,"value":109},"من أصل نحو 800 مللي ثانية متاحة، ",{"type":20,"tag":77,"props":111,"children":112},{},[113],{"type":25,"value":114},"تستهلك ASR + TTS + النقل نحو 270 مللي ثانية تقريبًا",{"type":25,"value":116},". وهذا يترك ",{"type":20,"tag":77,"props":118,"children":119},{},[120],{"type":25,"value":121},"530 مللي ثانية لـ LLM",{"type":25,"value":123}," — بما في ذلك زمن التعبئة المسبقة (prefill)، والاستدلال، وتوليد الرمز الأول.",{"type":20,"tag":21,"props":125,"children":126},{},[127],{"type":25,"value":128},"الآثار المترتّبة:",{"type":20,"tag":130,"props":131,"children":132},"ul",{},[133,151,167,183],{"type":20,"tag":134,"props":135,"children":136},"li",{},[137,142,144,149],{"type":20,"tag":77,"props":138,"children":139},{},[140],{"type":25,"value":141},"نموذج استدلال كبير، بلا streaming",{"type":25,"value":143},": عدّة ثوانٍ قبل أول كلمة مسموعة. ",{"type":20,"tag":77,"props":145,"children":146},{},[147],{"type":25,"value":148},"مستبعَد تمامًا",{"type":25,"value":150},".",{"type":20,"tag":134,"props":152,"children":153},{},[154,159,161,166],{"type":20,"tag":77,"props":155,"children":156},{},[157],{"type":25,"value":158},"نموذج متقدّم بـ streaming",{"type":25,"value":160},": رمز أول سريع في الأيام الجيدة، وأبطأ بكثير في السيئة. ",{"type":20,"tag":77,"props":162,"children":163},{},[164],{"type":25,"value":165},"مقبول لكنه ضيّق",{"type":25,"value":150},{"type":20,"tag":134,"props":168,"children":169},{},[170,175,177,182],{"type":20,"tag":77,"props":171,"children":172},{},[173],{"type":25,"value":174},"نموذج سريع بـ streaming",{"type":25,"value":176}," (الفئات «الخفيفة» من Claude و GPT و Gemini): ",{"type":20,"tag":77,"props":178,"children":179},{},[180],{"type":25,"value":181},"مريح",{"type":25,"value":150},{"type":20,"tag":134,"props":184,"children":185},{},[186,191,193,198],{"type":20,"tag":77,"props":187,"children":188},{},[189],{"type":25,"value":190},"نموذج صغير ذو أوزان مفتوحة (open-weight) مُقدَّم على GPU الخاص بك (vLLM)",{"type":25,"value":192},": ",{"type":20,"tag":77,"props":194,"children":195},{},[196],{"type":25,"value":197},"ممتاز",{"type":25,"value":199}," (وخاص).",{"type":20,"tag":21,"props":201,"children":202},{},[203],{"type":25,"value":204},"قِس TTFT على حركتك الفعلية: فهو يتفاوت بحسب المزوّد والمنطقة والساعة.",{"type":20,"tag":21,"props":206,"children":207},{},[208],{"type":25,"value":209},"تتطلّب بنية صوتية جادّة إذن:",{"type":20,"tag":211,"props":212,"children":213},"ol",{},[214,224,234],{"type":20,"tag":134,"props":215,"children":216},{},[217,222],{"type":20,"tag":77,"props":218,"children":219},{},[220],{"type":25,"value":221},"كل شيء بنمط streaming",{"type":25,"value":223}," — ASR، LLM، TTS. لا حلقة واحدة بالنمط الدفعي.",{"type":20,"tag":134,"props":225,"children":226},{},[227,232],{"type":20,"tag":77,"props":228,"children":229},{},[230],{"type":25,"value":231},"يُختار نموذج LLM بناءً على TTFT",{"type":25,"value":233}," (زمن الوصول إلى الرمز الأول)، لا على درجة MMLU.",{"type":20,"tag":134,"props":235,"children":236},{},[237,242],{"type":20,"tag":77,"props":238,"children":239},{},[240],{"type":25,"value":241},"يبدأ TTS بالنطق عند أول رمز مُستقبَل",{"type":25,"value":243},"، لا بعد اكتمال الرد بالكامل.",{"type":20,"tag":46,"props":245,"children":247},{"id":246},"المقاطعة-barge-in",[248],{"type":25,"value":249},"المقاطعة (barge-in)",{"type":20,"tag":21,"props":251,"children":252},{},[253,255,260],{"type":25,"value":254},"في القناة النصية، ينتظر المستخدم انتهاء الـ bot. أمّا على الهاتف، ",{"type":20,"tag":77,"props":256,"children":257},{},[258],{"type":25,"value":259},"فهو يقاطع",{"type":25,"value":261},". ثلاث مرات من أصل خمس، في المحادثات الطبيعية.",{"type":20,"tag":21,"props":263,"children":264},{},[265,267,272],{"type":25,"value":266},"الـ agent الصوتي الذي لا يتحمّل مقاطعته يبدو ",{"type":20,"tag":28,"props":268,"children":269},{},[270],{"type":25,"value":271},"«آليًّا»",{"type":25,"value":273}," — إذ يواصل الكلام بينما يحاول المستخدم مقاطعته. وهذا لا يُطاق، ويشير فورًا إلى bot سيّئ الصنع.",{"type":20,"tag":21,"props":275,"children":276},{},[277],{"type":25,"value":278},"تتطلّب المقاطعة (barge-in) التقنية:",{"type":20,"tag":130,"props":280,"children":281},{},[282,287,292,297],{"type":20,"tag":134,"props":283,"children":284},{},[285],{"type":25,"value":286},"توقّف TTS فورًا عندما يكتشف ASR إشارةً صوتية صادرة من المستخدم.",{"type":20,"tag":134,"props":288,"children":289},{},[290],{"type":25,"value":291},"تجاهُل LLM للإكمال الجاري (دون تذمّر).",{"type":20,"tag":134,"props":293,"children":294},{},[295],{"type":25,"value":296},"تفريغ مخزن الصوت الصادر فورًا (وإلا سُمِع نصف مقطع لفظي متبقٍّ).",{"type":20,"tag":134,"props":298,"children":299},{},[300],{"type":25,"value":301},"إشارة سجل المحادثة إلى أنّ الرد لم يُسمَع كاملًا — تفاديًا لتكراره سهوًا.",{"type":20,"tag":21,"props":303,"children":304},{},[305],{"type":25,"value":306},"إنّه تفصيل تقني يغيّر كل شيء في إحساس التفاعل.",{"type":20,"tag":46,"props":308,"children":310},{"id":309},"التعامل-مع-عدم-اليقين",[311],{"type":25,"value":312},"التعامل مع عدم اليقين",{"type":20,"tag":21,"props":314,"children":315},{},[316],{"type":25,"value":317},"على الهاتف، يخطئ ASR بانتظام. فحيث يتلقى chatbot النصي دائمًا النص الدقيق الذي كتبه المستخدم، يتلقى الـ agent الصوتي نسخةً منقولة كثيرًا ما تكون غير كاملة.",{"type":20,"tag":21,"props":319,"children":320},{},[321],{"type":25,"value":322},"استراتيجيات ناجعة:",{"type":20,"tag":130,"props":324,"children":325},{},[326,336,360],{"type":20,"tag":134,"props":327,"children":328},{},[329,334],{"type":20,"tag":77,"props":330,"children":331},{},[332],{"type":25,"value":333},"طلب التأكيد",{"type":25,"value":335}," على العناصر عالية الأثر (رقم الملف، المبلغ، اسم عائلة غير مألوف). لا بشكل منهجي — فذلك يصبح لا يُحتمَل.",{"type":20,"tag":134,"props":337,"children":338},{},[339,344,346,351,353,358],{"type":20,"tag":77,"props":340,"children":341},{},[342],{"type":25,"value":343},"عدم الثقة العمياء بـ LLM",{"type":25,"value":345}," عندما يكون ASR غامضًا. إذا كانت العبارة المُستقبَلة ",{"type":20,"tag":28,"props":347,"children":348},{},[349],{"type":25,"value":350},"«أريد إلغاء عقدي»",{"type":25,"value":352}," بدرجة ثقة منخفضة، فمن الأفضل السؤال ",{"type":20,"tag":28,"props":354,"children":355},{},[356],{"type":25,"value":357},"«هل تقصد إلغاء عقدك؟»",{"type":25,"value":359}," بدلًا من إطلاق إجراء الإلغاء.",{"type":20,"tag":134,"props":361,"children":362},{},[363,368,370,375],{"type":20,"tag":77,"props":364,"children":365},{},[366],{"type":25,"value":367},"قطع الانحرافات",{"type":25,"value":369}," — الـ agent الذي ينحرف عن النص ينبغي إعادته بواسطة عقدة condition \u002F operator، لا بمطالبة ",{"type":20,"tag":28,"props":371,"children":372},{},[373],{"type":25,"value":374},"«يُفترض أن تكون كافية»",{"type":25,"value":150},{"type":20,"tag":46,"props":377,"children":379},{"id":378},"الهاتف-كذلك-عبارة-عن-حزمة-تقنية",[380],{"type":25,"value":381},"الهاتف كذلك عبارة عن حزمة تقنية",{"type":20,"tag":21,"props":383,"children":384},{},[385],{"type":25,"value":386},"إلى جانب الذكاء الاصطناعي، يتطلّب agent هاتفي:",{"type":20,"tag":130,"props":388,"children":389},{},[390,400,410,420],{"type":20,"tag":134,"props":391,"children":392},{},[393,398],{"type":20,"tag":77,"props":394,"children":395},{},[396],{"type":25,"value":397},"جذع SIP",{"type":25,"value":399}," من شركة اتصالات (Twilio، Voxbone، OVH، Sewan…).",{"type":20,"tag":134,"props":401,"children":402},{},[403,408],{"type":20,"tag":77,"props":404,"children":405},{},[406],{"type":25,"value":407},"بوابة وسائط",{"type":25,"value":409}," (LiveKit-SIP، FreeSWITCH، Asterisk) تتحدّث SIP من جهة الشركة و WebRTC من جهة المنصّة.",{"type":20,"tag":134,"props":411,"children":412},{},[413,418],{"type":20,"tag":77,"props":414,"children":415},{},[416],{"type":25,"value":417},"ناسخ",{"type":25,"value":419}," صامد أمام الضوضاء واللهجات والأصوات المتداخلة.",{"type":20,"tag":134,"props":421,"children":422},{},[423,428],{"type":20,"tag":77,"props":424,"children":425},{},[426],{"type":25,"value":427},"مُركِّب",{"type":25,"value":429}," ينطق أسماء العلم والأرقام والتواريخ نطقًا صحيحًا.",{"type":20,"tag":21,"props":431,"children":432},{},[433],{"type":25,"value":434},"لا شيء من هذه العناصر تافه. وكلها تتفاعل معًا.",{"type":20,"tag":46,"props":436,"children":438},{"id":437},"ما-تتكفّل-به-betool",[439],{"type":25,"value":440},"ما تتكفّل به betool",{"type":20,"tag":21,"props":442,"children":443},{},[444],{"type":25,"value":445},"تغطّي البنية الصوتية لـ betool — LiveKit + LiveKit-SIP + worker مخصّص + LLM بـ streaming نحو التركيب الصوتي — المتطلّبات أعلاه جاهزةً من الصندوق. وتبقى أنت المتحكّم في:",{"type":20,"tag":130,"props":447,"children":448},{},[449,458,475],{"type":20,"tag":134,"props":450,"children":451},{},[452,456],{"type":20,"tag":77,"props":453,"children":454},{},[455],{"type":25,"value":397},{"type":25,"value":457}," (شركتك، أرقامك).",{"type":20,"tag":134,"props":459,"children":460},{},[461,466,468,473],{"type":20,"tag":77,"props":462,"children":463},{},[464],{"type":25,"value":465},"النماذج",{"type":25,"value":467}," (النماذج المُدارة، أو BYOK، أو النماذج الخاصة) و",{"type":20,"tag":77,"props":469,"children":470},{},[471],{"type":25,"value":472},"الأصوات",{"type":25,"value":474}," (النسخ عبر Deepgram أو faster-whisper؛ والتركيب عبر ElevenLabs أو Cartesia أو OpenAI أو Deepgram Aura).",{"type":20,"tag":134,"props":476,"children":477},{},[478,483],{"type":20,"tag":77,"props":479,"children":480},{},[481],{"type":25,"value":482},"المعاملات",{"type":25,"value":484}," (حساسية المقاطعة، كشف نهاية الدور، عبارات الانتظار، التحويل إلى شخص بشري).",{"type":20,"tag":21,"props":486,"children":487},{},[488,490,495],{"type":25,"value":489},"أنت لا تهيّئ سباكة الوقت الحقيقي — فتلك مهمّة المنصّة. أنت تصمّم ",{"type":20,"tag":77,"props":491,"children":492},{},[493],{"type":25,"value":494},"المحادثة",{"type":25,"value":496},"، وهي التحدّي الحقيقي في مجال الأعمال.",{"title":7,"searchDepth":498,"depth":498,"links":499},2,[500,501,502,503,504,505],{"id":48,"depth":498,"text":51},{"id":91,"depth":498,"text":94},{"id":246,"depth":498,"text":249},{"id":309,"depth":498,"text":312},{"id":378,"depth":498,"text":381},{"id":437,"depth":498,"text":440},"markdown","content:ar:blog:2.voix-temps-reel-vs-batch.md","content","ar\u002Fblog\u002F2.voix-temps-reel-vs-batch.md","ar\u002Fblog\u002F2.voix-temps-reel-vs-batch","md"]