โครงสร้างพื้นฐาน Voice AI: การสร้าง Speech Agent แบบเรียลไทม์

Deepgram STT ที่ 150ms, ElevenLabs TTS ที่ 75ms—แต่ agent ส่วนใหญ่ใช้เวลา 800ms-2s เนื่องจากความหน่วงสะสมในระบบ การสนทนาของมนุษย์ต้องการหน้าต่างตอบสนอง 300-500ms ความหน่วงของ Pipeline: STT...

โครงสร้างพื้นฐาน Voice AI: การสร้าง Speech Agent แบบเรียลไทม์

โครงสร้างพื้นฐาน Voice AI: การสร้าง Speech Agent แบบเรียลไทม์

อัปเดต 11 ธันวาคม 2025

อัปเดตธันวาคม 2025: Deepgram STT ที่ 150ms, ElevenLabs TTS ที่ 75ms—แต่ agent ส่วนใหญ่ใช้เวลา 800ms-2s เนื่องจากความหน่วงสะสมในระบบ การสนทนาของมนุษย์ต้องการหน้าต่างตอบสนอง 300-500ms ความหน่วงของ Pipeline: STT (100-500ms) + LLM (350ms-1s+) + TTS (75-200ms) ทุกมิลลิวินาทีมีความสำคัญสำหรับ voice agent ระดับ production

Deepgram ส่งมอบ speech-to-text ใน 150 มิลลิวินาที ElevenLabs สังเคราะห์เสียงใน 75 มิลลิวินาที แต่ voice AI agent ส่วนใหญ่ยังคงใช้เวลา 800 มิลลิวินาทีถึงสองวินาทีในการตอบสนอง—เพราะความหน่วงสะสมตลอดทั้ง stack¹ ช่องว่างระหว่างความสามารถของแต่ละ component และประสิทธิภาพแบบ end-to-end เผยให้เห็นความท้าทายด้านโครงสร้างพื้นฐานที่เป็นหัวใจของ voice AI: การจัดการ speech recognition, language model และ synthesis ให้เป็น pipeline ที่ตรงกับจังหวะการสนทนาของมนุษย์

การสนทนาของมนุษย์ทำงานภายในหน้าต่างตอบสนอง 300-500 มิลลิวินาที² ความล่าช้าเกิน 500 มิลลิวินาทีรู้สึกไม่เป็นธรรมชาติ เกิน 1.2 วินาที ผู้ใช้จะวางสายหรือขัดจังหวะ การสร้าง voice agent ที่ตอบสนองตามเกณฑ์เหล่านี้ต้องเข้าใจแต่ละชั้นของ stack เลือก component ที่เหมาะสม และออกแบบระบบที่ทุกมิลลิวินาทีมีความสำคัญ

Voice AI stack

Voice agent ทุกตัวพึ่งพา component สี่ตัวทำงานร่วมกัน:³

Speech-to-Text (STT/ASR): "หู" ที่ถอดเสียงพูดเป็นข้อความ ความหน่วงอยู่ในช่วง 100-500 มิลลิวินาทีขึ้นอยู่กับการตั้งค่า streaming

Large Language Model (LLM): "สมอง" ที่ประมวลผลข้อความที่ถอดแล้วและสร้างคำตอบ ความหน่วงอยู่ในช่วง 350 มิลลิวินาทีสำหรับโมเดลที่ปรับแต่งแล้วจนถึงมากกว่าหนึ่งวินาทีสำหรับโมเดล frontier

Text-to-Speech (TTS): "เสียง" ที่สังเคราะห์ข้อความตอบกลับเป็นเสียง TTS แบบ streaming สมัยใหม่ทำได้ 75-200 มิลลิวินาที time-to-first-audio

Orchestration: "วาทยกร" ที่จัดการการไหลแบบเรียลไทม์ระหว่าง component, จัดการ turn-taking, การขัดจังหวะ และ session state

สมการความหน่วง

ความหน่วงของ Voice AI สะสมตลอด pipeline:⁴

Total Latency = STT + LLM + TTS + Network + Processing
             = 200ms + 500ms + 150ms + 50ms + 100ms
             = 1000ms (ปกติ)

การบรรลุการตอบสนองต่ำกว่า 500 มิลลิวินาทีต้องบีบอัดแต่ละ component หรือทำ pipeline แบบขนานผ่าน streaming—เริ่ม speech synthesis ก่อนที่ LLM จะสร้างเสร็จ ประมวลผล partial transcription ก่อนที่ผู้ใช้จะพูดจบ

โครงสร้างพื้นฐาน Speech-to-text

ชั้น ASR แปลง audio stream เป็นข้อความที่ language model สามารถประมวลผลได้ การเลือกผู้ให้บริการเกี่ยวข้องกับการสร้างสมดุลระหว่างความหน่วง ความแม่นยำ และต้นทุน

การเปรียบเทียบผู้ให้บริการ

Deepgram Nova-3:⁵ - Time-to-first-token: ~150ms (US), 250-350ms (global) - Word error rate: 18.3% - ปรับแต่งสำหรับ Streaming พร้อม real-time factor 0.2-0.3x - ราคา: $0.0043/นาที (pay-as-you-go) - เหมาะสำหรับ: Voice agent ที่ต้องการความหน่วงต่ำโดยให้ความสำคัญกับความเร็ว

AssemblyAI Universal-2:⁶ - ความหน่วง: 300-600ms - Word error rate: 14.5% (ความแม่นยำดีที่สุดในบรรดา streaming model) - ประสิทธิภาพดีใน domain เฉพาะทางในบริบทการแพทย์และการขาย - ราคา: $0.00025/วินาที - เหมาะสำหรับ: แอปพลิเคชันที่ต้องการความแม่นยำมากกว่าความเร็ว

Whisper (self-hosted):⁷ - ความหน่วง: 1-5 วินาที (batch), 380-520ms (WhisperX ปรับแต่ง) - ความแม่นยำสูงสุดสำหรับ offline transcription - ต้องการวิศวกรรมอย่างมากสำหรับ production streaming - เหมาะสำหรับ: Batch processing, hybrid architecture

Groq-accelerated Whisper: - ความหน่วง: ต่ำกว่า 300ms บน LPU hardware - รวมความแม่นยำของ Whisper กับ streaming latency - มีจำกัดผ่าน GroqCloud - เหมาะสำหรับ: แอปพลิเคชันเรียลไทม์ที่เน้นคุณภาพ

รูปแบบโครงสร้างพื้นฐาน ASR

Streaming architecture: เริ่ม transcription ทันทีเมื่อ audio มาถึงแทนที่จะรอ utterance ที่สมบูรณ์ ผลลัพธ์บางส่วนส่งไปยัง downstream component ก่อนที่ผู้ใช้จะพูดจบ

# Streaming ASR pattern
async def transcribe_stream(audio_stream):
    async for chunk in audio_stream:
        partial = await asr_client.transcribe_chunk(chunk)
        if partial.is_final:
            yield partial.text
        else:
            # Send interim results for prediction
            yield partial.interim_text

Voice Activity Detection (VAD): ตรวจจับว่าผู้ใช้เริ่มและหยุดพูดเมื่อไหร่ VAD ที่ไม่ดีสร้างทั้งการตัดก่อนเวลา (ขัดจังหวะผู้ใช้) หรือความล่าช้ามากเกินไป (รอความเงียบที่เกิดขึ้นไปแล้ว)

Endpointing: กำหนดว่าผู้ใช้จบ turn ของตนเมื่อไหร่ Endpointing ที่ aggressive ลดความหน่วงแต่เสี่ยงที่จะตัดผู้พูด Endpointing ที่ conservative รับประกันความสมบูรณ์แต่เพิ่มความล่าช้า

ความต้องการ GPU สำหรับ Self-hosted ASR

การ deploy Whisper แบบ self-hosted ต้องการ GPU acceleration:⁸

ระดับ Workload GPU Concurrent Streams
Development RTX 3060/4060 5-10
Production A100 40GB 50-100
Enterprise H100 200+

Production speech-to-text มักรันบน A100 หรือ RTX 6000 Ada แทนที่จะเป็น H100—workload ได้ประโยชน์จาก memory bandwidth มากกว่า raw compute

ชั้น Large language model

LLM ประมวลผล transcribed speech และสร้างข้อความตอบกลับ การเลือกโมเดลส่งผลอย่างมากต่อทั้งความหน่วงและคุณภาพการสนทนา

โปรไฟล์ความหน่วงของโมเดล

เร็วมาก (ต่ำกว่า 350ms):⁹ - Gemini Flash 1.5: ~300ms time-to-first-token - Groq-served Llama: ~200ms บน LPU - เหมาะสำหรับ: การตอบสนองสูงสุด, query ที่ง่ายกว่า

เร็ว (350-700ms): - GPT-4o-mini: ~400ms - Claude 3.5 Haiku: ~350ms - เหมาะสำหรับ: สมดุลระหว่างความเร็วและความสามารถ

มาตรฐาน (700ms-1s+): - GPT-4o: ~700ms - Claude 3.5 Sonnet: ~800ms - เหมาะสำหรับ: การให้เหตุผลที่ซับซ้อน, แอปพลิเคชันที่เน้นคุณภาพ

กลยุทธ์การเพิ่มประสิทธิภาพ

Streaming generation: เริ่ม TTS synthesis เมื่อ LLM token มาถึงแทนที่จะรอ response ที่สมบูรณ์ Orchestration pipeline สมัยใหม่ stream token โดยตรงไปยัง speech synthesis

Speculative execution: ทำนาย response ที่น่าจะเป็นไปได้จาก partial transcription เริ่มสร้าง response ก่อนที่ผู้ใช้จะพูดจบ ยกเลิก prediction ที่ไม่ตรงกับ intent สุดท้าย

Model routing: Route query ง่ายๆ ไปยังโมเดลเร็ว query ซับซ้อนไปยังโมเดลที่มีความสามารถ Classifier กำหนดความซับซ้อนของ query ในเวลาหลักหน่วยมิลลิวินาที

# Model routing pattern
def route_query(transcript, context):
    complexity = classify_complexity(transcript)
    if complexity == "simple":
        return "gemini-flash"
    elif complexity == "moderate":
        return "gpt-4o-mini"
    else:
        return "gpt-4o"

Prompt optimization: Prompt ที่สั้นกว่าลดเวลาประมวลผล Cache system prompt ที่ผู้ให้บริการรองรับ prompt caching (Anthropic ลดต้นทุน 90% บน cached prefix)

โครงสร้างพื้นฐาน Text-to-speech

TTS แปลงข้อความที่ LLM สร้างเป็นเสียงพูดที่เป็นธรรมชาติ ชั้นนี้เปลี่ยนจากคอขวด (2-3 วินาทีในอดีต) เป็นจุดแข็ง (75-150ms กับผู้ให้บริการสมัยใหม่)

การเปรียบเทียบผู้ให้บริการ

ElevenLabs Flash v2.5:¹⁰ - Time-to-first-audio: 75ms - คุณภาพเสียง: ความเป็นธรรมชาติดีที่สุดในอุตสาหกรรม - ช่วงอารมณ์: การแสดงออกที่ยอดเยี่ยม - ราคา: $0.050/1,000 ตัวอักษร - เหมาะสำหรับ: แอปพลิเคชันที่เน้นคุณภาพ

Cartesia Sonic:¹¹ - Time-to-first-audio: 40-95ms - สร้างมาเพื่อการสนทนาเรียลไทม์โดยเฉพาะ - ความหน่วงต่ำสม่ำเสมอภายใต้ภาระงาน - ราคา: $0.038/1,000 ตัวอักษร - เหมาะสำหรับ: แอปพลิเคชันที่เน้นความหน่วง

Deepgram Aura-2:¹² - Time-to-first-audio: ต่ำกว่า 150ms - ความน่าเชื่อถือระดับ Enterprise - คุ้มค่าในระดับ scale - ราคา: $0.030/1,000 ตัวอักษร - เหมาะสำหรับ: Enterprise deployment ปริมาณสูง

PlayHT: - ความหน่วง: ~300ms - คลังเสียงกว้างขวาง - ความสามารถในการโคลนเสียง - ราคาต่ำกว่า - เหมาะสำหรับ: แอปพลิเคชันที่คำนึงถึงงบประมาณ

รูปแบบโครงสร้างพื้นฐาน TTS

Streaming synthesis: สร้าง audio แบบก้าวหน้าเมื่อข้อความมาถึงจาก LLM ส่ง audio chunk ไปยังผู้ใช้ก่อนที่ประโยคที่สมบูรณ์จะสังเคราะห์เสร็จ

Audio buffering: รักษา buffer ขนาดเล็กเพื่อให้การเล่นราบรื่นแม้มีเวลา synthesis ที่แปรผัน Buffer มากเกินไปและความหน่วงจะแย่ลง Buffer น้อยเกินไปและ audio จะกระตุก

Voice caching: Cache วลีที่ใช้บ่อย (การทักทาย, response ทั่วไป) เป็น audio ที่สังเคราะห์ล่วงหน้า กำจัดความหน่วง TTS ทั้งหมดสำหรับเนื้อหาที่ cache

แพลตฟอร์ม Orchestration

ชั้น Orchestration เชื่อมต่อ ASR, LLM และ TTS component ในขณะที่จัดการ telephony, turn-taking และ session management การเลือกแพลตฟอร์มกำหนดความเร็วในการพัฒนาและความน่าเชื่อถือของ production

การเปรียบเทียบแพลตฟอร์ม

Vapi:¹³ - โฟกัส: แพลตฟอร์ม voice agent แบบ turnkey - Telephony: Native SIP/PSTN integration - การปรับแต่ง: เลือก component แบบ modular - ราคา: $0.05/นาที + ค่า component - เหมาะสำหรับ: Deploy รวดเร็ว, แอปพลิเคชันที่เน้นโทรศัพท์

LiveKit:¹⁴ - โฟกัส: โครงสร้างพื้นฐานเรียลไทม์แบบ open-source - สถาปัตยกรรม: WebRTC-native พร้อม agent framework - การปรับแต่ง: ควบคุมเต็มที่, self-hostable - ราคา: Free tier (100 concurrent, 5,000 นาที/เดือน), แบบชำระเงินจาก $50/เดือน - เหมาะสำหรับ: แอปพลิเคชันที่กำหนดเอง, ทีมที่ต้องการควบคุมเต็มที่

Retell AI:¹⁵ - โฟกัส: การไหลของการสนทนาที่เป็นธรรมชาติ - จุดเด่น: Turn-taking และการจัดการการขัดจังหวะที่ปรับแต่ง - Compliance: HIPAA และ SOC 2 Type II - ราคา: $0.07+/นาที - เหมาะสำหรับ: ให้ความสำคัญกับคุณภาพการสนทนา, enterprise compliance

Pipecat: - โฟกัส: Agent framework แบบ open-source - Integration: ทำงานกับ cloud provider หลัก - การปรับแต่ง: สร้าง pipeline ได้ยืดหยุ่นมาก - เหมาะสำหรับ: นักพัฒนาที่ต้องการ framework โดยไม่ติด platform lock-in

เกณฑ์การเลือก

ปัจจัย Vapi LiveKit Retell
Telephony integration ยอดเยี่ยม ดี (ผ่าน SIP) ยอดเยี่ยม
การปรับแต่ง สูง สูงสุด ปานกลาง
ความซับซ้อนในการตั้งค่า ต่ำ ปานกลาง ต่ำ
Self-hosting ไม่ ใช่ ไม่
ฟีเจอร์ Enterprise ดี กำลังเติบโต ยอดเยี่ยม

รูปแบบสถาปัตยกรรม

Cascading pipeline (ASR → LLM → TTS)

สถาปัตยกรรมแบบดั้งเดิมประมวลผล audio ผ่านขั้นตอนที่แยกกัน:¹⁶

Audio → ASR → Text → LLM → Response Text → TTS → Audio

ข้อดี: - Component modularity (เปลี่ยนผู้ให้บริการได้ง่าย) - Tooling และ debugging ที่เป็นผู้ใหญ่ - โครงสร้างต้นทุนที่คาดเดาได้ (~$0.15/นาที ไม่ว่าการสนทนาจะยาวเท่าไหร่) - Intermediate representation ที่โปร่งใส (ข้อความตรวจสอบได้)

ความท้าทาย: - ความหน่วงสะสมตลอดขั้นตอน - สูญเสียข้อมูลใน text representation (prosody, อารมณ์) - การประสานงาน streaming ที่ซับซ้อน

Speech-to-speech (S2S)

End-to-end model ประมวลผล audio โดยตรงเป็น audio:¹⁷

Audio → Multimodal Model → Audio

ตัวอย่าง: - GPT-4o voice mode - Moshi (Kyutai Labs) - Ultravox

ข้อดี: - รักษาข้อมูล prosodic - ความหน่วงที่อาจต่ำกว่า (โมเดลเดียว) - จัดการ overlapping speech ได้เป็นธรรมชาติ

ความท้าทาย: - ต้นทุนสูงกว่า (~$0.30-1.50/นาที สำหรับการสนทนาที่ยาวกว่า) - การปรับแต่งจำกัด (ไม่สามารถเปลี่ยน component ได้) - ความทึบในการ debug (ไม่มี intermediate text)

แนวทางแบบ Hybrid

ระบบ production ใช้สถาปัตยกรรมผสมมากขึ้น:

Cascading พร้อม S2S fallback: ใช้ cascading สำหรับ interaction มาตรฐาน เปลี่ยนเป็น S2S สำหรับ overlapping dialogue ที่ซับซ้อน

Parallel processing: รัน ASR และ intent prediction พร้อมกัน เริ่มสร้าง response จาก predicted intent ขณะที่ ASR ทำงานเสร็จ

Speculative TTS: สร้าง response audio ที่น่าจะเป็นไปได้ล่วงหน้า เล่น cached audio ทันทีถ้า prediction ตรง; fallback ไปยัง synthesis ถ้าไม่ตรง

การ Scale โครงสร้างพื้นฐาน Voice AI

การวางแผน Concurrent capacity

Voice AI scale แตกต่างจาก text-based AI แต่ละ concurrent call ต้องการทรัพยากรประมวลผลเฉพาะตลอด pipeline¹⁸

Per-GPU capacity (self-hosted):

GPU ASR Streams LLM Concurrent TTS Streams
L4 50 20-30 100
L40S 100 50-75 200
A100 100 75-100 250
H100 200+ 150-200 400+

Managed service capacity: Cloud provider จัดการ scaling อัตโนมัติ

[เนื้อหาถูกตัดทอนสำหรับการแปล]

ขอใบเสนอราคา_

แจ้งรายละเอียดโครงการของคุณ เราจะตอบกลับภายใน 72 ชั่วโมง

> TRANSMISSION_COMPLETE

ได้รับคำขอแล้ว_

ขอบคุณสำหรับคำสอบถาม ทีมงานจะตรวจสอบคำขอและติดต่อกลับภายใน 72 ชั่วโมง

QUEUED FOR PROCESSING