VPS

Memory trong Claude Code: agent nhớ được những gì

Thanh Nguyễn Đăng 10 phút đọc 3 khối lệnh

Memory trong Claude Code: agent nhớ được những gì
Mục lục bài viết
  1. Ba tầng ghi nhớ và ranh giới giữa chúng
  2. Vì sao đừng nhồi hết vào một file
  3. Ghi quyết định thiết kế kèm lý do
  4. Cái gì tuyệt đối không đưa vào
  5. Chuyển tiếp giữa các phiên
  6. Bảng những thứ không được ghi vào tệp này
  7. Ghi quyết định kèm lý do, phần giá trị nhất
  8. Vì sao đừng nhồi hết vào một tệp
  9. Ba dòng ghi lại trước khi đóng phiên
  10. Câu hỏi thường gặp
  11. Bài viết liên quan

Trả lời nhanh: Điểm cần hiểu trước tiên: agent không có trí nhớ thật. Cái gọi là ghi nhớ thực chất là những file được nạp lại vào đầu mỗi phiên. Có ba tầng, mỗi tầng một mục đích: file quy ước dự án cho luật chung, skill cho quy trình dài chỉ nạp khi cần, và ghi chú trong repo cho quyết định thiết kế. Nhét mọi thứ vào một chỗ là sai lầm phổ biến nhất, vì file nạp ở mọi lượt phải ngắn thì mới hiệu quả.

Ai dùng lâu cũng thắc mắc vì sao phải nhắc lại cùng một quy ước mỗi ngày, trong khi hôm qua đã nói rồi. Câu trả lời là mỗi phiên bắt đầu từ con số không, và thứ duy nhất còn lại là những gì bạn ghi thành file. Bài này nói cách tổ chức các file đó cho hiệu quả.

Ba tầng ghi nhớ và ranh giới giữa chúng

Tầng một, file quy ước dự án. Nạp ở mọi lượt nên phải ngắn. Chứa quy ước code, cấu trúc thư mục, và những điều tuyệt đối không được làm. Chi tiết cách viết nằm ở bài CLAUDE.md.

Tầng hai, skill. Chỉ dòng mô tả nằm trong tầm nhìn, phần thân đọc khi công việc khớp. Chứa quy trình dài kèm ví dụ, theo bài viết skill đầu tiên.

Tầng ba, tài liệu trong repo. Không tự động nạp, agent đọc khi bạn chỉ tới. Chứa quyết định thiết kế, quy tắc nghiệp vụ, lịch sử vì sao chọn cách này.

Cách phân loại nhanh khi bạn không biết đặt một thông tin vào đâu: hỏi nó cần thiết ở mọi việc hay chỉ ở một loại việc. Mọi việc thì tầng một, một loại việc thì tầng hai, và chỉ để tra cứu thì tầng ba.

Vì sao đừng nhồi hết vào một file

Sai lầm phổ biến: dồn mọi thứ vào file quy ước cho tiện, và sau vài tháng nó dài tám trăm dòng. Hậu quả kép:

  • Tốn tiền ở mọi lượt. Tám trăm dòng đó được đọc lại mỗi lần bạn gõ một câu, kể cả khi bạn chỉ hỏi một chuyện vặt.
  • Luật quan trọng bị chìm. Dòng cấm không được sửa dữ liệu thật nằm giữa hai trăm dòng hướng dẫn định dạng code thì rất dễ bị lướt qua.

Ngưỡng thực dụng: file quy ước nên dưới một trăm dòng. Vượt là dấu hiệu có phần nên tách sang skill hoặc sang tài liệu.

Cùng nguyên tắc đó, đừng cắm nhiều máy chủ MCP không dùng, vì danh sách công cụ của chúng cũng chiếm chỗ ở mọi lượt, như phân tích ở bài chọn MCP server.

Ghi quyết định thiết kế kèm lý do

Thứ khó dựng lại nhất sau sáu tháng không phải là code mà là lý do. Vì sao chọn thư viện này, vì sao bảng kia tách làm hai, vì sao có một ngoại lệ trông rất lạ trong luồng thanh toán.

Một ghi chú đủ dùng chỉ cần bốn phần:

TerminalGhi quyết định thiết kế kèm lý dobash
# Vì sao tách bảng đơn hàng và bảng chi tiết Bối cảnh: đơn hàng có thể có tới vài trăm dòng chi tiết.Quyết định: tách thành hai bảng, chi tiết tham chiếu tới đơn.Lý do: giữ bảng đơn nhỏ để truy vấn danh sách nhanh.Đánh đổi: lấy đơn kèm chi tiết phải nối bảng, chấp nhận được.

Phần đánh đổi quan trọng không kém phần lý do: nó cho người đọc sau biết bạn đã cân nhắc chứ không phải quên. Nhờ vậy họ không mất công đề xuất lại đúng phương án bạn đã loại.

Những ghi chú này cũng làm agent trả lời sát hơn hẳn, vì nó hiểu ràng buộc thật thay vì đề xuất theo quy ước phổ biến trên mạng.

Cái gì tuyệt đối không đưa vào

Ba loại thông tin không bao giờ nên nằm trong các file này:

  • Mật khẩu, khóa API, chuỗi kết nối. Các file này nằm trong Git và được chia sẻ. Ghi tên biến môi trường, để giá trị thật ở nơi quản lý bí mật.
  • Dữ liệu cá nhân của khách hàng. Kể cả trong ví dụ minh họa, hãy dùng dữ liệu bịa.
  • Thông tin đã sai. Quy ước cũ không còn dùng thì xóa, đừng để lại kèm ghi chú rằng nó đã lỗi thời. Thông tin sai còn hại hơn không có gì, vì agent tin nó.

Điểm cuối dẫn tới việc bảo trì: rà lại các file này mỗi quý, xóa phần đã sai, gộp phần trùng lặp. Cách làm cho kho skill của cả đội nằm ở bài skill dùng chung, áp dụng y hệt cho các file ghi nhớ.

Chuyển tiếp giữa các phiên

Khi một việc kéo dài qua nhiều phiên, đừng dựa vào việc agent nhớ. Hãy để lại một file trạng thái ngắn:

TerminalChuyển tiếp giữa các phiênbash
# Trạng thái việc đang làm Mục tiêu: thêm luồng hoàn tiền cho đơn hàngĐã xong: bảng dữ liệu, điểm cuối tạo yêu cầu hoàn tiềnĐang làm: màn hình duyệt của quản trịCòn lại: gửi thông báo, viết kiểm thửQuyết định đã chốt: chỉ hoàn tiền trong 7 ngày, không hoàn một phần

Mở phiên mới, chỉ nó tới file này là đủ để bắt nhịp, không cần dán lại cuộc hội thoại cũ. Cách này còn có lợi cho chính bạn khi quay lại sau kỳ nghỉ.

Với việc chạy dài trên máy chủ, kết hợp thêm phiên tmux như trong bài tmux cheat sheet: phiên vẫn sống khi bạn đóng laptop, và file trạng thái lo phần khi bạn phải mở phiên hoàn toàn mới.

Bảng những thứ không được ghi vào tệp này

LoạiĐưa vào khôngVì sao
Khóa truy cập, mật khẩu, thẻ đăng nhậpKHÔNGTệp này nằm trong kho mã nguồn
Dữ liệu cá nhân của khách hàngKHÔNGNghĩa vụ theo quy định bảo vệ dữ liệu cá nhân
Địa chỉ máy chủ nội bộ và cấu trúc mạngCân nhắcNếu kho công khai thì không
Quyết định kiến trúc và lý doCó, rất nênĐây là thứ giá trị nhất
Quy ước mã nguồn của dự ánCóGiúp mọi phiên làm việc nhất quán
Ghi chú tạm của một buổi làm việcKhôngNó tích tụ và làm loãng

Điểm cần nhớ: tệp ghi nhớ nằm trong kho mã nguồn và đi theo mọi bản sao của kho. Bất cứ thứ gì bạn không muốn thấy trong một kho công khai thì không viết vào đó.

Ghi quyết định kèm lý do, phần giá trị nhất

TerminalGhi quyết định kèm lý do, phần giá trị nhấtbash
# Ghi nhu the nay thi vo dung:#   "Dung thu vien X" # Ghi nhu the nay moi co gia tri:#   "Dung thu vien X thay vi Y vi Y khong ho tro mui gio Viet Nam dung.#    Da thu Y thang 3/2026 va gap loi lech 7 tieng o ban ghi tao luc nua dem." # Ly do quan trong hon quyet dinh:# sau sau thang, chinh ban cung khong nho vi sao chon nhu vay,# va se co nguoi de xuat doi lai sang Y

Đây cũng là lý do tệp ghi nhớ hữu ích cho cả con người, không chỉ cho trợ lý: nó là nơi lưu các quyết định mà nếu không ghi thì sáu tháng sau cả đội sẽ tranh luận lại từ đầu.

Vì sao đừng nhồi hết vào một tệp

  • Tệp càng dài thì phần được đọc kỹ càng ít. Giữ tệp chính ngắn, khoảng một trang.
  • Tách theo phạm vi: quy ước chung của công ty, quy ước riêng của dự án, và ghi chú cá nhân của bạn ở ba nơi khác nhau.
  • Ghi chú cá nhân không đưa vào kho chung, vì người khác không cần và nó làm loãng.
  • Rà lại mỗi quý: xóa những gì không còn đúng. Ghi nhớ sai còn tệ hơn không ghi nhớ.

Ba dòng ghi lại trước khi đóng phiên

Trước khi đóng một phiên làm việc dài, ghi lại ba thứ vào tệp: việc đã làm xong, việc còn dở và đang mắc ở đâu, và các quyết định đã thống nhất. Phiên sau đọc ba mục này là tiếp tục được, thay vì bạn phải kể lại từ đầu.

Câu hỏi thường gặp

Agent có nhớ được cuộc hội thoại hôm qua không?

Không, mỗi phiên bắt đầu từ đầu. Thứ duy nhất còn lại là những gì bạn ghi thành file trong repo hoặc trong thư mục cấu hình. Vì vậy hãy coi việc ghi file là một phần của công việc chứ không phải việc phụ.

File quy ước nên dài bao nhiêu?

Dưới một trăm dòng là mức lành mạnh. Dài hơn thì nên tách phần quy trình sang skill và phần tra cứu sang tài liệu, vì file này được đọc lại ở mọi lượt nên mỗi dòng đều tốn tiền.

Có nên để agent tự cập nhật các file ghi nhớ không?

Cho nó soạn bản nháp thì được, nhưng bạn phải duyệt trước khi lưu. Bản máy sinh thường dài và chứa nhiều điều hiển nhiên, còn phần cấm đoán quan trọng thì hay thiếu.

Nhiều dự án thì tổ chức thế nào?

Mỗi dự án một file quy ước riêng trong repo của nó, còn thói quen cá nhân của bạn để trong thư mục cấu hình chung. Như vậy mở dự án nào chỉ nạp phần của dự án đó.

Chia sẻ:Facebook

Thanh Nguyễn

TND

Tư vấn bản quyền, VPS và máy chủ kèm hóa đơn VAT, hợp đồng đầy đủ cho doanh nghiệp.