Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Bài 8 — Đánh giá, cải tiến liên tục & tình huống thực chiến

Đã đọc 0/8 mục · còn khoảng 3 phút
Cách chúng tôi ghi nhận

Một mục được tính là đã đọc khi nó nằm giữa màn hình đủ lâu so với độ dài của nó (bảng và sơ đồ tính một nửa), bạn vẫn đang cuộn hoặc bấm phím, và bạn đã thấy tới cuối mục. Lướt nhanh hoặc để tab mở không được tính. Chúng tôi chỉ lưu thời gian đọc từng mục — không lưu gì khác.

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.

Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi