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

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

Quay lại Tài Viết

Có một câu hỏi cứ lấn cấn trong đầu tôi khá lâu: Cứ mỗi lần mở phiên làm việc mới với Claude Code, ở dự án nào cũng vậy, thanh ngữ cảnh đã có sẵn một khúc trước khi tôi kịp gõ chữ nào. Hôm rồi tôi ngồi đo thật. Con số làm tôi ngồi thẳng lưng lên không phải vì nó lớn, mà vì phần lớn nó không do tôi tạo ra, còn cái phần nhỏ do tôi tạo ra lại có thể phình lên mãi mãi.

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

Chuyện này không phải chuyện kỹ thuật, nó là chuyện tiền. Và nó đáng nói ra đúng vào lúc này, khi mỗi tuần trôi qua lại có thêm một bộ skill, một MCP server, một repo khung dự án được chia sẻ trên mạng kèm lời mời rất khó từ chối: cài đi, hay lắm.

Một trăm nghìn token đã nằm trong phiên trước khi tôi gõ chữ đầu tiên

Tôi mở Claude Code trong app Claude, đứng tại thư mục website này, rồi gõ lệnh /context để kiểm tra dung lượng ngữ cảnh. Đây là thứ hiện ra:

KhốiToken
Công cụ hệ thống46.000
Công cụ MCP34.800
File hướng dẫn dự án13.600
Mô tả skill6.100
Lời dặn hệ thống4.100
Tổng104.600

Chưa có một chữ nào của tôi trong đó cả. Đây là phần mà một phiên mang sẵn theo người ngay lúc nó vừa sinh ra.

Điểm đáng lo đầu tiên đó là nó chiếm không gian làm việc. Thông thường, context windows mà tôi làm việc sẽ dừng lại đâu đó quanh mốc 300k. Đây là mốc tối ưu về chi phí cũng như khả năng xử lý của Agent. Như vậy, khi mất đi hơn 100k thì tôi chỉ còn chưa đến 200k context cho mỗi phiên làm việc.

Điểm đáng lo thứ hai: khối đó không được tính tiền một lần. Nó được ghi vào bộ nhớ đệm ở đầu phiên rồi được đọc lại ở mọi lượt gọi phía sau. Tôi đã tách đơn giá của hai thao tác đó trong bài về luật giữ cache, và đó chính là lý do một cái sàn cao không đau ở lượt thứ nhất mà đau ở lượt thứ một trăm.

Ba khoản trong cái sàn đó tôi không biết mình đang trả

Bóc từng khối ra thì có ba thứ làm tôi bất ngờ, và cả ba đều thuộc loại không ai báo cho bạn biết.

Thứ nhất, một công cụ đang tắt vẫn tính tiền. Tôi có một connector tên visualize, dùng để vẽ biểu đồ, và tôi đã tắt nó từ lâu. Khi kiểm tra trạng thái trong giao diện, hệ thống trả về đúng chữ disabled. Nhưng nhìn sang danh sách công cụ mà phiên đang cầm, hai công cụ của nó vẫn nằm nguyên đó, đầy đủ mô tả, đầy đủ lược đồ tham số. Tắt không phải là gỡ. Cái nút tắt chỉ bảo agent đừng gọi, chứ hệ thống vẫn nạp toàn bộ định nghĩa công cụ vào ngữ cảnh để nó biết công cụ đó có mặt. Muốn nó biến mất thật sự để nhẹ sàn thì phải gỡ hẳn khỏi file cấu hình.

Thứ hai, một skill không bao giờ dùng đến vẫn tính tiền phần mô tả. Toàn bộ mô tả skill trong phiên đó cộng lại 6.100 token. Thân skill thì nạp khi cần, chuyện đó đúng. Nhưng phần mô tả — cái dòng nói cho Claude biết skill này dùng để làm gì và khi nào nên gọi — thì phải có mặt ngay từ đầu, nếu không nó chẳng bao giờ biết đường mà gọi. Và trong gần bốn mươi skill đang nằm trong phiên, chỉ chín cái là do tôi viết cho công việc của mình. Phần còn lại đi kèm công cụ, phục vụ những việc tôi chưa từng làm bao giờ.

Thứ ba, một server có thể to bằng cả bộ não dự án. Trong 34.800 token dành cho MCP, có một server duy nhất chiếm 9.400 token. Một mình nó. So sánh cho dễ hình dung: toàn bộ file hướng dẫn dự án của website này — thứ chứa quy tắc viết, danh sách bẫy, sơ đồ tài liệu, tất cả những gì tôi đã dồn công nén lại suốt nhiều tháng — nặng 13.600 token. Một server tôi chưa từng chủ động chọn gần bằng ba phần tư của nó.

Cùng một máy, cùng một repo, đổi cửa sổ thì cái sàn tụt hai mươi phần trăm

Đến đây tôi làm thêm một phép đo nữa, giữ nguyên mọi thứ khác: cùng cái máy đó, cùng cái repo đó, cùng ngày hôm đó, chỉ đổi chỗ ngồi từ app Claude sang VS Code.

KhốiApp ClaudeVS CodeChênh lệch
Công cụ hệ thống46.00053.300+7.300
Công cụ MCP34.8002.200−32.600
File hướng dẫn dự án13.60015.100+1.500
Mô tả skill6.1003.000−3.100
Lời dặn hệ thống4.1009.700+5.600
Tổng104.60083.300−21.300
↔ Kéo theo phương ngang để xem toàn bộ bảng

Cái sàn tụt 21.300 token, tức 20,4 phần trăm, mà tôi không gỡ một thứ gì, không sửa một dòng cấu hình nào.

Nhưng chỗ thú vị nằm ở các dòng bên trong, và nó đi ngược hẳn với thứ ai cũng đoán. Bốn trên năm khối đều nặng hơn ở VS Code. Lời dặn hệ thống nặng hơn gấp đôi, công cụ hệ thống nặng thêm 7.300 token, file hướng dẫn cũng nhỉnh hơn. Toàn bộ khoản lời đến từ đúng một khối duy nhất: MCP tụt từ 34.800 xuống còn 2.200.

Vì sao chênh nhau tới mười sáu lần? Vì app Claude dựng sẵn cả một hệ thống server để phục vụ giao diện của chính nó:

Nguồn server MCP trong app ClaudeTokenBên đưa vào
Giao diện dựng sẵn (quản lý phiên 9.400, thanh bên 2.100, phiên 1.700, pull request 1.500, cửa sổ 1.200, connector 1.200, khung xem 900, thư mục 600)18.400App Claude
Trình duyệt tích hợp7.400App Claude
Terminal và registry2.000App Claude
Server scheduled-tasks3.600Người dùng tự cắm
Claude Docs và visualize3.400Người dùng tự cắm
Tổng34.80027.800 của App / 7.000 của Tôi
↔ Kéo theo phương ngang để xem toàn bộ bảng

Bóc tách ra từng dòng mới thấy: trong 34.800 token đó, có tới 27.800 token đến cùng cái ứng dụng, chỉ 7.000 token là do tôi tự tay cắm vào. Những server của app không hề hiện trong danh sách connector, và tôi không có cách nào tắt được chúng từ bên trong giao diện ứng dụng.

Đây là con số tôi muốn bạn nhớ lâu hơn cả: khoản tiết kiệm 32.600 token chỉ nhờ đổi cửa sổ làm việc còn lớn hơn toàn bộ phần cấu hình mà tôi tự tay thêm vào trong nhiều tháng.

So sánh dung lượng context khởi phiên giữa Claude Code App và VS Code
So sánh dung lượng context khởi phiên giữa Claude Code App và VS Code

Con số nguy hiểm không phải con số lớn nhất

Bây giờ mới đến chỗ phản trực giác thật sự.

Nếu bạn nhìn bảng trên rồi kết luận "vậy thì cứ dùng VS Code là xong", bạn mới giải quyết được nửa vấn đề, và là nửa dễ hơn. Hãy nhìn lại cách 34.800 token đó được chia: 27.800 là của ứng dụng, 7.000 là của tôi.

Người kỷ luật nhất với những thứ mình cài chưa chắc là người có cái sàn thấp nhất. Tôi khá cẩn thận — tôi chỉ cắm ba connector, cả ba đều dùng thật — mà phần của tôi vẫn không quyết định được gì nhiều trước cái khối 27.800 token tự đến. Nghe như một lý do để buông xuôi.

Nhưng đây mới là chỗ đảo chiều: 27.800 token kia là một con số cố định, còn 7.000 token của tôi là con số duy nhất không có trần.

Khối của ứng dụng lớn, nhưng nó đứng yên. Nó không lớn thêm vì tôi vừa đọc được một bài khoe bộ MCP mới, không lớn thêm vì ai đó vừa chia sẻ một repo khung dự án "chuẩn production", không lớn thêm vì tôi vừa cài thử một gói skill mười hai món để xem thế nào rồi quên gỡ. Chỉ có khối của tôi mới làm được những chuyện đó. Thứ đáng sợ không phải khối lớn nhất, mà là khối duy nhất biết tự lớn lên.

Và nó lớn lên rất êm. Không có dòng hóa đơn nào ghi "bạn vừa thêm 12.000 token vào mọi phiên từ nay về sau". Không có cảnh báo nào bật lên. Nó hiện ra dưới một hình dạng mà bạn sẽ đổ lỗi cho thứ khác: sao dạo này hết hạn mức nhanh thế, sao tháng này tiền token cao hơn tháng trước mà mình có làm gì nhiều hơn đâu.

Cho nên giờ cái gì muốn vào máy tôi cũng phải trả lời đủ ba câu hỏi:

Nó có thật sự cần cho mọi phiên, hay ba ngày mới đụng tới một lần?

Nó nạp mô tả ngay từ giây đầu tiên, hay chỉ kéo về khi được gọi?

Và có lệnh terminal nào làm xong việc đó mà không cắn vào một token nào của cái sàn không?

Câu hỏi thứ ba loại bỏ nhiều thứ hơn tôi tưởng — bài về MCP đã nói kỹ chuyện công cụ nào có lệnh riêng thì đừng cắm server.

Một dặn dò nhỏ đi kèm: cài thử thì cứ cài, nhưng hãy gỡ trong cùng ngày nếu không dùng. Cái giá của việc quên gỡ không nằm ở hôm nay, nó nằm ở mọi phiên của sáu tháng tới.

Chỗ cắt được nhưng tôi khuyên bạn đừng cắt

Nhìn lại bảng, khối trông ngon mắt nhất để cắt là file hướng dẫn dự án: 13.600 token, đứng thứ ba, và nó là thứ duy nhất tôi toàn quyền viết lại trong năm phút.

Đừng cắt nó.

Lý do thứ nhất là số học. Cắt hẳn một phần ba file hướng dẫn thì tiết kiệm được khoảng bốn phần trăm cái sàn. Bốn phần trăm.

Lý do thứ hai quan trọng hơn nhiều. File đó là thứ định hình mọi lượt gọi phía sau nó. Nó nói cho agent biết quy tắc của dự án, những cái bẫy đã từng trả giá để phát hiện ra, chỗ nào được sửa và chỗ nào không. Cắt nó đi thì agent không biến mất năng lực, nó chỉ mất nền để quyết cho đúng — và một agent thiếu nền thì hỏi lại, đoán sai, làm thừa, rồi bạn phải sửa. Một cái sàn nhẹ hơn năm phần trăm mà phải gọi thêm ba lượt để ra cùng một kết quả thì tổng tiền đắt hơn hẳn, chứ không rẻ đi. Đây đúng là chỗ tiết kiệm giả: nhìn vào chỉ số thì đẹp, nhìn vào hóa đơn thì không.

Cách đúng không phải là viết gọn hơn mà là đẩy ra ngoài rồi đọc khi cần. File hướng dẫn của repo này chỉ giữ lại thứ agent phải biết TRƯỚC khi gõ dòng code đầu tiên; phần giải thích dài, mô hình chi phí, quy trình nhiều agent đều nằm ở file riêng và chỉ được mở ra khi công việc thật sự chạm tới. Tôi đã kể quá trình tìm ra ranh giới đó trong bài về lần file hướng dẫn vỡ trần, và nguyên tắc rút ra vẫn đúng đến hôm nay: câu hỏi phân loại không phải "cái này có quan trọng không" mà là "cái này cần trước khi gõ, hay chỉ cần khi chạm tới".

Skill cũng theo đúng logic đó, chỉ khác chiều. Chín cái skill do tôi viết đáng giữ vì mỗi cái gói một quy trình mà tôi thật sự chạy lại nhiều lần — chuyện này tôi đã kể trong bài về skill. Hai mươi chín cái còn lại thì tôi không chọn, và đó mới là chỗ đáng soát.

Sàn thấp không cứu nổi một phiên nhiều lượt

Còn một phép nhân nữa phải nói cho hết, nếu không bài này sẽ dẫn bạn tới một kết luận sai.

Cái sàn không cộng vào hóa đơn một lần. Nó nhân với số lượt. Một phiên bốn mươi lượt với cái sàn 104.600 token nghĩa là khoảng 4,2 triệu token phải đọc lại từ bộ nhớ đệm chỉ cho riêng phần nền — với đơn giá đọc cache 0,5 đô mỗi triệu token của Claude Opus 5, đó là 2,10 đô trả cho những thứ tôi chưa hỏi.

Cho nên hạ sàn hai mươi phần trăm là một đòn bẩy thật, nhưng nó không phải đòn bẩy mạnh nhất, và quan trọng hơn: nó nhân với đòn bẩy kia chứ không cộng. Đóng phiên đúng chỗ và gộp nhiều việc độc lập vào một lượt làm giảm số lượt, mà số lượt mới là cái nhân với sàn. Tôi đã đo chuyện này trên 62 phiên thật trong bài về độ dài phiên, và hub số liệu của chuỗi giữ toàn bộ bảng gốc.

Nói gọn lại thì trong ba việc bạn có thể làm, hạ sàn là việc dễ nhất, đóng phiên đúng chỗ là việc lời nhất, còn gỡ thứ mình không dùng là việc duy nhất phải làm đi làm lại mãi.

Ba bước dọn sàn ngữ cảnh trong hai phút

Nếu bạn cũng đang làm việc hàng ngày với Claude Code và muốn tự mình kiểm tra xem cái sàn trên máy đang ngốn bao nhiêu, đây là quy trình ba bước tôi dùng mỗi tháng:

Bước một, mở Claude Code và gõ lệnh /context. Nhìn ngay vào tổng dung lượng khởi phiên và tỷ lệ phần trăm nó chiếm trên cửa sổ ngữ cảnh. Bạn sẽ thấy ngay năm khối: công cụ hệ thống, MCP, file hướng dẫn, mô tả skill, và lời dặn hệ thống.

Bước hai, kiểm tra các MCP server đang nối vào. Nhớ nguyên tắc: bấm nút tắt trên giao diện không làm nhẹ sàn ngữ cảnh, vì hệ thống vẫn phải tải lược đồ công cụ. Server nào không dùng thường xuyên trong tuần này, hãy gỡ hẳn cấu hình ra khỏi file cài đặt. Khi nào cần làm tác vụ riêng đó thì cắm lại bằng một dòng lệnh, mất chưa tới ba mươi giây.

Bước ba, mở thư mục chứa skill của dự án và của máy. Giữ lại những skill có quy trình làm việc được bạn dùng đi dùng lại nhiều lần; gỡ bỏ những gói skill cài thử, những công cụ đi kèm không dùng đến. Phần mô tả của mỗi skill tưởng như vô hại, nhưng vài chục dòng mô tả cộng lại là hàng nghìn token nạp vào đầu mỗi phiên làm việc từ nay về sau.

Điều tôi nhận ra

Tôi đi tìm câu trả lời cho một câu hỏi về dung lượng, và tìm thấy một câu trả lời về thói quen.

Cái sàn của một phiên làm việc không phải là thứ bạn quyết định một lần rồi thôi. Nó là tổng của mọi lần bạn nói "cài thử xem sao" mà không bao giờ quay lại gỡ. Mỗi lần như thế đều có vẻ vô hại — một server thôi mà, vài nghìn token thôi mà — và đó đúng là lý do nó nguy hiểm: cái giá không đến vào lúc bạn bấm cài, nó đến mỗi ngày sau đó, ở mọi phiên, trong nhiều tháng, dưới dạng một con số mà bạn sẽ không bao giờ nghĩ là do mình.

Thứ tôi làm khác đi kể từ hôm đo: mỗi tháng gõ lệnh /context một lần, nhìn xuống dòng nào đó không nhận ra, và gỡ nó. Mất hai phút. Đó là hai phút rẻ nhất trong toàn bộ quy trình làm việc của tôi với Claude Code.

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

Facebook

← Bài trước

Vì Sao AI Chat Dần Lu Mờ Trong Kỷ Nguyên AI Agent?