Bộ nhớ liên tục trong Claude Code: Những gì nên lưu giữ và cách dùng hiệu quả

05 tháng 4, 2026·7 phút đọc

Claude Code giới thiệu tính năng bộ nhớ liên tục (Persistent Memory) giúp giải quyết vấn đề "mất trí nhớ" sau mỗi phiên làm việc. Bài viết sẽ phân tích cách sử dụng 4 loại bộ nhớ này để lưu trữ ngữ cảnh phát triển thay đổi theo thời gian mà tệp CLAUDE.md thông thường không xử lý được.

Bộ nhớ liên tục trong Claude Code: Những gì nên lưu giữ và cách dùng hiệu quả

Mặc định, Claude không "nhớ" gì cả. Mỗi phiên làm việc đều bắt đầu từ con số không — từ các sở thích bạn giải thích tuần trước, các ràng buộc kinh doanh nó phát hiện ra khi viết mã, cho đến những sửa lỗi bạn phải nhắc đi nhắc lại. Mọi thứ đều biến mất khi bạn gõ lệnh /clear.

Tệp CLAUDE.md phần nào khắc phục được điều này bằng cách mã hóa các quy ước dự án, công nghệ stack (stack) và quy tắc triển khai (deployment). Tuy nhiên, có một loại thông tin mà CLAUDE.md xử lý khá kém: những thứ thay đổi theo thời gian. Một quyết định kiến trúc được đưa ra trong tháng này, một sở thích về phong cách code được sửa giữa chừng, hay một lỗi phát hiện ở môi trường production. Những thông tin này có vòng đời biến động và không nhất thiết phải nằm trong một tệp được kiểm soát phiên bản (versioned) của dự án.

Claude Code có hệ thống bộ nhớ liên tục (persistent memory) dành riêng cho mục đích này.

Chức năng của bộ nhớ tự động — và những gì nó không làm

Bộ nhớ tự động (Auto-memory) là một tập hợp các tệp Markdown nằm trong thư mục dành riêng cho từng dự án (~/.claude/projects/<project>/memory/) hoặc chung cho toàn hệ thống (~/.claude/memory/). Claude sẽ đọc các tệp này khi bắt đầu phiên làm việc thông qua tệp chỉ mục MEMORY.md và có thể cập nhật chúng trong suốt phiên làm việc.

Những gì nó không làm: nó không phải là nhật ký phiên làm việc tự động. Claude sẽ không ghi lại mọi thứ diễn ra. Đây là một công cụ chủ động — bạn phải cho nó biết một cách rõ ràng điều gì đáng để lưu giữ, hoặc yêu cầu nó tự chạy quá trình kiểm tra (audit).

Sự khác biệt với CLAUDE.md rất quan trọng. CLAUDE.md mô tả dự án: stack, quy ước, cách triển khai. Bộ nhớ mô tả mối quan hệ làm việc: sở thích, các quyết định đang diễn ra, các ràng buộc không hiển nhiên rõ ràng tại một thời điểm nhất định.

4 loại bộ nhớ

Mỗi tệp bộ nhớ đều có một loại được khai báo trong phần frontmatter (đầu trang). Điều này không chỉ là trang trí — nó xác định khi nào Claude sẽ sử dụng chúng.

  • user (Người dùng) — Ai là người bạn đang làm việc cùng: vai trò, trình độ kỹ thuật, lĩnh vực kiến thức. Loại này cho phép Claude căn chỉnh độ sâu giải thích mà không cần phải giới thiệu lại trong mỗi phiên.
  • feedback (Phản hồi) — Cách tiếp cận công việc: những gì đã được sửa, những gì đã được xác thực. "Đừng tóm tắt những gì bạn vừa làm ở cuối tin nhắn" là một phản hồi. "Luôn sử dụng cơ sở dữ liệu thật trong bài kiểm tra (test), không dùng giả lập (mocks)" cũng vậy.
  • project (Dự án) — Trạng thái hiện tại của dự án: các quyết định đang hoạt động, các sáng kiến, ràng buộc về thời gian. Những thông tin này "già" rất nhanh — chúng cần được xem xét thường xuyên.
  • reference (Tham chiếu) — Nơi tìm thông tin trong các hệ thống bên ngoài: "lỗi pipeline theo dõi trong dự án Linear INGEST", "bảng độ trễ Grafana tại grafana.internal/d/api-latency".

Điều gì đáng để lưu giữ — và điều gì không

Bộ nhớ không phải là kho lưu trữ (archive). Những gì đi vào tệp bộ nhớ phải là những thông tin không thể suy luận trực tiếp từ mã nguồn hoặc CLAUDE.md, và hữu ích cho các phiên trong tương lai.

Đáng lưu giữ:

  • Một sở thích về phong cách được xác nhận hoặc sửa đổi trong phiên làm việc.
  • Một vấn đề thực tế (gotcha) được phát hiện khi làm việc — một ràng buộc vô hình, một hành vi ngược đời.
  • Một quyết định kiến trúc đang hoạt động nhưng chưa được phản ánh trong mã.
  • Con trỏ đến một tài nguyên bên ngoài bạn sử dụng thường xuyên.

Không thuộc về bộ nhớ:

  • Bất kỳ thứ gì hiển thị trong các tệp — Claude sẽ tìm thấy nó bằng cách đọc mã.
  • Chi tiết phiên làm việc — git log làm việc này tốt hơn.
  • Các tác vụ đang tiến hành — chúng thuộc về phiên làm việc hiện tại, không phải bộ nhớ liên tục.
  • Các quy ước đã có trong CLAUDE.md — sự trùng lặp vô nghĩa.

Bộ nhớ dự án so với bộ nhớ toàn cục

Bộ nhớ dự án (~/.claude/projects/<sanitized-cwd>/memory/) được cô lập theo từng thư mục làm việc. Mở Claude từ một thư mục khác, bạn sẽ nhận được một bộ nhớ khác. Đây là lựa chọn đúng cho các sở thích và quyết định cụ thể của dự án.

Bộ nhớ toàn cục (~/.claude/memory/) áp dụng cho tất cả các phiên và dự án. Đó là nơi dành cho các sở thích thực sự chung across: phong cách phản hồi mong đợi, trình độ kỹ thuật của người dùng, quy ước giao tiếp.

Trong thực tế: bắt đầu với bộ nhớ dự án. Nếu một sở thích xuất hiện ở tất cả các dự án, hãy chuyển nó sang toàn cục. Không bao giờ sao chép cả hai.

Tích hợp tự động: Quy tắc trong ~/.claude/CLAUDE.md

Thay vì phải yêu cầu Claude lưu một cái gì đó mỗi khi bạn nghĩ đến nó, bạn có thể đưa ra quy tắc một lần trong tệp CLAUDE.md cấp người dùng — ~/.claude/CLAUDE.md, tệp được tải trong mọi phiên trên tất cả các dự án.

# Quy tắc toàn cục

## Bộ nhớ tự động

Khi một phiên làm việc tiết lộ thông tin liên tục, hãy lưu ngay lập tức
vào tệp bộ nhớ phù hợp mà không cần được yêu cầu:

- Sở thích được phát hiện hoặc sửa đổi → memory/user hoặc memory/feedback
- Sửa đổi cách tiếp cận                → memory/feedback
- Quyết định dự án bền vững           → memory/project
- Con trỏ đến tài nguyên dùng thường xuyên → memory/reference

Không lưu: trạng thái tạm thời, công việc đang thực hiện, những gì đã có trong
CLAUDE.md, những gì có thể suy ra từ mã nguồn.

Bộ lọc quan trọng ngang bằng với kích hoạt. Nếu không có nó, Claude sẽ ghi lại mọi chi tiết phiên làm việc và bộ nhớ sẽ tăng trưởng nhanh chóng giống như tệp CLAUDE.md mà bạn vừa dọn dẹp.

Duy trì bộ nhớ: Lệnh kiểm tra (Audit prompt)

Bộ nhớ cũng bị "già". Đặc biệt là bộ nhớ loại dự án — một quyết định đưa ra vào tháng Giêng có thể đã được giải quyết vào tháng Ba, nhưng tệp vẫn còn đó. Nếu không có sự xem xét thường xuyên, bạn sẽ tích lũy thông tin cũ kỹ mà Claude sẽ đọc và có thể áp dụng sai.

Một câu lệnh kiểm tra để chạy khi bắt đầu phiên khi bộ nhớ bị trôi dạt:

Kiểm tra các tệp bộ nhớ trong `.claude/projects/.../memory/`.

Đối với mỗi tệp:
1. Nội dung có còn chính xác không? (kiểm tra trạng thái tệp hiện tại nếu cần)
2. Nó có không thể suy ra từ mã hoặc CLAUDE.md không?
3. Loại có đúng không? (user / feedback / project / reference)
4. Mô tả trong frontmatter có đủ chính xác không?

Tính nhất quán toàn cục: trùng lặp, mâu thuẫn, bộ nhớ dự án cũ, MEMORY.md đã cập nhật?

Đầu ra dưới dạng bảng: Tệp | Vấn đề | Hành động đề xuất
Sau đó áp dụng các sửa chữa.

Để tránh phải tìm kiếm câu lệnh này, hãy lưu nó dưới dạng một lệnh slash trong .claude/commands/audit-memory.md (dự án) hoặc ~/.claude/commands/audit-memory.md (toàn cục). Khi đó, chỉ cần gõ /audit-memory là đủ.

Kết luận

Bộ nhớ tự động giải quyết một vấn đề cụ thể: thông tin thay đổi quá nhanh so với CLAUDE.md, nhưng đáng để mang qua các phiên làm việc. Nó hoạt động tốt khi bạn chọn lọc — một tệp cho mỗi chủ đề, một loại được chọn kỹ, một mô tả chính xác trong phần frontmatter.

Điều làm hỏng hệ thống: cố gắng nhồi nhét mọi thứ vào nó. Bộ nhớ tăng trưởng vô tiêu chí cuối cùng sẽ trở nên vô dụng giống như một tệp CLAUDE.md 300 dòng — Claude tải mọi thứ, xử lý mọi thứ, và tín hiệu sẽ bị chìm trong tiếng ồn.

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗