- Dataset tốt là dataset mirror được production - nếu pass dataset bạn tự tin deploy, nó đang làm đúng việc.
- Bắt đầu với 10-20 ví dụ curate thủ công; với từng component riêng lẻ thì 5-10 là đủ.
- 3 nguồn dữ liệu theo thứ tự: production traces, hand-written cases, sau đó mới generate synthetic bằng AI.
- Sau dataset là experiments - đo impact từng thay đổi trước khi deploy.
TL;DR
Phần 1 đã giải thích AI Engineering Loop và cấu trúc dataset item. Phần 2 này đi sâu vào thực hành: dataset tốt trông như thế nào, kích thước bao nhiêu là đủ, bắt đầu từ đâu khi chưa có gì, và những công cụ nào đang được dùng phổ biến nhất. Cuối bài là bước tiếp theo sau khi bạn đã có dataset.
Dataset tốt trông như thế nào?
Một dataset tốt mirror được những gì hệ thống sẽ gặp trong production. Tiêu chí đơn giản nhất để đánh giá: nếu pass dataset này bạn tự tin deploy lên production, nó đang làm đúng việc.
Có hai yếu tố quan trọng:
1. Clear in scope. Mỗi dataset nên có scope rõ ràng - có thể là end-to-end (toàn bộ pipeline từ đầu đến cuối) hoặc target một component cụ thể như retrieval hay summarization. Trên thực tế bạn sẽ có nhiều dataset, mỗi cái một mục đích khác nhau.
2. Kích thước phù hợp với workflow. Đây là điểm thực tế mà nhiều người bỏ qua:
- Dataset nhỏ và nhanh: chạy được trên mỗi push trong CI/CD pipeline. Catch regression sớm, không làm chậm development.
- Dataset lớn và toàn diện: chạy định kỳ (weekly hoặc trước major release). Quá chậm cho mỗi thay đổi nhỏ nhưng cần thiết để đánh giá tổng thể.
Không có con số kỳ diệu. LangChain khuyến nghị bắt đầu với 10-20 ví dụ curate thủ công cho common scenarios và edge cases; với từng critical component riêng lẻ thì 5-10 là đủ để establish baseline.
Bắt đầu từ đâu?
Nguyên tắc: bắt đầu với ví dụ cụ thể nhất bạn đang có, rồi mở rộng sau khi biết mình đang test cái gì. Ba nguồn theo thứ tự ưu tiên:
1. Production traces: kéo các interaction thực tế từ production mà bạn đã quan sát và muốn cải thiện. Có thể dùng nguyên vẹn, anonymize, hoặc transform bằng AI. Đây là nguồn chân thực nhất - những case này đã xảy ra thật.
Ví dụ cụ thể: Langfuse chatbot xử lý 19.000 user query trong một năm. Team filter những conversation có satisfaction score thấp, tag các failure mode phổ biến, rồi convert thành dataset test cases. Kết quả: dataset reflect đúng pain points của user thực.
2. Hand-written cases: tự viết dựa trên requirements đã định sẵn, edge cases, hoặc behavior mà agent phải handle reliably. Dùng khi bạn biết trước những scenario quan trọng nhưng chưa có trace trong production.
3. Synthetic examples: generate bằng AI sau khi bạn đã biết mình cần cover thêm dimension nào. Đây là cách scale nhanh, nhưng chỉ nên làm sau khi đã có foundation từ hai nguồn trên.
Use cases thực tế
Dataset eval được dùng rộng rãi trong nhiều loại ứng dụng LLM:
- RAG systems: test retrieval relevance (fetch đúng docs không?) và answer faithfulness (output có stick to facts không? có hallucinate không?). RAGAs framework đo 5 metrics: Faithfulness, Contextual Relevancy, Answer Relevancy, Contextual Recall, Contextual Precision.
- Chatbot/customer service: kiểm tra sentiment alignment, on-brand responses, và multi-turn coherence (bot có nhớ context qua nhiều lượt không?)
- AI Agents: test end-to-end trajectory - agent có chọn đúng tool không? format argument đúng không? hoàn thành task không?
- CI/CD integration: nhỏ và nhanh - chạy mỗi code push, catch regression trước khi merge.
Công cụ phổ biến
Nếu bạn đang chọn platform để quản lý eval datasets:
- Langfuse (open source): platform đầy đủ - observability, dataset management, experiments, evaluation. Cloud UI + Python SDK + JS/TS SDK + Self-hosting. Free tier cho cá nhân.
- DeepEval: chuyên sâu về evaluation metrics, hơn 14 metrics bao gồm hallucination detection, faithfulness, contextual relevance. Có Synthesizer class để generate synthetic dataset.
- RAGAs: specialized cho RAG pipelines, 5 core metrics, synthetic dataset grounded trên documents.
- LangSmith: từ LangChain ecosystem, offline evaluation trên curated dataset + online monitoring.
Bước tiếp theo: Experiments
Sau khi có dataset, bước tiếp theo trong AI Engineering Loop là experiments: chạy hệ thống qua dataset và đo impact của từng thay đổi. Bạn thay prompt, switch model, hoặc adjust pipeline - rồi chạy experiment để so sánh kết quả trước và sau trên cùng một tập test cases.
Quan trọng: đừng chỉ nhìn vào con số tổng. Phân tích tại sao variant B tốt hơn variant A 10% - link kết quả với error patterns từ observability data. Đó mới là nơi insights thực sự nằm.
Vòng lặp tiếp tục: online evaluators phát hiện issues mới trong production → issues đó trở thành offline test cases mới → offline evaluators validate fixes → deploy → online confirms cải tiến.
