ProductiveTechTalk - AI, Development Tools, and Productivity Blog
Claude Code 5-layer memory system as an organized AI office

Bạn đang làm Claude Code “ngu đi” mỗi ngày mà không biết — 5 tầng nhớ bí mật cứu chất lượng trả lời

Kim Jongwook · 2026-05-02

TL;DR

Context and token usage visualization for Claude Code
  • Vấn đề “Claude ngày càng ngu”, quên ngữ cảnh, hết quota đều do không có hệ thống quản lý memory.
  • 5 tầng memory (CLAUDE.md → Auto Memory → Rules/Mem0 → Skills/Agent phụ → DB ngoài) giúp tối ưu context.
  • CLAUDE.md phải cực gọn, dưới 200 dòng, chỉ chứa nguyên tắc và con trỏ, không nhét mọi thứ vào.
  • Việc tách skill và agent phụ giảm mạnh token, giữ main session sạch cho suy luận chất lượng.
  • Luôn clear ở ~60% context, tắt MCP không dùng, auto handoff.md để phiên sau nối mạch liền lạc.
Table of Contents

Mục lục

Five-layer Claude Code memory system as office metaphor

Tại sao Claude Code càng dùng càng “ngu” đi?

Lean CLAUDE.md and structured Auto Memory notebook

Tại sao phần này quan trọng với bạn?

Context overload là trạng thái Claude Code không còn phản ánh đúng những gì đã trao đổi vì lịch sử hội thoại quá dài. Hiểu rõ nguyên nhân này giúp bạn thiết kế lại cách dùng — và thoát khỏi cảnh “vừa nói đó đã quên”.

Related: Ollama + Claude Code: sự thật về AI coding cloud đã chết?

Related: Claude Code Auto Mode: Chạy Tác Vụ Dài Không Bị Hỏi

Related: Claude Code 2026: Nền tảng AI Operating System | Hướng Dẫn

Khi làm việc kỹ với Claude, bạn thường gặp ba triệu chứng rất quen. Đầu tiên là quota tuần bốc hơi nhanh dù cảm giác chưa làm được bao nhiêu. Thứ hai là Claude quên sạch định hướng kinh doanh, tone of voice hay guideline đã giải thích kỹ ở phiên trước. Thứ ba — và bực nhất — là trong cùng một phiên, càng về cuối câu trả lời càng hời hợt, lệch tông so với ban đầu.

Ba vấn đề tưởng khác nhau, thực ra cùng một gốc: thiếu hệ thống quản lý memory và context.

Mỗi lần nhận message mới, Claude Code được nhồi toàn bộ lịch sử hội thoại vào input context. Hình dung như bắt một nhân viên mỗi khi có câu hỏi mới phải đọc lại từ đầu vài trăm trang biên bản họp. Cuộc họp 30 phút thì ổn, kéo lên 2 tiếng là “não” dành cho đọc lại sẽ ăn bớt phần dùng cho suy luận. Qua thử nghiệm các phiên dài, Claude thường giữ tốt phần mở đầu và các message mới nhất, còn đoạn “giữa chừng” thì rớt đài khá thường xuyên.

Vậy giải pháp cốt lõi là gì?

Không phải “prompt tốt hơn”. Mà là thiết kế lại cách lưugọi lại thông tin cho Claude.

  • Xác định rõ thông tin nào phải luôn ở context, thông tin nào chỉ cần khi gọi tới.
  • Xây dựng một hệ thống memory nhiều tầng, giống như tổ chức lại văn phòng và tủ tài liệu.

Không có cấu trúc này, bạn sẽ liên tục lặp lại background, lãng phí token và làm Claude “ngáo” dần theo thời gian.

Tóm tắt nhanh

  • Context overload xảy ra khi lịch sử hội thoại quá dài, khiến chất lượng trả lời giảm rõ rệt.
  • Ba triệu chứng: nhanh hết quota, phải giải thích lại từ đầu mỗi phiên, câu trả lời càng về sau càng tệ.
  • Nguyên nhân gốc: không có hệ thống quản lý memory và context theo tầng.
  • Claude chỉ nhớ tốt đầu và cuối context — phần giữa thường bị “rụng”.
  • Cách chữa là thiết kế lại cấu trúc nhớ của Claude, không phải viết prompt hay hơn.

Làm sao theo dõi context và chi phí Claude Code theo thời gian thực?

Skills, sub-agents, and databases offloading Claude context

Tại sao phần này quan trọng với bạn?

Theo dõi context usage là bước bắt buộc trước khi đụng đến bất kỳ tối ưu memory nào. Không đo được thì không biết khi nào nên clear, khi nào nên tắt bớt nguồn đang ngốn context âm thầm.

Context usage monitoring là việc nắm được Claude đang dùng bao nhiêu token trong phiên hiện tại. Trong Claude Code, lệnh nhanh nhất là gõ /context trong terminal.

Kết quả hiển thị gồm system prompt, agent tùy chỉnh, file memory, skills và phần trăm đóng góp của từng thành phần. Chỉ nhìn bảng này 1–2 ngày là bạn sẽ phát hiện vài “thủ phạm” chiếm context vô lý — thường là những thứ bạn cài rồi quên mất.

Để xem mức độ sử dụng và chi phí, dùng thêm /cost. Lệnh này cho biết tỷ lệ quota tuần đã tiêu, tổng dùng trong phiên và ước lượng chi phí tương ứng.

Tuy nhiên, gõ lệnh thủ công mỗi lần khá bất tiện. Cách thực tế hơn là bật status line để thông tin hiện cố định ở đáy màn hình.

Làm sao bật status line cho context và cost?

Nhờ Claude tự cấu hình bằng một prompt kiểu: “Hãy hiển thị phần trăm sử dụng context dạng thanh, tên model, nhánh git và chi phí tích lũy ở status line”. Claude sẽ chỉnh cấu hình giúp, không cần mò tay.

Khi hoàn tất, bạn luôn thấy:

  • Tên model đang dùng.
  • Đường dẫn file hiện tại.
  • Chi phí lũy kế.
  • Phần trăm context dạng thanh ngang dễ đọc.

Có hệ thống theo dõi theo thời gian thực là bước 1 của quản lý memory. Biết số liệu thì mới quyết được lúc nào nên /clear, MCP nào đang âm thầm ăn slot không cần thiết.

Tóm tắt nhanh

  • /context cho biết thành phần nào chiếm bao nhiêu phần trăm; /cost cho biết mức dùng và chi phí.
  • Nên bật status line để hiện luôn model, đường dẫn, chi phí và phần trăm context ở cuối màn hình.
  • Nhờ Claude tự cấu hình status line — nhanh hơn nhiều so với tự mò cài đặt.
  • Không theo dõi thì không thể biết khi nào cần clear hoặc tắt MCP.
  • Đây là bước khởi động bắt buộc trước khi triển khai hệ thống 5 tầng memory.

Hệ thống 5 tầng memory là gì và giải quyết vấn đề ra sao?

Tại sao phần này quan trọng với bạn?

Hệ thống 5 tầng memory (5-Layer Memory System) là cách tổ chức toàn bộ thông tin Claude phải xử lý theo mức độ quan trọng và tần suất truy cập. Nó giống như thiết kế lại cả “văn phòng” cho AI: từ giấy note trên bàn đến kho tài liệu ở giá sách.

5 tầng này phân loại thông tin theo hai trục: tần suất truy cậptính chất dữ liệu. Mục tiêu là mỗi loại thông tin được đặt đúng “tầng” thay vì đổ hết vào CLAUDE.md.

Tôi đã thử cả hai cực đoan — nhét tất cả vào một file duy nhất và không lưu gì hết. Cả hai đều không sống nổi quá một tuần dùng thực chiến.

Câu hỏi quan trọng nhất khi gặp bất kỳ mẩu thông tin nào: “Nó thuộc tầng nhớ nào thì hiệu quả nhất?”

5 tầng memory giống văn phòng như thế nào?

  • Tầng 1 – Bàn làm việc (CLAUDE.md)
    Luôn được load mỗi phiên. Chứa nguyên tắc cốt lõi và thông tin phải nhớ mọi lúc.

  • Tầng 2 – Quyển sổ (Auto Memory)
    Claude tự ghi chép những gì học được, dùng lại ở các phiên sau.

  • Tầng 3 – Ngăn kéo tìm kiếm (CLAUDE Rules & Mem0)
    Quy tắc chỉ kích hoạt trong bối cảnh cụ thể và kho chứa có tìm kiếm ngữ nghĩa.

  • Tầng 4 – Sổ tay hướng dẫn công việc (Skills & Sub-Agent)
    Chỉ load khi gọi một quy trình cụ thể hoặc bật agent phụ chuyên trách.

  • Tầng 5 – Kệ sách văn phòng (Database ngoài)
    Kho lưu trữ dài hạn cho báo cáo, dữ liệu lớn, insight và tài liệu ít dùng.

Mỗi tầng ảnh hưởng đến context theo cách khác nhau. CLAUDE.md luôn chiếm slot nên bắt buộc phải cực gọn. Skill hay database ngoài thì ngược lại — chỉ load khi gọi nên có thể rất dài mà không làm nặng phiên thường ngày.

Khi dữ liệu được chia tầng đúng, context vừa sạch vừa đủ sâu. Claude vẫn “nhớ dài” mà không bị nghẹn.

Tóm tắt nhanh

  • 5-Layer Memory System chia thông tin vào 5 tầng nhớ theo mức độ quan trọng và tần suất dùng.
  • Tầng 1–2 là trí nhớ nền, tầng 3–4 là ngăn kéo và sổ tay quy trình, tầng 5 là kho dữ liệu dài hạn.
  • CLAUDE.md luôn chiếm context nên phải siêu gọn; skill và DB ngoài chỉ dùng khi gọi nên có thể lớn.
  • Cốt lõi là quyết định đúng chỗ cho mỗi loại thông tin — để vừa không quên, vừa không quá tải context.
  • Tư duy giống tổ chức văn phòng: bàn làm việc, sổ tay, ngăn kéo, manual, giá sách.

Tại sao 1–2 tầng đầu (CLAUDE.md và Auto Memory) quyết định “trí nhớ cơ bản”?

Tại sao phần này quan trọng với bạn?

Tầng 1 và tầng 2 là trí nhớ nền mà Claude luôn dựa vào trong mọi tác vụ. Hai tầng này bừa bộn, mọi tối ưu ở tầng trên đều mất tác dụng.

CLAUDE.md nên chứa những gì và dài bao nhiêu?

CLAUDE.md là file cấu hình cốt lõi được Claude Code load tự động mỗi khi mở phiên mới — coi như tờ giấy note dán ngay màn hình nhân viên.

Nội dung phù hợp:

  • Tinh thần thương hiệu, nguyên tắc làm việc, giọng điệu ưu tiên.
  • Vị trí lưu các tài liệu quan trọng (dưới dạng mục lục, không phải full nội dung).
  • Một vài quy tắc an toàn và check trước khi bắt đầu việc.

Anthropic khuyến nghị file này dưới 200 dòng. Qua thực tế, giữ khoảng 50 dòng là lý tưởng nhất. Vượt mốc đó, Claude bắt đầu “nhìn lướt” và trả lời không còn bám hết các nguyên tắc.

Sai lầm phổ biến nhất là nhét mọi thứ vào đây — giới thiệu công ty, full tone guide, blacklist từ, danh sách khách hàng. Cách tốt hơn là dùng CLAUDE.md như bản mục lục: chỉ ghi “Khi tạo báo cáo tuần, tham chiếu file X ở thư mục Y” thay vì copy cả template vào. Ngoài ra, thêm một quy tắc kiểu “Trước khi làm, hãy hỏi thêm đến khi chắc 95% về yêu cầu” cũng giúp ích rất nhiều — tôi đã giảm được khoảng 30% lỗi hiểu nhầm chỉ bằng một dòng này.

Auto Memory hoạt động ra sao?

Auto Memory là cơ chế Claude tự ghi chú những gì nó học được trong phiên — tương đương nhân viên tự viết sổ tay. Bật/tắt bằng lệnh /memory, mặc định là bật.

Auto Memory phân loại thông tin thành 4 nhóm:

  • User — thông tin về bạn, sở thích, cách làm việc.
  • Feedback — những gì bạn thích/không thích trong output.
  • Project — thông tin dự án, mục tiêu, timeline.
  • Reference — số liệu, link, tài liệu quan trọng.

Các bản ghi lưu thành file riêng, memory.md chỉ giữ vai trò index. Ví dụ, nếu bạn nói “Quý này mục tiêu làm 8 video, mỗi video 7 phút”, Claude sẽ tạo một Project memory để dùng lại ở phiên sau.

Nhưng Auto Memory không tự làm sạch. Nếu không thỉnh thoảng mở folder memory để dọn, bạn sẽ nhanh chóng có một đống thông tin cũ, mâu thuẫn nhau và gây nhiễu không kém gì CLAUDE.md quá dài.

Nên kiểm soát 2 tầng đầu này thế nào?

  • Giữ CLAUDE.md càng ngắn càng tốt, tránh kể chuyện dài dòng.
  • Dùng “con trỏ” tới file khác thay vì dán nguyên nội dung.
  • Thêm quy định bắt Claude hỏi kỹ trước khi làm để tránh context bị “ô nhiễm”.
  • Đặt lịch dọn dẹp Auto Memory định kỳ — ví dụ mỗi tuần một lần.

Tóm tắt nhanh

  • CLAUDE.md là tờ note luôn được load, nên chỉ chứa nguyên tắc cốt lõi và mục lục tài liệu.
  • Giữ file dưới 200 dòng, lý tưởng khoảng 50 dòng để Claude thực sự đọc và áp dụng được.
  • Auto Memory tự ghi chép theo 4 nhóm và dùng lại ở phiên sau — nhưng cần dọn định kỳ.
  • Thêm quy tắc “hỏi đến khi chắc 95%” giúp giảm đáng kể rủi ro hiểu sai và ô nhiễm context.
  • Hai tầng này là nền — xây sai ở đây thì các tầng trên cũng lung lay theo.

Làm sao dùng CLAUDE Rules và Mem0 như “ngăn kéo thông minh”?

Khi nào bạn nên áp dụng cách làm này?

Khi có nhiều rule chỉ áp dụng cho một thư mục, dự án hay công cụ cụ thể như Slack hay Zalo, bạn không muốn chúng ngốn context mọi lúc. CLAUDE Rules và Mem0 chính là “ngăn kéo có nhãn” — chỉ mở ra khi cần.

CLAUDE Rules là gì?

CLAUDE Rules là cơ chế lưu rule theo ngữ cảnh cụ thể, chỉ hoạt động ở những đường dẫn hoặc tình huống bạn chỉ định. Không giống CLAUDE.md, chúng không luôn luôn được load.

Cách dùng cơ bản:

  1. Tạo thư mục .claude/rules/.
  2. Mỗi file trong đó là một bộ rule cho một ngữ cảnh:
  3. Quy tắc giao tiếp với khách hàng.
  4. Tone nội dung cho blog.
  5. Cách viết tin nhắn cho Slack/Zalo nội bộ.

Điều quan trọng là mô tả (description) và đường dẫn scope phải chuẩn để Claude biết khi nào cần áp dụng file nào. Rule Slack chỉ nên kích hoạt khi bạn đang trong folder dự án liên quan.

Lợi ích lớn nhất là tiết kiệm context và dễ bảo trì. Muốn đổi rule, chỉ mở đúng file đó — không phải sửa cả CLAUDE.md rồi lo ảnh hưởng sang chỗ khác.

Mem0 giải quyết vấn đề gì?

Mem0 là công cụ memory dựa trên vector database, cho phép tìm kiếm ngữ nghĩa chứ không chỉ theo từ khóa. Rất phù hợp với câu hỏi kiểu “Quyết định về giá cho khách A hồi đó là gì?”

Cách hoạt động:

  1. Mem0 tự ghi lại nội dung hội thoại.
  2. Chuyển sang embedding vector và lưu vào DB.
  3. Khi bạn hỏi lại bằng ngôn ngữ tự nhiên, nó tìm những đoạn có ý nghĩa gần nhất.

Cài đặt bằng lệnh /plugin từ marketplace của Claude Code. Có thể cấu hình dùng model embedding của OpenAI hoặc model ONNX chạy local để tiết kiệm chi phí.

Khi chạy nhiều dự án song song, Mem0 cực hữu ích để truy lại “quyết định” hay “tiền lệ” cũ mà không phải lục cả đống file. Nếu Auto Memory là “nhật ký”, Mem0 là “công cụ search nâng cấp” cho toàn bộ nhật ký đó.

Tóm tắt nhanh

  • CLAUDE Rules lưu rule theo ngữ cảnh, chỉ kích hoạt khi cần — không ngốn context mọi lúc.
  • Đặt rule trong .claude/rules/ và mô tả rõ scope để Claude biết lúc nào phải load.
  • Cách này dễ bảo trì hơn nhiều so với nhồi hết vào CLAUDE.md.
  • Mem0 dùng vector database để tìm lại thông tin theo ý nghĩa, không chỉ từ khóa.
  • Rất hữu ích khi phải truy lại các quyết định cũ giữa nhiều dự án song song.

Khi nào dùng Skills, khi nào dùng Sub-Agent cho công việc nặng?

Tại sao phần này quan trọng với bạn?

Khi bắt đầu dùng Claude Code cho automation thực sự — báo cáo tuần, tóm tắt log, nghiên cứu thị trường — token cháy rất nhanh. Biết phân biệt SkillsSub-Agent giúp giảm tải main session mà vẫn chạy được việc nặng.

Skills là gì?

Skills là các “manual công việc” chỉ được load khi bạn gọi. Bình thường chúng không chiếm bất kỳ slot context nào.

Skill phù hợp cho:

  • Tạo báo cáo tuần từ nguồn dữ liệu cố định.
  • Sinh tài liệu theo template có cấu trúc.
  • Chạy một chuỗi bước giống nhau mỗi lần.

Quy trình tạo skill khá đơn giản: mô tả bằng tiếng Việt “Skill này nhận input A, output B dạng C” rồi nhờ Claude tạo file skill.md. Tôi dùng cách này để chuẩn hóa báo cáo phân tích video YouTube hàng tuần — mỗi lần gọi chỉ mất vài dòng prompt.

Sub-Agent khác gì Skills?

Sub-Agent là một Claude khác, độc lập, được tạo riêng cho một mục đích nặng. Nó chạy tách biệt khỏi main session, dùng context riêng và chỉ trả về kết quả cuối.

Phù hợp cho:

  • Thu thập và đọc hàng trăm trang tài liệu ngành.
  • Nghiên cứu sâu một chủ đề AI agent, automation, LLM.
  • Phân tích dữ liệu lớn trước khi tổng hợp insight.

Cách tạo:

  1. /agent.
  2. Chọn tạo agent theo dự án.
  3. Mô tả nhiệm vụ: “Agent chuyên nghiên cứu thị trường SaaS B2B”, chẳng hạn.

Claude sẽ tự cấu hình model, role, rule xuất kết quả và memory riêng cho agent này. Trong terminal, sub-agent thường hiển thị màu cam để dễ nhận biết.

Về thực tế: skill vẫn “ăn” một ít context main session, còn sub-agent thì gần như không. Tách research ra sub-agent giúp giảm khoảng 40–50% context tiêu thụ trong main session — con số đủ để cảm nhận rõ sự khác biệt.

Nên chọn cái nào trong từng tình huống?

  • Tài liệu lặp lại, format cố định → dùng skill.
  • Nhiệm vụ khảo sát sâu, dữ liệu rất lớn → dùng sub-agent.

Tóm tắt nhanh

  • Skills là manual quy trình chỉ load khi gọi, phù hợp cho nhiệm vụ lặp lại có template.
  • Sub-Agent là agent độc lập, lý tưởng cho research và tác vụ nặng tốn token.
  • Skills vẫn dùng context của main session; sub-agent dùng context riêng, giảm tải cho main.
  • Tạo skill bằng mô tả natural language; tạo sub-agent bằng lệnh /agent.
  • Chọn skill cho “sản xuất theo mẫu”, chọn sub-agent cho “nghiên cứu, phân tích nặng”.

Vì sao phải thêm tầng 5 với database ngoài cho kho kiến thức dài hạn?

Khi nào bạn nên áp dụng cách làm này?

Khi bắt đầu tích lũy báo cáo thị trường, log bán hàng, dữ liệu CRM hoặc kho tài liệu đào tạo, bạn sẽ chạm giới hạn file local. Tầng 5 – Database ngoài là nơi dành cho những thứ “không dùng hôm nay nhưng cần tìm thật nhanh khi cần”.

External Database Integration là cách đưa thông tin ít dùng nhưng quan trọng ra khỏi context thường ngày. Hình dung đây là kệ sách cao trong văn phòng — chỉ leo lên khi cần một cuốn cụ thể.

Đặc điểm chung của loại dữ liệu này:

  • Dung lượng lớn (báo cáo trăm trang, nhiều năm dữ liệu).
  • Không cần load mỗi phiên, chỉ gọi theo câu hỏi.
  • Rất tốn context nếu cố nhét vào CLAUDE.md hoặc memory thường.

Ba kiểu sử dụng phổ biến

1. Dùng NotebookLM làm kho tài liệu
Lưu các report ngành, biên bản họp dài, rồi để Claude truy vấn khi cần phân tích thêm hoặc so sánh. Tài liệu chính thức tại https://notebooklm.google.com.

2. Tự xây LLM Wiki
Xây một wiki cá nhân hoặc công ty, dùng skill “Wiki” để Claude hỏi–đáp từ đó. Khi có câu hỏi, skill sẽ tra wiki giống như tra một trang Wikipedia thu nhỏ.

3. Kết nối database quan hệ (Supabase, PostgreSQL)
Lưu trữ dữ liệu bán hàng, hành vi người dùng, log sản phẩm ở dạng bảng. Claude sinh và chạy truy vấn SQL rồi giải thích kết quả. Tài liệu tại https://supabase.com/docshttps://www.postgresql.org/docs/.

Lưu ý thiết kế tầng 5

Bọc mọi kết nối DB ngoài bằng skill. Có nghĩa là chỉ khi gọi skill thì mới kết nối, query và đưa dữ liệu vào context. Bình thường, database không chiếm bất kỳ slot nào.

Tầng 1–4 là vùng “nóng” cho thông tin hay dùng. Tầng 5 là “kho lạnh” để đảm bảo hệ thống vẫn mượt mà nhưng không mất trí nhớ dài hạn.

Tóm tắt nhanh

  • Tầng 5 dành cho dữ liệu lớn, ít dùng nhưng quan trọng: báo cáo ngành, số liệu tài chính, log sản phẩm.
  • Có thể dùng NotebookLM, wiki riêng hoặc database như Supabase/PostgreSQL.
  • Claude truy vấn database và phân tích kết quả thay cho bạn.
  • Mọi kết nối nên được bọc trong skill để chỉ load khi cần, tránh ô nhiễm context.
  • Tầng 5 biến Claude thành “nhân viên” có cả kho tri thức dài hạn mà vẫn phản hồi nhanh.

6 mẹo vận hành thực chiến để vắt kiệt sức mạnh 5 tầng memory?

Tại sao phần này quan trọng với bạn?

Dù thiết kế 5 tầng đẹp đến đâu, nếu thói quen dùng Claude hằng ngày không đổi, bạn vẫn lãng phí token và làm bẩn context. 6 mẹo dưới đây là “luật vận hành” để hệ thống thực sự phát huy tác dụng.

1. Clear ở 60%, đừng đợi 100%

Khi chạm ngưỡng 100%, Claude sẽ tự compact lại lịch sử và có thể làm rụng mất phần bạn cần. Theo dõi thanh context ở status line, khi lên khoảng 60% thì chủ động gõ /clear để mở phiên mới.

Nếu đã thiết kế tốt CLAUDE.md, Auto Memory và Mem0, mọi thông tin quan trọng vẫn còn đó. Bạn chỉ đang reset “cuộc trò chuyện” chứ không phải reset “trí nhớ dài hạn”. Tôi từng chuyển cả một workflow viết bài từ không clear sang clear ở 60%, và chất lượng giữ được ổn định hơn nhiều ở các bước cuối.

2. Tắt MCP server không dùng

MCP server nếu còn kết nối sẽ chiếm context dù bạn không gọi — đặc biệt đáng kể khi cài nhiều tool.

  • Mở danh sách MCP.
  • Disconnect những server không dùng trong phiên hiện tại.
  • Chỉ bật lại khi thực sự cần.

3. Luôn chỉ rõ đường dẫn file (và cả dòng)

Khi bảo Claude “Hãy xem file trend rồi viết báo cáo”, bạn đang bắt nó tự khám phá cấu trúc file — rất tốn token. Thay vào đó, copy path đầy đủ (/project/2026/trend-q1.md) và nếu được, chỉ cả range dòng cần đọc.

4. Dùng Plan Mode trước khi “vào việc”

Plan Mode là chế độ Claude lập kế hoạch chi tiết trước rồi mới chạy. Tránh việc nó hiểu sai rồi “lao” đi cả chục bước sai hướng.

Quy trình:

  1. Yêu cầu “Hãy bật chế độ lập kế hoạch trước khi thực thi”.
  2. Review plan, sửa hoặc thêm bước.
  3. Xác nhận rồi mới cho Claude chạy.

Đây là cách đơn giản nhưng cực mạnh để tránh đổ cả phiên vào một hướng sai.

5. Giám sát kỹ giai đoạn đầu tác vụ

Trong 10–20% bước đầu, quan sát kỹ output. Nếu thấy đi lệch, bấm ESC để dừng ngay, chỉnh lại yêu cầu, bổ sung rule hoặc trích dẫn đúng file.

Chờ đến cuối mới phát hiện sai thì context đã dày đặc nội dung lệch, rất khó kéo lại mà không clear.

6. Tự động hóa handoff.md cho mỗi phiên

Handoff document là file tóm tắt phiên làm việc để phiên sau nối tiếp mượt.

  1. Thiết lập hook khi kết thúc phiên ghi lại: việc đã làm, những điều tuyệt đối không được làm, việc phải làm đầu tiên ở phiên sau.
  2. Lưu vào handoff.md.
  3. Cấu hình để mỗi phiên mới Claude đọc file này đầu tiên.

Lý tưởng nhất là cập nhật handoff.md sau mỗi lượt tương tác để thông tin luôn mới. Khi bật cơ chế này, cảm giác giống như có nhân viên thay ca được bàn giao kỹ — không cần kể lại từ đầu.

Tóm tắt nhanh

  • Clear context chủ động ở ~60% để tránh auto-compaction làm mất ngữ cảnh quan trọng.
  • Luôn tắt MCP server không dùng và chỉ rõ path + dòng khi tham chiếu file.
  • Dùng Plan Mode để xác nhận kế hoạch trước, tránh đổ cả phiên vào hướng sai.
  • Giám sát kỹ những bước đầu và dừng ngay khi thấy lệch.
  • Tự động tạo handoff.md để phiên sau nối tiếp liền mạch mà không cần giải thích lại.

Nên bắt đầu từ đâu? Lộ trình hành động trong 30 ngày

Khi nào bạn nên áp dụng lộ trình này?

Nếu hiện tại bạn chỉ chat “tùy hứng” với Claude mà chưa có cấu trúc memory nào, 30 ngày là đủ để chuyển sang chế độ Claude như một nhân viên được đào tạo bài bản.

Tuần 1 – Đo lường và dọn dẹp nền

  • Bật status line cho context và cost, làm quen với /context/cost.
  • Rà soát CLAUDE.md, cắt xuống gần 50 dòng, chuyển nội dung thừa sang file riêng.
  • Bật Auto Memory, kiểm tra thư mục memory và xóa các bản ghi vô nghĩa.

Tuần 2 – Xây tầng 1–3

  • Thiết kế lại CLAUDE.md dạng mục lục + nguyên tắc lõi.
  • Tạo 2–3 file CLAUDE Rules cho từng loại công việc chính (viết blog, trả lời email, xử lý code).
  • Cài plugin Mem0, test truy vấn lại những quyết định đã lấy trong tuần.

Tuần 3 – Thêm tầng 4

  • Tạo ít nhất 1 skill cho một quy trình lặp lại (báo cáo tuần, tóm tắt họp).
  • Tạo 1 sub-agent chuyên về research trong lĩnh vực bạn đang theo đuổi.
  • Tập thói quen dùng Plan Mode cho các task phức tạp.

Tuần 4 – Mở tầng 5 và tối ưu vận hành

  • Chọn một database ngoài (NotebookLM, wiki nội bộ, Supabase/PostgreSQL) cho kho dữ liệu dài hạn.
  • Bọc kết nối thành skill và test truy vấn từ Claude.
  • Thiết lập hook để tự động cập nhật handoff.md sau mỗi phiên làm việc quan trọng.

Hệ thống lại & bước tiếp theo

Vấn đề / Câu hỏi Việc bạn nên làm ngay
Claude nhanh hết quota, trả lời càng về sau càng tệ Bật status line, theo dõi context và clear chủ động ở ~60%
Claude quên sạch yêu cầu, phải giải thích lại mỗi phiên Thiết kế lại CLAUDE.md gọn nhẹ + bật và dọn Auto Memory định kỳ
Rule, guideline chồng chéo và khó sửa Tách thành CLAUDE Rules theo thư mục/ngữ cảnh, giữ CLAUDE.md chỉ là mục lục
Research nặng làm nghẽn cả phiên làm việc chính Tạo sub-agent chuyên research, giữ main session cho điều phối và quyết định
Phiên sau luôn phải “kể lại từ đầu” Thiết lập handoff.md tự động, đọc nó ở đầu mỗi phiên mới

Sau khi hiểu toàn bộ 5 tầng memory, bước quan trọng nhất là chọn một điểm nhỏ để bắt đầu thay vì cố refactor mọi thứ trong một ngày. Thường chỉ cần chỉnh lại CLAUDE.md và thêm một skill là bạn đã thấy khác biệt rõ về độ ổn định của câu trả lời.

Về lâu dài, hãy coi Claude như một nhân viên trong team, không phải một chatbot tổng hợp. Nhân viên giỏi có sổ tay, quy trình, kho dữ liệu riêng — Claude cũng cần một hệ thống như vậy để bền bỉ và nhất quán.

Nếu hôm nay Claude của bạn vẫn liên tục “mất trí nhớ”, rất có thể vấn đề không nằm ở model — mà nằm ở cách bạn tổ chức trí nhớ cho nó.


Câu Hỏi Thường Gặp

Q: Làm sao biết Claude Code đang bị quá tải context?

A: Dấu hiệu thường thấy là câu trả lời càng về sau càng hời hợt, bỏ sót yêu cầu hoặc mâu thuẫn với đầu phiên. Bật status line và dùng /context — nếu phần trăm context luôn cao và thường chạm trần, đó là lúc cần áp dụng clear ở 60% và triển khai 5 tầng memory.

Q: CLAUDE.md nên dài tối đa bao nhiêu?

A: Theo khuyến nghị của Anthropic, dưới 200 dòng. Thực tế hiệu quả nhất là khoảng 50 dòng. Chỉ giữ nguyên tắc lõi và mục lục tới tài liệu khác — toàn bộ nội dung chi tiết chuyển sang file riêng hoặc dùng skill/Rules.

Q: Auto Memory khác gì so với Mem0?

A: Auto Memory là cơ chế Claude tự ghi chú vào các file phân loại (User, Feedback, Project, Reference) để dùng lại ở phiên sau. Mem0 dùng vector database để tìm kiếm ngữ nghĩa, giúp truy vấn lại quyết định hay thông tin cũ theo ý nghĩa câu hỏi — không chỉ từ khóa.

Q: Khi nào nên dùng skill thay vì sub-agent?

A: Dùng skill cho tác vụ lặp lại với format cố định như tạo báo cáo hay sinh email theo template. Sub-agent phù hợp cho research, phân tích nặng và nhiệm vụ cần đọc rất nhiều tài liệu — vì nó chạy ở context riêng và không làm “nghẽn” phiên chính.

Q: Vì sao phải tự động hóa handoff.md?

A: Handoff.md giúp phiên sau tiếp nối mạch công việc mà không cần kể lại từ đầu, giảm lãng phí token và thời gian. Tự động hóa bằng hook cuối phiên đảm bảo luôn có bản tóm tắt mới nhất về việc đã làm, điều cấm kỵ và bước tiếp theo ưu tiên.

Bài viết này có hữu ích không?

Nhận thêm những bài viết công nghệ miễn phí.

Theo dõi blog qua email

Nhập địa chỉ email của bạn để đăng ký theo dõi blog này và nhận thông báo về các bài mới qua email.


Khám phá thêm từ ProductiveTechTalk

Đăng ký để nhận các bài đăng mới nhất được gửi đến email của bạn.

One response to “Claude Code càng dùng càng ngu? Sự thật về 5 tầng memory”

  1. Ảnh đại diện ProductiveTechTalk

    Câu “CLAUDE.md phải cực gọn, dưới 200 dòng, chỉ chứa nguyên tắc và con trỏ” làm mình giật mình nhất. Trước giờ mình toàn nhét hết guideline, ví dụ, cả lịch sử project vào 1 file rồi thắc mắc sao model càng dùng càng đuối. Ý tưởng tách nguyên tắc (CLAUDE.md) khỏi kiến thức (DB ngoài / skills) nghe rất “engineering” nhưng lại thực tế, nhất là khi làm việc dài hơi với 1 con AI cố định.

    Source: https://www.youtube.com/watch?v=V4n6YYDpKpE

Gửi phản hồi

Khám phá thêm từ ProductiveTechTalk

Đăng ký ngay để tiếp tục đọc và truy cập kho lưu trữ đầy đủ.

Tiếp tục đọc