Trả lời ngắn: AI observability thu evidence từ trace, span, metric, log và quality/safety signal để hiểu request đi qua workflow thế nào. Incident response là vòng detect → scope → contain → diagnose → recover → verify. Dashboard xanh chưa đủ nếu chưa nối được output, version, impact và quyết định xử lý mà không phơi raw PII.

Đọc xong, bạn sẽ hiểu:

  • Trace và span khác nhau ra sao trong một AI request.
  • Field tối thiểu nào giúp nối model, retrieval, tool, quality và owner.
  • Cách đọc incident timeline khi latency tăng hoặc routing sai.
  • Khi nào phải containment, handoff và giữ incident mở thay vì đoán root cause.

Lưu ý giáo dục: Request, trace ID và metric đều là dữ liệu giả. Không dán transcript, prompt riêng, secret, token hoặc thông tin định danh vào trace thử nghiệm; hãy theo chính sách quyền xem, redaction và retention của tổ chức.

1. Observability của AI system gồm những lớp nào?

Một support copilot nhận câu hỏi, tìm policy, gọi tool phân loại queue rồi trả lời hoặc handoff cho người. Khi người dùng nói “hệ thống chậm và phân loại sai”, observability không có nghĩa là mở một dashboard nhiều biểu đồ. Nó là khả năng hiểu trạng thái bên trong từ evidence mà system phát ra: request đã đi đâu, chặng nào chậm, artifact nào được dùng, output state là gì và ai có quyền xử lý tiếp.

Trace là hồ sơ của một request đi qua workflow. Span là một chặng trong trace, chẳng hạn retrieve_policy, model_generate, classify_ticket hoặc human_handoff. Mỗi span nên có start/end time, status, version bundle, error class và metadata đã redaction. Không cần lưu nguyên prompt để chứng minh một span tồn tại.

Case giả TRC-204 có flow sau:

Chặng Evidence nên giữ Câu hỏi điều tra
Intake request class, correlation ID, redaction status Request có được định tuyến đúng không?
Retrieval index version, source count, freshness flag Policy nào được lấy và có stale không?
Model model ID, prompt version, latency bucket Bản nào tạo output? Có timeout không?
Tool tool version, schema result, error class Tool fail hay parser fail?
Decision quality slice, safety flag, handoff state Có nên trả lời hay chuyển người?

Hình 1 — Trace tốt nối được chặng kỹ thuật với quyết định vận hành, không biến dashboard thành bằng chứng duy nhất.

Xem bốn lớp signal cùng nhau: technical (latency, error, timeout, retry), quality (routing accuracy, unsupported claim, human correction), safety (policy violation, high-impact handoff, redaction) và business/experience (backlog, escalation, cost, feedback). Một lớp xanh không chứng minh lớp khác cũng an toàn.

2. Trace contract và signal map

Trước khi có incident, team cần một trace contract: mỗi request phải phát ra những field nào, field nào được phép lưu, ai sở hữu signal và thời gian giữ bao lâu. Correlation ID là mã nối log, trace, tool event và incident cùng một request. Alert là tín hiệu cho biết metric hoặc rule vượt ngưỡng cần xem; nó chưa phải kết luận rằng root cause đã biết.

Trace contract tối thiểu cho case TRC-204:

Field Ví dụ giả Vì sao cần Safety boundary
correlation_id TRC-204 Nối các span Không dùng email/phone làm ID
bundle_id B-22 Biết prompt/model/tool nào chạy Version ID không chứa secret
span_name retrieve_policy Khoanh chặng lỗi Chỉ lưu tên và status cần thiết
duration_bucket 2–5s So latency theo bucket Tránh raw payload không cần
result_class TOOL_SCHEMA_ERROR Phân loại lỗi Không ghi token hoặc credential
quality_slice mixed-language Thấy regression theo nhóm Nhóm phải được aggregate/redact
owner TEAM-OPS-A Biết ai triage Dùng team ID giả trong học tập

Hình 2 — Signal map giúp người điều tra đi từ trace ID đến signal phù hợp mà không gom mọi dữ liệu vào một log.

Có thể đặt threshold giả để học: p95 latency trên 2,5 giây trong 10 phút; tool error trên 3%; high-impact handoff giữ 100%; mixed-language quality không giảm quá 5 điểm so baseline. Đây là fixture, không phải tiêu chuẩn chung; threshold phải phản ánh risk, volume và khả năng đo thật.

3. Từ alert đến incident timeline

Case giả: lúc 10:00, alert báo p95 latency tăng. Average vẫn gần bình thường vì phần lớn request ngắn. Một quality slice mixed-language cũng giảm routing accuracy, còn clear-ticket slice không đổi. Đừng gọi ngay “model kém”. Hãy ghi observationhypothesis riêng.

Thời điểm Observation Hypothesis cần kiểm Quyết định
10:00 p95 retrieve tăng, 8% request vượt 2,5s Index R-02 hoặc network chậm Mở triage, chưa rollback
10:05 Mixed-language routing giảm, clear slice ổn Prompt P-02 gặp source/locale mismatch So bundle và retrieval evidence
10:12 Tool schema error tăng sau retry T-02 response không khớp parser Chặn retry vô hạn, lấy sample giả
10:20 High-impact handoff vẫn 100% Safety containment còn hoạt động Giữ human review, giới hạn traffic
10:40 Candidate replay fail vì thiếu trace field Không đủ evidence về root cause Incident vẫn mở, không claim resolved

Incident là sự kiện làm quality, safety, availability hoặc cost lệch khỏi ngưỡng cần xử lý; incident cần scope và impact evidence. Triage hỏi: ảnh hưởng bao nhiêu request, slice nào, bắt đầu từ khi nào, bundle nào, có high-impact case không, và có fallback an toàn không?

Containment có thể là route một nhóm request sang human review, tắt tool action nguy hiểm, giữ baseline bundle, giảm traffic candidate hoặc giới hạn retry. Containment không phải root cause. Nó là cách giảm blast radius trong khi điều tra tiếp. Nếu không biết scope, ghi UNKNOWN_SCOPE và lấy thêm aggregate evidence; đừng tự điền một con số đẹp.

Hình 3 — Timeline tách observation, hypothesis và decision để không biến tương quan thành root cause.

4. Incident response loop và recovery gate

Một loop thực tế có bảy bước:

  1. Detect: alert hoặc human report tạo tín hiệu.
  2. Declare: đặt incident ID, severity giả lập, owner và thời điểm bắt đầu.
  3. Scope: xác định request, slice, bundle và capability bị ảnh hưởng.
  4. Contain: giảm traffic, giữ baseline, handoff hoặc vô hiệu hóa action rủi ro.
  5. Diagnose: đối chiếu trace, span, change log, quality slice và replay.
  6. Recover: sửa hoặc rollback, sau đó chạy evaluation và canary có kiểm soát.
  7. Verify: kiểm metric, quality, safety, communication và đóng incident có điều kiện.

Root cause là nguyên nhân chính có evidence đủ mạnh để giải thích failure; không phải component xuất hiện gần thời điểm alert. Ví dụ model deploy lúc 09:55 và retrieval latency tăng lúc 10:00 chưa đủ kết luận model gây lỗi. Có thể network, index, retry hoặc locale filter thay đổi cùng lúc. Muốn claim causal, cần trace, controlled comparison, change record hoặc replay phù hợp.

Recovery gate là điều kiện kiểm chứng trước khi mở rộng traffic lại. Case giả có thể yêu cầu: p95 trở về trong budget, tool schema error về baseline, mixed-language slice đạt ngưỡng, high-impact handoff không giảm, trace completeness đạt 95% và reviewer ký. Nếu chỉ latency xanh nhưng trace completeness đỏ, recovery chưa đủ evidence.

Gate Evidence Nếu fail
Availability latency, timeout, error theo slice Giữ containment
Quality fixed eval/replay và human correction Không promote candidate
Safety high-impact handoff, policy signal Handoff và escalate
Reproducibility bundle, trace, source/version đầy đủ Ghi NOT_REPRODUCIBLE
Operations owner, runbook, communication Incident vẫn mở

Microsoft mô tả observability trong AI architecture theo hướng thu thập và phân tích signal để hiểu reliability/operation; OpenAI Agents guide đề cập tools, guardrails, state và tracing trong workflow. Các nguồn này giúp định hướng field và trách nhiệm, nhưng không tự tạo ra threshold cho hệ thống của bạn. Microsoft AI observabilityOpenAI Agents guide

5. Sai lầm, giới hạn và fallback

  • Dashboard-only: nhìn một biểu đồ tổng rồi tuyên bố hệ thống ổn. Fallback: nối metric với trace, slice, bundle và owner.
  • Average-only: p50 đẹp che p95 hoặc high-impact failure. Fallback: xem percentiles, tail latency và risk slice.
  • Log raw PII: lưu toàn bộ prompt để debug cho nhanh. Fallback: redaction, synthetic replay, hashed/aggregated fields và access control.
  • Alert flood: rule quá nhạy tạo hàng trăm alert, operator bỏ qua. Fallback: deduplicate, severity, runbook và owner.
  • Causal overclaim: alert gần deploy nên đổ lỗi cho deploy. Fallback: tách observation/hypothesis và tìm controlled evidence.
  • Missing correlation: retry hoặc async job mất parent ID. Fallback: contract test cho propagation và ghi TRACE_INCOMPLETE.
  • Silent fallback: hệ thống tự rơi về model khác nhưng không ghi bundle. Fallback: log explicit fallback reason và tạo review event.
  • No recovery gate: đổi config rồi đóng incident vì dashboard đã xanh. Fallback: fixed replay, safety check, canary và reviewer.

Observability cũng có giới hạn. Sampling làm mất rare failure; metric quality có thể trễ hoặc biased; trace storage tốn tiền; model provider có thể thay behavior mà không đổi tên model. Vì thế câu trả lời đúng đôi lúc là NOT_VERIFIED, UNKNOWN_SCOPE hoặc “chưa đủ evidence”. Đây là trạng thái vận hành tốt hơn một postmortem viết chắc chắn nhưng không kiểm chứng được.

6. Practice Bridge 15 phút

Mở Notes hoặc Google Sheets miễn phí. Tạo cột incident_id, correlation_id, bundle_id, first_signal, affected_slice, observation, hypothesis, containment, owner, recovery_gate, decision. Dùng request giả; không gọi model thật và không dán dữ liệu khách hàng.

Mẫu đối chiếu đã điền

Incident Signal và observation Containment / recovery decision
INC-01 TRC-204, p95 retrieve tăng ở mixed-language Route human review, replay với R-02, chưa đóng
INC-02 Tool schema error tăng sau T-02 Tắt action tool, giữ T-01 baseline, block promote
INC-03 High-impact handoff giảm dưới fixture gate Escalate safety owner, giữ incident mở
INC-04 Trace thiếu bundle ID, scope chưa rõ TRACE_INCOMPLETE, không claim root cause

Trong 15 phút, hãy thêm một timestamp, một owner và một recovery gate cho mỗi dòng. Sau đó tự hỏi: observation nào là fact, hypothesis nào chưa kiểm, field nào có thể chứa PII, và điều kiện nào cho phép mở rộng traffic? Nếu không trả lời được, stop condition là giữ NOT_VERIFIED và xin thêm evidence.

7. Tổng kết: observability là bằng chứng để hành động

a. Năm ý chính

  • Observability nối trace, span, metric, log và quality/safety signal để hiểu AI request.
  • Trace contract cần correlation ID, bundle, span, status, latency, result class, slice và owner với redaction.
  • Incident response tách observation khỏi hypothesis, rồi scope và containment trước khi claim root cause.
  • Recovery gate phải kiểm availability, quality, safety, reproducibility và trách nhiệm vận hành.
  • Thiếu trace, scope hoặc recovery evidence thì ghi rõ UNKNOWN/NOT_VERIFIED, giữ incident mở và handoff đúng owner.

b. Câu hỏi tự kiểm tra

  • Vì sao average latency không đủ để phát hiện incident?
  • Correlation ID nối những evidence nào?
  • Containment khác root cause ở điểm nào?
  • Khi nào recovery gate chưa đạt dù dashboard đã xanh?

c. Gợi ý đáp án

Xem gợi ý câu 1

Average có thể che p95, tail latency hoặc failure ở một slice rủi ro; xem metric theo percentile và affected slice. Xem lại mục 1 và mục 3.

Xem gợi ý câu 2

Nó nối log, trace, span, tool event và incident cùng một request mà không cần dùng PII làm mã. Xem lại mục 2.

Xem gợi ý câu 3

Containment giới hạn blast radius trong khi điều tra; nó giảm tác động nhưng chưa chứng minh nguyên nhân chính. Xem lại mục 3 và mục 4.

Xem gợi ý câu 4

Nếu quality, safety, trace completeness, owner hoặc replay chưa đạt thì chưa đủ evidence để mở rộng traffic. Xem lại mục 4 và mục 5.

d. Thuật ngữ cần nhớ

Thuật ngữ Giải thích ngắn
Observability Khả năng hiểu trạng thái bên trong từ evidence system phát ra.
Trace Hồ sơ một request đi qua workflow.
Span Một chặng có thời gian, trạng thái và metadata trong trace.
Correlation ID Mã nối log, trace, tool event và incident cùng request.
Alert Tín hiệu metric hoặc rule vượt ngưỡng cần xem.
Incident Sự kiện làm quality, safety, availability hoặc cost lệch ngưỡng.
Containment Cách giới hạn ảnh hưởng trước khi biết toàn bộ root cause.
Root cause Nguyên nhân chính có evidence đủ mạnh để giải thích failure.
Recovery gate Điều kiện kiểm chứng trước khi mở rộng traffic lại.

e. Nguồn tham khảo

Bài trước là Prompt, Model và Workflow Versioning #21. Bài tiếp theo là Cost, Latency và Quality Optimization #23.

Lưu ý giáo dục: Trace không phải giấy phép lưu mọi dữ liệu. Hãy redaction, giới hạn quyền truy cập, giữ baseline và chỉ đóng incident sau recovery gate có evidence. Nếu causal chain chưa rõ, nói “chưa đủ evidence” là hành động chuyên nghiệp.