Memory Claude có tốn thêm phí không?
Anthropic không có giá riêng cho memory token. Văn bản đã nhớ được gửi lại như input token, nên chi phí phụ thuộc số token và prompt cache.
Tính năng memory của Claude có tốn thêm phí không?
Tính năng memory của Claude không có mức phí riêng. Bảng giá Anthropic công bố được tính theo mỗi triệu token input và mỗi triệu token output, kèm mức phí riêng cho prompt caching; không có mức nào trong đó được gọi là memory token. Việc lưu memory không tốn phí trên Claude API (application programming interface), vì memory tool chạy ở phía client và file được lưu trên storage do bạn sở hữu.
Memory vẫn ảnh hưởng đến hóa đơn, vì một thông tin đã nhớ chỉ làm thay đổi câu trả lời khi nằm trong request mà Claude đọc. Ghi nhớ đồng nghĩa với gửi lại. Phần văn bản đó được tính là input token và tính theo mức phí input thông thường của model. Có 2 yếu tố quyết định chi phí: số token trong phần văn bản đã nhớ được gửi lại ở mỗi lượt, và phần văn bản gửi lại đó có được phục vụ từ prompt cache hay không.
Với gói Pro hoặc Max, bạn không bị tính phí theo token, nên memory sử dụng hạn mức của bạn thay vì tiền. Cơ chế bên dưới vẫn giống nhau. Chỉ đơn vị tính là khác. Hạn mức này có giới hạn, vì vậy bạn nên biết Claude Pro có giá bao nhiêu và khi nào giới hạn bắt đầu cản trở bạn trước khi quyết định mỗi lượt nên mang theo bao nhiêu memory. Claude Enterprise lại khác, vì gói này tính từng token theo mức phí API ngoài giá mỗi seat, nên một khối memory quá lớn sẽ chuyển thành chi phí thay vì hạn mức sử dụng. Nếu việc rút gọn memory giúp mức sử dụng của bạn nằm ổn định dưới giới hạn của một gói nhỏ hơn, chuyển từ Max xuống Pro là bước tiếp theo nên cân nhắc; thay đổi này có hiệu lực vào cuối kỳ bạn đã thanh toán. Nếu bạn thực sự đang so sánh giữa các nhà cung cấp thay vì giữa các gói của Anthropic, đặt các gói Claude cạnh ChatGPT theo mức giá hiện tại là điểm nên bắt đầu.
“Memory” có nghĩa gì trên từng giao diện Claude
Ba sản phẩm riêng biệt cùng dùng từ này. Việc nhầm lẫn giữa chúng là nguyên nhân chính khiến câu hỏi này khó hiểu.
Memory tool trên Claude API. Bạn thêm một mục vào mảng tools và tự triển khai các thao tác với file trong code của mình.
{"type": "memory_20250818", "name": "memory"}Tính đến tháng 8 năm 2026, tool này thường khả dụng trên Messages API mà không cần beta header, với Claude 4 và các model mới hơn. Đây là cơ chế phía client: Claude yêu cầu một thao tác như view /memories, handler của bạn thực hiện thao tác đó trên storage do bạn kiểm soát, rồi trả kết quả trong block tool_result. Anthropic không lưu file, nên không có phí storage để tính lại cho bạn. Bạn trả phí cho lượt trao đổi này. Định nghĩa tool được gửi trong mọi request, còn nội dung file được trả về sẽ nằm trong conversation từ thời điểm đó trở đi.
Anthropic công bố phần overhead cố định này. Trên Claude Opus 5 với lựa chọn tool là auto, system prompt cho tool-use là 286 tokens, theo tài liệu tháng 8 năm 2026. Khoản này được tính một lần cho mỗi request khi có bất kỳ tool nào, dù là memory hay tool khác.
Claude Code. Có hai cơ chế được load khi bắt đầu mỗi session. File CLAUDE.md chứa các instruction do bạn viết. Auto memory chứa các ghi chú Claude tự viết cho chính nó, tại ~/.claude/projects/<project>/memory/. Chỉ 200 dòng đầu tiên hoặc 25KB đầu tiên của MEMORY.md được load, tùy giới hạn nào đạt trước. Các topic file nằm cạnh file này được đọc khi cần, không phải khi khởi động. Mọi nội dung được load lúc khởi động sẽ trở thành một phần của prefix mà mọi request tiếp theo trong session đó đều mang theo. Claude Code khôi phục memory giữa các session như thế nào trình bày thứ tự load theo từng file.
Claude trên web. Trên claude.ai, memory là tập hợp các mục mà Claude ghi và cập nhật trong lúc bạn chat, với một memory space riêng cho từng project. Settings > Memory hiển thị những gì đang được lưu. Toggle tại đó cho phép Pause memory hoặc Reset memory. Giao diện này tính phí theo subscription, nên memory sử dụng các usage limit.
Vì sao văn bản được ghi nhớ vẫn được tính phí như input token
Messages API là stateless. API không lưu gì giữa các lần gọi, nên client gửi toàn bộ cuộc hội thoại trong mỗi lượt và model đọc lại toàn bộ nội dung. Memory cũng không ngoại lệ. Đây chỉ là một block văn bản khác trong cùng request.
Phần phân tách này hiển thị trong object usage của mọi response.
"usage": {
"input_tokens": 412,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 18240,
"output_tokens": 236
}input_tokens chỉ tính các token không được đọc từ cache và cũng không được dùng để tạo cache. Trên thực tế, đó là các token nằm sau cache breakpoint cuối cùng. Tổng input của request là cache_read_input_tokens cộng với cache_creation_input_tokens cộng với input_tokens. Một memory file mà Claude đã mở cách đây 3 lượt vẫn nằm trong tổng này ở mọi lượt sau đó. Nó được tính vào cache_read_input_tokens khi prefix được cache vẫn còn hiệu lực, và được tính vào input_tokens khi prefix đó không còn hiệu lực. Cùng một văn bản nhưng chi phí rất khác nhau. Input và output token có mức giá khác nhau, và memory luôn chỉ được tính ở phía input.
Xem các số liệu này trong quá trình sử dụng của bạn
Không lấy số liệu từ một bài blog, kể cả bài này. Hãy tự đo memory block của bạn. Việc đếm token miễn phí và có rate limit riêng, nên phép đo không tốn chi phí.
curl https://api.anthropic.com/v1/messages/count_tokens \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "content-type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-5",
"system": "You are a scientist",
"messages": [{"role": "user", "content": "Hello, Claude"}]
}'Kết quả là một con số, chẳng hạn như { "input_tokens": 14 }. Chạy một lần với văn bản memory được dán vào trường system, rồi chạy một lần không có văn bản đó. Chênh lệch giữa hai kết quả là chi phí của memory đó trong mỗi turn. Có hai điểm cần lưu ý. Số đếm này chỉ là ước tính, và các token bổ sung mà Anthropic thêm vào để tối ưu system của họ không bị tính phí cho bạn. Ngoài ra, hãy đếm theo model bạn thực sự sẽ chạy, vì Claude 4.7 trở lên dùng tokenizer mới hơn, tạo ra nhiều hơn khoảng 30 phần trăm token cho cùng một văn bản.
Trong Claude Code, bạn có thể nhận được câu trả lời tương tự mà không cần dùng curl.
/contexthiển thị những gì hiện đang được load, bao gồm cả các file memory, để bạn xem phần dung lượng của chúng trong context window trước khi nhập bất kỳ nội dung nào./memoryliệt kê các file CLAUDE.md của bạn và mở thư mục auto memory./usagein ra tổng số liệu của session, bao gồm cache reads và cache writes.- Status line có thể liên tục hiển thị mức sử dụng context window, nên bạn thấy mức tăng ngay khi nó xảy ra.
Khối session /usage có dạng như sau:
Total cost: $0.55
Total duration (API): 6m 20s
Total duration (wall): 6h 33m 10s
Total code changes: 0 lines added, 0 lines removed
Usage by model:
claude-sonnet-4-6: 1.2k input, 5.3k output, 940.0k cache read, 50.0k cache write ($0.55)Đọc kỹ dòng cuối. Chỉ số 940.0k cache read là toàn bộ conversation, bao gồm memory, được gửi lại ở cache rate trong mỗi turn. Chỉ số 1.2k input chỉ là phần nội dung mới. Claude Code tính số tiền đó cục bộ dựa trên list price, nên không tính discount bạn được hưởng và có thể khác với invoice của bạn. Usage page trong Claude Console mới là số liệu chính thức.
Tiếp theo, hãy chạy phép so sánh trực tiếp. Đặt cùng một câu hỏi mở đầu trong 2 session mới, một session bình thường và một session đã tắt auto memory.
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 claudeChạy /context trong mỗi session và so sánh mục memory files. Chênh lệch là chi phí của memory đã tích lũy trong mỗi session, trước khi bất kỳ công việc nào bắt đầu. Phân tích đầy đủ các thành phần tạo nên mức sử dụng token của Claude Code là phần nên đọc tiếp theo cùng với 2 số liệu đó.
Chi phí phát lại memory trên mỗi triệu token là bao nhiêu?
Prompt caching là lý do cùng một memory block có thể tốn gấp mười lần trong một lượt này so với lượt khác. Anthropic công bố các mức giá cache dưới dạng bội số của giá input cơ bản của từng model, nên mối quan hệ này vẫn giữ nguyên ngay cả khi giá tính theo dollar thay đổi.
The data behind this chart
[
{
"label": "Base input",
"price_multiple": 1
},
{
"label": "5 minute cache write",
"price_multiple": 1.25
},
{
"label": "1 hour cache write",
"price_multiple": 2
},
{
"label": "Cache read",
"price_multiple": 0.1
}
]Đọc cache tốn 0.1 lần giá input cơ bản. Ghi một entry với thời gian tồn tại 5 phút tốn 1.25 lần giá cơ bản, còn thời gian tồn tại 1 giờ tốn 2 lần giá cơ bản. Anthropic nêu rõ điểm hòa vốn: caching có lợi sau một lần đọc cache với thời lượng 5 phút, hoặc sau hai lần đọc cache với thời lượng 1 giờ. Điểm hòa vốn của prompt caching là phép tính cần thực hiện trước khi quyết định memory nên đặt ở đâu.
Các bội số này giúp chuyển số lần phát lại thành phép tính số học. Khối tiếp theo chỉ là phép tính dựa trên các bội số đã công bố ở trên, không phải số đo của workload đang chạy. Khối này định giá một memory block theo ba cách trong một session 100 lượt, biểu diễn dưới dạng số token tương đương được tính theo giá input cơ bản.
The data behind this chart
[
{
"label": "4,000 tokens, never cached",
"base_rate_equivalent_tokens": "400,000"
},
{
"label": "4,000 tokens, 1 write and 99 reads",
"base_rate_equivalent_tokens": "44,600"
},
{
"label": "1,000 tokens, 1 write and 99 reads",
"base_rate_equivalent_tokens": "11,150"
}
]Một memory block 4,000 token bị cache miss trong cả 100 lượt sẽ được tính như 400,000 token theo giá cơ bản. Cùng block đó, nếu có một lần ghi cache 5 phút và 99 lần đọc cache, sẽ được tính như 44,600. Nếu giảm block xuống còn một phần tư kích thước và vẫn dùng caching, nó sẽ được tính như 11,150. Tính năng không thay đổi trong 3 hàng đó. Chỉ có cách phát lại thay đổi. Đây vẫn là số token, không phải số tiền, và chuyển số token thành số tiền trên hóa đơn hằng tháng chỉ cần nhân với mức giá trên mỗi triệu token của model. Mức giá đó do model bạn chạy quyết định, nên nếu agent sẽ chạy trên Claude Fable 5, hãy bắt đầu từ mức giá công bố trên mỗi triệu token của model đó và các workload phù hợp.
Hàng thứ hai giả định rằng mỗi request trong 99 request sau đều đến khi cache entry vẫn còn hiệu lực. Đây là giả định khiến phần lớn hóa đơn thực tế bị tính sai.
Vì sao cùng một câu hỏi lại tốn nhiều hơn sau khi tạm dừng?
Một mục cache có thời hạn tồn tại. Đồng hồ bắt đầu chạy từ request ghi hoặc đọc mục đó. Mặc định là 5 phút. Tùy chọn 1 hour có chi phí bằng 2x chi phí ghi được nêu ở trên. Trong Claude Code, thời hạn này là one hour với gói thuê bao và giảm xuống five minutes khi bạn dùng usage credits; với API key hoặc cloud provider, mặc định là five minutes. Thiết lập ENABLE_PROMPT_CACHING_1H=1 giữ thời hạn one hour khi bạn dùng usage credits.
Vì vậy, một câu hỏi chỉ có một dòng được nhập vào session mà bạn để mở trong giờ nghỉ trưa lại tốn nhiều, vì mục cache đã hết hạn trong lúc bạn vắng mặt. Toàn bộ prefix, bao gồm cả memory, được xử lý lại theo base input rate và ghi lại vào cache. Khoảng thời gian tạm dừng quyết định chi phí đó.
Bạn có thể xác nhận điều này thay vì chỉ tin vào giải thích trên. Với gói Pro, Max, Team hoặc Enterprise, phần phân tích /usage đánh dấu mọi hành vi chiếm từ 10 phần trăm usage gần đây trở lên. Cả long context và cache miss đều được hiển thị bằng đúng tên đó. Với API, hãy theo dõi cache_creation_input_tokens tăng trở lại bằng toàn bộ kích thước prefix trong request đầu tiên sau một khoảng thời gian không hoạt động.
Điều gì âm thầm làm cache mất hiệu lực
Prefix được cache có thứ tự: tools, sau đó là system, rồi messages. Thay đổi ở một cấp sẽ làm mất hiệu lực của cấp đó và mọi cấp phía sau. Chỉnh sửa định nghĩa tool sẽ xóa toàn bộ cache. Chỉnh sửa system prompt sẽ xóa cache của system và messages.
Đây là cái bẫy đối với những ai lưu memory trong system prompt rồi viết lại nó khi agent học thêm. Mỗi lần viết lại sẽ loại bỏ bản cache của mọi nội dung phía sau. Vì vậy, request tiếp theo lại phải trả toàn bộ chi phí ghi từ đầu. Đặt nội dung ổn định ở đầu và giữ nguyên nội dung đó. Đặt nội dung biến động ở cuối danh sách messages, nơi việc làm mất hiệu lực cache ít tốn kém hơn.
Có một lỗi thứ hai khó nhận thấy hơn. Mỗi model có độ dài prefix tối thiểu để được cache: 512 tokens trên Claude Opus 5, 1,024 trên Claude Sonnet 5 và 4,096 trên Claude Haiku 4.5, theo tài liệu được công bố vào tháng 8 năm 2026. Tài liệu của Anthropic nêu rõ điều xảy ra khi thấp hơn ngưỡng này: "Mọi request cố cache ít hơn số token này sẽ được xử lý mà không cache và không trả về lỗi." Vì vậy, một file memory nhỏ được đánh dấu bằng cache_control hoàn toàn không có tác dụng và cũng không báo lỗi. Dấu hiệu có thể quan sát là cache_creation_input_tokens vẫn ở mức 0 dù prompt của bạn rõ ràng có chứa một breakpoint.
Loại bỏ phần memory không còn giá trị
Mỗi dòng memory đều tiêu tốn token trong mọi lượt trao đổi có mang theo nó. Vì vậy, với mỗi dòng, hãy xem gần đây nó có làm thay đổi câu trả lời hay không. Claude Code đưa ra giới hạn cụ thể. Hãy giữ CLAUDE.md dưới 200 dòng, vì file dài hơn sẽ chiếm nhiều context hơn và làm Claude tuân thủ các hướng dẫn kém ổn định hơn. MEMORY.md bị giới hạn ở 200 dòng đầu tiên hoặc 25KB khi được nạp. Mọi nội dung vượt quá giới hạn này sẽ bị bỏ qua khi bắt đầu session tiếp theo. Vì vậy, một index quá lớn vừa tiêu tốn token vừa không cung cấp thêm thông tin hữu ích.
Hai thói quen giúp giữ file nhỏ. Chuyển phần chi tiết ra khỏi index và đưa vào các file theo chủ đề. Claude chỉ đọc các file này khi cần thay vì đọc ngay khi khởi động. Chuyển hướng dẫn workflow ra khỏi CLAUDE.md và đưa vào skills. Các skills này chỉ được nạp khi được gọi. Với các file memory đã có frontmatter ở đầu, Claude Code ghi thời điểm ghi file vào trường modified dưới dạng timestamp ISO 8601 trong version 2.1.214 trở lên. Timestamp này là cách nhanh nhất để phát hiện một thông tin đã lỗi thời. Loại bỏ memory agent lỗi thời trình bày quy trình rà soát chi tiết hơn.
Khi truy xuất hiệu quả hơn tải toàn bộ vào context
Memory tool dùng để hỗ trợ truy xuất đúng lúc. Thay vì tải mọi thứ ngay từ đầu, agent ghi lại những gì nó tìm hiểu được và chỉ đọc file khi một tác vụ cần đến. Điều này thay đổi cách tính, vì một lần đọc file chỉ tốn token một lần rồi nằm trong cached prefix, còn một block được tải cố định sẽ tốn chi phí ở mọi lượt.
Có thể rút ra một quy tắc đơn giản từ hai biểu đồ trên. Nội dung được dùng ở gần như mọi lượt nên nằm trong stable cached prefix. Nội dung chỉ được dùng 1 trên 20 lượt nên đặt sau một lệnh gọi view. Điểm hòa vốn thay đổi theo số lần replay của bạn, không phụ thuộc vào bất kỳ khoản phí nào Anthropic tính.
Trên API, bạn cũng có thể để platform tự cắt ngắn conversation. Context editing sẽ xóa kết quả tool cũ khi conversation vượt quá ngưỡng bạn đặt.
{
"edits": [
{
"type": "clear_tool_uses_20250919",
"trigger": {"type": "input_tokens", "value": 30000},
"keep": {"type": "tool_uses", "value": 3},
"clear_at_least": {"type": "input_tokens", "value": 5000}
}
]
}Mặc định, ngưỡng kích hoạt là 100,000 input token và giữ lại 3 lần dùng tool. Hãy đọc kỹ cách tương tác với caching trước khi bật tính năng này: xóa nội dung sẽ làm cached prefix mất hiệu lực tại vị trí bị xóa, vì vậy request tiếp theo sẽ phát sinh chi phí ghi cache. Đó là mục đích của clear_at_least. Nó trì hoãn việc xóa cho đến khi khoản tiết kiệm đủ lớn để bù cho chi phí ghi. Response báo chính xác những gì đã xảy ra trong context_management, cùng với cleared_tool_uses và cleared_input_tokens, nên bạn có thể đo lường trade-off thay vì chỉ suy đoán. Quản lý context window trong Claude Code áp dụng cùng nguyên tắc cho một phiên coding.
Dịch vụ nào có mục tính phí riêng
Memory không có mức phí riêng, nhưng một số tính năng thực sự có, và bạn nên biết đó là những tính năng nào. Đây là bảng giá Claude API được công bố tính đến tháng 8 năm 2026. Một số thao tác hoàn toàn không mất phí, nhưng Claude API không có free tier, chỉ có một khoản credit nhỏ khi đăng ký, nên mọi khoản dưới đây đều là chi phí thực tế ngay từ request đầu tiên.
- Web search: $10 cho mỗi 1,000 lượt tìm kiếm, cộng với chi phí token thông thường của toàn bộ nội dung mà kết quả tìm kiếm đưa vào context.
- Code execution: miễn phí 1,550 giờ cho mỗi organization mỗi tháng, sau đó tính $0.05 mỗi giờ cho mỗi container. Tính năng này miễn phí khi được dùng cùng web search hoặc web fetch.
- Claude Managed Agents: runtime của session là $0.08 cho mỗi giờ-session, cộng với các khoản phí token thông thường.
- Web fetch: không có phụ phí, chỉ tính chi phí token của nội dung được fetch.
Memory không xuất hiện trong bất kỳ mục nào ở trên. Nó được tính vào số lượng input token của bạn. Đây chính là nơi bạn có thể đo lường memory, đồng thời cũng là nơi pruning và caching có thể giảm chi phí. Nếu bạn đang lập ngân sách cho một agent chạy unattended trên virtual private server (VPS), các biện pháp kiểm soát chi phí cho AI agent trên VPS là việc tiếp theo cần triển khai, vì agent có file memory ngày càng lớn nhưng không pruning sẽ đắt hơn mỗi tuần mà không có gì báo cho bạn biết.
FAQ
Các tính năng memory của Claude có tính phí riêng không?
Không. Bảng giá của Anthropic tính theo mỗi triệu input token, mỗi triệu output token và các hệ số của prompt caching, không có mục tính phí riêng cho memory. Trên Claude API, memory tool chạy ở phía client, nên các file được lưu trên storage mà bạn đã trả phí. Memory chỉ làm tăng số input token; các token này được tính theo mức giá input thông thường của model trong mỗi lượt có gửi kèm chúng.
Tắt memory có làm Claude rẻ hơn không?
Việc này làm giảm số token của mỗi request, từ đó giảm chi phí của từng request. Việc có tiết kiệm được tổng chi phí hay không còn tùy vào bước tiếp theo. Nếu Claude phải đọc lại 3 file và hỏi bạn 2 câu để dựng lại thông tin mà memory đã lưu, số token đó có thể tốn nhiều hơn phần memory. Đừng đoán; hãy đo trực tiếp: chạy /context trong một session đã bật auto memory và trong một session được khởi động bằng CLAUDE_CODE_DISABLE_AUTO_MEMORY=1, rồi so sánh tổng số token đã dùng cho cùng một task.
Vì sao mức sử dụng tăng dù tôi không thay đổi gì?
Nguyên nhân thường gặp nhất là cache miss sau một khoảng tạm dừng. Cache entry mặc định tồn tại trong 5 phút, hoặc 1 giờ nếu bật extended setting. Vì vậy, request đầu tiên sau thời gian tạm dừng sẽ xử lý lại toàn bộ prefix theo mức giá input cơ bản và ghi lại prefix đó. Nguyên nhân phổ biến thứ hai là chỉnh sửa prefix: thay đổi tool definition sẽ invalidate toàn bộ cache, còn thay đổi system prompt sẽ invalidate system cache và message cache. Trên subscription plan, phần phân tích /usage sẽ nêu hành vi này khi nó chiếm từ 10 phần trăm usage gần đây trở lên.
Nên đặt memory trong system prompt hay gọi qua tool?
Đặt memory trong system prompt khi gần như mọi lượt đều dùng đến nó. Khi đó, memory nằm trong cached prefix và được tính theo mức giá cache read. Đặt memory phía sau một lệnh gọi view khi chỉ một số task cần đến nó. Một file chỉ được đọc 1 lần sẽ chỉ tính số token của file 1 lần, thay vì tính lại trong mọi lượt. Con số quyết định là replay count; object usage cung cấp trực tiếp con số này.
Các tính năng memory có được tính vào usage limit của subscription không?
Có, nhưng theo cách gián tiếp, vì subscription limit bị trừ theo số token mà mỗi request mang theo. Tài liệu trợ giúp của Anthropic nêu rằng các cuộc hội thoại dài kích hoạt automatic context management sẽ tiêu tốn nhiều hơn trong usage limit của bạn. Memory làm mỗi request dài hơn một chút, và session dài sẽ gửi lại độ dài đó trong mọi lượt. Cách usage limit của Claude thực sự hoạt động giải thích thời điểm từng giới hạn được reset.