TROISINH
Sử dụng thực chiếnMemory & CLAUDE.md nâng cao

7 Loại Memory trong Claude Code: Phân Tầng Từ Cá Nhân Đến Team

Khám phá 7 hệ thống memory phân tầng — từ User Memory giữ coding style đến Directory-scoped tối ưu context — giúp AI nhớ chính xác mà không lo đầy context window.

Định nghĩa

Claude Code không nhét mọi thứ vào một "bộ nhớ" duy nhất. Thay vào đó, nó vận hành trên 7 tầng memory phân cấp — User, Project, Directory-scoped, Local, Auto, Team, và Working Memory — tạo thành hệ thống lưu trữ context thông minh. Khác với ChatGPT chỉ nhớ trong cuộc trò chuyện, Claude Code dùng filesystem làm bộ nhớ ngoài: AI có thể nhớ bạn là "type người thích code sạch, comment tiếng Việt" sau 6 tháng, nhớ kiến trúc microservices của dự án Grab-style hiện tại, hoặc quên ngay lập tức thông tin thẻ ngân hàng khi cần bảo mật.

Giải thích chi tiết

User Memory: Bản sắc cá nhân xuyên dự án

Nằm tại ~/.claude/CLAUDE.md hoặc ~/.claude/memory/, đây là "bộ nhớ semantic" của riêng bạn — nơi lưu coding style (thích dùng tab hay spaces, camelCase hay snake_case), preference về tech stack (prefer React hooks hơn class components), và các quy tắc cá nhân như "luôn viết comment tiếng Việt, code tiếng Anh". File này được load vào mọi session, bất kể bạn đang code dự án sàn TMĐT hay app ví điện tử. Nó giải quyết vấn đề "vàng cá bạc cá" — Claude luôn biết bạn là kiểu người thích prototype nhanh hay thích type-safe kỹ tính.

Project Memory: Tri thức kiến trúc dự án

File .claude/CLAUDE.md trong thư mục gốc repo đóng vai trò episodic memory — lưu các quyết định kiến trúc đã thống nhất ("Dùng Repository pattern cho database access", "API prefix luôn là /api/v2"), lịch sử tính năng đã triển khai (ví dụ: "Đã tích hợp VietQR nhưng chưa có ZaloPay"), và constraints đặc thù ("Luôn validate input với Zod trước khi vào controller", "Không được log số thẻ ngân hàng"). Nó sống sót qua các session, nhưng bị cô lập trong repo — dự án A không "nhiễm" conventions từ dự án B.

Directory-scoped Memory: Context chính xác đến từng folder

Đặt CLAUDE.md trong subdirectories như frontend/ hoặc backend/, và Claude chỉ load nó khi bạn làm việc trong thư mục đó. Đây là giải pháp cho monorepo lớn: team mobile có thể quy định "Dùng Zustand, không dùng Redux" trong mobile/.claude/CLAUDE.md, trong khi team backend yêu cầu "Viết test integration cho mọi endpoint thanh toán" trong backend/.claude/CLAUDE.md. Context chỉ load khi cần, giữ context window sạch sẽ cho dù repo có 10 microservices.

Local/Session Memory: Làm việc với dữ liệu nhạy cảm

Không lưu thành file. Đây là "working memory" tạm thời chồng lên context window — dùng khi bạn cần explore data chứa PII (thông tin cá nhân khách hàng ví điện tử) hoặc làm việc với credentials tạm thời (API key test của MoMo). Khi tắt terminal, memory này bay hơi hoàn toàn, không để lại trace trong ~/.claude/ hay repo. Đây là compartmentalization — tách biệt data nhạy cảm khỏi persistence layer, giống như bạn dùng tab ẩn danh để test thanh toán.

Auto Memory: Trí nhớ cho tự động hóa

Đặc biệt dùng với lệnh /loop/schedule. Khi bạn đặt Claude chạy task định kỳ (ví dụ: "mỗi sáng kiểm tra logs lỗi thanh toán VietQR"), Auto Memory lưu trạng thái lần chạy trước — đã fix được lỗi nào cho ngân hàng nào, còn lỗi nào chưa, để lần sau không lặp lại công việc. Nó tồn tại cross-session nhưng gắn với specific task queue, không phải toàn bộ user profile.

Team Memory: Chia sẻ tri thức tổ chức

Thư mục .claude/ được commit lên git, chứa CLAUDE.md, commands/, và skills/ — đây là institutional memory. Khi dev mới clone repo app giao hàng, họ ngay lập tức nhận được "tribal knowledge" của team: cách đặt tên branch theo chuẩn GitFlow, checklist trước khi deploy (check VietQR sandbox, check ZaloPay webhook), patterns tránh SQL injection đặc thù stack của công ty. Nó biến Claude thành mentor onboarding tự động, không cần senior dev ngồi giải thích lại.

Working Memory: Context window và compaction

Là 200K token context window chứa chat history hiện tại và file đang edit. Đây là RAM — nhanh nhưng volatile. Khi đầy, Claude trigger "compaction": tóm tắt lossy các turn cũ, giữ lại chỉ những gì quan trọng. Quy tắc critical được viết vào CLAUDE.md sẽ được re-inject fresh mỗi turn, trong khi chat history bị nén. Đây là lý do bạn không nên dựa vào context window để nhớ quan trọng — hãy ghi ra file, giống như bạn không nhờ RAM máy tính lưu file Word mà chưa bấm Save.

Ví dụ thực tế

Team 5 người xây app giao hàng kiểu Grab

Team lead tạo .claude/CLAUDE.md ở root: "Stack: React Native (mobile), Node.js/Express (backend), PostgreSQL. Luôn dùng VietQR cho chuyển khoản, sandbox ZaloPay cho test". Dev mobile tạo mobile/.claude/CLAUDE.md: "State management dùng Zustand, không dùng Redux. Luôn check GPS permission trước khi gọi API tính khoảng cách". Dev backend tạo backend/.claude/CLAUDE.md: "Mọi endpoint /payment phải qua middleware kiểm tra signature ZaloPay, rate limiting 100 req/phút".

Khi Claude trả lời dev mobile, nó thấy cả quy tắc chung (VietQR) và quy tắc riêng (Zustand), nhưng không bị "nhiễu" bởi rules về rate limiting của backend vì file đó nằm ngoài thư mục mobile/.

Freelancer chuyển giữa 3 dự án Việt Nam

Freelancer có ~/.claude/CLAUDE.md chứa "Tôi viết code tiếng Anh, comment tiếng Việt, luôn thêm JSDoc, thích dùng semicolon". Dự án A (sàn TMĐT nông sản Shopee-style) có ./.claude/CLAUDE.md với logic tính phí ship nội tỉnh/khác tỉnh phức tạp. Dự án B (app ví điện tử MoMo-style) có rules về PCI DSS và mã hóa AES-256 cho thẻ ngân hàng.

Khi chuyển từ A sang B, freelancer chỉ cần cd vào thư mục B — Claude ngay lập tức "quên" logic phí ship của A và load compliance rules của B, nhưng vẫn giữ coding style cá nhân (semicolon, comment Việt) từ User Memory.

Automation định kỳ với Auto Memory

DevOps setup cho app ví điện tử: /loop 1h kiểm tra logs lỗi thanh toán và tạo PR fix nếu là lỗi typo tên ngân hàng. Lần đầu, Claude thấy lỗi chính tả "Vietcombank" thành "Vietcombak" trong file banks.js, fix xong lưu vào Auto Memory: "Đã fix Vietcombank trong banks.js, còn file partners.json chưa check lỗi tương tự". Lần 2 (1 tiếng sau), Claude nhớ mình chưa check partners.json, chỉ focus vào file đó, không waste time re-scan file đã fix.

Ứng dụng

Developer độc lập

Dùng User Memory để thiết lập "persona" coding của bạn một lần, áp dụng mọi nơi — từ dự án side hustle bán hàng online đến client là công ty fintech. Dùng Project Memory để không phải nhắc lại "dự án này dùng Node.js 18, không dùng 20" mỗi lần mở terminal.

Team Lead/CTO startup Việt Nam

Thiết lập Team Memory với các slash commands chuẩn (ví dụ: /deploy-check chạy checklist trước khi lên production: check VietQR đã chuyển sang production chưa, check SSL certificate domain .vn còn hạn không). Dùng Directory-scoped Memory để tách biệt standards giữa app mobile (React Native) và backend API (NestJS) trong cùng monorepo.

Freelancer/Consultant chuyển dự án liên tục

Tận dụng Local Memory khi làm việc với data nhạy cảm của client (export database khách hàng để phân tích churn rate), đảm bảo khi đóng terminal là "dấu vết" biến mất hoàn toàn — không sợ lộ thông tin cá nhân người dùng Việt Nam sang dự án khác. Dùng Project Memory để giữ context riêng biệt cho từng client (Shopee-style vs Grab-style) mà không cần nhắc lại tech stack mỗi lần switch.

DevOps/Platform Engineer

Dùng Auto Memory kết hợp với /schedule để tạo các "agent canh chừng" — tự động review PR cũ quá 3 ngày, dọn dẹp branch stale, hoặc kiểm tra SSL certificate cho các domain .com.vn sắp hết hạn, với khả năng nhớ lại đã xử lý cái gì rồi để không spam notification.

So sánh

Loại MemoryPhạm viPersistenceKhi nào dùngGiới hạn
UserGlobal (~/.claude/)Vĩnh viễnCoding style cá nhân, preference xuyên dự ánKhông share được với team
ProjectRepo (./.claude/)Vĩnh viễnKiến trúc, stack tech, constraints dự ánChỉ active khi trong repo đó
DirectorySubfolderVĩnh viễnMonorepo với nhiều tech stack (mobile vs backend)Cần đặt đúng thư mục
LocalSessionTạm (RAM)Data nhạy cảm (thông tin thẻ ngân hàng, CCCD)Mất khi tắt terminal
AutoTask loopCross-session/loop, /schedule automationGắn với specific task
TeamGit-trackedVĩnh viễn + ShareOnboarding, standards chung (VietQR, ZaloPay)Cần merge conflict nếu nhiều người edit
WorkingContext windowCompactedReal-time editing, chat200K tokens, bị tóm tắt khi đầy

Kết luận: Không có loại memory nào "tốt nhất" — chúng bổ sung cho nhau. User Memory giữ bản sắc cá nhân, Project Memory giữ kiến trúc, Directory Memory tối ưu context window, Local Memory bảo vệ privacy, Auto Memory enable automation, Team Memory scale knowledge cho công ty Việt Nam, còn Working Memory xử lý real-time.

Bài viết liên quan

Cùng cụm

Đọc tiếp

On this page