ClaudeStatsBar: Công cụ hiển thị chi phí thực sự của mỗi phiên làm việc với Claude Code
ClaudeStatsBar là một thanh trạng thái (status line) mã nguồn mở dành cho Claude Code, giúp lập trình viên nhìn thấy chi phí thực sự của phiên làm việc: dung lượng ngữ cảnh đang mang, chi phí của lượt tiếp theo trước khi gõ phím, và thời gian còn lại trong cửa sổ sử dụng. Dựa trên phân tích hai tuần sử dụng thực tế với 11,6 tỷ token, công cụ này cho thấy các phiên làm việc dài có thể âm thầm đốt hàng triệu token mà không hề có cảnh báo nào.

ClaudeStatsBar: Khi phiên làm việc với AI âm thầm đốt hàng triệu token mà bạn không hề biết
Tóm tắt nhanh
Một lập trình viên đã phát triển ClaudeStatsBar — thanh trạng thái cho Claude Code hiển thị chi phí thực sự của phiên làm việc theo thời gian thực. Điểm đáng chú ý: sau khi phân tích 916 bản ghi, 711 phiên và 11,6 tỷ token trong hai tuần, anh phát hiện người dùng thường gõ tổng cộng chỉ 1,3 triệu token nhưng hệ thống phải đọc lại tới 11,1 tỷ token ngữ cảnh. Công cụ này giải quyết vấn đề đó bằng cách đưa con số "gây đau" lên màn hình ngay khi bạn đang làm việc.
Vấn đề: Phiên làm việc lớn hơn nhiều so với cảm nhận
Khi làm việc với các mô hình AI lập trình như Claude Code, các phiên thường kéo dài và phình to dần trong lúc bạn tập trung vào công việc. Mặc định không có gì cảnh báo bạn về chi phí đó — dấu hiệu đầu tiên thường chính là giới hạn: ngữ cảnh cạn kiệt hoặc cửa sổ sử dụng cuộn hết, ngay giữa chừng một tác vụ.
Tác giả đã đo đạc chính mình và thu được những con số đáng giật mình:
- Ngữ cảnh trung vị khi bắt đầu phiên: 42,8k token
- Tăng trưởng trung bình mỗi lượt: khoảng 1,7k token
- Ngữ cảnh trung bình mang theo mỗi request: 193,3k token
- Số phiên vượt mốc 150k ngữ cảnh: 37%
- Ngữ cảnh bị đọc lại tích lũy: 11,1 tỷ token
- Ngữ cảnh người dùng thực sự gõ: 1,3 triệu token
Nói cách khác, mọi thứ bạn gõ trong 711 phiên chỉ chiếm 1,3 triệu token, nhưng cùng lượng dữ liệu đó phải đọc lại 11,1 tỷ token ngữ cảnh đã mang sẵn. Rút ngắn câu lệnh không phải đòn bẩy — kích thước phiên mới là.
Tại sao chi phí lại tăng theo cấp số nhân
Nguyên nhân nằm ở chỗ API không lưu trạng thái (stateless). Mỗi lượt, toàn bộ cuộc hội thoại — system prompt, hướng dẫn và tất cả các lượt trước — đều được gửi lại. Vì lượt thứ N gửi lại các lượt 1 đến N-1, lượng ngữ cảnh mà một phiên di chuyển sẽ tăng xấp xỉ theo bình phương độ dài của nó.
Ví dụ với cùng 160 lượt công việc:
| Cách chia phiên | Ngữ cảnh di chuyển | Kết thúc ở |
|---|---|---|
| Một phiên 160 lượt | 28,6 triệu token | ~315k |
| Bốn phiên 40 lượt | 12,3 triệu token | ~111k mỗi phiên |
Chưa bằng một nửa lượng ngữ cảnh, cho cùng khối lượng công việc — và không phiên nào tiến gần mức trần. Dữ liệu cũng đồng tình: 10% phiên hàng đầu chiếm tới 71% tổng số token di chuyển.
Vấn đề là không có gì trong số này hiển thị khi bạn làm việc, và khác với việc cạn ngữ cảnh, nó không bao giờ tự giới hạn. Một phiên có thể ngồi ở mức 480k suốt hai trăm lượt, không bao giờ kích hoạt nén ngữ cảnh, và âm thầm đốt hàng triệu token.
ClaudeStatsBar hoạt động như thế nào
Đây là một lệnh statusLine — đúng cơ chế được tài liệu hóa của Claude Code, không phải giải pháp thay thế. Công cụ viết bằng Python thuần thư viện chuẩn (stdlib), không phụ thuộc, không mạng, không phân tích bản ghi, không proxy, và render chỉ mất khoảng 25ms.
Thanh trạng thái hiển thị dạng:
Opus 5 (1M context) · my-project · ▕██████░░░░░░▏ 486k · 49k/turn · 88t · 5h 15% ~162t left · 7d 3%
⚠ 486k context — every turn now costs 49k before you type. /clear if you have switched task, /compact to keep going
Các trường thông tin chính:
- 486k — token được gửi lại mỗi lượt. Xanh dưới 60k, vàng tới 120k, đỏ khi vượt.
- 49k/turn — chi phí gửi lại mỗi lượt, trước khi bạn gõ ký tự nào.
- 7.0× — mức đắt hơn hiện tại so với điểm rẻ nhất của phiên. Ẩn nếu thanh khởi động giữa phiên và chưa từng thấy mốc gốc.
- 5h 15% ~162t left — tỷ lệ giới hạn 5 giờ đã dùng, và số lượt còn lại theo tốc độ đốt đo được.
Điểm khác biệt then chốt so với thanh tiến trình thông thường: phần trăm đầy không cho bạn biết một tin nhắn tốn bao nhiêu. Với cửa sổ lớn, hai con số này lệch nhau rất xa — 486k trên 1M đọc lên như "49% đầy, thoải mái", trong khi thực tế tốn 49k mỗi tin nhắn, gấp mười một lần so với cùng câu hỏi ở đầu phiên.
Điểm dễ hiểu sai: 49k/turn là tiền thuê, không phải tăng trưởng
Một hiểu lầm phổ biến. Phiên chỉ tăng khoảng 1,7k token mỗi lượt. Còn 49k là cái bạn trả để đưa 486k ngữ cảnh hiện có ra trước mô hình lần nữa.
| Lượt | Gửi đi | Thêm vào | Bị tính |
|---|---|---|---|
| 49 | 478k | 1,7k | 47,8k |
| 50 | 480k | 1,7k | 48,0k |
| 51 | 482k | 1,7k | 48,2k |
Hệ quả khá phản trực giác: một câu trả lời một từ tốn y hệt một yêu cầu phức tạp. Câu "à mà thêm một chút nữa thôi" ở cuối một phiên dài chính là tin nhắn có giá trị tệ nhất bạn có thể gửi.
Nên làm gì — xếp theo tác động đo được
- Dùng
/cleargiữa các tác vụ không liên quan — khoảng 35%. Toàn bộ cuộc chơi, và miễn phí. - Giảm số lượt — khoảng 20%. Mỗi vòng lặp đều tốn một lần quét ngữ cảnh đầy đủ. Gộp các lệnh gọi công cụ; đừng đọc lại file.
- Cắt gọn các file hướng dẫn luôn được nạp — khoảng 2%. Đáng làm nhưng không đáng bận tâm. Trong mẫu khảo sát, chỉ khoảng 8,7k của mức nền 42,8k là do người dùng kiểm soát.
- Hạ mức độ suy luận — khoảng 2%. Phần output chỉ chiếm 9,9% chi phí.
Cài đặt và cấu hình
Cài đặt nhanh:
git clone https://github.com/Field-Logic-Ltd/ClaudeStatsBar && cd ClaudeStatsBar
./install.sh
Trình cài đặt sẽ gộp một mục statusLine vào ~/.claude/settings.json, sao lưu file trước và từ chối ghi đè nếu đã có thanh trạng thái khác. Trên Windows, cần dùng lệnh python C:\\path\\to\\ClaudeStatsBar\\statsbar.py vì shebang và mở rộng ~ chỉ hoạt động trên hệ thống POSIX.
Một số biến môi trường cấu hình:
- CC_CTX_WARN (mặc định 60000) — ngưỡng vàng.
- CC_CTX_HIGH (mặc định 120000) — ngưỡng đỏ và dòng cảnh báo.
- CC_CTX_FULL_PCT (mặc định 80) — tỷ lệ đầy chuyển lời khuyên sang
/compact. - CC_SHOW_COST — hiện ước tính chi phí bằng đô la. Mặc định tắt vì trên gói thuê bao Claude, đây chỉ là con số phía người dùng theo giá niêm yết API.
Hạn chế cần lưu ý
Tác giả thẳng thắn nêu rõ điểm yếu của công cụ. Các trọng số chỉ là đại diện proxy — chi phí dùng tỷ lệ giá niêm yết API (input 1x, cache write 1.25x, cache read 0.1x, output 5x), nên hãy coi 49k/turn là một chỉ số, không phải hóa đơn. Hệ số nhân cần mốc gốc thực sự; nếu cài giữa phiên, nó sẽ ẩn tỷ lệ thay vì in ra 1.0× gây hiểu lầm. Công cụ cần ít nhất năm mẫu trước khi ngoại suy, và tự đặt lại mốc khi cửa sổ 5 giờ cuộn lại.
Điểm cộng đáng giá: nó không bao giờ làm hỏng phiên của bạn — mọi ngoại lệ đều in một dòng trống và thoát với mã 0. Yêu cầu Claude Code 2.1.251+ cho prompt_cache và 2.1.260+ cho last_miss_cause; các phiên bản cũ hơn sẽ suy giảm nhẹ nhàng, đơn giản là không hiển thị những trường đó.
Góc nhìn cho lập trình viên Việt Nam
Với cộng đồng lập trình viên Việt Nam đang ngày càng sử dụng nhiều công cụ AI hỗ trợ code, đây là một nhắc nhở thực tế. Nếu bạn dùng gói thuê bao Claude hoặc trả tiền theo API, việc để một phiên làm việc phình tới 400-500k ngữ cảnh có thể đội chi phí lên đáng kể — đặc biệt khi làm việc với các dự án lớn, nhiều file.
Thói quen đơn giản nhất và hiệu quả nhất vẫn là dùng /clear khi chuyển sang tác vụ khác. Với những ai đang xây dựng quy trình làm việc với AI trong nhóm, việc đưa những con số này vào quy ước chung có thể tiết kiệm đáng kể cả thời gian lẫn chi phí.
Công cụ phát hành theo giấy phép MIT, mã nguồn mở tại GitHub, và tác giả khuyến khích phản hồi nếu các con số có sự khác biệt đáng kể trên khối lượng công việc của người dùng khác.
Bài viết liên quan

Công nghệ
hcker.news: Bản tin Hacker News "sạch AI" gây chú ý trong cộng đồng công nghệ
11 tháng 9, 2026

Công nghệ
Matt Mullenweg tuyên bố giành lại quyền kiểm soát Automattic sau khi bị phế truất khỏi vị trí CEO
11 tháng 9, 2026

Phần mềm
Luật sư Ukraine lĩnh 4 năm tù vì làm lập trình viên cho băng nhóm ransomware Conti
11 tháng 9, 2026