TL;DR

70% token trong mỗi phiên Claude Code bị ăn bởi overhead vô hình. Tháng 3/2026, Anthropic thừa nhận người dùng cháy quota nhanh hơn kỳ vọng rất nhiều - người dùng Max 5 báo cáo hết quota trong 19 phút thay vì 5 tiếng. Hai lỗi cache nghiêm trọng bị người dùng tự phát hiện qua reverse-engineer binary Claude Code (GitHub #40524) đã làm chi phí thực tế tăng 10-20 lần. Nhưng những lỗi đó chỉ giải thích được một phần - phần còn lại là 7 pattern người dùng tự tạo ra.

Nhận thức nền tảng: phiên làm việc là hóa đơn, không phải tờ giấy trắng

Hầu hết mọi người nghĩ: gõ gì, Claude đọc nấy, tính token theo những gì nhập vào. Sai hoàn toàn.

Mỗi lần nhấn Enter, hóa đơn đã bị trừ trước:

  • CLAUDE.md - tải mỗi lượt, mọi phiên
  • Schema của mọi MCP server đang kết nối - gửi theo mỗi request
  • SKILL.md của mọi Skill đang kích hoạt - tải khi "có liên quan"
  • Nội dung Hook từ mọi plugin đang bật - chèn vào trước khi bạn thấy
  • Toàn bộ lịch sử hội thoại - đọc lại từ đầu mỗi lần

Token thực sự có ích là phần còn lại sau khi trừ hết. Khi overhead chiếm 70%, prompt viết hay đến đâu cũng không cứu được.

7 bẫy theo mức độ ảnh hưởng

Bẫy 1 - CLAUDE.md chất đống. CLAUDE.md 5,000 token = 5,000 token bị trừ mỗi lượt, mỗi phiên, dù câu hỏi có liên quan hay không. 200 lượt/tuần = 1 triệu token chỉ cho CLAUDE.md. Sửa: chạy wc -w ~/.claude/CLAUDE.md - mục tiêu dưới 1,200 từ. Quy tắc khung đặc thù framework đưa xuống project-level. Pattern lặp lại tách thành Skill. Những quy tắc bạn không còn nhớ lý do viết - xóa.

Bẫy 2 - Lịch sử hội thoại tăng theo hàm mũ. Tin nhắn thứ 30 trả phí cho 29 tin trước. Một phiên 60 lượt: tin cuối tốn gấp 60 lần tin đầu. Sửa: giới hạn cứng 20 tin/phiên. Sửa tin cũ thay vì thêm tin mới khi Claude đi sai hướng. Dùng /compact thay /clear.

Bẫy 3 - Plugin đút lén tập thể. 3 plugin có UserPromptSubmit hook = 6,000+ token được nhồi vào trước khi Claude đọc câu hỏi của bạn. SessionStart hook từ 9 plugin tích lũy đến 1,400 token toàn nội dung "Tôi đã sẵn sàng!". Sửa: cat ~/.claude/settings.json | jq '.hooks.UserPromptSubmit' - hook nào không giải thích được ngay lý do kích hoạt mỗi lần thì tắt.

Bẫy 4 - Cache chết sau 5 phút. Cache mặc định sống 5 phút. Nghỉ uống cà phê quá 6 phút - cache chết. Lần gọi tiếp theo: ~8,000 token (system prompt + CLAUDE.md + tool schema) phải tokenize lại theo giá đầy đủ thay vì 10% giá cache. Sửa tạm: gán phím tắt cho lệnh ping đơn giản trước khi rời bàn. Sửa bền vững: nâng lên cache 1 tiếng - write tốn 2x giá (một lần), read chỉ 0.1x. Chỉ cần 10 lần phục hồi/phiên là hoàn vốn.

Bẫy 5 - Hội chứng "phòng khi cần". 11 Skill với auto-detect: làm backend thì UI Skill cũng tải, viết text thì video Skill cũng tải. 9 Skill không cần = 13,500 token ăn không. 12 MCP kết nối = 7,000+ token schema trong mỗi request dù 80% tác vụ chỉ cần 3. Sửa: grep -h "skill_invoked" ~/.claude/logs/*.log | sort | uniq -c - không xuất hiện thì tắt đi. MCP tương tự.

Bẫy 6 - Extended Thinking bật toàn cục. Claude đốt 3,000+ thinking token "suy nghĩ sâu" ngay cả khi đổi tên biến hay thêm dòng trống. Sửa: tắt mặc định, bật theo từng tin nhắn khi thực sự cần (Alt+T). Quy tắc: thử không có trước - nếu câu trả lời đầu không đủ, bật lên thử lại. 80% tác vụ không cần nó.

Bẫy 7 - Để câu trả lời sai chạy hết. Claude bắt đầu viết 400 dòng, bạn thấy sai ở dòng 50 nhưng để nó viết hết - 350 dòng output token lãng phí, và output đắt hơn input. Sửa: Cmd+. (Mac) / Ctrl+. (Windows) dừng ngay lập tức. Tập bấm trong 5 giây đầu khi thấy hướng sai.

Kết quả thực tế

Chỉ sốTrướcSau
Token có ích~30%~65%
CLAUDE.md4,800+ token<900 token
MCP schema/request7,000+ token<2,000 token
Hook injection/prompt6,000+ token<500 token

Những tiết kiệm này không cộng tuyến tính mà nhân với nhau - CLAUDE.md nhỏ hơn có lợi cho mỗi lượt, phiên ngắn hơn giúp mỗi tin nhắn đỡ tốn hơn, cache ổn định loại bỏ phí tokenize lại. Phần lớn người dùng sau khi sửa cả 7 bẫy sẽ cảm thấy quota "đột nhiên nhiều gấp 2-3 lần".

Script audit 15 phút

#!/bin/bash
echo "=== CLAUDE.md ==="
wc -w ~/.claude/CLAUDE.md 2>/dev/null
wc -w .claude/CLAUDE.md 2>/dev/null
echo "Muc tieu: tong < 1,200 tu"

echo "=== Hooks ==="
cat ~/.claude/settings.json 2>/dev/null | jq '.hooks.UserPromptSubmit'
cat ~/.claude/settings.json 2>/dev/null | jq '.hooks.SessionStart'

echo "=== Skills ==="
ls ~/.claude/skills/ 2>/dev/null

echo "=== MCPs ==="
cat ~/.claude/settings.json 2>/dev/null | jq '.mcpServers // {} | keys'

Nhận thức then chốt

Bạn không đang chat với AI. Bạn đang submit đơn hàng vào một hệ thống lớn, và giá đơn hàng phụ thuộc vào mọi thứ bạn đã "trang bị" trong hệ thống đó qua nhiều tháng. CLAUDE.md, hook, plugin, Skill, MCP - tất cả đều có lý do khi được lắp vào. Nhưng không thứ gì cho bạn biết tổng chi phí cho đến ngày cháy quota.

Tối ưu hóa thực sự không phải là "dùng thông minh hơn". Là xóa đi những thứ thực ra không giúp được gì.

Nguồn: The Register, GitHub Issue #40524, Build to Launch, MindStudio.