Ba cách xây dựng chat nhóm AI: Tại sao chúng tôi chọn con đường khó khăn

Reverie Team

Reverie Team

12/9/2025

#kỹ thuật#kiến trúc AI#chat nhóm#phân tích kỹ thuật chuyên sâu
Ba cách xây dựng chat nhóm AI: Tại sao chúng tôi chọn con đường khó khăn

Câu hỏi khởi đầu mọi thứ

"Tại sao mỗi nhân vật không thể có bong bóng tin nhắn riêng, như các ứng dụng khác?"

Chúng tôi nhận được câu hỏi này rất nhiều. Và thành thật mà nói, đó là một câu hỏi tuyệt vời. Hầu hết các ứng dụng chat hiển thị tin nhắn dưới dạng bong bóng riêng biệt - mỗi người một cái. Vậy tại sao chat nhóm của chúng tôi lại kết hợp nhiều phản hồi của nhân vật vào một tin nhắn duy nhất?

Câu trả lời không phải là sự lười biếng hay sơ suất. Đó là một lựa chọn kỹ thuật có chủ đích, được sinh ra từ nhiều tháng thử nghiệm với ba cách tiếp cận khác nhau về cơ bản đối với các cuộc trò chuyện nhóm AI.

Ba kiến trúc

Khi xây dựng các cuộc trò chuyện AI đa nhân vật, mọi nền tảng đều phải đối mặt với cùng một quyết định. Có chính xác ba cách để thực hiện, mỗi cách có những tác động sâu sắc đến chi phí, chất lượng và trải nghiệm người dùng.

1. Đầu ra có cấu trúc (Mảng JSON)

Cách tiếp cận phổ biến nhất trong ngành. Bạn yêu cầu AI trả về một mảng JSON trong đó mỗi phần tử đại diện cho phản hồi của một nhân vật:

[
  {
    "speaker": "Sherlock",
    "emotion": "tò mò",
    "content": "Thú vị. Mô hình bùn gợi ý rằng..."
  },
  {
    "speaker": "Watson",
    "emotion": "bối rối",
    "content": "Holmes, ý ông là gì?"
  }
]

Sự hấp dẫn:

  • Một lần gọi API, một lần tiêu thụ credit
  • Dễ phân tích và hiển thị dưới dạng bong bóng tin nhắn riêng biệt
  • Có thể bao gồm metadata phong phú (cảm xúc, hành động, mô tả cảnh)
  • Hoàn hảo để tạo gợi ý phản hồi cho người dùng

Thực tế:

  • Chỉ các model premium đắt tiền (Claude, GPT-4) mới hỗ trợ đầu ra có cấu trúc một cách đáng tin cậy - hầu hết các model giá cả phải chăng gặp khó khăn với định dạng JSON nhất quán
  • Lỗi định dạng phá vỡ toàn bộ phản hồi
  • Hướng dẫn JSON tiêu thụ token, giảm không gian sáng tạo
  • Các model cảm thấy "bị ràng buộc" - sự sáng tạo thường bị ảnh hưởng
  • Hạn chế nội dung trở nên nghiêm ngặt hơn: chế độ đầu ra có cấu trúc thường kích hoạt lọc nội dung nghiêm ngặt hơn, khiến các kịch bản roleplay trưởng thành hoặc táo bạo có nhiều khả năng thất bại hơn
  • Ô nhiễm ngữ cảnh: lịch sử trò chuyện của bạn chứa đầy cấu trúc JSON
  • Độ phức tạp xử lý lỗi: điều gì xảy ra khi phân tích thất bại giữa chừng khi streaming?

Hầu hết các nền tảng nhân vật của bên thứ ba sử dụng cách tiếp cận này. Nó hoạt động, nhưng các ràng buộc là thực sự.

2. Gọi công cụ (Chế độ Agent)

Cách tiếp cận "thông minh" nhất. AI quyết định nhân vật nào nên nói tiếp theo, gọi một công cụ để chỉ ra điều này, sau đó tạo phản hồi của nhân vật đó. Lặp lại cho đến khi cảnh hoàn chỉnh.

AI nghĩ: "Watson nên phản ứng với khám phá này"
→ gọi công cụ: next_speaker("Watson")
→ tạo phản hồi của Watson
→ AI nghĩ: "Bây giờ Sherlock sẽ xen vào"
→ gọi công cụ: next_speaker("Sherlock")
→ tạo phản hồi của Sherlock
...

Sự hấp dẫn:

  • Luồng hội thoại tự nhiên nhất
  • AI có toàn quyền kiểm soát sáng tạo về nhịp độ cảnh
  • Mỗi phản hồi nhân vật được chất lượng tạo riêng
  • Tự nhiên tạo ra các tin nhắn riêng biệt cho mỗi nhân vật

Thực tế:

  • Nhiều lần gọi API = nhiều lần tính phí credit
  • Độ trễ tích lũy: N nhân vật = N vòng khứ hồi
  • Chỉ các model cao cấp (Claude, GPT-4) mới xử lý gọi công cụ một cách đáng tin cậy - các model rẻ hơn thường thất bại hoặc ảo giác các cuộc gọi công cụ
  • Quản lý trạng thái phức tạp giữa các cuộc gọi
  • Rủi ro vòng lặp vô hạn hoặc kết thúc không mong muốn
  • Ác mộng debug: các vấn đề khó tái tạo

Đây là "kiến trúc mơ ước" trông đẹp trên giấy nhưng tạo ra những đau đầu vận hành ở quy mô lớn.

3. Đầu ra văn bản tự do (Lựa chọn hiện tại của chúng tôi)

Cách tiếp cận đơn giản nhất. Yêu cầu AI viết cảnh một cách tự nhiên, để nó quyết định cách trình bày nhiều nhân vật trong văn xuôi trôi chảy:

Sherlock nghiêng người về phía trước, mắt sắc bén. "Thú vị. Mô
hình bùn gợi ý rằng nghi phạm của chúng ta đến từ phía đông."

Watson cau mày. "Holmes, ý ông là gì? Nó chỉ là bùn thôi."

"Chỉ là bùn?" Sherlock mỉm cười. "Watson thân mến,
không có thứ gì là 'chỉ là' bất cứ thứ gì."

Sự hấp dẫn:

  • Hoạt động với mọi model AI, không cần tính năng đặc biệt
  • Tự do sáng tạo tối đa - AI viết tự nhiên
  • Ngữ cảnh sạch: lịch sử trò chuyện đọc như tiểu thuyết
  • Trải nghiệm streaming tuyệt vời
  • Một cuộc gọi, chi phí có thể dự đoán
  • Đơn giản nhất để triển khai và bảo trì

Thực tế:

  • Tất cả nhân vật trong một khối tin nhắn
  • Không thể dễ dàng tạo lại phản hồi của một nhân vật
  • Tính linh hoạt UI bị hạn chế
  • Người dùng mong đợi bong bóng kiểu chat có thể bị nhầm lẫn

Chúng tôi học được điều này một cách khó khăn

Đây là điều chúng tôi chưa chia sẻ công khai trước đây: phiên bản đầu tiên của chat nhóm của chúng tôi sử dụng gọi công cụ.

Chúng tôi tin vào "kiến trúc mơ ước". AI quyết định ai nói tiếp theo, mỗi nhân vật được tạo riêng, bong bóng tin nhắn riêng biệt đẹp đẽ. Nó thanh lịch. Nó thông minh. Nó cũng là thảm họa trong production.

Người dùng trải nghiệm chi phí không thể đoán trước - đôi khi gấp 3 lần những gì họ mong đợi cho cùng một cuộc trò chuyện. Thời gian phản hồi thay đổi đáng kể tùy thuộc vào số lượng nhân vật mà AI quyết định tham gia. Các model rẻ hơn ảo giác các cuộc gọi công cụ hoặc bị kẹt trong vòng lặp. Nhật ký lỗi của chúng tôi đầy các trường hợp edge mà chúng tôi không bao giờ lường trước.

Sau nhiều tháng vá và giải pháp tạm thời, chúng tôi đưa ra quyết định khó khăn để xây dựng lại từ đầu với đầu ra văn bản tự do. Nó cảm thấy như một bước lùi. Nhưng đôi khi giải pháp "ít thông minh hơn" là lựa chọn khôn ngoan hơn.

Tại sao chúng tôi đưa ra lựa chọn này

Sau khi thử nghiệm kỹ lưỡng cả ba cách tiếp cận - và đưa một cái lên production - chúng tôi chọn đầu ra văn bản tự do cho chat nhóm. Đây là lý do:

Ổn định hơn tính năng - Đầu ra có cấu trúc thất bại không thể đoán trước. Khi chat nhóm của bạn hỏng giữa cuộc trò chuyện, người dùng không còn quan tâm đến bong bóng riêng biệt nữa - họ chỉ muốn nó hoạt động. Văn bản tự do không bao giờ thất bại do vấn đề định dạng.

Chất lượng hơn số lượng - Các định dạng bị ràng buộc làm giảm sự sáng tạo của AI một cách tinh tế. Khi chúng tôi so sánh đầu ra, văn bản tự do liên tục tạo ra các tương tác nhân vật sống động, tự nhiên hơn. AI có thể tập trung vào kể chuyện thay vì cú pháp JSON.

Khả năng dự đoán chi phí - Chế độ agent tính phí theo nhân vật theo phản hồi. Một cảnh năm nhân vật có thể tốn gấp 5-10 lần dự kiến. Người dùng xứng đáng có giá cả có thể dự đoán.

Khả năng tương thích phổ quát - Chúng tôi hỗ trợ nhiều model AI. Không phải tất cả đều hỗ trợ đầu ra có cấu trúc hoặc gọi công cụ tốt như nhau. Văn bản tự do hoạt động ở mọi nơi, cho người dùng nhiều lựa chọn model hơn.

Sự đánh đổi mà chúng tôi chấp nhận

Đúng, chúng tôi hy sinh trải nghiệm "một bong bóng cho mỗi nhân vật". Nhưng chúng tôi đạt được:

  • Độ tin cậy vững như đá
  • Chất lượng sáng tạo tốt hơn
  • Chi phí có thể dự đoán
  • Hỗ trợ model rộng hơn
  • Lịch sử trò chuyện sạch hơn

Đối với roleplay nhóm, nơi sự nhập vai quan trọng nhất, chúng tôi tin rằng sự đánh đổi này đáng giá.

Sắp ra mắt: Chế độ Câu chuyện

Đây là điều thú vị: chúng tôi đang xây dựng Chế độ Câu chuyện mới sử dụng đầu ra có cấu trúc.

Tại sao cách tiếp cận khác? Chế độ Câu chuyện có các ưu tiên khác:

  • Kiểm soát cảnh chính xác quan trọng hơn sự sáng tạo tự do
  • Metadata phong phú (góc camera, tín hiệu âm nhạc, ngắt chương) thêm giá trị
  • Định dạng dễ dự đoán hơn (cấu trúc chương/cảnh rõ ràng)
  • Người dùng mong đợi trải nghiệm được "sản xuất" hơn

Các trường hợp sử dụng khác nhau xứng đáng có kiến trúc khác nhau. Chúng tôi không giáo điều về bất kỳ cách tiếp cận đơn lẻ nào - chúng tôi chọn những gì phục vụ người dùng tốt nhất.

Sự thật thành thật

Không có giải pháp hoàn hảo cho các cuộc trò chuyện AI đa nhân vật. Mọi cách tiếp cận đều đánh đổi thứ gì đó có giá trị lấy thứ khác.

Các nền tảng khác hiển thị bong bóng riêng biệt? Họ có thể đang sử dụng đầu ra có cấu trúc và chấp nhận các hạn chế của nó. Các nền tảng có kiểm soát cảnh "thông minh" hơn? Có lẽ là gọi công cụ với chi phí và độ trễ cao hơn.

Chúng tôi chọn con đường ưu tiên những gì người dùng của chúng tôi đánh giá cao nhất: roleplay nhóm đáng tin cậy, sáng tạo, tiết kiệm chi phí.

Trải nghiệm bong bóng riêng biệt rất tuyệt. Nhưng không phải với cái giá của mọi thứ khác.

Những gì chúng tôi đang khám phá

Chúng tôi đang thử nghiệm các cách tiếp cận lai:

  • Phân tích hậu xử lý: Sử dụng các model nhẹ để chia văn bản tự do thành các phân đoạn nhân vật sau khi tạo
  • Chế độ có cấu trúc tùy chọn: Cho phép người dùng nâng cao chọn đầu ra có cấu trúc khi họ cần kiểm soát chính xác
  • Phát hiện cảnh thông minh: Tự động xác định các điểm ngắt tự nhiên để trình bày UI tốt hơn

Mục tiêu không phải là tìm câu trả lời "đúng". Mà là tiếp tục cải thiện trải nghiệm trong khi duy trì những gì đang hoạt động.


Có suy nghĩ về cách chat nhóm nên hoạt động? Chúng tôi rất muốn nghe từ bạn.

Sẵn sàng trải nghiệm cuộc trò chuyện AI năng động?

Tham gia hàng ngàn người dùng đang khám phá tính cách vô tận và tương tác hấp dẫn trên Reverie.

Ba cách xây dựng chat nhóm AI: Tại sao chúng tôi chọn con đường khó khăn | Reverie