Bạn nói với chiếc loa: "Này Mira, phát một bài dream pop nhé."
Nhạc vang lên, âm sắc synthesizer hơi mờ ảo. Bạn nghe vài giây, cau mày: "Bỏ qua bài này."
"Đã bỏ qua cho bạn rồi."
Bạn buột miệng hỏi: "Bạn thấy bài này thế nào?"
"Rất dịu dàng."
Đây là AI Agent giọng nói được kênh chính thức Google Cloud Tech trình diễn, tên là Mira. Cô ấy biết lắng nghe, có thể bị ngắt lời, phản hồi gần như không có độ trễ — giống như đang gọi điện thoại, chứ không phải nói chuyện với máy trả lời tự động.
Nếu bạn từng tự tay làm ứng dụng giọng nói, có lẽ bạn biết cảm giác "giống như gọi điện thoại" khó tạo ra đến mức nào. Lần đầu tiên hầu hết mọi người làm ra, thực chất là một chiếc máy trả lời tự động khoác vỏ giọng nói: hỏi xong cả câu nó mới đọc câu trả lời, bạn muốn chen vào, nó vẫn đọc hết kịch bản. Bạn tưởng là do model chưa đủ thông minh, thực ra là ngay từ đầu đã chọn sai kiến trúc.
Robot giọng nói của bạn có thể lúc nào cũng chỉ biết "đọc kịch bản", không biết "lắng nghe"
Phần lớn AI giọng nói đi theo hướng chuyển văn bản thành giọng nói (TTS): bạn đưa văn bản, nó phát ra âm thanh, một chiều, một lần. Nó có thể nói, nhưng không nghe được bạn, thậm chí không biết bạn còn ở đó hay không.
Gemini Live API thì khác, đây là "âm thanh đối âm thanh", hai chiều theo thời gian thực: nó nghe trực tiếp giọng nói của bạn dưới dạng âm thanh, và cũng trực tiếp trả lời bằng âm thanh. Những gì nó nghe được không chỉ là chữ, mà còn là ngữ điệu, khoảng ngừng, cảm xúc — những thứ mà một khi chuyển thành văn bản sẽ biến mất. Quan trọng hơn, nó vừa tổ chức câu trả lời vừa cất tiếng, không cần đợi nghĩ xong toàn bộ câu mới phát ra. Một câu tóm gọn: TTS là "đọc", Live là "nghe", câu trả lời vừa nói vừa sinh ra.
Mở một đường dây không bao giờ cúp máy, mới có thể gọi là "cuộc trò chuyện"
Kiến trúc chia làm ba khối: trình duyệt phụ trách thu âm và phát âm; Gemini Live là model lõi; ở giữa là một backend nhỏ duy trì một kết nối liên tục mở với Gemini, chuyển tiếp âm thanh nguyên trạng. Giữa trình duyệt và backend đi qua WebSocket — một yêu cầu web thông thường hỏi một lần rồi đóng lại, nhưng đường dây này luôn mở, âm thanh mới có thể chảy liên tục theo cả hai chiều.
Backend đồng thời làm hai việc: gửi âm thanh từ micro lên trên, nhận giọng nói của Gemini xuống dưới, hai việc không chờ đợi nhau, chạy song song — đó là lý do vì sao cuộc "gọi điện" này luôn cảm giác sống động. Vòng lặp lõi chỉ có bốn bước: mở kết nối, gửi âm thanh, nhận âm thanh, phát âm thanh. Đến đây, bạn đã có một Agent "chạy được" — nhưng chạy được và một cuộc trò chuyện thực sự là hai chuyện khác nhau.
Chỉ biết trò chuyện thôi chưa đủ, cô ấy phải học cách "nghe ra bạn đã nói xong"
Để nó cảm giác như đang sống, còn thiếu ba thứ. Thứ nhất: model làm sao biết bạn đã nói xong? Câu trả lời là Voice Activity Detection (VAD) — model liên tục tự hỏi mình: bây giờ có người đang nói, hay đang yên lặng? Dựa vào đó để tìm điểm bắt đầu và kết thúc của lượt nói của bạn, đây cũng là lý do vì sao ngay cả khi bạn im lặng, vẫn phải tiếp tục truyền luồng âm thanh. Tin tốt là Gemini Live đã tích hợp sẵn VAD, không cần tự viết logic phát hiện từ đầu.
Điều thực sự khiến bạn tin "đây là thứ sống động", chính là khoảnh khắc bạn ngắt lời cô ấy
Điều thứ hai là có thể "chen ngang" (barge-in) hay không. Bộ đàm không làm được, cuộc trò chuyện thực sự thì có thể — bạn nói đến nửa chừng trực tiếp đè lên, đối phương sẽ dừng lại. Cùng một bộ VAD đó cũng phát hiện xem bạn có mở miệng trong lúc model đang nói hay không, một khi phát hiện, model sẽ tự dừng lại và gửi tín hiệu "bị ngắt lời".
Điều thực sự khiến việc chen ngang cảm giác tức thời, là một chi tiết dễ bị bỏ qua: ứng dụng nên dừng ngay âm thanh đang phát ở phía cục bộ ngay khi micro nghe thấy bạn mở miệng, không cần đợi tín hiệu chạy hết một vòng qua mạng. Dừng phát trước, rồi để model theo kịp sau — làm đúng bước này, việc ngắt lời mới giống một cuộc trò chuyện thật, chứ không phải một con robot có độ trễ.
Chỉ biết nói thôi thì chưa đủ nhìn, bạn phải cho cô ấy một đôi tay
Điều thứ ba là khả năng hành động. Bản thân model chỉ có thể "nói", không phát được nhạc, không chuyển được bài, không bấm được nút. Vì vậy phải cấp cho nó công cụ (tools) — tool là một hàm trong chương trình, có tên, có mô tả, đại diện cho một hành động cụ thể mà model có thể nhờ bạn thực hiện, ví dụ phát danh sách nhạc, bỏ qua bài này, tạm dừng nhạc.
Khi model phán đoán cần dùng đến tool, nó sẽ không tự bịa câu trả lời cho qua, mà nói "hãy gọi tool này với các tham số này", sau đó chương trình của bạn thực thi, báo cáo kết quả, rồi model tiếp tục nói tiếp — model quyết định, code ra tay. Ở đây có một quy tắc đặc biệt quan trọng đối với giọng nói: trong lúc tool đang chạy, model sẽ đứng yên chờ, vì vậy tool nhất định phải chạy nhanh, chạy quá lâu cả cuộc trò chuyện sẽ rơi vào im lặng.
Chạy được không có nghĩa là bạn đã tính rõ cuộc "gọi điện" này tốn của bạn bao nhiêu
Ba thứ gộp lại: VAD tìm ra ranh giới lượt nói của bạn, barge-in cho phép bạn chen ngang bất cứ lúc nào, tool cho phép cô ấy thực sự ra tay. Cả Agent chạy lên, cảm giác thực sự giống như đang gọi điện thoại.
Nhưng rất ít bài hướng dẫn nhắc bạn: một kết nối giọng nói hai chiều "mở lên là cứ mở mãi" và một yêu cầu văn bản hỏi một lần đáp một lần, vốn dĩ không cùng logic sử dụng. Chat văn bản lúc im lặng thì không có gì xảy ra; còn kết nối phải liên tục truyền luồng để lúc nào cũng có thể bị ngắt lời, cách vận hành hoàn toàn khác. Đây không phải vấn đề mà bản demo cần giải quyết, nhưng lại là tấm hóa đơn mà sớm muộn gì bạn cũng phải mở ra xem trước khi đưa nó vào sản phẩm thật — đợi đến khi người dùng đã quen với việc "lúc nào cũng chen ngang được" mới quay lại tính, thường đau hơn nhiều so với việc đưa nó vào danh sách đánh giá ngay từ đầu.
Từ "biết trò chuyện" đến "giống như gọi điện thoại"
Quay lại câu mở đầu "Này Mira, phát một bài dream pop nhé." Điều khiến cảnh đó thành hiện thực, không phải vì model nói chuyện thông minh đến đâu, mà là những chi tiết bạn gần như không để ý: cô ấy luôn lắng nghe, bạn chen ngang thì thực sự dừng lại, cô ấy có thể thực sự ra tay chuyển bài. Từ khoảnh khắc bạn tự tay xây dựng một Agent giọng nói, thứ bạn cần để mắt tới không chỉ là "nó có nói được không", mà còn là nó có hiểu được khoảnh khắc bị ngắt lời hay không, và đường dây luôn mở đó cuối cùng sẽ trở thành hóa đơn gì. Đưa cả hai điều này vào bản thiết kế đầu tiên, thứ làm ra mới không chỉ là một chiếc máy trả lời tự động biết nói.
Câu hỏi thường gặp (FAQ)
Q1: Gemini Live API khác gì so với chuyển văn bản thành giọng nói (TTS) thông thường? TTS một chiều: đưa văn bản, ra âm thanh, không nghe được bạn cũng không biết bạn có ở đó hay không. Gemini Live hai chiều theo thời gian thực, âm thanh đối âm thanh, có thể nghe ra ngữ điệu và khoảng ngừng, đồng thời vừa sinh câu trả lời vừa cất tiếng.
Q2: Ngắt lời bằng giọng nói (barge-in) được thực hiện như thế nào? Dựa vào Voice Activity Detection (VAD) để đồng thời phán đoán xem lượt nói của bạn đã kết thúc chưa, và có ai chen ngang khi model đang nói hay không. Khi phát hiện chen ngang, model tự dừng lại và gửi tín hiệu ngắt; phía ứng dụng tốt nhất nên dừng phát âm thanh cục bộ ngay khi micro nghe thấy bạn mở miệng, việc chen ngang mới thực sự tức thời.
Q3: VAD có cần tự viết không? Không cần, Gemini Live đã tích hợp sẵn Voice Activity Detection, không cần tự xây dựng cơ chế phán đoán "có người đang nói hay không".
Q4: Vì sao Tool Calling trong AI Agent giọng nói cần phải "nhanh"? Trong lúc tool đang thực thi, model sẽ đứng yên chờ đợi, chạy quá lâu cuộc trò chuyện sẽ xuất hiện khoảng lặng. Giọng nói coi trọng phản hồi tức thời hơn chat văn bản, nên thiết kế tool bắt buộc phải trả kết quả càng nhanh càng tốt.
Nguồn tham khảo: Bài viết này được biên soạn lại dựa trên video của kênh chính thức Google Cloud Tech "Build a real-time voice AI agent with Gemini Live API" (phát hành ngày 26/08/2026, khoảng 121 nghìn lượt xem), liên kết gốc: https://www.youtube.com/watch?v=pFc-HcUgFgY. Mô tả năng lực sản phẩm của Gemini Live API dựa theo bản demo trong video gốc, chức năng thực tế và biểu phí xin tham khảo tài liệu chính thức của Google Cloud, bài viết này không cấu thành cam kết triển khai kỹ thuật.
Đọc thêm: OpenAI Codex là gì? Khác ChatGPT ở đâu; AI Token vì sao đắt đến vậy?; Claude Fable 5 là gì?; Vì sao phần mềm bắt đầu "tính phí theo Token"?
Khi tự tay xây dựng AI Agent giọng nói, đường dây "mở lên là cứ mở mãi" đó cuối cùng sẽ trở thành hóa đơn gì — bạn muốn nhìn rõ ngay bây giờ, hay đợi hóa đơn gửi tới rồi mới quay lại kiểm tra? Dùng thử miễn phí AI Token King → https://aitokenking.com.tw/home