Bản ghi vết (The trace): Trợ lý dịch vụ khách hàng của một nhà bán lẻ điện máy
Người dùng hỏi: "Đơn hàng của tôi đang ở đâu?"
RETRIEVED CHUNK #1 (độ tương đồng / similarity 0.78): "Đơn hàng #88412 được đặt vào ngày 11/06 và đã được giao cho đơn vị vận chuyển tiêu chuẩn vào ngày 12/06. Mã vận đơn AB123…"
RETRIEVED CHUNK #2 (độ tương đồng / similarity 0.74): "Đơn hàng #88412 hiện đang được xử lý. Dự kiến xuất kho trong vòng 24 giờ."
MODEL OUTPUT: "Đơn hàng của bạn đã được giao cho đơn vị vận chuyển tiêu chuẩn vào ngày 12/06. Mã vận đơn: AB123…"
Cả hai chunks đều là những chuỗi văn bản có thật từng tồn tại trong tập dữ liệu (corpus) tại các thời điểm khác nhau. Index đã gộp chung chúng lại. Trên thực tế, đơn hàng đã được gửi đi, nhưng sau đó bị trả về kho do nhãn dán bị hỏng và đang chờ gửi lại.
Lưu ý rằng trạng thái thời gian thực này không xuất hiện trong bất kỳ chunk nào: tập dữ liệu chỉ chứa 2 snapshots đã cũ và không có ghi chép nào về vị trí thực sự của đơn hàng ở thời điểm hiện tại, bởi vì một index chỉ bắt lấy những gì đúng khi nó được ghi, chứ không phải ở hiện tại. Một tool dịch vụ khách hàng để lấy trạng thái đơn hàng thời gian thực (live order status) vốn sẵn có trong API của đối tác, nhưng nó đã không được gọi.
Điều gì đã đổ vỡ và tại sao?
Lỗi phân loại (The category error): Retrieval là cơ chế đúng cho tri thức (knowledge): FAQs, chính sách, tài liệu. Nó là cơ chế sai cho trạng thái giao dịch (transactional state). Tra cứu trạng thái đơn hàng thất bại không phải vì retrieval bị hỏng, mà nó thất bại vì ngay từ đầu trạng thái hiện tại đã bị biểu diễn dưới dạng các bản chụp văn bản lịch sử (historical text snapshots).
Thất bại ở kiến trúc dữ liệu, không phải thất bại của retrieval: Live state bị đánh chỉ mục dưới dạng văn bản, do đó hệ thống đã tìm kiếm trên một tập các snapshots trong quá khứ thay vì truy vấn system of record (hệ thống lưu trữ dữ liệu gốc).
Độ tương đồng không phải là sự thật (Similarity is not truth): Độ tương đồng về embedding đã tự tin gộp hai snapshots cũ thành một câu trả lời. Điểm độ tương đồng (similarity score) cao hơn không có nghĩa là câu trả lời đúng hơn; nó chỉ có nghĩa là văn bản được truy xuất gần gũi về mặt ngữ nghĩa (semantically close) với câu truy vấn – đây là hai việc hoàn toàn khác nhau khi dữ liệu gốc bên dưới đã thay đổi kể từ khi văn bản được ghi lại.
Giải pháp là một Tool Call: Không phải là một bộ chia nhỏ (chunker) tốt hơn, một chu kỳ refresh ngắn hơn, hay một ngưỡng độ tương đồng (similarity threshold) cao hơn; mà là một tool call tới dịch vụ kiểm tra trạng thái đơn hàng (order-status service). Cơ sở tri thức (knowledge base) giữ lại nội dung FAQ. Cơ sở dữ liệu giao dịch (transactional database) giữ lại dữ liệu đơn hàng. Hai loại dữ liệu, hai mô hình truy cập (access patterns), hai cơ chế riêng biệt.
Nguyên lý Retrieval (The retrieval principle)
Retrieval dành cho tri thức ổn định (stable knowledge): những thứ đúng ngày hôm qua và vẫn đúng vào ngày mai.
Tool use dành cho live state: những thứ mà giá trị hiện tại của nó do một hệ thống nắm giữ và thay đổi độc lập với index của bạn.
Nhập nhằng hai khái niệm này sẽ tạo ra các câu trả lời trôi chảy, tự tin nhưng lại sai theo những cách rất khó phát hiện vì hệ thống không hề phát ra tín hiệu báo lỗi nào. Model vẫn trả về kết quả. Câu trả lời trông vẫn hợp lý. Nhưng khách hàng lại nhận được thông tin sai sự thật về chính đơn hàng của họ.
Nội dung bài viết thuộc lộ trình chuẩn bị chứng chỉ Claude Certified Architect, được tổng hợp và biên dịch từ tài liệu đào tạo chính thức của Anthropic PBC. Bản quyền nội dung gốc thuộc về Anthropic PBC. Bản dịch tiếng Việt và chú giải thực hành bởi HungPH Blog.
