Không có nhãn đúng/sai sẵn trên production, nên phải dựng tín hiệu gián tiếp trước, rồi mới chuyển dần thành bộ dữ liệu có nhãn.
Log theo đơn vị trace, một dòng cho mỗi lượt: trace_id, user_id (đã băm), prompt_version, model, tham số sinh, danh sách id tài liệu đã truy xuất (không phải nội dung), các tool đã gọi, token vào/ra, độ trễ tới token đầu tiên và tổng, mã kết thúc (hoàn tất / bị dừng / lỗi / chạm max_tokens).
Tín hiệu chất lượng thu thập được tự động:
- Tỷ lệ đầu ra sai định dạng, tỷ lệ chạm giới hạn độ dài.
- Tỷ lệ người dùng bấm dừng sớm, hỏi lại ngay câu tương tự, hoặc chuyển sang người thật.
- Phản hồi thích/không thích. Tỷ lệ trả lời rất thấp và lệch về phía tiêu cực — dùng làm tín hiệu để lọc mẫu, không dùng làm điểm chất lượng tuyệt đối.
Lấy mẫu để đánh giá sâu: kết hợp mẫu ngẫu nhiên (theo dõi đường cơ sở) với lấy mẫu có chủ đích vào các trường hợp đáng ngờ — có phản hồi tiêu cực, bị dừng giữa chừng, độ trễ hoặc chi phí bất thường. Ngẫu nhiên thuần khiến hầu hết công sức xem xét rơi vào các lượt vốn đã ổn.
Vòng khép kín: mẫu đã lấy → người xem xét gán nhãn → mẫu có nhãn bổ sung vào bộ dữ liệu vàng → mọi thay đổi prompt/model sau này chạy lại trên bộ đó trước khi bật. Bộ dữ liệu vàng lớn dần theo đúng những chỗ hệ thống hay sai.
Lưu ý: áp cùng bộ lọc dữ liệu cá nhân cho log; đặt thời hạn lưu trữ; và luôn có đường liên kết từ một khiếu nại của người dùng về đúng trace_id — không có đường này thì mọi báo lỗi chất lượng đều không điều tra được.