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

Phần mềm11 tháng 9, 2026·8 phút đọc

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: 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: 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ênNgữ cảnh di chuyểnKết thúc ở
Một phiên 160 lượt28,6 triệu token~315k
Bốn phiên 40 lượt12,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ượtGửi điThêm vàoBị tính
49478k1,7k47,8k
50480k1,7k48,0k
51482k1,7k48,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

  1. Dùng /clear giữ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í.
  2. 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.
  3. 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.
  4. 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.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗