Agent không phải dựng xong là bỏ đó. Bài cuối bàn cách đo chất lượng triage/debug, thiết lập vòng cải tiến, và đi qua một tình huống vận hành đầy đủ.
Đo cái gì (metrics)
Triage accuracy : % triage khớp với con người khi review
Severity match : % gán đúng severity (so ground truth)
Repro rate : % report agent tái hiện được
Time-to-triage : trung vị thời gian từ report -> triaged
Escalation rate : % phải chuyển người (không quá thấp/cao)
Regression escapes: số fix agent đề xuất mà sau vẫn hồi quy
Cost / triage : token & tiền mỗi report
Hai chỉ số dễ bị bỏ quên nhưng quan trọng: escalation rate (thấp quá = agent liều, cao quá = vô dụng) và regression escapes (đo chất lượng thật của fix).
Xây bộ eval (golden set)
- Thu 30–50 report cũ đã được con người triage đúng làm ground truth.
- Chạy agent trên bộ này định kỳ (mỗi lần đổi prompt/model).
- So sánh severity/component/status với đáp án; tính accuracy.
- Ghim các ca sai làm regression test cho chính agent.
- Chỉ đổi prompt/model khi eval không tụt (tránh cải tiến chỗ này, hỏng chỗ kia).
def eval_agent(golden):
ok = 0
for case in golden:
out = triage(case.report)
if out.severity == case.severity and out.component == case.component:
ok += 1
return ok / len(golden) # theo dõi qua thời gian
Vòng cải tiến liên tục
Đo → Tìm mẫu sai → Sửa (prompt/rubric/tool) → Eval lại → Triển khai. Mọi thay đổi phải chứng minh bằng eval, không dựa cảm tính.
Tình huống thực chiến (đi hết vòng lặp)
- Report đến: "Thỉnh thoảng thanh toán bị trừ tiền hai lần."
- Triage: severity S1 (mất tiền), priority P0; nhưng thiếu order id →
needs_info, hỏi lại. - Reproduce: chạy 10 lần, lỗi 2/10 → flaky, nghi race condition khi user bấm nút hai lần nhanh.
- RCA: log cho thấy hai request POST /charge trùng nội dung, cách nhau 300ms; thiếu idempotency key.
- Propose fix: thêm regression test bắn 2 request song song (fail trước); fix = idempotency key; test xanh, 480 test cũ xanh.
- Verify: chạy repro 20 lần, 0/20 lỗi. Vì chạm thanh toán → escalate cho người duyệt trước khi merge.
- Ghi nhận: thêm ca này vào golden set để agent không quên.
Checklist duy trì agent
[ ] Có golden set >= 30 ca, cập nhật định kỳ
[ ] Chạy eval trước mỗi lần đổi prompt/model
[ ] Theo dõi regression escapes & escalation rate
[ ] Ghim mọi ca agent sai thành test
[ ] Theo dõi chi phí/triage, đặt ngân sách
[ ] Review định kỳ log của agent với con người
Sai lầm thường gặp
- Không có eval set → đổi prompt theo cảm tính, tưởng tốt lên mà thật ra tệ đi.
- Chỉ đo accuracy, bỏ regression escapes → agent triage nhanh nhưng fix rởm, lỗi quay lại.
- Escalation rate quá thấp vì ép agent tự quyết mọi thứ → nó liều ở vùng nhạy cảm.
- Không ghim ca sai thành test → agent lặp lại đúng lỗi cũ sau mỗi lần cập nhật.
- Bỏ qua chi phí → agent "thông minh" nhưng đốt token không bền về kinh tế.
Tổng kết khóa học
Bạn đã đi trọn vòng: hiểu triage → dựng khung agent → tái hiện → RCA → đề xuất & kiểm chứng fix → khép thành debug loop → vận hành có guardrail → đo và cải tiến liên tục. Nguyên tắc xuyên suốt: contract-first, có bằng chứng, có điều kiện dừng, có con người ở vòng cho việc rủi ro, và mọi thay đổi phải qua eval. Giờ hãy áp lên hàng đợi bug thật của bạn — bắt đầu ở shadow mode.