---
title: "Phục vụ lưu lượng của một trợ lý AI"
url: https://cv.tanghoong.com/vi/work/ai-assistant-queue-architecture/
locale: vi
description: "Thiết kế lại một trợ lý hỗ trợ bằng AI trên hàng đợi với trình duyệt hỏi lại theo chu kỳ, để không hạn mức thời gian nào của gateway chi phối cuộc hội thoại và không khách hàng nào phải chờ sau người khác."
---
# Phục vụ lưu lượng của một trợ lý AI mà không giữ kết nối mở

> Thiết kế lại đường đi của yêu cầu cho một trợ lý chăm sóc khách hàng bằng AI, để một cuộc hội thoại được xếp hàng đợi và hỏi lại theo chu kỳ thay vì bị giữ trên một kết nối đồng bộ — đã bàn giao và hợp nhất.

- **Vai trò:** Senior Web Developer
- **Năng lực:** AI ứng dụng · Kiến trúc · Độ tin cậy
- **Lĩnh vực:** Nền tảng thương mại điện tử đang vận hành, có trợ lý AI
- **Thay đổi:** Đường yêu cầu đồng bộ → hàng đợi với trình duyệt hỏi lại theo chu kỳ

## Bối cảnh

Một nền tảng thương mại điện tử đang vận hành với trợ lý chăm sóc khách hàng bằng AI phục vụ khách của họ, bên cạnh các luồng nghiệp vụ đã ổn định của chính nền tảng.

## Bài toán và chỗ mơ hồ

Có một chỗ lệch mang tính cấu trúc nằm giữa mọi sản phẩm dùng LLM: một lượt của mô hình ngôn ngữ thường mất hàng chục giây, còn mọi thứ mà một yêu cầu web đi qua trên đường tới mô hình đó — gateway, tường lửa, proxy — đều có hạn mức thời gian thiết kế cho những yêu cầu tính bằng mili giây. Vì thế một thiết kế đồng bộ hỏng theo hai cách cùng lúc. Cách dễ thấy là một câu trả lời chậm có thể vượt hạn mức ở đâu đó trên đường đi. Cách người ta hay bỏ qua là trong lúc nó chạy, nó chiếm chỗ trên đường đó, nên khách hàng kế tiếp phải chờ phía sau. Nhìn từ bên ngoài cả hai giống hệt nhau: AI chậm. ⛔ Không cái nào là vấn đề của mô hình.

## Vai trò của tôi

Vai trò của tôi: tôi làm việc trên hệ thống chăm sóc khách hàng bằng AI của công ty — cấu trúc tri thức, định tuyến phản hồi, tích hợp công cụ, quản lý phiên, đánh giá, kiểm soát an toàn và chuyển tiếp cho người thật — và tôi thiết kế cùng bàn giao thay đổi ở đường yêu cầu được mô tả tại đây. Tôi cũng duy trì nền tảng thương mại điện tử bao quanh nó.

## Nắm bắt yêu cầu

Câu hỏi có ích không phải «làm sao cho mô hình nhanh hơn» mà là «trên đường đi này, cái gì đang trông đợi một yêu cầu kết thúc nhanh, và chuyện gì xảy ra với tất cả những người còn lại khi một yêu cầu không kết thúc?» Trả lời được câu đó là bài toán chuyển từ tinh chỉnh sang kiến trúc kết nối.

## Kiến trúc và đánh đổi

Rời khỏi cách xử lý đồng bộ. Yêu cầu được đưa vào hàng đợi; trình duyệt hỏi lại vài giây một lần và hiển thị câu trả lời khi nó sẵn sàng. Không có gì giữ một kết nối mở, nên không hạn mức thời gian nào trên đường đi chi phối cuộc hội thoại, và khách hàng được phục vụ song song chứ ⛔ không xếp hàng sau nhau. Cái giá là phần client phức tạp hơn một chút và một trạng thái chờ nhìn thấy được — một đánh đổi tôi sẽ chọn lại, vì phương án kia hỏng một cách im lặng và không công bằng.

## Triển khai và tích hợp

Các worker hàng đợi trên chính framework nền tảng đang dùng, với việc hỏi lại từ trình duyệt, cùng cơ chế thử lại và xử lý lỗi quanh các lệnh gọi mô hình. Kèm theo là hai kiểm soát nữa: phiên để không sẽ hết hạn — một cuộc hội thoại im lặng sẽ được nhắc, và nếu không có hồi đáp thì nó đóng lại và trả về phần dung lượng đang giữ — còn các yêu cầu nhẹ hơn được định tuyến sang tầng mô hình nhỏ hơn thay vì mọi lệnh gọi đều đi tới mô hình lớn nhất, đây là cách kiểm soát chi phí suy luận đơn giản nhất mà không làm hỏng những câu trả lời thực sự quan trọng.

## Kiểm soát khi vận hành

Thử lại và xử lý lỗi quanh các lệnh gọi mô hình; quản lý vòng đời phiên; và một cách tiếp cận đánh giá đang được thiết kế vào bên trong chứ ⛔ không lắp thêm về sau — gồm cả tính đúng đắn khi một câu trả lời cần tra và ghép nhiều mẩu thông tin, và cách hệ thống hành xử trước những phép thử mang tính đối kháng và kỹ nghệ xã hội. Phần đánh giá đó đang được xây, ⛔ không phải phần gia cố đã bàn giao — tôi đang mô tả một thiết kế, ⛔ không tuyên bố một kết quả.

## Tác động

Việc thiết kế lại đã xong và đã hợp nhất vào nền tảng. Không có con số hiệu năng nào được công bố cho công việc này, và sẽ không có — tôi không có một kết quả vận hành nào có thể tuyên bố một cách trung thực.

## Bài học dùng lại được

Khi một tính năng AI bị mô tả là chậm, hãy đo đường đi trước khi động vào mô hình. Theo kinh nghiệm của tôi, mô hình thường vẫn đang làm đúng việc nó vẫn làm, và thứ đã đổi trải nghiệm người dùng là kiến trúc bao quanh nó — còn cách sửa gần như luôn là ngừng giữ một kết nối mở.

## Bằng chứng công khai

Không có gì từ trợ lý của khách hàng được công bố — không cấu trúc tri thức, không prompt, không bộ đánh giá, không con số hiệu năng nào. Các cơ chế mô tả ở trên là chung và không thuộc sở hữu của khách hàng đó; một bản triển khai độc lập trên nội dung của riêng tôi là một hệ thống khác và không liên quan tới việc kinh doanh của công ty ấy.
