Khám phá Learn Stream About Jokes
Stream
Liên kết

Add voice to your agent

· website

TL;DR

Cloudflare vừa ra mắt package @cloudflare/voice thử nghiệm cho Agents SDK. Cái này giúp bạn thêm khả năng nói chuyện real-time (nghe, hiểu, nói lại) cho AI agent của mình, mà hông cần build một stack voice riêng biệt hay phức tạp.

Nói đơn giản: Như biến AI chatbot của bạn thành tổng đài viên thông minh, có thể nói chuyện tự nhiên như người thật.

Tổng quan

@cloudflare/voice là một package thử nghiệm mới của Cloudflare, được thiết kế để tích hợp khả năng voice (giọng nói) vào các AI Agent đang chạy trên Agents SDK. Thay vì phải xây dựng một hệ thống voice riêng biệt, bạn có thể thêm tính năng này trực tiếp vào kiến trúc Agent hiện có của mình — vốn đã dựa trên Durable Objects, WebSocket và SQLite.

Điểm hay là nó tận dụng Workers AI của Cloudflare để cung cấp các dịch vụ Speech-to-Text (STT) và Text-to-Speech (TTS) như Deepgram Flux, Nova 3 cho STT và Deepgram Aura cho TTS. Điều này giúp giảm đáng kể độ trễ (latency) vì toàn bộ pipeline xử lý giọng nói (từ lúc bạn nói đến lúc AI phản hồi) đều chạy trên mạng lưới của Cloudflare.

Package này cung cấp các helper như withVoice(Agent) cho conversational agents, withVoiceInput(Agent) cho các case chỉ cần chuyển giọng nói thành văn bản (dictation, voice search), và các React hooks tiện lợi. Kiến trúc mở của nó cũng cho phép bạn dễ dàng plug-in các STT/TTS provider khác nếu muốn.

Xài vào việc gì?

Muốn AI chatbot của mình nói chuyện được với khách hàng Chỉ chat text đôi khi chưa đủ. Với @cloudflare/voice, bạn có thể biến Agent thành một trợ lý ảo có thể nghe và nói chuyện trực tiếp qua web hoặc điện thoại. Kết quả: Khách hàng có trải nghiệm tự nhiên hơn, như đang nói chuyện với một tổng đài viên AI, giúp giảm friction và tăng mức độ hài lòng.

Cần một hệ thống ghi chú hoặc tìm kiếm bằng giọng nói nội bộ Hông phải lúc nào cũng cần AI nói lại. Nếu bạn chỉ muốn chuyển giọng nói thành văn bản để ghi chú nhanh, nhập liệu, hoặc tìm kiếm bằng giọng nói. Kết quả: Dùng withVoiceInput để tạo các công cụ dictation hoặc voice search, giúp nhân viên tiết kiệm thời gian gõ phím, tăng năng suất.

Đang build ứng dụng AI cần xử lý đa kênh (text, voice, phone call) Việc quản lý nhiều kênh giao tiếp (chat, voice web, điện thoại) thường rất phức tạp. Kết quả: Agents SDK cho phép cùng một Agent xử lý tất cả các kênh này trên cùng một kiến trúc, giữ lịch sử hội thoại nhất quán và đơn giản hóa việc phát triển, bảo trì.

Muốn giảm độ trễ (latency) khi tương tác với AI bằng giọng nói Trải nghiệm voice AI sẽ tệ nếu AI phản hồi quá chậm. Kết quả: Nhờ việc pipeline chạy trên mạng lưới Cloudflare và dùng Workers AI, độ trễ được tối ưu, giúp cuộc trò chuyện với AI mượt mà và tự nhiên hơn nhiều.

Các điểm chính

Voice hông phải là stack riêng, mà là một phần của Agent: Cloudflare thiết kế @cloudflare/voice để tích hợp thẳng vào kiến trúc Agents SDK hiện có (Durable Objects, WebSocket, SQLite). Context: Nhiều framework voice yêu cầu bạn xây dựng một hệ thống hoàn toàn riêng biệt. Hành động: Nếu đang xài Agents SDK, thêm voice dễ như ăn kẹo. Nếu chưa, cân nhắc dùng để có nền tảng thống nhất cho các tính năng Agent.

Giảm latency đáng kể nhờ kiến trúc Cloudflare: Toàn bộ pipeline xử lý voice (audio input, STT, LLM, TTS, audio output) đều chạy trên mạng lưới của Cloudflare và dùng Workers AI. Context: Độ trễ là yếu tố then chốt cho trải nghiệm voice AI tự nhiên. Hành động: Ưu tiên các giải pháp tích hợp sâu vào hạ tầng để tối ưu tốc độ phản hồi, đừng để dữ liệu phải “nhảy” qua quá nhiều service.

Hỗ trợ streaming giúp trải nghiệm tự nhiên hơn: AI có thể bắt đầu nói câu đầu tiên trong khi vẫn đang generate phần còn lại của câu trả lời. Context: Người dùng hông thích chờ đợi. “Time-to-First Audio” rất quan trọng. Hành động: Khi thiết kế voice agent, luôn nghĩ đến việc làm sao để AI phản hồi nhanh nhất có thể, ngay cả khi câu trả lời chưa hoàn chỉnh.

Multimodal by design, hông cần tách code: Cùng một Agent có thể xử lý cả text và voice trên cùng một kết nối, giữ lịch sử hội thoại nhất quán. Context: Việc phải maintain các codebase khác nhau cho từng kênh giao tiếp rất tốn công. Hành động: Tối ưu hóa trải nghiệm người dùng bằng cách cho phép họ chuyển đổi giữa text và voice mượt mà, và tận dụng lịch sử hội thoại thống nhất.

Dễ dàng tùy biến STT/TTS provider: Kiến trúc mở cho phép bạn plug-in các provider STT/TTS khác nếu muốn, hông bị khóa vào một nhà cung cấp duy nhất. Context: Mỗi use case có thể cần một model STT/TTS khác nhau về chất lượng, chi phí. Hành động: Luôn tìm kiếm các giải pháp mở, cho phép tùy chỉnh để tránh vendor lock-in và tối ưu chi phí/chất lượng theo nhu cầu cụ thể.

Tích hợp được với telephony (Twilio) và WebRTC: Mở rộng khả năng của Agent ra ngoài web, vào cả hệ thống điện thoại truyền thống. Context: Nhiều doanh nghiệp vẫn cần giao tiếp qua điện thoại. Hành động: Nếu có nhu cầu tổng đài AI hoặc tích hợp với hệ thống điện thoại, đây là một lựa chọn đáng cân nhắc để tích hợp liền mạch.

Workflow gợi ý

  1. Xây tổng đài AI hỗ trợ khách hàng:

    • Dùng @cloudflare/voice để Agent có khả năng nghe và nói.
    • Tích hợp TwilioAdapter để kết nối Agent với một số điện thoại.
    • Trong phương thức onTurn() của Agent, dùng LLM để xử lý yêu cầu khách hàng và kết nối với các tool nội bộ (ví dụ: kiểm tra trạng thái đơn hàng, đặt lịch hẹn).
    • Kết quả: Khách hàng gọi điện được hỗ trợ 24/7, giảm tải cho đội ngũ CSKH, tăng hiệu quả vận hành.
  2. Tạo trợ lý cá nhân bằng giọng nói cho team:

    • Deploy một MyAgent với withVoice và dùng WorkersAIFluxSTT, WorkersAITTS.
    • Trong onTurn(), dùng context.messages để truy cập lịch sử hội thoại và tools để đặt lịch nhắc nhở, tra cứu thông tin nội bộ.
    • Kết quả: Team có một trợ lý AI có thể ra lệnh bằng giọng nói để quản lý công việc, đặt nhắc nhở, tra cứu thông tin mà hông cần gõ phím.

Quick Start

  1. Làm ngay tuần này: Tạo một project Cloudflare Agents mới bằng npm create cloudflare@latest -- --template cloudflare/agents-starter, cài @cloudflare/voice, và thử code ví dụ MyAgent với onTurn() đơn giản.
  2. Bước tiếp: Thử tích hợp một LLM từ Workers AI để Agent có thể trả lời thông minh hơn, và dùng streamText để có trải nghiệm nói chuyện mượt mà, AI nói từng câu một.
  3. Thói quen duy trì: Luôn nghĩ đến việc làm sao để voice agent của mình hữu dụng hơn, có thể kết nối với các hệ thống khác qua tools, và thử nghiệm các model STT/TTS khác nhau để tối ưu chất lượng và chi phí.

FAQ

@cloudflare/voice có miễn phí hông? Package này miễn phí, nhưng bạn sẽ trả phí cho việc sử dụng Workers AI (STT/TTS) và Cloudflare Workers/Durable Objects theo mức độ sử dụng thực tế.

Có cần API key riêng cho STT/TTS hông? Hông cần, vì nó tích hợp sẵn với Workers AI của Cloudflare. Bạn có thể dùng các model như Deepgram Flux, Nova 3, Aura 1 ngay mà hông cần đăng ký thêm.

Mình có thể dùng STT/TTS provider khác hông? Được chứ. Kiến trúc của @cloudflare/voice được thiết kế mở, cho phép bạn plug-in các provider STT/TTS khác nếu muốn, miễn là chúng tuân thủ interface đã định nghĩa.

Voice agent có lưu lịch sử hội thoại hông? Có, nó dùng SQLite-backed conversation history của Agents SDK. Lịch sử này được lưu lại ngay cả khi kết nối bị ngắt hay Agent được deploy lại.

Latency có thực sự thấp như quảng cáo hông? Thấp hơn đáng kể vì toàn bộ pipeline (từ audio đến phản hồi) chạy trên mạng lưới của Cloudflare, giảm thiểu việc dữ liệu phải đi qua nhiều service khác nhau.

#cloudflare #aiagent #voiceai #workersai #durableobjects #speech-to-text #text-to-speech #automation #developertools
0:00

Chia sẻ ảnh

Bắt đầu gõ để tìm kiếm...