Domain 4: Evaluation, Testing & Optimization·Task 4.6
Giám sát hiệu năng bằng log và công cụ quan sát
Đặc tả cần đo gì trước khi gắn đo, bật đúng tín hiệu OpenTelemetry, đọc trace tìm chỗ chậm, theo dõi chất lượng và chi phí, nhất là sau khi đổi model.
- 7 phút đọc
- Đối chiếu docs 02/11/2026
- 6 nguồn
Đọc xong bạn nắm được
- Làm phần đặc tả trước khi gắn đo, gồm chỉ số, lát cắt, mục tiêu dịch vụ và ngân sách lỗi
- Bật đúng các tín hiệu OpenTelemetry và kiểm dữ liệu đã tới collector
- Đọc trace để biết thời gian đang mất ở model, ở tool hay ở người duyệt
- Theo dõi trôi chất lượng sau khi đổi model bằng một bộ test cố định
Đánh giá trước khi phát hành cho biết hệ thống tốt tới đâu vào ngày phát hành. Giám sát cho biết nó còn tốt như vậy vào tuần sau, tháng sau, sau lần đổi model kế tiếp hay không. Bài 3.4 nói về kiến trúc quan sát ở quy mô lớn; bài này đi vào việc vận hành hằng ngày: đo gì, bật gì, đọc gì.
Bài này giúp bạn trả lời: giám sát hiệu năng của hệ thống dùng Claude bằng log và công cụ quan sát thế nào?
Ví dụ xuyên suốt: đội nền tảng của một chuỗi siêu thị
Đội nền tảng của một chuỗi siêu thị vận hành trợ lý đặt hàng online (viết bằng Agent SDK) và hỗ trợ 60 lập trình viên dùng Claude Code. Họ cần biết: trợ lý có đang chậm đi không, chất lượng có tụt sau khi đổi model không, chi phí đi về đâu.
Đặc tả trước khi gắn đo
Gắn đo trước rồi mới nghĩ xem đo gì thường cho ra một đống số không ai dùng. Thứ tự hợp lý:
- Đã chốt đo những chỉ số nào, trên lát cắt nào (lưu lượng thường và lưu lượng tấn công)?Định nghĩa chỉ số và lát cắt
- Đã chốt mục tiêu dịch vụ và ngân sách lỗi chưa?Định nghĩa SLO và error budget
- Hệ thống đã phát ra metrics và trace chưa?Gắn đo
- Còn lạiRồi mới dựng dashboard, chỉnh ngưỡng cảnh báo theo phân bố bình thường đã quan sát, viết runbook cho người trực
Mục tiêu dịch vụ (SLO) là mức hệ thống cam kết, ví dụ 95% phản hồi đầu tiên dưới 2 giây. Ngân sách lỗi (error budget) là phần được phép vượt. Docs của Anthropic không định nghĩa hai khái niệm này; đây là cách làm quen thuộc trong vận hành hệ thống mà đề thi dùng.
Bật đúng tín hiệu
Claude Code và Agent SDK xuất telemetry qua OpenTelemetry với ba loại tín hiệu, mỗi loại trả lời một kiểu câu hỏi:
| Tín hiệu | Trả lời | Bật bằng |
|---|---|---|
| Metrics | Bao nhiêu, xu hướng ra sao (token, chi phí, số phiên) | OTEL_METRICS_EXPORTER |
| Events (log) | Chuyện gì đã xảy ra (prompt, kết quả tool, quyết định cấp quyền) | OTEL_LOGS_EXPORTER |
| Traces (beta) | Thời gian đi đâu trong một lượt | OTEL_TRACES_EXPORTER cùng CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1 |
Biến CLAUDE_CODE_ENABLE_TELEMETRY=1 là bắt buộc, nhưng chưa đủ: mỗi tín hiệu cần exporter riêng, và docs nói Claude Code không có giao thức mặc định, phải đặt giao thức cho từng exporter OTLP. Cách kiểm: xem metric số phiên (claude_code.session.count) đã tới collector chưa.
Với Agent SDK có hai lưu ý từ docs: mặc định CLI không báo khi xuất telemetry lỗi (bật CLAUDE_CODE_OTEL_DIAG_STDERR=1 để thấy); và với lần chạy ngắn, metrics mặc định 60 giây mới gửi một lần, nên tiến trình kết thúc sớm có thể mất dữ liệu chưa gửi; đặt khoảng gửi ngắn lại.
Trên Claude API, đích telemetry khai báo trong Console có nút gửi thử một span kiểm tra và cột tình trạng giao (tốt, lỗi, chưa có dữ liệu). Với Managed Agents, trình xem phiên trong Console cho thấy số lần gọi, số lỗi và thời gian trung vị của từng tool, cùng chi phí theo thời gian.
Đọc trace để tìm chỗ chậm
Khách phàn nàn trợ lý đặt hàng chậm. Trace của một lượt có span gốc claude_code.interaction, bên dưới là các span gọi model (claude_code.llm_request) và span tool (claude_code.tool). Span gọi model có thời gian, số lần thử lại, lỗi, lý do dừng và số token đọc hay ghi cache. Span tool chia làm hai phần: chờ người duyệt quyền (claude_code.tool.blocked_on_user) và chạy thật (claude_code.tool.execution).
| Thấy trong trace | Nghĩa là |
|---|---|
| Span gọi model dài, token đọc cache thấp | Cache đang hỏng (bài 4.5) |
| Nhiều lần thử lại, lỗi quá tải | Vấn đề phía API hoặc giới hạn tốc độ |
| Span tool dài, phần lớn là chờ duyệt quyền | Chậm do người, không do tool; xem lại quy tắc cấp quyền |
| Span tool dài, phần lớn là chạy thật | Tool hay hệ thống phía sau chậm |
Theo dõi chất lượng theo thời gian
Metrics kỹ thuật không cho biết câu trả lời có còn đúng. Bài viết về đánh giá agent của Anthropic so việc này với mô hình phô mai Thuỵ Sĩ (Swiss cheese model): chồng nhiều lớp kiểm, lỗ của lớp này được lớp khác che. Gồm đánh giá tự động, giám sát production, A/B test, phản hồi người dùng, đọc transcript thủ công và nghiên cứu có hệ thống với người dùng.
Rủi ro lớn khi vận hành là trôi chất lượng âm thầm sau khi đổi phiên bản model: không có lỗi nào được báo, nhưng câu trả lời kém dần.
Chi phí và mức sử dụng
Metrics chi phí của Claude Code chia được theo model, theo agent chính hay subagent, theo MCP server. Docs nói đây là ước tính; số liệu hoá đơn chính thức lấy từ nhà cung cấp API (trên Claude API là trang Usage và Cost của Console). Với Managed Agents, mỗi phiên có số token, chi phí và thời gian hoạt động, cùng ngân sách nếu đã đặt.
Nguồn
- Exam Guide CCAR-P v1.0, Domain 4(mở tab mới)
- Monitoring (Claude Code Docs)(mở tab mới)
- Observability with OpenTelemetry (Agent SDK)(mở tab mới)
- OpenTelemetry for the Claude API (Claude Docs)(mở tab mới)
- Session observability (Claude Managed Agents)(mở tab mới)
- Demystifying evals for AI agents (Anthropic)(mở tab mới)
Anthropic Exam Pro