Đây là những gì bài học này dạy bạn: Một framework quyết định mà bạn có thể nắm vững chỉ trong một lần và sử dụng trong suốt sự nghiệp Claude Code của mình.
Phổ bảo toàn ngữ cảnh
5 thao tác nằm trên một phổ từ "giữ lại mọi thứ" đến "không giữ lại gì cả":
Thao tác
Những gì vẫn giữ nguyên bối cảnh
Những thứ bị bỏ qua
Continue
Mọi thứ - tất cả tin nhắn, công cụ, file
Không có gì
Rewind
Mọi thứ trước điểm tua lại
Mọi thứ sau đó
Subagent
Ngữ cảnh cha vẫn được giữ nguyên; subagent có ngữ cảnh đầy đủ riêng của nó
Công việc trung gian của subagent (chỉ trả về kết quả)
/compact
Bản tóm tắt do Claude viết
Lịch sử chi tiết (đã được thay thế bằng tóm tắt)
/clear
Không có gì (bạn viết một bản tóm tắt mới)
Mọi thứ
Đọc từ trái sang phải, bạn đang đánh đổi chi tiết ngữ cảnh lấy sự gọn gàng của ngữ cảnh. Câu hỏi luôn là: Bao nhiêu phần trong ngữ cảnh hiện tại của tôi vẫn còn hữu ích cho những gì tôi sắp làm?
✅ Kiểm tra nhanh: Nếu ngữ cảnh của bạn chứa 70% công việc gỡ lỗi và bạn muốn chuyển sang viết tài liệu, bạn nên nhắm đến phía nào của phổ?
Câu trả lời: Phía bên phải - /clear hoặc /compact, vì ngữ cảnh gỡ lỗi hầu như không liên quan đến việc viết tài liệu.
Bảng quyết định
Đây là framework mà nhóm của Anthropic sử dụng. Hãy ghi nhớ điều này và bạn sẽ chọn đúng bước đi một cách bản năng:
Tình huống
Hãy chọn
Lý do
Cùng một nhiệm vụ, nhưng bối cảnh vẫn liên quan
Continue
Mọi thứ trong cửa sổ vẫn còn hữu dụng - đừng tốn chi phí để xây dựng lại nó
Claude đã đi sai đường
Rewind (Esc Esc)
Giữ lại các thao tác đọc file và thiết lập hữu ích, loại bỏ các thao tác không thành công
Đang trong quá trình làm việc, phiên làm việc có cảm giác bị quá tải
/compact \<hint>
Ít tốn công sức; Claude quyết định điều gì quan trọng. Có thể gợi ý nếu cần
Bắt đầu một nhiệm vụ hoàn toàn mới
/clear
Không có gì thoái hóa; bạn kiểm soát chính xác những gì được giữ lại trong bản tóm tắt của mình
Phần tiếp theo sẽ tạo ra rất nhiều đầu ra trung gian mà bạn không cần đến
Subagent
Bối cảnh mới cho công việc, chỉ có kết luận là được giữ nguyên
Điểm mấu chốt: Lựa chọn mặc định (Continue) chỉ đúng khoảng một nửa số lần. Nửa còn lại, 1 trong 4 lựa chọn khác sẽ giúp bạn có một phiên làm việc hiệu quả hơn.
Ví dụ minh họa: Một phiên làm việc thực tế
Hãy cùng xem xét một phiên lập trình kéo dài 45 phút và xem mỗi lựa chọn được áp dụng như thế nào.
9:00 - Bạn bắt đầu một phiên làm việc. Claude đọc cấu trúc dự án và các file chính của bạn. (Continue ổn - bạn vẫn đang làm quen).
9:10 - Claude xây dựng một API endpoint. Hoạt động rất tốt. Bạn muốn thêm xác thực vào đó. (Continue - ngữ cảnh API rất quan trọng.)
9:20 - Claude cố gắng triển khai xác thực JWT nhưng sử dụng một mẫu thư viện lỗi thời. Nó không hoạt động. (Rewind - trở lại ngay sau khi API endpoint hoạt động. Yêu cầu lại với thư viện chính xác).
9:30 - Xác thực hoạt động. Phiên làm việc hiện đã có 40 phút ngữ cảnh. Bạn nhận thấy các đề xuất của Claude đang trở nên hơi chung chung. (Compact - /compact vào việc triển khai xác thực và cấu trúc API endpoint. Loại bỏ những thông tin nhiễu khi khám phá).
9:35 - Bạn muốn Claude điều tra cách dịch vụ thanh toán xử lý webhook - một nhiệm vụ nghiên cứu sẽ liên quan đến việc đọc rất nhiều file. (Subagent - "Khởi tạo một subagent để đọc qua dịch vụ thanh toán và tóm tắt cách xử lý webhook". Thông tin nhiễu khi nghiên cứu sẽ được giữ lại trong ngữ cảnh của subagent).
9:45 - Subagent trả về bản tóm tắt. Bây giờ, bạn muốn bắt đầu xây dựng tích hợp thanh toán - một tính năng hoàn toàn mới. (Clear - viết một đoạn ngắn: "Đang xây dựng tích hợp thanh toán. Dịch vụ thanh toán sử dụng webhook của Stripe - [dán bản tóm tắt của subagent]. Các file liên quan: billing/webhooks.ts, api/payments.ts.")
6 lượt. 4 bước di chuyển khác nhau được sử dụng. Mỗi bước đều giữ cho ngữ cảnh sạch sẽ cho những gì sẽ diễn ra tiếp theo.
✅ Kiểm tra nhanh: Trong ví dụ trên, tại sao chúng ta lại chọn subagent để điều tra webhook thay vì chỉ chọn Continue?
Đáp án: Quá trình điều tra sẽ đọc nhiều file và tạo ra đầu ra trung gian làm ô nhiễm ngữ cảnh gốc. Chúng ta chỉ cần kết luận, chứ không cần quá trình khám phá.
Thực hành: Áp dụng framework
Mở Claude Code và thực hiện một tác vụ thực tế - bất kỳ tác vụ nào trên codebase thực tế của bạn. Trong khi làm việc, hãy chủ động tạm dừng sau mỗi phản hồi của Claude và tự hỏi: "Nước đi tốt nhất ngay bây giờ là gì?"
Bạn không cần phải sử dụng cả 5 tùy chọn trong một phiên. Mục tiêu là xây dựng thói quen tạm dừng và lựa chọn, thay vì tự động gõ tin nhắn tiếp theo.
Sau 15 - 20 phút, hãy để ý xem bạn đã bao nhiêu lần chỉ cần nhấn Continue nhưng một nước đi khác thực sự tốt hơn.
Những lỗi thường gặp
Sử dụng /clear khi /compact có thể làm được. Nếu bạn đang làm dở một tác vụ và ngữ cảnh bị phình to nhưng vẫn liên quan, /compact sẽ giúp câu chuyện tiếp tục. /clear buộc bạn phải thiết lập lại mọi thứ từ đầu.
Không bao giờ sử dụng subagent. Nhiều nhà phát triển không nhận ra rằng họ có thể yêu cầu Claude tạo ra một subagent một cách rõ ràng. Đây không chỉ là một tính năng tự động - bạn có thể điều khiển nó: "Tạo một subagent để xử lý việc này".
Quay lại quá muộn. Bạn càng chờ lâu để quay lại, ngữ cảnh bế tắc càng tích tụ. Hãy quay lại sớm - ngay khi bạn cảm thấy một phương pháp không hiệu quả, chứ không phải sau 3 lần sửa lỗi.
Bước đi đúng phụ thuộc vào việc ngữ cảnh hiện tại của bạn hữu ích đến mức nào cho bước tiếp theo
Continue là mặc định, nhưng nó chỉ tối ưu khoảng một nửa thời gian
Hãy xây dựng thói quen tạm dừng: Sau mỗi phản hồi Claude, hãy dành 2 giây để chọn bước đi của bạn
Bảng quyết định (Tình huống → Bước đi → Tại sao) là thẻ tham khảo của bạn - hãy sử dụng nó cho đến khi thành thạo
Hãy thử ngay: Tạm dừng quyết định 5 bước!
Dán prompt này vào phiên Claude Code tiếp theo của bạn SAU mỗi phản hồi có ý nghĩa. Nó buộc bạn phải tạm dừng trước khi tự động nhấn Continue.
Hãy đóng vai trò là người chọn nước đi trong phiên này. Với câu trả lời cuối cùng trong mệnh đề này, hãy chọn nước đi đúng và bảo vệ nó trong vòng ≤ 60 từ.
Phân loại phản hồi cuối cùng vào một trong các nhóm sau:
A — Tốt + vẫn nằm trên lộ trình quan trọng → Continue
B — Sai hướng, nhỏ → Rewind - Quay lại lượt cụ thể + viết lại prompt
C — Sai hướng, lớn → Rewind - Quay lại xa hơn HOẶC /clear với bản tóm tắt mới
D — Bối cảnh lộn xộn nhưng câu chuyện vẫn liên quan → /compact với ghi chú chuyển giao
E — Bắt đầu một nhiệm vụ hoàn toàn mới → /clear với bản tóm tắt
F — Phản hồi sẽ yêu cầu quét sâu file để hoàn thành một cách gọn gàng → Subagent với prompt độc lập
Đầu ra theo định dạng này:
Bước đi: [A / B / C / D / E / F]
Lý do (≤ 30 từ): []
Nếu B/C: nhãn lượt chính xác để quay lại + viết lại prompt cần gửi
Nếu D: ghi chú chuyển giao 5 dòng để lưu trong .claude/notes/ TRƯỚC KHI thu gọn (nhiệm vụ, file, quyết định, câu hỏi mở, bước tiếp theo)
Nếu E: Bản tóm tắt mới để dán vào phiên mới
Nếu là F: prompt subagent độc lập (danh sách đường dẫn, ràng buộc, sản phẩm bàn giao)
Các flag rủi ro cần thêm:
- Công việc chưa được cam kết mà chỉ ngữ cảnh hiện tại biết đến — hãy cam kết hoặc lưu ghi chú TRƯỚC
- Các thao tác phá hủy trong lịch sử mà không có kết quả được xác nhận — hãy xác minh TRƯỚC khi dọn dẹp
- Nội dung thông tin đăng nhập / thỏa thuận bảo mật của khách hàng trong bản ghi — hãy lên kế hoạch cho bước tiếp theo rõ ràng mà không để lộ vào ghi chú bạn cam kết
QUY TẮC NGHIÊM NGẶT:
- Không bao giờ đề xuất Continue nếu phản hồi mâu thuẫn với quyết định đã được chốt trước đó mà không chỉ ra sự mâu thuẫn
- Không bao giờ đề xuất /compact nếu phiên chứa các quyết định không được ghi lại trong file hoặc cam kết
- Không bao giờ đề xuất /clear trong khi bộ nhớ của mô hình là NƠI DUY NHẤT lưu trữ trạng thái chịu tải
- Không bao giờ đề xuất Subagent cho công việc phụ thuộc vào sắc thái chỉ có trong cuộc hội thoại chính — subagent sẽ tự tạo ra ngữ cảnh bị thiếu
- Nếu các thao tác phá hủy đang chờ xử lý / chưa được xác nhận, hãy nói rõ và dừng lại — đừng dọn dẹp một phiên đang che giấu một thay đổi bị lỗi
Những gì bạn sẽ thấy: Một phán quyết di chuyển một dòng cho mỗi lượt của Claude - Continue / Rewind / Compact / Clear / Subagent - với hành động tiếp theo chính xác được soạn thảo, do đó việc quản lý phiên trở thành phản xạ 10 giây thay vì sự hối tiếc "mình có định xóa cái đó không?".
Câu 1:
Trên thang đo bảo toàn ngữ cảnh, thao tác nào giữ lại NHIỀU ngữ cảnh hiện có NHẤT?
GIẢI THÍCH:
Thao tác Continue giữ lại 100% ngữ cảnh hiện có - không có gì bị xóa hoặc tóm tắt. Thang đo chạy từ Continue (mọi thứ được giữ lại) đến /clear (không có gì được giữ lại), với Rewind, Compact và Subagent nằm ở giữa.
Câu 2:
Claude đã dành 40 phút cho một phiên gỡ lỗi. Bạn đã tìm thấy lỗi nhưng bây giờ muốn triển khai một tính năng hoàn toàn mới. Bạn nên làm gì?
GIẢI THÍCH:
/clear cho bạn một khởi đầu mới cho tính năng mới. Ngữ cảnh gỡ lỗi sẽ chỉ làm Claude mất tập trung. Viết một ghi chú ngắn gọn về những gì bạn muốn xây dựng và bắt đầu lại từ đầu.
Câu 3:
Bạn vừa hoàn thành việc xây dựng một tính năng và muốn viết các bài test cho nó. Ngữ cảnh của tính năng đó vẫn còn liên quan. Bạn nên làm gì?
GIẢI THÍCH:
Khi ngữ cảnh hiện tại liên quan trực tiếp đến tác vụ tiếp theo của bạn (như viết bài test cho một tính năng bạn vừa xây dựng), Continue là lựa chọn đúng đắn. Bắt đầu lại từ đầu có nghĩa là Claude phải đọc lại tất cả các file.
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: