Auto Compact trong Claude Code là gì?

CometAPI
AnnaMar 31, 2026
Auto Compact trong Claude Code là gì?

Claude Code là trợ lý lập trình tự chủ của Anthropic, có thể đọc codebase, chỉnh sửa tệp, chạy lệnh và tích hợp với công cụ trong quy trình làm việc trên terminal, IDE, ứng dụng desktop và trình duyệt. Vì nó hoạt động trong một cửa sổ ngữ cảnh dùng chung, các phiên dài cuối cùng sẽ đầy lịch sử chat, đầu ra tệp và “tiếng ồn” từ công cụ. Claude Code quản lý việc này tự động bằng cách nén lịch sử hội thoại khi bạn tiến gần giới hạn, và các hướng dẫn ban đầu có thể bị mất nếu chúng chỉ tồn tại trong lịch sử chat.

Điều đó càng quan trọng hơn vào năm 2026 vì Anthropic tiếp tục hướng Claude Code tới các tác vụ dài hơn, tự chủ hơn. Ngày 25 tháng 3 năm 2026, Anthropic công bố “Claude Code auto mode: a safer way to skip permissions,” cho biết người dùng chấp thuận 93% lời nhắc cấp quyền và mô tả auto mode là phương án trung gian dựa trên bộ phân loại giữa phê duyệt thủ công và bỏ qua quyền không an toàn. Ngày 5 tháng 2 năm 2026, Anthropic cũng ra mắt Claude Opus 4.6, nhấn mạnh khả năng lập trình mạnh hơn, gỡ lỗi tốt hơn và các phiên tác vụ dài hơn. Những cập nhật đó không giống auto compact, nhưng chúng cho thấy rõ định hướng sản phẩm: ít gián đoạn hơn, phiên dài hơn và tính liên tục đáng tin cậy hơn.

CometAPI hiện cung cấp quyền truy cập Claude API với giá thấp hơn API chính thức, ví dụ Claude Sonnet 4.6, Claude Opus 4.6, và Claude 5.

Auto-compact trong Claude Code thực sự có ý nghĩa gì

Auto Compact là cơ chế tối ưu hóa ngữ cảnh tích hợp trong Claude Code (CLI/ứng dụng desktop của Anthropic) và hệ sinh thái Claude API rộng hơn. Nó tự động can thiệp khi cuộc hội thoại của bạn tiến gần trần cửa sổ ngữ cảnh của mô hình—thường khoảng 200.000 token với các mô hình đầu bảng như Claude Opus 4 hoặc Sonnet 4. Tài liệu hooks nêu rõ: PreCompact kích hoạt trước một thao tác nén, và bộ khớp auto nghĩa là “tự động nén khi cửa sổ ngữ cảnh đầy.” Hook tương ứng PostCompact kích hoạt sau khi nén hoàn tất và nhận compact_summary được tạo ra.

Điều này quan trọng vì nén (compaction) không giống “ghi nhớ.” Auto memory là hệ thống ghi chú tự động của Claude, còn compaction là cơ chế quản lý phiên nén trạng thái hội thoại đang hoạt động. Tài liệu về memory nói rõ CLAUDE.md là bền vững, auto memory do Claude ghi, và compaction là thời điểm lịch sử hội thoại của phiên được rút gọn để mô hình có thể tiếp tục làm việc.

Thay vì buộc mở chat mới (và mất lịch sử) hoặc để mô hình “quên” các chi tiết quan trọng, Auto Compact:

  1. Phân tích toàn bộ lịch sử — xác định những thành phần cốt lõi cần giữ lại.
  2. Tạo bản tóm tắt súc tích — quyết định, kiến trúc mã, lỗi đã xử lý, trạng thái tệp và bước tiếp theo.
  3. Thay thế các tin nhắn cũ — bằng bản tóm tắt này (một “khối nén” theo thuật ngữ API).
  4. Tiếp tục liền mạch — với ngữ cảnh được bảo tồn.

Các số liệu then chốt (2026):

  • Ngưỡng kích hoạt: Mặc định ~95% dung lượng (hoặc còn lại ~25%). Một số người dùng cho biết có bộ đệm nội bộ dành 20–45k token (~22,5% ngữ cảnh) cho chính quá trình nén.
  • Cải thiện hiệu năng: Từ Claude Code v2.0.64, nén “tức thời” thay vì mất vài phút.
  • Ví dụ tiết kiệm token (từ benchmark Claude Agent SDK): Một quy trình 5 ticket giảm từ 204k xuống 82k token đầu vào (tiết kiệm 58,6%) với hai lần nén.

Auto Compact không giống /clear (xóa sạch mọi thứ) hay cắt bớt đơn thuần. Nó giữ lại những thứ quan trọng—diff mã gần đây, quyết định kiến trúc, quy ước đặt tên—đồng thời cô đọng các vòng gỡ lỗi đã giải quyết và những ngả rẽ thăm dò.

Vì sao dùng Auto Compact trong Claude Code?

Các phiên lập trình dài là điều bình thường. Một tính năng có thể kéo dài hơn 50 lượt: lập kế hoạch, gỡ lỗi, tái cấu trúc, kiểm thử. Nếu không nén, số token dùng tăng tuyến tính, chất lượng phản hồi suy giảm, và chi phí tăng vọt.

Với nhà phát triển, phần thưởng là đỡ mệt mỏi vì phải khởi động lại. Thay vì tóm tắt thủ công rồi mở phiên mới, bạn để Claude nén phiên và tiếp tục. Điều này đặc biệt hữu ích trong sửa lỗi, refactor nhiều tệp, thay đổi theo hướng dẫn kiểm thử, và quy trình giàu hoạt động review nơi cuộc trò chuyện có thể rất dài. Phiên Claude Code bắt đầu với cửa sổ ngữ cảnh mới, vì vậy nén là một trong các cơ chế chính giúp công việc dài hơi trở nên khả thi.

Lợi ích cốt lõi

  • Độ dài phiên gần như không giới hạn: Tiếp tục vô thời hạn mà không phải bắt đầu lại.
  • Hiệu quả chi phí & hiệu năng: Giảm mạnh token đầu vào. Báo cáo thực tế cho thấy tiết kiệm 50–60% trong quy trình nhiều giai đoạn.
  • Tập trung và ổn định tốt hơn: Ngăn “quá tải ngữ cảnh” khiến mô hình tạo “ảo giác” hoặc quên ràng buộc trước đó.
  • Bảo tồn tri thức tổ chức: Quyết định then chốt vẫn nằm trong ngữ cảnh sau hàng trăm tin nhắn.
  • Liền mạch cho quy trình tác tử: Quan trọng khi dùng công cụ, máy chủ MCP, hoặc thiết lập đa tác tử trong Claude Code.

Khi nào nên dựa vào auto compact?

Dùng auto compact khi nhiệm vụ vốn dĩ dài hơi: refactor nhiều tệp, phiên gỡ lỗi qua lại giữa log và mã nguồn, triển khai tính năng với xác minh lặp lại, hoặc nghiên cứu cần nhiều lần gọi công cụ. Tài liệu của Anthropic chỉ rõ các phiên dài nơi cửa sổ ngữ cảnh đầy bởi cuộc trò chuyện không liên quan, nội dung tệp và lệnh, và nói auto compaction giữ lại mã và quyết định quan trọng trong khi giải phóng dung lượng.

Nó bớt phù hợp khi nhiệm vụ ngắn, độc lập, hoặc yêu cầu hướng dẫn chính xác cần giữ vĩnh viễn. Những hướng dẫn ở đầu cuộc trò chuyện có thể bị mất sau khi nén, vì vậy quy tắc dự án nên nằm trong CLAUDE.md, không phải trong một prompt tạm bợ có thể bị nén đi.

Khi nào nên dùng (hoặc bật) nó:

  • Mặc định luôn bật với hầu hết người dùng — lý tưởng cho lập trình hàng ngày, refactor lớn, hoặc dự án thăm dò.
  • Nhiệm vụ dài hạn — xử lý hàng đợi, pipeline dữ liệu, hoặc codebase nhiều tệp.
  • Môi trường nhóm/doanh nghiệp — nơi tính liên tục ngữ cảnh giữa các phiên quan trọng.
  • Dự án rủi ro cao — nơi đánh mất một quyết định kiến trúc có thể tốn hàng giờ.

Khi nào cân nhắc tắt (qua /config):

  • Bạn muốn từng token ngữ cảnh cho kiểm soát cực kỳ chính xác.
  • Bạn thích quản lý hoàn toàn thủ công (người dùng nâng cao tự lưu/khôi phục kế hoạch qua tệp).

Tin mới (2025–2026): Tháng 3 năm 2025, Anthropic cải thiện logic bảo tồn của Auto Compact, giúp tóm tắt thông minh hơn khi giữ “thông tin quan trọng trong khi giảm token.” Cuối 2025, cơ chế kích hoạt được tinh chỉnh (đôi khi sớm ở mức 64–75% để tránh nén lỗi). Đầu 2026 có lỗi tạm thời trên web/desktop (được đánh dấu sửa giữa tháng 1 nhưng vẫn có báo cáo lẻ), trong khi CLI ổn định. Phiên bản 2.0.64 (tháng 2 năm 2026) làm cho nén tức thời, cải thiện lớn trải nghiệm nhà phát triển.

Cách dùng Auto Compact trong Claude Code: Hướng dẫn từng bước

Claude Code được thiết kế để mỗi phiên bắt đầu với cửa sổ ngữ cảnh mới. Điều đó hữu ích vì mỗi nhiệm vụ mới bắt đầu sạch sẽ, và cũng dễ nhận thấy khi phiên trở nên ồn ào. Khuyến nghị dùng /clear giữa các nhiệm vụ không liên quan để ngữ cảnh cũ không tiếp tục chiếm chỗ.

Bước 1: Kiểm tra trạng thái ngữ cảnh hiện tại

Dùng /context để hình dung mức tải ngữ cảnh hiện tại. Danh sách lệnh tích hợp của Claude Code cho biết /context hiển thị một lưới màu và nêu bật tình trạng phình to của bộ nhớ, gợi ý tối ưu hóa và cảnh báo dung lượng. Đây là cách nhanh nhất để biết bạn có tiến gần điểm auto compaction hay không.

Trong phiên Claude Code của bạn, nhập:

/context

Màn hình hiển thị “Context left until auto-compact: XX%” — thanh tiến độ theo thời gian thực của bạn.

Bước 2: Cấu hình Auto-Compact (Tùy chọn)

Khi cửa sổ ngữ cảnh đầy, Claude Code sẽ tự động nén cuộc trò chuyện. Tài liệu hooks gán nhãn sự kiện này là auto, và nó kích hoạt khi cửa sổ ngữ cảnh đầy. Trên thực tế, bạn không “bật” auto compact nhiều bằng việc để Claude Code thực hiện khi cần.

/config

Đi tới “Auto-compact enabled” và bật/tắt. Mặc định là enabled. Bạn cũng có thể điều chỉnh các thiết lập liên quan như việc dùng máy chủ MCP để chủ động giải phóng token.

Bước 3: Để Auto-Compact chạy tự động

Khi chạm ~95%:

  • Claude hiển thị “Compacting our conversation so we can keep chatting…” (hoặc tương tự).
  • Nó chạy nền rồi tiếp tục.
  • Bạn sẽ thấy bản tóm tắt mới ở đầu ngữ cảnh.

Mẹo: Đừng đợi tới 0%. Hãy nén thủ công sớm hơn để có kết quả tốt hơn (xem thực hành tốt bên dưới).

Bước 4: Dùng hooks nếu muốn tự động hóa các hành động quanh quá trình nén

Claude Code cung cấp cả PreCompactPostCompact hooks. Tài liệu hook cho thấy PreCompact có thể phát hiện nén là thủ công hay tự động, và PostCompact nhận compact_summary được tạo. Điều này khiến hooks phù hợp để ghi log, lưu vết, ghi chú sau nén, hoặc tự động hóa bên ngoài.

Một mẫu hook đơn giản như sau:

{  "hooks": {    "PostCompact": [      {        "matcher": "auto",        "hooks": [          {            "type": "command",            "command": "./scripts/save-compact-summary.sh"          }        ]      }    ]  }}

Và script shell tương ứng có thể đọc JSON từ stdin, vì các command hook của Claude Code nhận JSON theo cách đó:

#!/usr/bin/env bashset -euo pipefailjq -r '.compact_summary // empty' \  | sed 's/^/[compact] /' \  >> .claude/compact-log.txt

Tài liệu xác nhận rằng command hook nhận JSON qua stdin, và PostCompact bao gồm compact_summary, nên mẫu này phù hợp với mô hình hook hiện tại.

Bước 5: Nén thủ công với độ chính xác (Khuyến nghị)

Dùng /compact khi bạn muốn trợ lý nén luồng ngay bây giờ. Bạn có thể kèm hướng dẫn định hình nội dung tóm tắt cần giữ. Trang lệnh tích hợp của Anthropic liệt kê /compact [instructions] là “Nén cuộc trò chuyện với hướng dẫn tập trung tùy chọn,”

/compact keep the auth flow decisions, the current test plan, and the open TODOs

Mẫu này hữu ích ngay trước bàn giao, trước khi chuyển nhánh, hoặc trước khi bạn yêu cầu Claude bắt đầu giai đoạn làm việc mới.

Ví dụ từ sử dụng thực tế:

  • After debugging: /compact keep the solution we found, remove debugging steps
  • Project milestone: /compact focus on the new feature requirements

Compaction ở cấp API (Nâng cao – Python SDK & Messages API)

Đối với agent hoặc script tùy biến, dùng các công cụ nén chính thức.

Ví dụ Claude Agent Python SDK (tự động cho các quy trình dùng công cụ):

from anthropic import Anthropic

client = Anthropic()

runner = client.beta.messages.tool_runner(
    model="claude-opus-4-6",
    max_tokens=4096,
    tools=your_tools,
    messages=messages,
    compaction_control={
        "enabled": True,
        "context_token_threshold": 100000,  # or lower for aggressive compaction
        "model": "claude-haiku-4-5",        # cheaper summarizer
        "summary_prompt": """Create a focused summary preserving:
1. COMPLETED TASKS and key outcomes
2. CURRENT STATE and open items
3. NEXT STEPS
Wrap in <summary></summary> tags."""
    }
)

Phát hiện các sự kiện nén:

if curr_msg_count < prev_msg_count:
    print(f"Compaction occurred! Messages reduced from {prev_msg_count} to {curr_msg_count}")
```<grok-card data-id="f4afb5" data-type="citation_card" data-plain-type="render_inline_citation" ></grok-card>

**Full Messages API (beta, 2026)** – yêu cầu header:
```bash
curl https://api.anthropic.com/v1/messages \
  --header "anthropic-beta: compact-2026-01-12" \
  --data '{
    "model": "claude-opus-4-6",
    "messages": [...],
    "context_management": {
      "edits": [{
        "type": "compact_20260112",
        "trigger": {"type": "input_tokens", "value": 150000},
        "pause_after_compaction": true
      }]
    }
  }'

API trả về một khối nén bạn phải chuyển kèm trong các lần gọi tiếp theo. Hướng dẫn tùy biến và tạm dừng cho phép kiểm soát đầy đủ ngân sách (ví dụ: áp hạn mức tổng 3M token trên nhiều phiên).

Nếu bạn dùng Claude API của CometAPI, hãy đổi header message thành "https://api.cometapi.com/v1/messages\\".

Auto-Compact vs Manual Compact vs Clear: Bảng so sánh

Tính năngAuto-CompactThủ công /compact/clear
Kích hoạtTự động (~95% ngữ cảnh)Người dùng chủ độngNgười dùng chủ động
Mức kiểm soátThấp (hệ thống quyết định)Cao (hướng dẫn tùy biến)Không (đặt lại hoàn toàn)
Bảo tồn ngữ cảnhTốt (gần đây + mục quan trọng)Xuất sắc (bạn chỉ đạo chính xác)Không có
Tiết kiệm tokenCao (58%+ theo benchmark)Cao + có thể dự đoánTối đa (nhưng mất lịch sử)
Gián đoạn quy trìnhTối thiểu nếu tức thời; có thể khựngKhông (bạn chọn thời điểm)Đặt lại hoàn toàn
Phù hợp nhất choPhiên dài, ít can thiệpCột mốc chiến lược & người dùng proBắt đầu dự án mới
Rủi roĐôi khi mất sắc thái (lỗi ban đầu)KhôngMất toàn bộ công việc trước
Mức độ trưởng thành 2026Ổn định & tức thời (v2.0.64+)Rất được cộng đồng khuyến nghịLuôn sẵn có

Thực hành tốt cho Claude Code Auto Compact (Mẹo từ dev)

Nén chủ động

Quy tắc thứ ba là dùng nén như một lần “reset”, không phải cái nạng. Nếu luồng đầy ngõ cụt, hãy yêu cầu Claude nén với hướng dẫn rõ về điều quan trọng: mục tiêu hiện tại, cách tiếp cận đã chọn, bài kiểm thử đang lỗi và câu hỏi chưa giải quyết. Thực tế, điều đó làm bản tóm tắt hữu ích hơn nhiều so với để hệ thống nén mù và cầu may.

Giữ hướng dẫn bền vững của bạn ngắn gọn.

Anthropic nói các tệp trên 200 dòng có thể làm giảm mức tuân thủ, vì vậy các khối chính sách lớn thường tệ hơn những quy tắc cô đọng, phạm vi rõ ràng. Dùng .claude/rules/ cho hành vi theo loại tệp hoặc đường dẫn, và dùng import @path khi bạn cần thông tin hỗ trợ phong phú mà không làm phình tệp hướng dẫn chính.
Giải phóng token trước — Tắt các máy chủ MCP không dùng bằng /mcp hoặc @server-name disable trước khi nén.

Kết hợp với CLAUDE.md

Xem CLAUDE.md là nguồn chân lý cho mọi thứ bạn muốn sống sót qua phiên dài. CLAUDE.md được đọc lại sau /compact, khiến nó là nơi đúng cho lệnh build, quy ước mã, và các quy tắc bền vững bạn không muốn mất. Auto memory cũng hữu ích, nhưng đó là hệ thống khác với mục đích khác.

Mẹo khác

Theo dõi bằng /context — Cố giữ mức sử dụng dưới 70–80% nếu có thể.

Với người dùng API — Đặt ngưỡng thấp hơn (ví dụ 50k–100k) và dùng mô hình tóm tắt rẻ hơn như Haiku.

Chỉ tắt khi cần — Hầu hết dev nay khuyến nghị giữ Auto-Compact bật sau các cải tiến 2025.

Thử nén — Trong các phiên không quan trọng trước để xem workflow của bạn được tóm tắt thế nào.

Tác động thực tế: Dev báo cáo phiên làm việc hiệu quả dài hơn 2–3 lần và ít khoảnh khắc “Claude quên mình đang làm gì” hơn.

Vấn đề thường gặp & Khắc phục (Ấn bản 2026)

  • Auto-compact không kích hoạt: Kiểm tra web/desktop so với CLI; một số lỗi tháng 1/2026 đã được sửa nhưng hãy xác minh phiên bản.
  • Mất ngữ cảnh sau khi nén: Lần sau dùng /compact với hướng dẫn rõ ràng.
  • Vòng lặp vô hạn hoặc 102% sử dụng: Hiếm; khởi động lại phiên hoặc dùng /clear như phương án cuối.
  • Nén chậm: Lỗi trước v2.0.64 — hãy cập nhật Claude Code.
  • Lỗi khối nén API: Luôn đính kèm đầy đủ nội dung khối nén trong các lần gọi tiếp theo.

Kết luận

Auto compact là một trong những cơ chế ẩn quan trọng nhất của Claude Code vì nó giữ cho các phiên lập trình dài có thể sử dụng được mà không buộc bạn khởi động lại mỗi khi cửa sổ ngữ cảnh đầy. Quy tắc thực tế rất đơn giản: để auto compact xử lý phần tràn, dùng /compact khi bạn muốn kiểm soát, lưu hướng dẫn bền vững trong CLAUDE.md, và dùng /clear hoặc /rewind khi cấu trúc phiên thay đổi. Kết hợp đó cho bạn sự cân bằng tốt nhất giữa tính liên tục, kiểm soát và tốc độ trong các quy trình Claude Code dài hơi.

Auto Compact trong Claude Code thể hiện một bước tiến trong phát triển được hỗ trợ bởi AI. Bằng cách quản lý thông minh cửa sổ ngữ cảnh 200k token, nó loại bỏ điểm cản trở lớn nhất của lập trình dài hạn: hết “bộ nhớ.” Với hiệu năng tức thời (2026), tùy biến phong phú và mở rộng API mạnh mẽ, đây nay là tính năng trưởng thành, chiến đấu thực tế, được hàng nghìn dev dùng mỗi ngày.

Các bước hành động hôm nay:

  1. Mở Claude Code và chạy /config — xác nhận Auto-Compact đang bật.
  2. Thử /compact thủ công với hướng dẫn gắn với dự án hiện tại của bạn.
  3. Khám phá Python SDK hoặc Messages API cho agent tự động hóa trong CometAPI.

Truy cập các Mô hình Hàng đầu với Chi phí Thấp

Đọc thêm