TL;DR

Nếu CLAUDE.md là tập hướng dẫn bạn viết cho Claude, thì MEMORY.md là cuốn sổ ghi chép Claude tự viết cho chính nó. Hai file này hoạt động song song và bổ trợ nhau - nhưng ít ai biết đến MEMORY.md, dù nó đã bật mặc định từ Claude Code v2.1.59.

Sự khác biệt giữa CLAUDE.md và MEMORY.md

Anthropic mô tả đơn giản: CLAUDE.md là chỉ thị bạn dành cho Claude. MEMORY.md là ghi chú Claude dành cho chính nó.

Chiều

CLAUDE.md

MEMORY.md (Auto Memory)

Ai viết

Bạn viết thủ công

Claude tự động ghi

Vị trí lưu

Thư mục gốc dự án

~/.claude/projects/{hash}/memory/

Commit lên Git

Có - dùng chung cả team

Không - riêng tư từng máy

Nội dung phù hợp

Quy chuẩn dự án, kiến trúc, quy ước team

Sở thích cá nhân, kinh nghiệm debug, bài học

Load lúc nào

Mỗi session khởi động

Mỗi session khởi động (chỉ MEMORY.md)

MEMORY.md lưu ở đâu?

Auto Memory có cấu trúc như sau:

~/.claude/projects/{project-hash}/memory/
├── MEMORY.md           # Index file — luôn được load vào context
├── user_role.md        # Thông tin về bạn
├── feedback_testing.md # Phản hồi hành vi Claude
├── project_freeze.md   # Thông tin dự án động
└── reference_linear.md # Con trỏ tới tài nguyên ngoài

MEMORY.md là file index. Nó được load tự động lúc khởi động session, tối đa 200 dòng đầu hoặc 25KB - cái nào nhỏ hơn thì lấy. Các file chủ đề con (debugging.md, patterns.md,...) không load ngay từ đầu mà chỉ được Claude đọc khi thật sự cần thiết trong lúc làm việc.

Thiết kế này tránh việc file ghi chú làm đầy context window ngay từ đầu, trong khi vẫn cho phép lưu trữ thông tin chi tiết.

4 loại memory Claude tự ghi

Claude phân loại thông tin cần ghi nhớ thành 4 nhóm:

  • User: Thông tin về bạn - vai trò, chuyên môn, mục tiêu. Giúp Claude điều chỉnh cách giải thích và cộng tác phù hợp với trình độ của bạn.

  • Feedback: Hướng dẫn bạn đã cho Claude về cách làm việc - cả những lần bạn sửa sai lẫn những lần bạn xác nhận cách tiếp cận đúng. Đây là loại quan trọng nhất để Claude không lặp lại lỗi cũ.

  • Project: Thông tin về công việc đang diễn ra - ai đang làm gì, tại sao, và đến khi nào. Giúp Claude hiểu ngữ cảnh sâu hơn đằng sau các yêu cầu.

  • Reference: Con trỏ đến nơi tìm thông tin trong các hệ thống ngoài - Linear project nào theo dõi bug, Grafana dashboard nào cần kiểm tra khi sửa code xử lý request.

4 cách để memory được ghi

1. Tự động (phổ biến nhất): Sau khi Claude hoàn thành phản hồi (không có tool call), một sub-agent tách biệt chạy nền để phân tích cuộc trò chuyện và tự quyết định thông tin nào đáng ghi lại.

2. Yêu cầu trực tiếp: Nói với Claude như "nhớ là project này dùng bun không dùng npm" hay "remember this" - Claude sẽ chủ động ghi ngay lập tức.

3. Lệnh /memory: Mở file selector cho phép bạn xem và chỉnh sửa trực tiếp các file memory.

4. Lệnh /remember: Yêu cầu Claude xem xét và sắp xếp lại toàn bộ memory hiện có.

AutoDream: Bộ nhớ tự dọn dẹp

Sau mỗi 24 giờ cộng với 5 session, Claude Code tự động chạy một tiến trình nền gọi là AutoDream - nó đọc toàn bộ memory, loại bỏ trùng lặp, hợp nhất những ghi chú liên quan, và cắt bớt những thông tin đã lỗi thời. Bạn có thể kích hoạt thủ công bằng lệnh /dream.

Quản lý Memory

Xem và chỉnh sửa:

  • Dùng /memory để mở file selector trong editor

  • Trực tiếp vào thư mục ~/.claude/projects/{hash}/memory/

Tắt Auto Memory khi cần:

Cách

Làm thế nào

Biến môi trường

CLAUDE_CODE_DISABLE_AUTO_MEMORY=1

File settings

"autoMemoryEnabled": false trong settings.json

Chế độ bare

Khởi động với flag --bare hoặc CLAUDE_CODE_SIMPLE=1

Biến môi trường có ưu tiên cao nhất - phù hợp cho CI environment.

Một số lưu ý thực tế

Giữ MEMORY.md dưới 200 dòng. Chỉ phần này được load tự động vào context. Quá 200 dòng, Claude sẽ bắt đầu bỏ sót thông tin từ đầu file.

Nội dung chi tiết thì đẩy xuống file con. Nếu có debugging notes dài, tạo debugging.md riêng. MEMORY.md chỉ cần chứa con trỏ ngắn gọn đến đó.

Định kỳ dọn dẹp. Auto Memory tích lũy theo thời gian và có thể ghi nhận những thứ sai hoặc đã lỗi thời. Dùng /memory để kiểm tra. Nếu một ghi chú đã ổn định và quan trọng, cân nhắc "nâng cấp" nó lên CLAUDE.md để dùng chung cả team.

Phân biệt rõ chỉ thị và ghi nhớ. CLAUDE.md = bạn viết quy tắc cho Claude. MEMORY.md = Claude ghi những gì nó học được từ bạn. Đừng trộn lẫn hai loại này.

Kết

CLAUDE.md và MEMORY.md là hai mặt của một hệ thống: một bên là bạn dạy Claude, một bên là Claude tự học. Hầu hết mọi người chỉ dùng CLAUDE.md và bỏ qua nửa còn lại. Hiểu cả hai giúp bạn không cần lặp đi lặp lại cùng một hướng dẫn qua nhiều session - Claude nhớ, tự cải thiện, và ngày càng quen với cách bạn làm việc.