
Tích hợp AI vào web app production: 8 chốt chặn bắt buộc
Model timeout, JSON sai schema, hóa đơn API gấp đôi: các chốt chặn giúp feature AI hỏng mà không kéo cả web app production của bạn chết theo.
Feature AI của bạn chạy mượt ở local, demo cho sếp cũng trôi. Lên production được ba ngày thì model timeout giữa giờ cao điểm, một response JSON sai schema làm vỡ UI, và hóa đơn API gấp đôi dự tính. Bài này gom các chốt chặn để phần còn lại của app không chết theo model.
Không gọi model từ browser
Đây là chốt đầu tiên và cũng là chốt rẻ nhất. Hướng dẫn gốc nói thẳng: "Never call a model from the browser. Keep keys, prompts and provider logic behind your own API so you can add auth, rate limits, logging and provider changes without touching the client."
Đặt provider SDK sau API của chính bạn nghĩa là đổi model hay đổi vendor chỉ là deploy backend. Client không cần biết bạn đang chạy model nào.
Ép output vào schema trước khi tin
Tài liệu yêu cầu "Ask for structured output and validate it before using it. A response that doesn't match the schema should be treated as a failure, not passed to the UI." Điểm mấu chốt là chữ failure: response sai schema phải rơi vào nhánh lỗi, không phải vá tạm bằng regex.
Mẫu minh hoạ trong bài dùng zod, và nó còn chặn thêm một tầng nữa — confidence thấp cũng bị coi là fail:
const Reply = z.object({
answer: z.string(),
confidence: z.enum(["low", "medium", "high"]),
});
// parse fail HOẶC confidence === "low" -> escalate cho người thật
Đoạn code trên là ví dụ minh hoạ, không phải cấu hình production của bạn. Ý tưởng đáng giữ: fallback không phải câu xin lỗi, mà là một đường đi khác.
Lên kế hoạch cho lúc model hỏng
Bốn quy tắc trong bài gốc ngắn và đáng dán lên tường: đặt timeout cho mọi call; retry một lần có backoff rồi mới fallback; luôn có đường non-AI như form, search box hoặc chuyển cho người thật; và "Never block the main user flow on a model response if it can load afterwards."
Quy tắc cuối là thứ hay bị bỏ qua nhất. Nếu phần AI có thể load sau, đừng để nó nằm trên critical path của trang.
Chi phí, log và bộ test thật
Về cost, hướng dẫn liệt kê bốn đòn bẩy: cache câu hỏi lặp lại, rate limit theo user, giới hạn độ dài input và output, dùng model nhỏ hơn cho task đơn giản. Về quan sát, bài yêu cầu lưu "the input, retrieved context, output and validation result for each call" — thiếu bốn thứ này thì không debug được một câu trả lời sai.
Và giữ một bộ câu hỏi thật kèm kết quả mong đợi, chạy lại mỗi lần đổi prompt, model hoặc retrieval. Lý do rất đời: "A prompt tweak that fixes one case often breaks another."
Nếu feature của bạn cho model chạy code
Lúc này rủi ro đổi loại. Tác giả dự án AegisExec đặt vấn đề gọn: "Prompt instructions alone are not an operating-system security boundary." Viết trong system prompt rằng "đừng đọc file ngoài workspace" không phải là một biện pháp kỹ thuật.
AegisExec là CLI Linux đóng vai broker: agent gửi JSON request có schema, policy quyết định cho qua hay chặn, Python chạy trong Bubblewrap ở network namespace không có interface ra ngoài. Tác giả cho biết bản review đã qua 69 test trên Ubuntu 22.04 với Python 3.10, trong đó có 17 test thực thi sandbox thật.
Hai giới hạn tác giả tự nêu đáng chú ý hơn cả con số: broker chỉ có tác dụng khi mọi thao tác của agent đi qua nó, vì "An agent with a separate host shell can bypass it"; và đây là dự án thử nghiệm v0.1, không phải sandbox production-certified. Windows và macOS không chạy được.
Làm gì tiếp theo
Chọn một feature AI đang chạy và kiểm tra ba thứ trong hôm nay: API key có lọt ra client không, response sai schema đi vào nhánh nào, và có timeout trên mọi call chưa. Ba câu hỏi đó lọc ra phần lớn sự cố production trước khi nó xảy ra.
Không spam, hủy đăng ký bất kỳ lúc nào.
Bài viết liên quan

tiktoken đếm thiếu token Claude: 37/418 request vỡ limit
07 thg 10, 2026
Speculative decoding làm vLLM chậm hơn: toán acceptance rate
07 thg 10, 2026