Tác giả bài gốc: Addy Osmani (Member of Technical Staff). Đăng ngày 25/09/2026 trên claude.dev.
Chi phí của một tác vụ và chi phí của một lần thử lại
Bạn không bắt đầu với mục tiêu mua hàng triệu token. Bạn muốn xây dựng một tính năng, hoàn thành một đợt migration hoặc thực hiện một tác vụ. Số token chỉ là lượng mà model cần dùng để đạt được mục tiêu ấy.
Hai model có cùng giá mỗi token vẫn có thể tốn những khoản rất khác nhau cho cùng một tác vụ. Một model đọc code một lần. Model kia đọc code, thử sửa, rồi đọc lại. Mỗi bước đó là một lượt, và mỗi lượt lại gửi toàn bộ cuộc hội thoại đến thời điểm đó. Vì vậy, model cần nhiều lượt hơn sẽ tốn nhiều tiền hơn, ngay cả khi giá bằng nhau.
Đến cuối bài này, bạn sẽ có thể trả lời ba câu hỏi về công việc của mình:
- Những tác vụ thường làm của mình tốn bao nhiêu trên Opus 5.5?
- Những thiết lập nào làm thay đổi chi phí đó, và thay đổi bao nhiêu?
- Làm sao kiểm tra mức sử dụng trong session của mình?
Điều đánh đổi mình muốn nói ngay từ đầu là: mọi cách giảm số token cũng có thể khiến bạn không hoàn thành được tác vụ. Giảm effort, dùng model nhỏ hơn hoặc ít context hơn chắc chắn có thể tiết kiệm token. Nhưng một lần thử lại có thể tốn nhiều hơn số tiền tiết kiệm đó. Bài viết này cố gắng định lượng chi phí của từng sự đánh đổi.
Một số con số ở đây là giá niêm yết, số khác là ví dụ minh họa được tính từ các mức giá ấy. Các hình có tính tương tác, nên hãy thay đổi đầu vào trong lúc đọc. Đây là những ví dụ minh họa được xây dựng trong khả năng tốt nhất, vì vậy bạn vẫn nên kiểm tra tài liệu của chúng tôi và tự tính lại.
Một tác vụ tốn bao nhiêu?
Một tác vụ trong Claude Code là một vòng lặp. Model đọc cuộc hội thoại, gọi tool, đọc kết quả rồi lặp lại cho đến khi xong. Mỗi vòng là một request. Có bốn yếu tố quyết định chi phí của vòng lặp này.
Số lượt. Mỗi lượt gửi lại toàn bộ cuộc hội thoại đến thời điểm đó. Ít lượt hơn đồng nghĩa với ít input cần xử lý hơn.
Đọc cache. Phần lớn nội dung được gửi lại ở một lượt là văn bản model đã thấy ở lượt trước. Phần này được tính phí đọc cache, chỉ bằng một phần nhỏ giá input.
Loại token đầu ra. Đây là những token đắt nhất, có giá gấp năm lần input. Suy nghĩ (thinking) được tính phí như output, nên model suy luận ít hơn trên đường tìm ra câu trả lời sẽ tốn ít hơn.
Model. Mỗi model có mức giá riêng được liệt kê trên trang giá, nên model bạn chọn quyết định giá của mọi token.
Các ví dụ của chúng tôi dùng giá API niêm yết của Opus 5.5: $4 cho mỗi triệu token input, $20 cho mỗi triệu token output và $0.20 cho mỗi triệu token đọc cache. Giống công cụ tính ở phía dưới, các ví dụ tính input đã cache theo giá đọc cache, mọi phần còn lại theo giá input, và không tính phí ghi cache. Số lượng token chỉ mang tính minh họa.
Số lượt
Giả sử một tác vụ bắt đầu với 20K token context và tăng lên 120K khi model đọc file cùng kết quả tool. Với 40 lượt, trung bình mỗi lượt gửi khoảng 70K token. Tổng cộng tác vụ có khoảng 2.8M token input, dù cuộc hội thoại chưa bao giờ vượt quá 120K. Nếu 90% được đọc từ cache, input tốn khoảng $1.62. Cùng tác vụ ấy, nếu hoàn thành trong 25 lượt, sẽ xử lý khoảng 1.75M token và tốn khoảng $1.02 cho input.
Một lượt tốn nhiều hơn số token nó thêm vào, vì nó gửi lại mọi thứ trước đó. Vì vậy, lượt rẻ nhất là lượt bạn không cần thực hiện.
Một thói quen giúp giảm số lượt là cho model cách kiểm tra công việc của nó. Ví dụ, một test để chạy, một bản build hoặc một script gọi endpoint. Model có thể tự kiểm tra sẽ phát hiện lỗi của mình sớm hơn.
Model thu thập đủ thông tin cần thiết trong một lần và gom các tool call thành nhóm cũng phải trả phí gửi lại ít lần hơn.
Đọc cache
Cũng 2.8M token input đó sẽ tốn $11.20 nếu không token nào đến từ cache. Với tỷ lệ cache hit 90%, chi phí là $1.62, và ở 96% là khoảng $0.99. Không thiết lập nào khác làm thay đổi chi phí input nhiều đến vậy. Một session hoạt động đều đặn tự duy trì được tỷ lệ cache hit cao. Ở phần sau, mình sẽ đề cập một số hành động cần tránh để không phá vỡ cache.
Token output
Trên Opus 5.5, một token output có giá gấp 100 lần một token đọc cache. 60K token output của một tác vụ điển hình tốn $1.20, bằng chi phí đọc 6M token từ cache. Output bao gồm cả thinking. Bạn trả phí cho toàn bộ phần đó, ngay cả khi Claude Code chỉ hiển thị bản tóm tắt. Đó là lý do effort, vốn chủ yếu thay đổi mức độ suy nghĩ của model, ảnh hưởng đến hóa đơn nhiều như vậy.
Model
Model có giá đọc cache thấp hơn chủ yếu giúp tiết kiệm cho các session dài. Model có giá output thấp hơn chủ yếu giúp tiết kiệm cho những tác vụ cần nhiều suy luận.
Opus 5.5 có gì thay đổi?
Có hai thứ thay đổi: giá và lượng công việc model thực hiện.
Mọi mức giá đều thấp hơn. Token input và output rẻ hơn 20% so với Opus 5. Đọc cache rẻ hơn 60%. Giá input giảm, và tỷ lệ giá đọc cache so với input cũng giảm theo, từ một phần mười xuống một phần hai mươi. Hình A so sánh hai model theo mỗi triệu token. Đây là giá API niêm yết. Với gói Pro, Max hoặc Team, giá Opus 5.5 thấp hơn được phản ánh vào hạn mức của bạn, bao gồm cả context đã cache, nên hạn mức cho phép sử dụng nhiều hơn khoảng 25% so với Opus 5. Phần giảm thêm ở giá đọc cache là thay đổi dành cho giá API.
Ngoài ra, hạn mức năm giờ đã tăng trên các gói Pro, Max, Team và Enterprise tính theo số chỗ, và người đăng ký đủ điều kiện được một lần đặt lại hạn mức để dùng khi muốn. Bạn sẽ thấy tùy chọn này trong Settings > Usage trên web hoặc trong Claude Desktop, không phải trong Claude Code ở terminal. Việc đặt lại áp dụng cho toàn bộ tài khoản của bạn, bao gồm Claude Code.

Giá API niêm yết cho mỗi triệu token.
Khi dùng API key, mức giảm giá đọc cache có ý nghĩa lớn nhất với Claude Code. Một session chạy agent dài dành phần lớn input cho việc đọc cache. Trong session được tính giá ở Hình B phía dưới, dòng đọc cache giảm từ $1.00 xuống $0.40, là mức giảm lớn nhất trên hóa đơn.
Bạn tiết kiệm được bao nhiêu tùy thuộc vào đặc điểm công việc. Một session chủ yếu đọc cache có thể tiết kiệm đến 60% cho input. Một câu hỏi ngắn không dùng cache và có câu trả lời dài có thể tiết kiệm đến 20%, vì output chiếm phần lớn chi phí. Hầu hết tác vụ Claude Code nằm giữa hai trường hợp này. Công cụ tính phía dưới cho thấy tác vụ của bạn nằm ở đâu.
Có thể bạn đã thấy thông tin rằng chi phí chạy Opus 5.5 thấp hơn Opus 5 tới 40%. Đó là ước tính của chúng tôi cho các workload điển hình được tính phí theo token, ở thiết lập mặc định. Ước tính này giả định Opus 5.5 dùng ít token hơn cho mỗi tác vụ ở mức medium mặc định, bên cạnh mức giá thấp hơn, nên đây không phải là mức giảm 40% giá mỗi token. Giá token là những mức trong Hình A, còn Hình B cho thấy tác động riêng của việc thay đổi giá.
Opus 5.5 có thể dùng nhiều token hơn cho một câu trả lời, vì nó luôn suy nghĩ trước khi trả lời. Chúng tôi kỳ vọng mọi người hoàn thành được nhiều việc hơn với Opus 5.5, nhưng điều này khác nhau theo tác vụ, nên hãy đo trên công việc của chính bạn. Hình C so sánh chi phí mỗi tác vụ trên hai model. Phần này phụ thuộc vào công việc của bạn nhiều hơn hẳn so với giá.
Với tác vụ có phạm vi rõ ràng, cả hai model hoàn thành trong số lượt gần như nhau, và việc giảm giá là toàn bộ lợi ích bạn nhận được. Chênh lệch sẽ lớn nhất ở các tác vụ mở, nơi model có thể dành nhiều lượt theo đuổi một hướng sai. Không có một con số nào đúng cho mọi codebase, nên hãy tự đo (xem phần cuối).
Các lượt chạy dài kết thúc bằng một báo cáo. Opus 5.5 khép lại một lượt chạy dài bằng thông tin về những gì nó đã thay đổi, những gì nó phát hiện và những gì nó cần từ bạn. Điều đó cũng có thể tiết kiệm tiền, vì bạn ít phải chạy lại session hơn khi biết chuyện gì đã diễn ra.
Đặt cùng tác vụ cạnh nhau để so sánh
Hình B tính giá một session trên cả hai model với cùng số token. Vì vậy, chênh lệch chỉ đến từ thay đổi giá, không có yếu tố nào khác. Chuyển qua lại giữa các model để so sánh. Số token mang tính minh họa.
Hình tương tác: một session minh họa được tính giá trên cả hai model với cùng số token, nên chênh lệch chỉ đến từ thay đổi giá. Khám phá trên trang: /blog/claude-dev/what-a-task-costs-on-opus-5-5
Hóa đơn có ba dòng mà /usage hiển thị cho một session. Đọc cache là dòng lớn nhất về số token, ở mức 2M. Output nhỏ nhất về số token nhưng lớn nhất về chi phí. Input mới nằm giữa hai dòng này. Nó bao gồm lần đọc đầu tiên của mỗi file và từng kết quả tool mới.
Hình B dùng cùng số token cho cả hai model, nên chỉ cho thấy thay đổi giá. Session của chính bạn có thể dùng nhiều hoặc ít token hơn trên Opus 5.5. Nếu tính theo cách này, session tốn ít hơn khoảng 31%.
Một lượt chạy được ghi lại sẽ thể hiện thêm tác động thứ hai: thay đổi về lượng công việc model thực hiện. Với tác vụ có một lần khởi đầu sai hướng, chênh lệch sẽ rộng hơn.
Thử với số liệu của bạn
Nhập lượng sử dụng của một tác vụ, hoặc bắt đầu từ một cấu hình có sẵn. Các cấu hình này khá hữu ích để minh họa, nhưng mình vẫn khuyên bạn tự tính. Input đã cache được tính theo giá đọc cache, còn input mới theo giá input, nên thanh trượt cache cho biết bao nhiêu phần chênh lệch đến từ việc đọc cache.
Để điền các thanh trượt từ một session thực tế, chạy /usage khi kết thúc tác vụ. Khối Session cung cấp số liệu input, output và cache. Thanh trượt cuối cùng là giả định của bạn về mức giảm lượng công việc Opus 5.5 thực hiện trên các tác vụ của mình. Giữ ở 0% để chỉ xem thay đổi giá. Để thiết lập từ công việc thực tế, hãy làm như sau: chạy cùng tác vụ trên Opus 5 và Opus 5.5, rồi so sánh số lượt và token output. Phần Tự đo hướng dẫn từng bước, còn phần Đọc thông tin một session cho biết cần kiểm tra gì trong /usage.
Hình tương tác: token của một tác vụ được tính giá trên cả hai model, cho một lượt chạy và cho một tháng chạy, dựa trên thanh trượt cùng cấu hình có sẵn. Khám phá trên trang: /blog/claude-dev/what-a-task-costs-on-opus-5-5
Mẹo để tận dụng tối đa giá trị của session
Giá thấp hơn của Opus 5.5 khiến mỗi token rẻ hơn. Cách bạn vận hành session quyết định số token sử dụng, và những bước sau sẽ giúp ích.
Tăng effort trước khi đổi model
Effort đặt định hướng chung về số token model dành cho mỗi lượt: phần thinking, văn bản nó viết và các tool call. Ở effort thấp hơn, model gọi tool ít hơn và giữ các tool call ngắn hơn. Opus 5.5 có bốn mức (low, medium, high và xhigh), cộng thêm max cho một session riêng lẻ. Chọn một mức bên dưới để xem khi nào nên dùng và lệnh thiết lập mức đó.
Hình tương tác: các mức effort, thời điểm nên dùng từng mức và những lệnh thiết lập chúng. Khám phá trên trang: /blog/claude-dev/what-a-task-costs-on-opus-5-5
Claude Code đặt mức mặc định cho từng model, và /effort status hiển thị mức của bạn. Thử medium cho công việc hằng ngày có phạm vi rõ ràng. Khi medium bế tắc, thử high. Mức này tốn nhiều hơn medium ở mỗi lượt, nhưng ít hơn chuyển sang model lớn hơn. Dùng low cho công việc mang tính cơ học, như đổi tên hoặc áp dụng một mẫu đã biết trên nhiều file.
Trên Opus 5.5, mặc định là medium, thấp hơn một mức so với mặc định high của Opus 5. Cùng một mức không có nghĩa là cùng lượng thinking trên mọi model. Ở một mức nhất định, Opus 5.5 suy nghĩ nhiều hơn mỗi lượt so với Opus 5, đặc biệt ở xhigh và max. Vì vậy, đừng bê nguyên mức đã chọn cho Opus 5 sang. Bắt đầu ở medium và dành xhigh cùng max cho công việc mà bạn đã đo được lợi ích.
Một cách ước lượng giá effort: giả sử high thêm 20K token thinking trong toàn bộ tác vụ. Trên Opus 5.5, đó là $0.40. Một vòng thử lại gồm mười lượt ở mức 100K context đã cache, với tổng cộng 10K token output, có chi phí gần tương đương. Vì vậy, high tự bù được chi phí ở tác vụ mà nó giúp tránh một lần thử lại. Với tác vụ mà medium có thể hoàn thành ngay lần đầu, chi phí ấy là lãng phí.
Khi medium chỉ sửa một tầng
Dấu hiệu rõ nhất cho thấy bạn cần thêm effort là bản sửa dừng lại ở một tầng.
Giả sử một field được đổi tên trong API handler. Ở medium, model cập nhật handler, test của handler chạy thành công, nhưng client vẫn gửi field cũ. Nó đã làm đúng điều được yêu cầu. Chỉ là nó chưa đọc đủ xa để tìm ra nơi gọi thứ hai. Ở high, nó dành nhiều lượt hơn để đọc các nơi gọi trước khi viết, và thay đổi cả hai tầng trong một lần.
Một bước kiểm tra cũng có thể bắt cùng lỗi đó. Nếu model có thể chạy test đi qua client, field cũ sẽ khiến test thất bại ngay ở lượt viết thay đổi ấy, khi dùng medium. Vì vậy, trước khi tăng effort, hãy kiểm tra xem model đã có cách kiểm tra công việc của nó chưa. Chạy test tốn một lượt và phần output của lượt đó. Tăng effort sẽ thêm thinking vào mọi lượt.
Nếu tăng mức effort và bổ sung bước kiểm tra vẫn không hiệu quả, khi đó hãy chuyển sang model lớn hơn.
Thay đổi effort giữa session
Trong Claude Code, chạy /effort kèm một mức, ví dụ /effort high. /effort status in ra mức hiện tại. Bạn có thể thay đổi giữa tác vụ, và mức mới áp dụng cho request tiếp theo.
Trên Opus 5.5 khi dùng API key hoặc gói thuê bao Claude, thay đổi effort vẫn giữ nguyên cache. Bạn có thể tăng cho một bước khó rồi giảm lại mà không phải viết lại cuộc hội thoại. Trên Amazon Bedrock, Agent Platform của Google Cloud hoặc gateway cho các ứng dụng Claude, thay đổi effort vẫn xóa cuộc hội thoại đã cache, và request tiếp theo phải trả phí ghi cache cho toàn bộ nội dung. Thinking luôn bật trên Opus 5.5, nên không có thiết lập thinking để thay đổi.
Chọn model phù hợp với công việc
Lựa chọn model quyết định giá của mọi token trong session, nên ảnh hưởng đến hóa đơn nhiều hơn effort. Tác động còn lan xa hơn: mọi subagent kế thừa model chính cũng kế thừa mức giá của nó. Hầu hết các ngày làm việc cần ba model: một model nhỏ để tra cứu, Opus 5.5 cho công việc bạn giám sát sát sao, và một model lớn hơn cho những tác vụ khó nhất.

Dùng Opus 5.5 cho công việc hằng ngày
Dùng Opus 5.5 cho công việc bạn giám sát: phát triển tính năng trải trên một vài file, debug và review code kèm các chỉnh sửa tiếp theo. Bạn đọc những gì nó làm và can thiệp khi nó đi chệch hướng, nên vòng lặp vẫn ngắn.
Chuyển lên Fable 5.1
Chuyển lên Fable 5.1 khi kết quả quan trọng hơn giá token. Ví dụ: các lượt chạy dài mà bạn không giám sát, những vấn đề chưa có mẫu giải quyết trong codebase, và thay đổi lớn cần phối hợp nhiều subagent. Đừng đợi đến lần thất bại thứ ba. Nếu Opus 5.5 ở xhigh vướng cùng một vấn đề hai lần, hãy chuyển model, rồi chuyển lại khi đã giải quyết xong. Với công việc tương tác, Opus 5.5 phù hợp hơn vì latency thấp hơn và chi phí ít hơn.
Fable 5.1 có giá niêm yết $10 cho mỗi triệu token input và $50 cho mỗi triệu token output, bằng hai lần rưỡi giá Opus 5.5. Đọc cache của nó tốn $0.25 cho mỗi triệu token, chỉ bằng 1.25 lần mức giá của Opus 5.5, vì được tính bằng 0.025 lần giá input. Vì vậy, chênh lệch nhỏ nhất ở lượt chạy dài dùng nhiều cache, và lớn nhất ở tác vụ viết nhiều.
Chuyển model ở một điểm ngắt tự nhiên. Cache thuộc về model trước đó, nên hãy dự tính lượt đầu tiên trên model mới sẽ trả phí ghi cache cho toàn bộ cuộc hội thoại. Chạy /compact trước, hoặc bắt đầu session mới với một kế hoạch ngắn được viết ra, để giảm kích thước lượt đó. Chạy /model kèm alias hoặc tên model để chuyển. /model cũng lưu lựa chọn của bạn làm mặc định cho các session mới, nên hãy chuyển lại khi phần khó đã xong.
Chuyển xuống model nhỏ hơn để tra cứu
Chuyển xuống Sonnet hoặc Haiku để tra cứu, không phải để viết code: các subagent tìm kiếm và tóm tắt, đọc log cùng output của test, và những câu hỏi kiểu “cái này được định nghĩa ở đâu”. Với chỉnh sửa mang tính cơ học trên nhiều file, giữ Opus 5.5 và đặt effort ở low. Việc chỉnh sửa vẫn do model viết phần code còn lại của bạn thực hiện, với chi phí mỗi lượt thấp hơn.
Để cho một subagent dùng model nhỏ hơn, đặt model: haiku hoặc model: sonnet trong định nghĩa của nó. Để cho mọi subagent dùng một model, đặt biến môi trường CLAUDE_CODE_SUBAGENT_MODEL. Model được chỉ định trong định nghĩa subagent sẽ ghi đè biến đó. Subagent không có thiết lập model chạy trên model chính của bạn, trừ khi biến này được đặt.
Mỗi subagent chạy trong context window riêng và trả lại bản tóm tắt, nên các lần đọc file của nó không đi vào cuộc hội thoại chính. Nó vẫn phải trả phí cho token của mình, vì vậy thiết lập model quyết định chi phí đó.
Agent teams, một tính năng thử nghiệm, nhân rộng điều này. Mỗi thành viên là một instance Claude Code riêng với context window riêng, và tiếp tục dùng token cho đến khi thoát. Tài liệu chi phí của chúng tôi ước tính một nhóm dùng khoảng bảy lần số token của session tiêu chuẩn khi các thành viên chạy trong plan mode. Giữ nhóm nhỏ, giữ từng tác vụ độc lập và tắt các thành viên khi phần việc của họ đã xong.
Điều đánh đổi: model nhỏ đọc sai kết quả tìm kiếm sẽ khiến model chính tìm đến nhầm file, và model chính phải trả phí cho đường vòng đó. Chỉ giao cho model nhỏ những công việc mà lỗi dễ phát hiện, như tìm file, chạy test và đọc log.
Giữ các quyết định cần phán đoán ở model chính. Alias opusplan chia công việc theo cách khác: Opus lập kế hoạch trong plan mode, còn Sonnet thực hiện kế hoạch. Như vậy, Sonnet là bên sửa code, ngược với lời khuyên ở trên. Hãy đo trên tác vụ của chính bạn trước khi đặt làm mặc định.
Kiểm tra prompt khi chuyển model
Chỉ dẫn viết cho model cũ có thể khiến Opus 5.5 viết nhiều hơn và lặp lại tool call. Chạy /claude-api prompt-audit trong Claude Code để kiểm tra cấu hình Claude Code, chẳng hạn các skill và file CLAUDE.md, tìm những cách viết prompt phản tác dụng này. Nó cũng kiểm tra code của ứng dụng bạn xây dựng trên Claude Platform.
Chúng tôi đã thử nghiệm điều này khi chuyển từ Opus 4.8 sang Opus 5.5, dùng benchmark hỗ trợ khách hàng nội bộ gồm 44 ticket với prompt chứa một số cách viết như vậy. Chuyển sang Opus 5.5 ở effort low giảm chi phí benchmark khoảng 18%. Chạy prompt-audit giảm thêm 9%, xuống thấp hơn khoảng 25% so với điểm xuất phát Opus 4.8. Quá trình rà soát loại bỏ những chỉ dẫn mang tính nghi thức khiến model viết nhiều hơn và lặp lại tool call: một quy trình sáu bước bắt buộc, một quy tắc về vùng ghi nháp (scratchpad), một quy tắc kiểm tra hai lần, và các chỉ dẫn mâu thuẫn nhau.
Kết quả đó đến từ một benchmark, nên hãy xem là ví dụ chứ không phải con số bạn nên kỳ vọng. Chạy rà soát, rồi so sánh /usage trên một tác vụ thực trước và sau (xem phần Tự đo).
Caching và nén context
Claude Code xử lý caching và nén context (compaction) cho bạn. Cách bạn vận hành session quyết định chúng tiết kiệm được bao nhiêu.
Cache hoạt động như thế nào?
Claude Code cache những phần của request lặp lại, chẳng hạn system prompt, định nghĩa tool và cuộc hội thoại đến thời điểm đó.
Trên Opus 5.5, đọc một token đã cache tốn 5% giá một token input mới. Ghi cache tốn nhiều hơn đọc input mới, bằng 1.25 lần giá input cho cache năm phút và hai lần giá input cho cache một giờ, theo giá hiện tại. Mỗi cache hit đặt lại thời gian tồn tại mà không tính thêm phí.
Trong Claude Code, thời gian tồn tại tùy thuộc vào cách bạn trả phí. Với gói thuê bao Claude, đó là một giờ. Với API key hoặc nhà cung cấp đám mây, mặc định là năm phút, và gói thuê bao cũng giảm xuống năm phút khi bắt đầu sử dụng tín dụng sử dụng (usage credits).
Ở mức 120K token context, một lần ghi cache năm phút trên Opus 5.5 tốn khoảng $0.60, còn một lần đọc khoảng $0.02. Một lần ghi tốn bằng 25 lần đọc. Khi dùng API key, nghỉ uống cà phê sáu phút biến lần đọc $0.02 tiếp theo thành lần ghi $0.60. Ghi cache một giờ ở cùng kích thước tốn khoảng $0.96, và trên API bạn có thể trả phần chênh lệch đó để cache bao phủ những khoảng nghỉ trong ngày.
Cách session diễn ra và tỷ lệ cache hit
Cache lưu một tiền tố, nên chỉ tái sử dụng được phần request khớp với request trước đó ngay từ đầu.
Một session hoạt động đều đặn thêm nội dung vào cuối cuộc hội thoại ở mỗi lượt và giữ tỷ lệ cache hit cao. Bất cứ điều gì thay đổi phần trước đó của request đều làm tỷ lệ này giảm. Thay đổi định nghĩa tool xóa toàn bộ cache, còn thay đổi system prompt xóa cache từ điểm đó trở đi, tức là gần như toàn bộ.
Trong thực tế, hãy dự tính có một lần ghi cache khi:
- Bạn tạm dừng lâu hơn thời gian tồn tại của cache;
- Bạn thay đổi effort trên Amazon Bedrock, Agent Platform của Google Cloud hoặc gateway, nơi mức effort là một phần nội dung được đối chiếu với cache;
- Bạn bật fast mode lần đầu trong cuộc hội thoại, làm thay đổi một phần nội dung được đối chiếu với cache;
- Bạn kết nối hoặc ngắt kết nối một MCP server, điều có thể thay đổi nội dung được tải ở đầu mỗi request;
- Bạn đổi model, vì model mới bắt đầu với cache rỗng; và
- Cuộc hội thoại được nén context, viết lại lịch sử mà cache đã đối chiếu.
Vì vậy, hãy thiết lập những thứ này khi session bắt đầu, rồi giữ nguyên trong lúc nó làm việc.
Vì sao session dài tốn nhiều hơn ở mỗi lượt?
Mỗi lượt gửi lại toàn bộ context, nên khi context lớn dần thì mỗi lượt cũng đắt hơn, ngay cả khi cache còn hiệu lực. Với 20K token context, một lượt đọc cache tốn khoảng $0.004 trên Opus 5.5. Ở 150K, chi phí khoảng $0.03, và 30 lượt ở kích thước đó tốn $0.90 chỉ riêng việc đọc. Cùng 30 lượt ở 20K tốn khoảng $0.12. Trên Claude 4.6 và các model về sau, context window lớn hơn không làm thay đổi giá mỗi token, nên chi phí hoàn toàn đến từ việc gửi lại cuộc hội thoại.
Phần lớn context đó là nội dung còn lại từ công việc trước: một stack trace từ một giờ trước, một file bạn đã xử lý xong, output của lần chạy test mà lỗi đã được sửa. Tất cả vẫn được gửi ở mỗi lượt.
Nén context, /compact và /clear
Khi session gần chạm giới hạn context, Claude Code tóm tắt lịch sử cũ để các lượt sau gửi ít nội dung hơn. Chạy /autocompact kèm số token để thay đổi mức độ đầy của context trước khi việc này diễn ra.
Có hai lệnh cho phép bạn tự thực hiện. /clear xóa sạch cuộc hội thoại và không tốn phí, nên dùng khi chuyển sang công việc không liên quan. /compact giữ tính liên tục và tốn một request. Nó đọc cuộc hội thoại cần tóm tắt, và bạn có thể chỉ rõ nội dung cần giữ, ví dụ /compact keep the failing test names and the schema change.
Ước tính chi phí nén ở 150K token là khoảng $0.25. Khoản này gồm việc đọc, một bản tóm tắt vài nghìn token output và một lần ghi cache mới cho context ngắn hơn. Mỗi lượt sau tiết kiệm khoảng $0.025 tiền đọc, nên việc nén tự bù chi phí sau khoảng mười lượt. Nén ngay trước khi hoàn thành tốn nhiều hơn số tiền nó tiết kiệm.
Mức giá đó giả định cache còn hiệu lực. Khi cache còn hiệu lực, request tóm tắt đọc cuộc hội thoại từ cache, nên hãy nén trước khi nghỉ, không phải sau đó. Sau khoảng nghỉ dài hơn thời gian tồn tại của cache, cùng lệnh /compact sẽ đọc lại toàn bộ cuộc hội thoại và ghi lại vào cache. Ở 150K token với cache năm phút, chỉ riêng input đã tốn khoảng $0.75. Nếu đã đi theo một hướng bạn muốn bỏ, hãy dùng /rewind để quay về lượt trước đó. Khi cache còn hiệu lực, lệnh này quay về một tiền tố đã được cache.
Bản tóm tắt cũng làm mất chi tiết. Nén giữa session debug có thể bỏ mất đúng dòng log quan trọng. Hãy nén ở một điểm ngắt tự nhiên, và khi bước tiếp theo phụ thuộc vào thông tin cụ thể nào đó, hãy nói rõ trong chỉ dẫn /compact.
Những gì được tải trước khi bạn gõ
File CLAUDE.md của bạn được tải vào context ở đầu mỗi session, nên mỗi dòng trong đó là một phần nội dung được gửi lại ở mọi lượt. Tài liệu chi phí khuyên giữ file dưới 200 dòng. Các định nghĩa MCP tool được hoãn tải. Chỉ tên tool và chỉ dẫn của server được tải lúc bắt đầu; định nghĩa đầy đủ được tải khi tool đó được sử dụng. Chạy /mcp để xem server nào đang kết nối và tắt những server bạn không dùng.
Phần còn lại của hóa đơn
Bảng dưới liệt kê các quy tắc tính phí khác ảnh hưởng đến session Claude Code, kèm liên kết tới tài liệu nếu có.
Fast mode chạy Opus 5.5 nhanh hơn tối đa 2.5 lần, với giá gấp đôi thông thường: $8 cho mỗi triệu token input và $40 cho mỗi triệu token output. Với gói thuê bao Claude, phần này được tính vào usage credits, không phải hạn mức của gói. Request đầu tiên sau khi bật sẽ trả giá input của fast mode cho toàn bộ cuộc hội thoại, không dùng cache. Vì vậy, hãy bật ở đầu session, đừng đợi đến khi session đã chạy lâu.
| Nội dung được tính phí | Cách hoạt động |
|---|---|
| Thời gian tồn tại của cache | Trong Claude Code, một giờ với gói thuê bao; năm phút với API key hoặc nhà cung cấp đám mây, hoặc khi gói thuê bao bắt đầu dùng usage credits. Mỗi cache hit đặt lại thời gian tồn tại. API cung cấp cache một giờ với giá ghi cao hơn. Tài liệu chi phí (thời gian tồn tại trong Claude Code) và tài liệu prompt caching |
| Ghi cache | 1.25× giá input cho cache năm phút và 2× cho cache một giờ, theo giá API hiện tại. Tài liệu giá |
| Thinking | Được tính phí như token output, bao gồm cả thinking không được trả về cho bạn. Tài liệu về thinking mở rộng |
| Effort | Áp dụng cho mọi token output: văn bản, tool call và thinking. Tài liệu effort |
| Tự động nén context | Chạy khi context window gần chạm giới hạn. /autocompact kèm số token đặt ngưỡng này. Tài liệu context window |
| Subagent và agent teams | Subagent làm việc trong context window riêng và trả về bản tóm tắt. Agent teams trong plan mode dùng khoảng 7× số token của session tiêu chuẩn. Tài liệu context window và chi phí |
| Batch API | Token input và output được giảm còn nửa giá cho request gửi qua Message Batches API. Tài liệu xử lý theo lô |
| Mức chi tiêu điển hình hiện tại | Trung bình: khoảng $13 cho mỗi developer trong mỗi ngày có sử dụng, tính trên các triển khai doanh nghiệp. Với 90% người dùng, chi phí dưới $30 mỗi ngày có sử dụng. Cả hai số liệu đều dành cho các model hiện tại. Tài liệu công khai, trang chi phí (trung bình doanh nghiệp và mức giới hạn của 90% người dùng) |
Tự đo
Các hình trong bài này chỉ mang tính minh họa. Codebase, prompt và thói quen của bạn khác nhau, nên hãy đo chi phí trên chính các tác vụ của mình. Đây là cách kiểm tra.
- Trong một session, chạy /usage. /cost cũng làm tương tự. Khối Session hiển thị lượng token đã dùng và chi phí USD ước tính theo giá niêm yết. Một dòng prompt cache cho biết bao nhiêu input đến từ cache. Trên gói Pro, Max, Team hoặc Enterprise, cùng màn hình đó hiển thị các thanh mức sử dụng của gói. Số tiền được tính trên máy của bạn theo giá niêm yết, nên với gói thuê bao, nó là thông tin tham khảo về lượng công việc đã làm, không phải hóa đơn.
- Chạy cùng tác vụ hai lần. Opus 5.5 cần Claude Code v2.1.280 trở lên, nên chạy
claude updatetrước. Chọn một việc từ backlog, không phải ví dụ nhỏ để thử. Dùng /model để chuyển giữa Opus 5 và Opus 5.5. Ghi lại số lượt, token output và chi phí cho mỗi lần chạy. Làm ba hoặc bốn tác vụ trước khi rút ra kết luận. - Với một nhóm, dùng báo cáo mức sử dụng và chi phí. Claude Code Analytics API cung cấp chi phí ước tính cho mỗi người dùng. Usage and Cost API phân tách chi tiêu theo model và theo token đã cache so với chưa cache.
- Thử từng nấc effort. Chạy một tác vụ khó ở medium rồi ở high. Chạy một tác vụ mang tính cơ học ở low.
Đọc thông tin một session
Kiểm tra ba thứ trong /usage khi kết thúc tác vụ.
- Tỷ trọng cache. Với session dài, tỷ trọng này nên cao. Nếu thấp, hãy tìm xem có khoảng nghỉ dài, đổi model, kết nối MCP server giữa chừng hoặc, trên nhà cung cấp đám mây hay gateway, thay đổi effort hay không. Dòng prompt cache thường nêu nguyên nhân có khả năng gây ra lần cache miss gần nhất.
- Output so với input. Nhiều output cho một thay đổi nhỏ thường có nghĩa là mức effort quá cao với tác vụ, hoặc model đang thử lại.
- Tổng input so với kích thước cuộc hội thoại. Nếu tổng input lớn gấp nhiều lần kích thước cuộc hội thoại, session đã trải qua nhiều lượt, và bạn nên đọc lại hội thoại để tìm chỗ vòng lặp lặp lại.
Để có mốc tham khảo, tài liệu chi phí Claude Code đưa ra mức trung bình trên các triển khai doanh nghiệp là khoảng $13 cho mỗi developer trong mỗi ngày có sử dụng, và dưới $30 mỗi ngày có sử dụng với 90% người dùng. Một session tốn cao hơn nhiều so với mức bình thường của chính bạn là điều đáng xem lại.
Những điều cần nhớ
- Dùng effort medium cho công việc hằng ngày có phạm vi rõ ràng.
- Cho model cách kiểm tra công việc của nó, và bắt đầu các thay đổi trải trên nhiều file trong plan mode.
- Khi medium bế tắc, tăng effort lên high. Với API key hoặc gói thuê bao, thay đổi này giữ nguyên cache. Trên nhà cung cấp đám mây hoặc gateway, hãy đổi ở một điểm ngắt.
- Nếu xhigh vướng cùng vấn đề hai lần, chuyển sang Fable 5.1. Chuyển lại khi đã giải quyết xong.
- Cho các subagent tìm kiếm và đọc log dùng Sonnet hoặc Haiku. Giữ việc sửa code trên Opus 5.5.
- Giữ session dài hoạt động liên tục để cache còn hiệu lực.
- Dùng /clear giữa các tác vụ không liên quan, và /compact ở một điểm ngắt kèm ghi chú về nội dung cần giữ.
- Điều quan trọng nhất: chạy một tác vụ thực trên mỗi model và so sánh những gì /usage báo cáo. Số liệu của chính bạn mới là những con số đáng tin.
Mình hy vọng bài viết này hữu ích. Nếu hạn mức của bạn trên Opus 5.5 không cho phép làm được nhiều hơn trên Opus 5, hãy báo cho chúng tôi qua /feedback.
Đọc thêm: Quản lý chi phí hiệu quả · Cấu hình model · Chọn model Claude và mức effort trong Claude Code · Effort · Prompt caching · Tận dụng tối đa giá trị các session Claude Code
Cảm ơn Michael Segner, Kacie Jenkins và Molly Vorwerck đã góp ý cho bài viết.