Fallback trong ứng dụng AI

Fallback là phương pháp thay thế khi model hoặc một bước trong quy trình không thể đáp ứng yêu cầu. Tùy thuộc vào nguyên nhân, hệ thống có thể thử lại giới hạn, sử dụng model đã đánh giá, áp dụng quy tắc, yêu cầu thêm dữ liệu hoặc chuyển đến người phụ trách. Lựa chọn cần duy trì quyền và thông báo rõ ràng trạng thái.
Minh họa xử lý lỗi model trong quy trình làm việc

- Fallback nghĩa là gì trong ứng dụng AI?
- Phân loại lỗi trước khi chọn phương án
- Thuộc tính của chính sách fallback
- Ma trận lỗi và cách xử lý
- Workflow xử lý request lỗi
- Ví dụ và prompt thiết kế
- Điều kiện retry, failover và chuyển người
- Lỗi thiết kế thường gặp
- Checklist kiểm thử fallback
- Nguồn tham khảo
- Câu hỏi thường gặp
Fallback trong ứng dụng AI

Model call không phải là bước duy nhất có thể gặp lỗi. Request có thể không được xác thực, dữ liệu không đủ, truy xuất không tìm được nguồn, model bị timeout, phản hồi sai schema, nội dung không đạt tiêu chuẩn, công cụ bên ngoài không phản hồi hoặc bước phê duyệt chưa xong. Thiết kế fallback phải nhận diện đúng lớp lỗi thay vì chỉ gộp chung thành “AI không hoạt động”.
Fallback tốt không nhất thiết phải tạo ra câu trả lời khác. Trong nhiều trường hợp, phản hồi an toàn là báo chưa thể hoàn thành, đề nghị người dùng kiểm tra đầu vào hoặc chuyển đến nhân viên. Mục tiêu là đưa hệ thống về trạng thái có thể dự đoán, bảo toàn dữ liệu/quyền và cung cấp bước tiếp theo cho người dùng.
Model dự phòng là một loại fallback, không phải là phương án mặc định cho mọi lỗi. Model thứ hai có thể khác về khả năng, chính sách dữ liệu, region, định dạng đầu ra, độ trễ và chất lượng. Nếu ứng dụng không kiểm tra những khác biệt đó, chuyển tuyến chỉ biến một lỗi kỹ thuật thành lỗi nghiệp vụ khó nhận biết.
Hãy tách retry khỏi fallback. Retry gửi lại cùng tác vụ khi lỗi có khả năng tạm thời. Fallback đổi cách xử lý khi retry không phù hợp hoặc đã thất bại: model khác đã đánh giá, quy tắc xác định, câu trả lời cached còn hiệu lực, hàng đợi xử lý sau hay chuyển người. Mỗi nhánh cần điều kiện, người phụ trách và cách hiển thị trạng thái.
Phân loại lỗi trước khi chọn phương án
Phân loại theo nguyên nhân giúp tránh retry lỗi không thể tự hết:
- Lỗi người dùng/đầu vào: thiếu trường, định dạng sai, câu hỏi ngoài phạm vi hoặc dữ liệu vượt giới hạn.
- Lỗi quyền/policy: user không có quyền, nội dung bị chặn bởi quy định hoặc connector không được phép.
- Lỗi tạm thời phía dịch vụ: timeout, mất kết nối, provider đang quá tải hoặc lỗi gateway.
- Lỗi quota/limit: hết hạn mức theo client, tenant hoặc model.
- Lỗi chất lượng: model trả thiếu nguồn, sai schema, thiếu căn cứ hoặc không đạt rubric.
- Lỗi công cụ/dữ liệu: search index không sẵn, tool call sai tham số, nguồn mâu thuẫn hoặc tài liệu chưa cập nhật.
- Lỗi an toàn/nghiêm trọng: nguy cơ lộ dữ liệu, hành động ngoài quyền, output tác động cao hoặc khả năng prompt injection.
Không phải mọi lỗi trả status giống nhau đều có cùng cách xử lý. Một lỗi từ connector có thể báo timeout, nhưng nếu nghiệp vụ yêu cầu dữ liệu đó để kết luận, app không nên dùng câu trả lời cache hoặc mặc định. Mặt khác, câu hỏi thiếu một thông tin có thể được giải quyết bằng cách hỏi lại thay vì đưa người dùng tới đội hỗ trợ.
Thuộc tính của chính sách fallback
Mỗi chính sách lỗi cần có các trường cụ thể để frontend, backend, on-call và nhóm nghiệp vụ xử lý nhất quán.
- Trigger: điều kiện quan sát để phân loại lỗi, mã lỗi, timeout hay kết quả validation.
- Retry rule: lỗi nào retry được, giới hạn số lần, deadline, backoff và idempotency.
- Fallback path: model/tác vụ thay thế, rule-based response, yêu cầu thêm dữ liệu, hàng đợi hoặc người phụ trách.
- Compatibility: schema, capability, nguồn dữ liệu, quyền truy cập, region và rubric mà tuyến dự phòng phải đáp ứng.
- User message: trạng thái, điều đã hoàn thành/chưa hoàn thành và hành động kế tiếp.
- Data behavior: dữ liệu có được lưu, retry, redacted hay xóa không; không tạo bản ghi trùng.
- Observability: request ID, mã lỗi, route, retry count, thời gian, owner, log trường nào được phép.
- Recovery: điều kiện quay lại tuyến chính, circuit breaker, cách bật/tắt và runbook.






