Nguyên nhân làm quá trình nén dữ liệu Claude Code có chất lượng kém (và cách phòng tránh)

Khi quá trình nén dữ liệu gặp sự cố

🔄 Tóm tắt nhanh: Bài học 4 đã đề cập đến cơ chế nén dữ liệu - Claude tóm tắt cuộc hội thoại và thay thế toàn bộ lịch sử. Bạn đã học cách điều khiển quá trình nén bằng các hướng dẫn. Nhưng điều gì xảy ra khi bản tóm tắt bỏ sót thứ gì đó bạn cần?

Điều này phổ biến hơn bạn nghĩ, và nguyên nhân gốc rễ lại khá dễ khắc phục một khi bạn hiểu được nó.

Bẫy tự động nén dữ liệu

Claude Code tự động nén dữ liệu khi ngữ cảnh của bạn đạt khoảng 83% dung lượng. Nghe có vẻ hữu ích - nó đang quản lý ngữ cảnh cho bạn. Nhưng có một nghịch lý khó chịu:

Mô hình hoạt động kém thông minh nhất chính xác khi chức năng tự động nén dữ liệu được kích hoạt.

Ở mức sử dụng ngữ cảnh 83%, Claude đã xử lý một lượng lớn token trong mỗi lượt. Sự chú ý bị phân tán mỏng. Sự suy giảm ngữ cảnh đạt đỉnh điểm. Và bây giờ, bạn đang yêu cầu phiên bản Claude với sự chú ý bị suy giảm này đưa ra quyết định quan trọng nhất của phiên: Giữ lại cái gì và loại bỏ cái gì.

Nó giống như việc yêu cầu ai đó chuẩn bị hành lý cho một chuyến đi khi họ đã kiệt sức lúc 2 giờ sáng. Họ sẽ chỉ lấy những thứ hiển nhiên và bỏ sót những thứ thực sự cần.

Kiểm tra nhanh: Tại sao việc tự động nén ở mức 83% lại tệ hơn việc nén thủ công ở mức 50%?

Câu trả lời: Ở mức 50%, sự chú ý của Claude vẫn đủ sắc bén để viết một bản tóm tắt chất lượng cao. Ở mức 83%, sự suy giảm ngữ cảnh khiến Claude dễ đánh giá sai những gì quan trọng hơn.

Tại sao xảy ra những lần nén dữ liệu kém hiệu quả?

Thariq Shihipar đã xác định được mô hình cốt lõi: Các lần nén dữ liệu kém hiệu quả xảy ra khi mô hình không thể dự đoán hướng đi của công việc bạn đang làm.

Tình huống điển hình

Bạn đã gỡ lỗi sự cố đăng nhập trong 45 phút. Trong thời gian đó, Claude nhận thấy một cảnh báo lỗi thời trong bar.ts - chỉ đề cập đến nó một lần, ngắn gọn. Phiên làm việc tập trung chủ yếu vào lỗi đăng nhập.

Quá trình tự động nén được kích hoạt. Claude tóm tắt: "Đã điều tra lỗi đăng nhập trong auth.ts. Nguyên nhân gốc rễ là do token phiên đã hết hạn. Đã khắc phục bằng cách làm mới token trước khi xác thực"

Tin nhắn tiếp theo của bạn: "Bây giờ hãy sửa cảnh báo lỗi thời trong bar.ts mà chúng ta đã thấy trước đó".

Nhưng cảnh báo đó chỉ là thứ yếu trong toàn bộ quá trình gỡ lỗi. Nó chỉ được đề cập một lần trong 45 phút làm việc tập trung vào đăng nhập. Bản tóm tắt đã bỏ qua nó.

Tại sao điều này khó khắc phục?

Vấn đề là do cấu trúc, không phải là lỗi. Quá trình nén phải chọn những gì quan trọng. Và "những gì quan trọng" phụ thuộc vào những gì bạn làm tiếp theo, điều mà mô hình không thể thấy.

Khi bản tóm tắt được viết, lỗi đăng nhập là câu chuyện chính. Cảnh báo bar.ts chỉ là một chú thích. Chỉ có tin nhắn tiếp theo của bạn mới tiết lộ rằng chú thích đó thực sự là ưu tiên tiếp theo của bạn.

Giải pháp: Nén chủ động

Cộng đồng đã thống nhất một chiến lược ngăn chặn hầu hết các lỗi nén: Nén sớm, nén có chủ đích.

Quy tắc 50%

Đừng chờ đến khi nén tự động ở mức 83%. Chạy lệnh /compact khi sử dụng ngữ cảnh ở mức 50 - 60%, với hướng dẫn rõ ràng về những việc bạn dự định làm tiếp theo.

📋 Hãy thử mẫu này:

/compact tập trung vào tiến trình tái cấu trúc xác thực và danh sách các file đã sửa đổi. Tôi sắp viết các bài test, vì vậy hãy giữ lại bất kỳ ngữ cảnh nào liên quan đến kiểm tra. Bỏ qua việc gỡ lỗi thăm dò.

Ở mức 50%, Claude vẫn hoạt động tốt. Bản tóm tắt sẽ có chất lượng cao hơn. Và bạn đang cho nó biết chính xác những gì cần ưu tiên cho công việc sắp tới của bạn.

Nén tại các điểm dừng tự nhiên

Thời điểm tốt nhất để nén không phải là ở một tỷ lệ phần trăm - mà là ở một cột mốc:

  • Tính năng hoạt động → nén trước khi viết các bài test
  • Lỗi đã được sửa → nén trước khi chuyển sang nhiệm vụ tiếp theo
  • Giai đoạn nghiên cứu đã hoàn tất → nén với các kết luận trước khi triển khai
  • Một mô-đun con đã hoàn thành → nén để chỉ giữ lại các giao diện

Những điểm dừng tự nhiên này là thời điểm mà ngữ cảnh của bạn chuyển từ "mọi thứ về X" sang "bây giờ tôi cần Y". Việc nén ở đây giúp nắm bắt các kết luận của X đồng thời giải phóng không gian cho Y.

Kiểm tra nhanh: Hãy nêu hai điểm dừng tự nhiên mà việc nén có ý nghĩa.

Câu trả lời: Bất kỳ hai trong số những thứ sau: Tính năng hoàn thành, lỗi được sửa, nghiên cứu đã hoàn thành, mô-đun con đã hoàn thành, chuyển từ giai đoạn khám phá sang giai đoạn triển khai.

Thực hành: Bài tập nén chủ động

Trong phiên Claude Code tiếp theo của bạn:

  1. Kiểm tra mức sử dụng ngữ cảnh sau 15-20 phút làm việc (/cost hiển thị mức sử dụng token)
  2. Khi bạn đạt 40-50%, hãy chạy /compact với gợi ý về nhiệm vụ tiếp theo của bạn
  3. Tiếp tục làm việc và để ý xem phiên làm việc diễn ra như thế nào so với cách tiếp cận thông thường của bạn là "cứ để nó chạy cho đến khi gặp sự cố"

Sự khác biệt thường rõ ràng sau 30 phút. Các phiên làm việc với việc nén chủ động sẽ duy trì hiệu quả lâu hơn.

Quy tắc nén CLAUDE.md

Bạn có thể tự động hóa hành vi nén bằng cách thêm các quy tắc vào CLAUDE.md của mình:

📋 Thêm prompt này vào CLAUDE.md của dự án:

Khi nén, luôn giữ lại toàn bộ danh sách các file đã được sửa đổi, bất kỳ lệnh kiểm thử nào đã được chạy và mục tiêu tác vụ hiện tại. Loại bỏ dấu vết ngăn xếp, đầu ra nhật ký chi tiết và nội dung file có thể đọc lại.

Claude tuân theo các quy tắc này trong cả quá trình nén thủ công và tự động, điều này có nghĩa là ngay cả khi quá trình tự động nén bắt đầu ở mức 83%, bản tóm tắt sẽ ưu tiên những gì bạn đã chỉ định.

Những điểm chính cần ghi nhớ

  • Quá trình tự động nén bắt đầu ở mức ~83% - thời điểm tồi tệ nhất có thể do lỗi ngữ cảnh
  • Các lần nén kém chất lượng xảy ra khi mô hình không thể dự đoán hướng tác vụ tiếp theo của bạn
  • Giải pháp: Nén chủ động ở mức 50-60% với hướng dẫn kiểm soát
  • Nén tại các điểm ngắt tự nhiên (tính năng đã hoàn thiện, lỗi đã được sửa, nghiên cứu đã hoàn tất)
  • Các quy tắc nén CLAUDE.md giúp ngay cả tính năng tự động nén hoạt động tốt hơn

Hãy thử ngay: Kích hoạt nén chủ động + Quy tắc CLAUDE.md!

Hai artifact sẽ được phát hành hôm nay. Prompt A là trình kích hoạt nén chủ động - dán nó vào giữa phiên khi bạn đạt mức sử dụng 50-60%. Artifact B là quy tắc CLAUDE.md bạn thêm một lần và quên đi.

Prompt A - Trình kích hoạt nén chủ động (dán khi mức sử dụng 50-60%):

Trước khi tôi chạy /compact, hãy tạo kế hoạch nén. Tôi muốn nén NGAY BÂY GIỜ, không đợi tính năng tự động nén ở mức 83% khi mà sự xuống cấp ngữ cảnh đã ảnh hưởng đến chất lượng.

Trạng thái hiện tại:
- Mức độ sử dụng ngữ cảnh (ước tính): []
- Giai đoạn công việc (khám phá / quyết định / triển khai / gỡ lỗi / hoàn thiện): []
- Nhiệm vụ đang thực hiện dở dang: []
- Các file hiện đang được chỉnh sửa: []
- Các quyết định đã được khóa trong phiên này (kèm lý do): []
- Các ràng buộc đã được chấp nhận trong phiên này: []
- Các mục đã bị loại trừ trong phiên này kèm lý do: []
- 3 bước tiếp theo cụ thể tôi dự định thực hiện: []

Tạo lệnh /compact, được kiểm soát:

/compact tập trung vào:
- Nhiệm vụ + 3 bước tiếp theo cụ thể
- Các file đang được chỉnh sửa + vai trò 1 dòng cho mỗi file
- Các quyết định đã được khóa kèm lý do
- Các ràng buộc đã được chấp nhận
- Các mục đã bị loại trừ rõ ràng (để tránh tranh luận lại)

Loại bỏ:
- Các nhánh khám phá bị bỏ dở không thành công
- Kết quả đầu ra của công cụ đã bị thay thế
- Dấu vết ngăn xếp đã được giải quyết
- Các lần đọc file dài đối với các file mà chúng ta không còn sửa đổi

Giữ lại nguyên văn:
- Thông báo lỗi chính xác hiện đang liên quan
- Biểu thức chính quy / lược đồ / ID / tên kiểm thử / đường dẫn file
- Bất kỳ ràng buộc nào do người dùng cung cấp mà tôi muốn giữ nguyên từng từ

Ngoài ra, hãy viết ghi chú bàn giao mà tôi lưu vào .claude/notes/ TRƯỚC KHI nén (để việc nén không phải là bản sao duy nhất của những thứ cần thiết):

Nhiệm vụ: []
Các file đã được xử lý: []
Các quyết định đã được khóa: []
Các câu hỏi chưa được giải đáp: []
Bước tiếp theo: []

QUY TẮC BẮT BUỘC:
- Không bao giờ nén giữa chừng khi đang gỡ lỗi nếu việc tái tạo lỗi phụ thuộc vào trạng thái chính xác mà sẽ bị mất
- ​​Không bao giờ nén nếu công việc chưa được cam kết có tải đang được thực hiện — hãy cam kết hoặc lưu ghi chú trước
- Không bao giờ diễn giải lại lược đồ / biểu thức chính quy / ID — chúng phải được giữ nguyên nguyên văn
- Nếu phiên làm việc chứa thông tin đăng nhập, API key, tài liệu client NDA, hãy cho tôi biết những dòng nào KHÔNG được đưa vào ghi chú mà tôi dự định cam kết
- Nếu phiên làm việc bao gồm các thao tác phá hủy (đẩy bắt buộc, reset, xóa, rm -rf), hãy hiển thị những thao tác chưa được giải quyết TRƯỚC KHI nén

Artifact B - Quy tắc nén CLAUDE.md (dán vào dự án CLAUDE.md một lần):

## Quy tắc nén (cho /compact VÀ autocompact)

Khi tóm tắt phiên này, luôn LUÔN GIỮ LẠI:
- Mục tiêu của tác vụ hiện tại (một câu)
- Tất cả các file đã được sửa đổi, mỗi file có mục đích một dòng
- Mọi quyết định đã khóa cùng với lý do của nó
- Mọi ràng buộc đã được chấp nhận (công nghệ, bảo mật, thương hiệu, lịch trình)
- Mọi tùy chọn bị loại trừ rõ ràng và lý do
- Các thông báo lỗi chính xác vẫn đang được điều tra
- Regex / lược đồ / SQL / ID / tên kiểm thử / đường dẫn file CHÍNH XÁC — không diễn giải lại
- Bất kỳ lệnh nào có tác dụng phụ (chạy di chuyển, kích hoạt triển khai, xoay vòng key)
- Bất kỳ thao tác phá hoại nào có kết quả chưa được xác nhận

Khi tóm tắt phiên này, luôn LUÔN XÓA BỎ:
- Các nhánh khám phá bị bỏ rơi không thành công
- Đầu ra công cụ đã bị thay thế
- Dấu vết ngăn xếp đã được giải quyết
- Đọc các file không chỉnh sửa dài dòng
- Lạc đề không liên quan đến nhiệm vụ hiện tại

TUYỆT ĐỐI KHÔNG được làm trong quá trình nén:
- Tự bịa ra nội dung không có trong cuộc hội thoại
- Gộp hai quyết định mâu thuẫn thành một dòng "chúng ta đã quyết định" — làm nổi bật sự mâu thuẫn
- Bỏ mô tả công việc chưa được cam kết — nếu code chỉ tồn tại trong phiên làm việc, hãy mô tả nó trước khi bỏ
- Diễn giải lại hướng dẫn của người dùng mà lẽ ra phải là các quy tắc cứng nhắc
- Xóa bỏ thông tin tiết lộ về thông tin xác thực / thỏa thuận bảo mật / nội dung bị kiểm soát — những thông tin này cần có ghi chú "không được cam kết"

Sau khi nén, nhắc người dùng:
"Quá trình nén hoàn tất. Xem lại bản tóm tắt để biết bất kỳ ngữ cảnh nào bị mất. Nếu thiếu bất kỳ thông tin quan trọng nào, hãy tua lại và lưu ghi chú bàn giao trong .claude/notes/ trước khi nén lại."

Những gì bạn sẽ thấy: Các bản nén chủ động bảo toàn những chi tiết cụ thể xác định công việc, cộng với một quy tắc CLAUDE.md giúp ngay cả việc tự động nén khẩn cấp cũng hoạt động - để các phiên làm việc Claude Code kéo dài 2 giờ của bạn không còn biến thành "khoan, chúng ta đang làm gì vậy?".

Thứ Hai, 27/04/2026 16:39
51 👨 11
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
    ❖ Claude Code