Bỏ qua đến nội dung chính

Context Management in Claude Code

TL;DR

  • Cửa sổ ngữ cảnh (context window) là bộ nhớ làm việc giới hạn của Claude, nơi lưu trữ mọi tương tác và dữ liệu, đòi hỏi việc tối ưu hóa hiệu quả để duy trì hiệu suất.
  • Để quản lý không gian này, có thể sử dụng các lệnh như /compact để nén và tóm tắt cuộc hội thoại cũ hoặc /clear để xóa hoàn toàn ngữ cảnh và bắt đầu lại từ đầu.
  • Việc tối ưu hóa bao gồm việc viết lời nhắc cụ thể, lưu trữ thông tin quan trọng trong claude.md, và sử dụng tác nhân phụ (sub-agents) để xử lý các tác vụ độc lập, giúp giải phóng ngữ cảnh chính cho các công việc quan trọng hơn.

Điểm chính

  • Sử dụng Lệnh /compact để nén thủ công các phiên làm việc dài khi bạn cần giải phóng không gian ngữ cảnh nhưng vẫn muốn giữ lại bộ nhớ về những gì đã làm.
  • Thực hiện Lệnh /clear khi bạn muốn loại bỏ toàn bộ ngữ cảnh trước đó và bắt đầu một nhiệm vụ hoặc tính năng mới, tránh bất kỳ sai lệch nào từ các cuộc hội thoại cũ.
  • Kiểm tra Lệnh /context để có cái nhìn tổng quan về kích thước ngữ cảnh hiện tại, các danh mục chiếm nhiều không gian nhất và biểu đồ để tối ưu hóa.
  • Lưu trữ các thông tin quan trọng mà bạn muốn Claude ghi nhớ qua các phiên làm việc khác vào tệp claude.md để tránh việc Claude phải khám phá lại.
  • Viết lời nhắc (prompts) thật cụ thể; việc không rõ ràng có thể khiến Claude phải tìm kiếm và suy nghĩ nhiều hơn, ironically tiêu tốn nhiều không gian ngữ cảnh hơn.
  • Tắt các máy chủ MCP không liên quan đang tải các công cụ không cần thiết vào ngữ cảnh, hoặc cân nhắc sử dụng Kỹ năng (skills) như một giải pháp thay thế hiệu quả hơn về mặt ngữ cảnh.
  • Khai thác tác nhân phụ (sub-agents) để xử lý các tác vụ mà chỉ cần câu trả lời cuối cùng mà không cần chi tiết quá trình, vì chúng có cửa sổ ngữ cảnh riêng biệt và chỉ trả về bản tóm tắt cho tác nhân AI chính.

Từ vựng

  • context window — cửa sổ ngữ cảnh
  • compaction — nén ngữ cảnh
  • prompt — lời nhắc
  • tool call — lời gọi công cụ
  • sub-agent — tác nhân phụ
  • MCP server — máy chủ MCP
  • skill — kỹ năng
  • working memory — bộ nhớ làm việc
  • session — phiên làm việc

Nội dung chi tiết

Ngữ cảnh và Cửa sổ Ngữ cảnh

Ngữ cảnh là bộ nhớ làm việc của Claude. Mọi tệp nó đọc, mọi lệnh nó chạy, mọi tin nhắn bạn gửi, tất cả đều chiếm không gian trong cửa sổ ngữ cảnh. Hãy hình dung cửa sổ ngữ cảnh như lượng không gian mà Claude có thể lưu trữ trong bộ nhớ của nó. Bất cứ khi nào bạn nhập một lời nhắc, Claude đọc một tệp, thực hiện một lời gọi công cụ, nhận kết quả lời gọi công cụ. Điều này được thêm vào cửa sổ ngữ cảnh. Và vì chỉ có một lượng giới hạn bạn có thể đưa vào cửa sổ ngữ cảnh, việc tối ưu hóa nó nhiều nhất có thể trở nên cực kỳ quan trọng.

Nén (Compaction) Ngữ cảnh

Khi bạn tiếp cận giới hạn này, cửa sổ ngữ cảnh sẽ tự động được nén (compacted). Việc nén này sẽ tóm tắt các chi tiết quan trọng, loại bỏ các kết quả lời gọi công cụ không cần thiết và giải phóng nhiều không gian trong cửa sổ ngữ cảnh của bạn. Tuy nhiên, cần lưu ý rằng điều này có thể làm mất đi các chi tiết trong cuộc hội thoại trước đó của bạn.

Các Lệnh Quản lý Ngữ cảnh

Bạn cũng có thể thực hiện nén thủ công bằng Lệnh /compact. Lệnh này sẽ nén tất cả những gì bạn đã thực hiện cho đến thời điểm đó, rất tiện lợi nếu bạn muốn giải phóng không gian ngữ cảnh nhưng vẫn giữ lại bộ nhớ về những gì bạn đã làm trước đây.

Nếu bạn muốn bắt đầu hoàn toàn lại từ đầu mà không có bộ nhớ về những gì đã làm trước đó, bạn cũng có thể chạy Lệnh /clear và lệnh đó sẽ xóa mọi thứ, giúp bạn bắt đầu lại từ đầu.

Để kiểm tra trạng thái ngữ cảnh của bạn, hãy chạy Lệnh /context. Tại đây, bạn sẽ có cái nhìn tổng quan về kích thước ngữ cảnh của mình, các danh mục khác nhau đang chiếm nhiều ngữ cảnh nhất và một biểu đồ hiển thị tất cả những thông tin này.

Chiến lược Sử dụng Ngữ cảnh

Một nguyên tắc chung là khi bạn đang làm việc trên một tính năng cụ thể và đang vượt quá giới hạn cửa sổ ngữ cảnh nhưng cần tiếp tục, hãy nén (compact). Việc giữ cho ngữ cảnh liên quan đến tính năng này là quan trọng khi tiếp tục phát triển.

Nếu bạn đã hoàn thành kế hoạch và muốn bắt đầu một tính năng mới, hãy xóa (clear). Bạn không muốn cuộc hội thoại trước đó gây ra sai lệch trong bất cứ điều gì mới mà bạn muốn tạo.

Đối với những điều bạn muốn Claude ghi nhớ trong các phiên làm việc khác, hãy đặt chúng vào tệp claude.md. Bằng cách đó, nó không phải khám phá lại mọi thứ từ đầu một lần nữa.

Tối ưu hóa Lời nhắc

Hãy cụ thể. Trớ trêu thay, việc viết một lời nhắc ngắn hơn về lâu dài lại chiếm nhiều ngữ cảnh hơn. Nếu không rõ ràng, Claude buộc phải tìm kiếm nhiều hơn trong codebase của bạn và tự suy nghĩ, điều này chiếm nhiều không gian cửa sổ ngữ cảnh hơn là nếu bạn chỉ cần làm rõ hơn một hoặc hai câu.

Tận dụng Công cụ và Tác nhân phụ

Các máy chủ MCP (MCP servers) tải tất cả các công cụ có sẵn vào ngữ cảnh theo mặc định. Vì vậy, nếu bạn có nhiều máy chủ MCP cho những thứ không liên quan đến dự án, bạn nên tắt chúng đi. Bạn cũng có thể thử các Kỹ năng (skills), chúng hoạt động tương tự như các máy chủ MCP nhưng không đưa toàn bộ nội dung vào ngữ cảnh, giúp bạn tiết kiệm không gian.

Tác nhân phụ (Sub agents) chạy song song với tác nhân AI chính của bạn nhưng có một cửa sổ ngữ cảnh hoàn toàn riêng biệt. Vì vậy, đối với các tác vụ yêu cầu câu trả lời mà không cần chi tiết quá trình, chẳng hạn như 'các authentication endpoint nằm ở đâu?', bạn có thể để tác nhân phụ thực hiện công việc và chỉ trả về một bản tóm tắt cho tác nhân AI chính của bạn.

Tóm tắt các Phương pháp Hay nhất

Quản lý ngữ cảnh trong Claude Code là rất quan trọng. Sử dụng Lệnh /compact để tóm tắt các phiên làm việc dài và Lệnh /clear để bắt đầu lại. Để sử dụng cửa sổ ngữ cảnh của bạn một cách hiệu quả, hãy cụ thể về những gì bạn muốn. Kiểm tra xem điều gì đang chiếm cửa sổ ngữ cảnh hiện tại của bạn và sử dụng tác nhân phụ để ủy quyền các tác vụ mà bạn chỉ cần câu trả lời.

Góp ý / Báo lỗiPhát hiện sai sót hoặc có ý tưởng cải thiện?