Tôi Hạ Được Một Phần Ba Sàn Context, Và Đây Là Cách Theo Dõi Context Windows Còn Tiện Hơn Trên Claude Code
Trang chủ/Tài Viết/AI
AI

Tôi Hạ Được Một Phần Ba Sàn Context, Và Đây Là Cách Theo Dõi Context Windows Còn Tiện Hơn Trên Claude Code

Quay lại Tài Viết

Sáng hôm đó tôi mở một phiên Claude Code mới cho dự án của một khách hàng, chưa gõ chữ nào, chưa hỏi câu nào. Cửa sổ ngữ cảnh đã có sẵn hơn một trăm nghìn token trong đó. Không phải vì dự án phức tạp, cũng không phải vì tôi viết tài liệu dài — mà vì phần mềm tôi đang dùng nạp sẵn bộ công cụ riêng của nó vào mọi phiên, và tôi trả cho phần nạp sẵn đó trước khi bắt đầu làm việc.

Sàn context của cùng một dự án, đo trên hai client Claude Code khác nhau trong cùng một ngày
Sàn context của cùng một dự án, đo trên hai client Claude Code khác nhau trong cùng một ngày
Cập nhật 05/10/2026: Bộ theo dõi tôi viết từ câu chuyện này không còn là mấy script chạy trong terminal nữa. Nó đã thành extension VS Code tên Context Watch, phiên bản 1.0.1. Cài xong là có một panel riêng để nhìn tất cả phiên Claude Code trên máy, một dòng ở status bar cho phiên đang mở, và một chỉ số cộng quota mà mọi phiên cùng đốt. Các số đo trong bài vẫn là số của lần đo 18–20/09/2026; phần được cập nhật là cách nhìn chúng.

Tôi gọi phần nạp sẵn đó là sàn context: thứ đã nằm trong cửa sổ ở lượt trả lời đầu tiên, gồm system prompt, định nghĩa công cụ, file quy tắc dự án và các MCP server đang bật. Con số này không đáng sợ nếu nó chỉ bị trả một lần. Vấn đề nằm ở chỗ nó không được trả một lần.

Sàn context không phải khoản trả một lần

Mỗi lượt bạn gõ, mô hình đọc lại toàn bộ những gì đã có trong phiên. Phần đọc lại đó vào hóa đơn dưới dạng cache read, và trong lần tôi đo lại 62 phiên trên chính repo này, câu người dùng gõ chỉ chiếm 0,5% tổng token — phần còn lại là thứ agent đọc lại. Sàn nằm ở dưới cùng của cái đống đọc lại ấy, ở mọi lượt, cho tới khi phiên đóng.

Sàn context không phải khoản trả một lần, nó là khoản bạn trả lại ở mọi lượt còn lại của phiên.

Vì vậy chênh lệch sàn không cộng vào, nó nhân lên. Một phiên bốn mươi lượt mà sàn nặng hơn ba mươi nghìn token thì khoản chênh ấy được đọc lại bốn mươi lần.

Đây cũng là chỗ tôi đã viết một lần rồi, ở góc khác: cài tool vô tội vạ làm sàn phình ra mà người dùng không thấy gì, vì không có bề mặt nào hiện con số đó lên. Lần này thủ phạm không phải tool tôi tự cài, mà là chính cái client tôi đang gõ vào.

Số đo của tôi trên hai client, cùng một dự án

Tôi đo bằng cách lấy lượt trả lời đầu tiên của mỗi phiên trong file transcript rồi cộng ba khoản: input, cache read, cache write. Mười một phiên mở bằng desktop app, trong ba ngày 18 đến 20 tháng 9 năm 2026:

Sàn context của cùng một dự án, đo trên hai client
Extension VS Code
70.623
Desktop app
107.452

Đơn vị: token đã có trong cửa sổ ở lượt trả lời đầu tiên. Cùng kho mã, cùng file quy tắc, cùng ngày 20 tháng 9 năm 2026 — chỉ đổi client.

Trải rộng cả mười một phiên desktop app thì sàn chạy từ 107.452 đến 124.902 token, trung vị 117.737. Phiên nặng nhất là phiên mở trên repo có file quy tắc dài nhất, nên một phần con số đó là lỗi của tôi chứ không phải của phần mềm. Nhưng cặp so sánh phía trên thì sạch: cùng một dự án, cùng một ngày, đổi đúng một biến là client. Chênh 36.829 token, tức mất đi một phần ba cái sàn.

Đến đây thì quyết định quá dễ. Tôi chuyển những phiên dài sang extension VS Code.

Thậm chí khi tôi mở một phiên mới và ngắt toàn bộ các ứng dụng, sàn của desktop app vẫn là 46,7k, và cùng repo đó mở trên VS Code vẫn rẻ hơn đáng kể với số đo chỉ là 35,5k.

Sàn context khi mở phiên mới và ngắt ứng dụng: Desktop App 46,7k so với VS Code 35,5k
Sàn context khi mở phiên mới và ngắt ứng dụng: Desktop App 46,7k so với VS Code 35,5k

Cái tôi mất khi đổi chỗ ngồi làm việc

Ở bản đầu tiên, desktop app có một thứ mà tôi chỉ nhận ra giá trị sau khi không còn nó: cửa sổ theo dõi context ngay trong giao diện, cập nhật liên tục, không phải hỏi. Sang extension thì phần đó ở lại trong app. Statusline tự viết cũng không render trong khung extension. Còn lệnh /context thì vẫn chạy, nhưng nó chỉ trả lời về đúng cửa sổ tôi đang gõ, và chỉ trả lời khi tôi dừng việc lại để hỏi.

Trong khi đó cách tôi làm việc là bốn năm cửa sổ song song: một cửa sổ đang viết bài cho site, một cửa sổ chạy việc của khách, một cửa sổ mở sẵn để tra cứu. Bỏ mỗi cửa sổ ra hỏi một câu /context là việc không ai làm được đều đặn.

Nghịch lý là tôi đổi client để hạ con số đó xuống, rồi mất luôn khả năng nhìn thấy con số đó. Bản đầu của bộ này sinh ra từ đúng chỗ đó — không phải từ ý tưởng "làm một cái dashboard cho vui".

Bây giờ nó ở ngay trong VS Code

Context Watch bản mới chuyển phần quan sát đó vào đúng chỗ tôi làm việc. Nó có biểu tượng riêng ở Activity Bar; mỗi card là một phiên, hiện tên tab Claude Code, số token trong context, phần trăm cửa sổ context và trạng thái busy, live hoặc closed. Tôi kéo panel sang thanh bên phụ, cạnh editor, nên không phải đổi cửa sổ hay nhớ một lệnh nào nữa.

Thanh status bar thì chỉ nhìn phiên đang mở trong workspace hiện tại. Nó đổi vàng ở 75% và đỏ ở 90%; bấm vào sẽ mở panel. Nếu đã ẩn Activity Bar, dùng Command Palette với lệnh Context Watch: Show Sessions là gọi lại được.

Phần tôi thích nhất là dòng burn: quota token đã dùng trên máy trong 5 giờ 10 phút, cộng tất cả phiên và subagent, nhưng chỉ đếm mỗi API request một lần. Đó là con số mà /context không trả lời được. Một lần fan-out subagent ở cửa sổ đang không nhìn có thể làm hạn mức năm giờ tụt xuống; sau đó nếu không có dòng này, bạn cũng không biết cửa sổ nào đã làm chuyện đó.

Extension mặc định đọc lại các file cục bộ mỗi 5 giây. Nó chỉ đọc transcript trong ~/.claude/projects/**/*.jsonl và trạng thái phiên trong ~/.claude/sessions/*.json, không sửa chúng, không gọi mạng và không có telemetry. Vì các client cùng ghi vào những file này, nó theo dõi được Claude Code chạy từ VS Code, CLI lẫn desktop app; trong Remote SSH, WSL hay container, nó đọc file ở máy từ xa — đúng nơi Claude Code đang chạy.

Tôi dùng nó thế nào

Ở thời điểm hiện tại, đặc biệt với những người vibe code, prompt không còn là thứ quan trọng nữa. Người ta không còn phải ngồi nắn nót một câu prompt phức tạp; thứ thực sự quyết định chất lượng sản phẩm do AI tạo ra chính là context.

  • Nếu context quá nhỏ: AI sẽ buộc phải tạo ra sản phẩm dựa trên quá nhiều giả định thiếu căn cứ, dẫn đến kết quả bị lệch hướng.
  • Nếu context quá lớn: Phiên làm việc sẽ tiêu tốn token rất nhanh, và tệ hơn là nó vượt qua khu vực thông minh nhất của mô hình. Dùng context lớn khiến bạn vừa phải trả nhiều tiền hơn mà AI lại có chất lượng tệ hơn.

Vậy con số tối ưu là bao nhiêu?

Không có con số nào tối ưu cả, nhưng tôi luôn cố gắng gói ghém một session của mình trong khoảng dưới 300k, và phần mềm này giúp tôi giám sát điều đó:

  • Khi context window của cả phiên chỉ khoảng hơn 100k: Tôi có thể yêu cầu thực hiện thêm một vài nhiệm vụ nữa để tận dụng cache.
  • Khi context window lên đến gần 300k: Tôi chủ động gói ghém công việc, đóng phiên để bắt đầu một phiên mới.

Quản lý context window là một phần quan trọng trong cách tôi vibe code, và ứng dụng này giúp tôi quản lý nhiều phiên cùng lúc rất hiệu quả trên VS Code.

Giao diện extension Context Watch theo dõi nhiều phiên Claude Code cùng lúc trên VS Code
Giao diện extension Context Watch theo dõi nhiều phiên Claude Code cùng lúc trên VS Code

Điều gì sẽ làm tôi gỡ nó đi

Có hai chuyện. Một là Claude Code tích hợp các công cụ một cách gọn gàng hơn để sàn context không còn quá lớn nữa (có lẽ ít khả năng xảy ra). Hai là, tôi tạo ra được cái gì đó thú vị hơn cái này :D. Chuyện nào xảy ra trước thì tôi gỡ bộ này trong ngày hôm đó và viết một bài ngắn nói vì sao.

Context Watch v1.0.1 cài trực tiếp từ Context Watch for Claude Code trên Visual Studio Marketplace. Mã nguồn MIT và các ghi chú phiên bản nằm ở GitHub. Nếu panel trống sau một lần Claude Code đổi định dạng file nội bộ, mở issue từ kho mã; extension ghi lỗi vào Output channel Context Watch.

📥 Tải miễn phí

Context Watch cho Claude Code

ZIP · 22 KB

Điều tôi nhận ra

AI đang tiến hóa rất nhanh và cách tôi làm việc cũng đang tiến hóa đồng thời. Những mẹo làm việc có thể sẽ lỗi thời ngay ngày mai, nhưng liên tục cập nhật cái mới, đánh giá lại những gì đã làm, cải tiến từng chút một sẽ giúp bạn ngày càng làm việc hiệu quả hơn.

Thứ tôi định làm là tối ưu sàn context, rồi tôi lại có thêm một cái đồng hồ đo context trực quan, và tôi có thêm một kiến thức để chia sẻ lại với bạn.

Nhìn lại thì chuyện này không nói nhiều về Claude Code, nó nói về một kiểu tối ưu quen thuộc. Tôi đo được một con số, hạ được nó xuống một phần ba, và trong lúc mừng vì phần hạ được thì đánh mất luôn khả năng quan sát chính con số ấy. Tối ưu mà làm mù chỗ đo thì lần sau bạn không biết mình đang tối ưu hay đang trượt.

Cái sàn context thì ai cũng hạ được bằng vài thao tác. Giữ được chỗ nhìn nó sau khi hạ mới là phần phải tự làm lấy.

Gửi bài này cho người đang cần

Facebook

← Bài trước

Đừng Cài Tool Vô Tội Vạ, Đó Là Cách Lãng Phí Token Nhanh Nhất