Một nghiên cứu đo trực tiếp tại ranh giới API phát hiện Claude Code gửi khoảng 33.000 token trước khi bạn kịp gõ một chữ, trong khi OpenCode chỉ gửi 7.000. Đó là gấp 4.7 lần. Nếu bạn từng thấy hóa đơn AI coding cháy nhanh khó hiểu, đây chính là lý do, và quan trọng hơn, có cách để kiểm soát nó.
Câu chuyện từ một phép đo lạnh lùng
Công ty Systima đặt một proxy ghi log vào giữa công cụ coding và endpoint của model, rồi bắt cả hai làm cùng một việc, trên cùng một model, cùng một máy. Họ ghi lại chính xác từng byte được gửi đi. Kết quả công bố ngày 12 tháng 7 năm 2026 khiến nhiều người giật mình vì nó biến một cảm giác mơ hồ, kiểu tại sao dùng công cụ này lại tốn tiền thế, thành con số cụ thể đo được.
Bài kiểm tra đơn giản nhất chỉ yêu cầu một câu trả lời một dòng, đúng chữ OK. Với một câu lệnh vỏn vẹn 22 ký tự, Claude Code gửi kèm khoảng 33.000 token gồm system prompt, mô tả công cụ và các khối scaffolding chèn sẵn. OpenCode gửi khoảng 6.900 token. Cùng một câu hỏi, cùng một model, chênh nhau gần 5 lần chỉ ở bước khởi động.
“Mỗi token của lớp vỏ harness là một token ngữ cảnh làm việc mà bạn không thể dùng cho nhiệm vụ của mình.”
Systima, trong báo cáo đo token tại ranh giới API
Token đó đi đâu hết
Thủ phạm chính là mô tả công cụ. Claude Code nhúng sẵn tới 27 công cụ, và riêng phần mô tả chúng đã chiếm khoảng 24.000 trong số 33.000 token. Nó không chỉ có công cụ coding cơ bản mà còn cả một bộ điều phối background agent, từ tạo lịch chạy nền, giám sát, cho tới quản lý worktree và thông báo đẩy. OpenCode gọn hơn nhiều với 10 công cụ, phần mô tả chỉ khoảng 4.800 token.
Ngay cả khi tắt hết công cụ để chỉ còn system prompt trần, Claude Code vẫn nặng gấp hơn ba lần OpenCode. Phần dư đó là doctrine hành vi, tức là các quy tắc về giọng điệu, hướng dẫn an toàn, chỉ dẫn quản lý nhiệm vụ và mô tả môi trường. Đây là triết lý thiết kế: một nền tảng đầy đủ tính năng đổi lấy chi phí khởi động cao hơn.
Có một chi tiết thú vị mà nghiên cứu phát hiện. System prompt của Claude Code thay đổi tùy theo model đang dùng. Khi phục vụ một model, nó gửi gần 28.000 ký tự hướng dẫn, nhưng với một model khác nó chỉ gửi hơn 10.000 ký tự, cùng số công cụ nhưng ít doctrine hơn hẳn. Nhờ vậy khoảng cách token với OpenCode co lại từ 4.7 lần xuống còn khoảng 3.3 lần. Điều này nhắc chúng ta rằng chi phí không phải hằng số, nó thay đổi theo cả công cụ lẫn model, và cách duy nhất để biết chắc là tự đo trên chính cấu hình của mình.
📊 Con số đáng nhớ: Một cấu hình Claude Code thực tế trong công việc có thể chạm 75.000 tới 85.000 token trước khi bạn gõ chữ nào. Trên một context window 200.000 token, đó là hơn 40 phần trăm bị ngốn chỉ để khởi động. Phần còn lại mới là chỗ cho code thật của bạn.
Những thứ làm phình hóa đơn mà ít ai để ý
Con số 33.000 mới chỉ là sàn. Trong công việc thật, có ba thứ nhân nó lên. Thứ nhất là file hướng dẫn. Khi Systima thả một file AGENTS.md hoặc CLAUDE.md nặng 72KB từ một dự án thật vào, mỗi request phình thêm hơn 20.000 token. File này bám vào từng request của từng phiên trong dự án đó, không sót lần nào.
Thứ hai là MCP server. Mỗi server nhỏ cộng thêm khoảng 1.000 tới 1.400 token cho mỗi request. Năm server khiêm tốn đã thêm khoảng 5.000 tới 7.000 token. Nếu bạn gắn server production với API phong phú, schema còn lớn hơn nhiều lần. Trong một phép đo cấu hình thực tế, một setup gắn 11 MCP server cùng file hướng dẫn đã đội lên tới 90.000 token ngay ở request đầu tiên, mang theo 179 công cụ, tất cả trước khi người dùng gõ một từ.
⚠️ Subagent là cái bẫy token lớn nhất: Một tác vụ nhỏ tốn 121.000 token khi làm trực tiếp đã vọt lên 513.000 token khi giao cho hai subagent chạy song song. Đó là gấp 4.2 lần. Lý do là mỗi subagent là một agent riêng, tự đọc lại system prompt và bộ công cụ của nó ở mỗi lượt. Fan-out ra nhiều nhánh nghĩa là nhân bản nhiều lần cái nền tảng nặng đó.
Nếu phiên làm việc của bạn đột nhiên đắt bất thường, hãy soi chỗ này đầu tiên.
Vấn đề cache, chỗ khác biệt quyết định
Nhiều người an ủi rằng đã có prompt caching nên token lặp lại sẽ rẻ đi. Đúng, nhưng chỉ khi phần đầu của request giữ nguyên không đổi. Systima băm từng request để kiểm tra, và phát hiện OpenCode gửi phần đầu giống hệt nhau từng byte qua mọi request, nên nó chỉ ghi cache một lần rồi đọc lại với giá bằng một phần mười.
Claude Code thì khác. Trên cùng một tác vụ tóm tắt file, nó ghi tới 53.839 token cache, bao gồm cả một lần ghi lại toàn bộ phần đầu khoảng 43.000 token giữa chừng. OpenCode chỉ ghi 1.003 token. Cache ghi lại bị tính giá cao hơn, ở mức 1.25 lần đơn giá cho bậc 5 phút và 2 lần cho bậc 1 giờ. Tùy nhiệt độ cache, lượng cache ghi của Claude Code trên cùng một việc dao động từ 5.9 lần tới 54 lần so với OpenCode.
Đây chính là lời giải cho hiện tượng bạn nhìn đồng hồ usage leo thang chóng mặt khi dùng công cụ này nhưng lại phẳng lì khi dùng công cụ kia, dù cùng một model. Phần đầu lớn hơn, nhiều phần đầu khác nhau hơn trong một phiên, và nhiều lần ghi lại hơn, tất cả nhân với bất kỳ fan-out subagent nào.
Vậy trả nhiều hơn có được chất lượng tốt hơn không
Đây là câu hỏi công bằng nhất. Một hóa đơn cao không nói gì về chất lượng công việc. Systima chọn các tác vụ mà chất lượng không thể là lý do biện minh: cả hai công cụ đều hoàn thành đúng mọi bài chấm điểm. Trong một benchmark riêng gồm mười lần chạy với bộ kiểm thử được khóa cứng, cả hai đều đạt năm trên năm.
Nhưng chi phí thì khác trời vực. Với cùng một kết quả được kiểm chứng độc lập, chi phí trung bình mỗi lần chạy thành công là khoảng 268.000 token cho Claude Code và 72.000 token cho OpenCode, tức gấp khoảng 3.7 lần. OpenCode còn hoàn thành mỗi lượt trong một hai phút, so với bốn tới tám phút của Claude Code.
📊 Điểm cần công bằng: Nghiên cứu cũng ghi nhận một tình huống Claude Code rẻ hơn. Ở tác vụ nhiều bước, nó gom nhiều lệnh vào ít request hơn nhờ gọi công cụ song song, nên tổng token có lúc thấp hơn OpenCode vốn làm từng lệnh một. Lợi thế này phụ thuộc vào hành vi của model, không phải hằng số. Trên model mới hơn, cùng tác vụ đó lại tốn gấp đôi số request.
Vì sao con số này đáng tin
Điều làm nghiên cứu này khác các bài so sánh thông thường là cách đo. Systima không hỏi công cụ xem nó gửi bao nhiêu token, mà chặn ngay tại đường truyền để đọc từng byte của request thật. Payload bắt được là bằng chứng gốc về những gì thực sự được gửi, còn khối usage do API trả về là bằng chứng gốc về những gì thực sự bị tính tiền. Không phỏng đoán, không ước lượng.
Toàn bộ 273 bản ghi request và response còn được đưa vào một chuỗi băm SHA-256 chống giả mạo và kiểm tra tính toàn vẹn từ đầu đến cuối. Cả bộ công cụ đo lẫn benchmark đều được công khai mã nguồn để bất kỳ ai cũng tự chạy lại trên cấu hình của mình. Đây là mức minh bạch hiếm thấy, và nó cũng là gợi ý cho chính bạn: nếu muốn biết hóa đơn AI đến từ đâu, hãy đo tại ranh giới API chứ đừng tin bảng điều khiển tổng hợp.
Tất nhiên có giới hạn. Đây là một máy, một cặp phiên bản, mẫu nhỏ và là ảnh chụp của tháng 7 năm 2026. Prompt của các công cụ thay đổi liên tục, nên đừng coi con số là bất biến. Nhưng phương pháp thì bền vững, và bức tranh lớn rất rõ: lớp vỏ càng nặng thì càng tốn, và phần lớn chi phí đó nằm ngoài tầm nhìn của người dùng bình thường.
Bài học thực tế cho người Việt làm kinh doanh online
Bạn có thể không viết code chuyên nghiệp, nhưng nếu bạn dùng AI để tự động hóa công việc, dựng workflow, hay chạy agent, thì nguyên lý ở đây áp dụng nguyên vẹn. Chi phí AI không nằm ở câu bạn hỏi, mà nằm ở toàn bộ lớp vỏ được gửi kèm theo mỗi lần hỏi. Hiểu điều này giúp bạn tiết kiệm được số tiền thật.
🔵 Đừng gắn công cụ mình không dùng
Mỗi MCP server, mỗi công cụ, mỗi tích hợp bạn bật đều đóng thuế token lên từng request, kể cả khi bạn không dùng tới nó trong phiên đó. Hãy chỉ bật những gì thật sự cần cho công việc trước mắt, tắt phần còn lại.
🔵 Giữ file hướng dẫn gọn gàng
File hướng dẫn 72KB cộng thêm 20.000 token mỗi request. Hãy viết ngắn, chỉ giữ điều thật cần, vì nó bám theo mọi lần gọi. Một file gọn không chỉ tiết kiệm tiền mà còn để lại nhiều chỗ hơn cho công việc thật.
🔵 Cẩn thận với chia nhỏ nhiệm vụ cho nhiều agent
Nghe hấp dẫn khi giao việc cho nhiều agent chạy song song, nhưng đó là bộ nhân token lớn nhất được đo. Chỉ fan-out khi việc thực sự cần, còn lại hãy làm trực tiếp để tránh mỗi nhánh lại đọc lại toàn bộ nền tảng nặng của nó.
“Harness quyết định cái sàn, còn cấu hình của bạn quyết định cái hóa đơn.”
Systima, kết luận về chi phí token trong công cụ agent
Điều này không có nghĩa Claude Code là lựa chọn tồi. Nó là một nền tảng mạnh với background agent, kỹ năng và khả năng điều phối mà một công cụ gọn nhẹ chưa chắc có. Với những tác vụ khó thật sự, các tính năng đó có thể xứng đáng với token bỏ ra. Vấn đề là bạn phải biết mình đang trả cho cái gì, và đừng để một file hướng dẫn phình to hay một MCP server bị quên bật âm thầm đốt tiền của bạn.
Có một mẹo nhỏ mà ai vận hành AI đều nên áp dụng: nếu công cụ của bạn tạm dừng lâu hơn thời gian sống của cache, thường là năm phút, thì toàn bộ phần đầu nặng nề đó sẽ bị ghi lại từ đầu với giá cao. Một cuộc họp giữa chừng, một bữa trưa, một lần bạn đi pha cà phê rồi quay lại gõ tiếp, mỗi lần như vậy đều có thể khiến hệ thống nạp lại toàn bộ ngữ cảnh. Vì thế, gom công việc vào những phiên tập trung, làm liền mạch rồi đóng lại, sẽ tiết kiệm hơn nhiều so với để phiên mở lai rai cả ngày.
Bài học lớn nhất rất đơn giản: đo thì mới biết. Đừng đoán hóa đơn AI của bạn đến từ đâu. Nếu bạn vận hành workflow tự động ở quy mô nghiêm túc, hãy tập thói quen nhìn vào token, hiểu cái gì được gửi đi mỗi lần, và cắt bỏ những thứ không tạo ra giá trị. Người tiết kiệm được token là người giữ được lợi nhuận.
📚 Về bài viết này
Bài viết được đội ngũ Thiên Minh Quân tổng hợp từ nghiên cứu gốc của Systima, cùng các bản dẫn lại từ Gigazine, BigGo Finance và Developers Digest, cập nhật tới ngày 18 tháng 7 năm 2026.
Các con số đo trên Claude Code 2.1.207 và OpenCode 1.17.18 với model Sonnet 4.5 và Fable 5, là ảnh chụp thời điểm tháng 7 năm 2026. Phần bài học ứng dụng là góc nhìn của chúng tôi cho người làm kinh doanh và tự động hóa tại Việt Nam.