Optimize AI Chat History: Tự động lưu log, giữ context, tiết kiệm token
Mỗi khi đóng tab chat, bạn mất toàn bộ context đã xây dựng từ đầu. Mỗi lần mở session mới, bạn lại phải giải thích lại từ đầu. Và tất nhiên - càng chat nhiều, càng tốn token. Bài này hướng dẫn cách phá vỡ vòng lặp đó bằng cách biến AI thành hệ thống tự ghi nhớ chính nó.
Đây là một trong những vấn đề phổ biến nhất khi làm việc với AI theo kiểu “vibe working” dài hơi: bạn có thể đang build một dự án, đang nghiên cứu một chủ đề, hoặc đang dạy AI hiểu cách bạn muốn làm việc - và tất cả những thứ đó sẽ biến mất khi session kết thúc. Bài viết này không nói về “cách dùng AI cho hay” theo kiểu lý thuyết. Nó nói về một kỹ thuật cụ thể: set rule để AI tự lưu log vào local drive, giữ context xuyên suốt, và đồng thời giảm lãng phí token đáng kể.
Vấn đề cốt lõi: AI không có bộ nhớ dài hạn
Hầu hết các AI chat (Claude, ChatGPT, Gemini…) hoạt động theo mô hình stateless - tức là mỗi session là một tờ giấy trắng hoàn toàn mới. Mọi thứ bạn đã chia sẻ - cấu trúc dự án, tone viết bài, quyết định thiết kế, lỗi đã fix - đều không được lưu lại giữa các session.
Kết quả là:
- Lặp lại công việc giải thích: Mỗi lần mở chat mới, bạn tốn 5-15 phút đầu chỉ để re-brief AI về project.
- Mất context quan trọng: Những quyết định nhỏ (“chúng ta đã quyết định không dùng X vì lý do Y”) bị mất đi mãi mãi.
- Token bị đốt vô ích: Một session chat dài 2 giờ với hàng trăm lượt trao đổi đang tiêu tốn context window của bạn vào cả những đoạn không còn liên quan nữa.
Giải pháp: Biến AI thành hệ thống tự ghi chép
Thay vì phụ thuộc vào bộ nhớ của AI (vốn không tồn tại giữa session), hãy tạo ra một vòng lặp ghi chép có hệ thống: AI tự lưu lại những gì quan trọng vào một file cụ thể trên máy bạn. Session tiếp theo, bạn chỉ cần chỉ AI đọc lại file đó là xong.
Nguyên tắc hoạt động:
- Bạn set rule (trong
CLAUDE.md,.cursor/rules, hoặc System Prompt) yêu cầu AI tự động ghi log. - Sau mỗi lượt làm việc đáng kể, AI cập nhật file log trên local drive.
- Session mới bắt đầu bằng lệnh: “Đọc file
session-log.mdvà tiếp tục từ đây.” - AI resume ngay lập tức - không cần re-brief.
Cách set rule để AI tự động lưu log
Với Claude Code / Claudian (CLAUDE.md)
Nếu bạn đang dùng Claudian hoặc Claude Code, file CLAUDE.md trong thư mục project là nơi lý tưởng nhất để đặt rule. AI sẽ tự đọc file này ở đầu mỗi session.
Thêm đoạn sau vào CLAUDE.md:
## Session Log Rule
Sau mỗi lượt làm việc quan trọng (hoàn thành một feature, giải quyết một vấn đề,
hoặc khi user kết thúc session), hãy tự động cập nhật file `session-log.md` tại
thư mục gốc của project theo format sau:
### [YYYY-MM-DD HH:MM] - [Tên tác vụ ngắn gọn]
- **Đã làm:** [Tóm tắt những gì đã thực hiện]
- **Quyết định quan trọng:** [Những lựa chọn kỹ thuật/design đã được thống nhất]
- **Vấn đề đang mở:** [Những thứ còn dở dang hoặc cần làm tiếp]
- **Context cần nhớ:** [Thông tin nền quan trọng cho session sau]
Khi bắt đầu một session mới, hãy đọc file `session-log.md` trước tiên
để hiểu tình trạng hiện tại của project.
Với Cursor / Windsurf (.cursor/rules hoặc .windsurfrules)
Nguyên lý tương tự, chỉ khác nơi đặt rule:
# Memory & Session Rule
At the end of each working session or after completing a significant task:
1. Update `docs/session-log.md` with what was done, key decisions, and open issues.
2. Keep entries concise but specific - future-you should be able to resume in under 2 minutes.
3. Always read `docs/session-log.md` at the start of a new session before asking clarifying questions.
Với ChatGPT / Gemini (Custom Instructions hoặc System Prompt)
Với các tool không có file config, đặt rule này vào phần Custom Instructions (ChatGPT) hoặc System Prompt:
Cuối mỗi lượt trao đổi dài hoặc khi tôi nói "lưu log", hãy tổng hợp
và xuất ra một đoạn text theo format session log (markdown) để tôi
copy-paste vào file local. Format: ngày giờ, đã làm gì, quyết định gì,
còn gì chưa xong, context quan trọng cần nhớ.
Nhược điểm của cách này là bạn phải tự copy-paste thủ công thay vì AI ghi thẳng vào file.
Cấu trúc file session-log.md chuẩn
Dưới đây là một template thực chiến bạn có thể dùng ngay:
# Session Log - [Tên Project]
> File này được AI tự động cập nhật sau mỗi working session.
> Khi bắt đầu session mới: đọc phần LOG GẦN NHẤT trước tiên.
---
## [2026-04-13 14:30] - Refactor Header Component
- **Đã làm:** Tách Header thành HeaderDesktop và HeaderMobile,
fix bug dropdown trên Safari iOS.
- **Quyết định:** Dùng CSS grid thay flexbox cho nav items
(lý do: dễ maintain hơn khi thêm item mới).
- **Vấn đề đang mở:** Chưa test trên Android Chrome,
dark mode của dropdown chưa xong.
- **Context cần nhớ:** Project dùng Tailwind v4,
không có PostCSS config riêng.
---
## [2026-04-12 10:15] - Setup i18n
...
Tại sao cách này còn giúp tiết kiệm token đáng kể
Đây là phần nhiều người bỏ qua - nhưng thực ra là lợi ích lớn nhất về mặt chi phí.
Token hoạt động thế nào: Mỗi lần bạn gửi một tin nhắn, AI không chỉ đọc tin nhắn đó. Nó đọc toàn bộ lịch sử cuộc trò chuyện từ đầu đến cuối. Một session chat 3 giờ với 100 lượt trao đổi nghĩa là ở tin nhắn thứ 100, AI đang xử lý gần như toàn bộ 99 lượt trước đó - bao gồm cả những đoạn hoàn toàn không còn liên quan.
So sánh hai cách làm:
| Cách cũ | Cách mới (có session log) |
|---|---|
| 1 session dài, 200 lượt trao đổi | Nhiều session ngắn, mỗi session 20-30 lượt |
| Tin nhắn cuối gánh context của 199 tin trước | Mỗi session bắt đầu fresh với chỉ file log (~500 tokens) |
| Chi phí token tăng lũy tiến | Chi phí token tuyến tính, có thể dự đoán |
| Dễ “nhiễu” context cuối session | Context luôn sạch, tập trung |
Ví dụ cụ thể: Một session ChatGPT-4o dài 3 tiếng có thể tốn 150k-300k tokens chỉ vì context window phải gánh toàn bộ lịch sử. Nếu bạn chia thành 6 session 30 phút, mỗi session chỉ cần load file log ~1-2k tokens để resume, tổng tiêu thụ có thể giảm 40-60%.
Workflow thực chiến: 3 bước làm mỗi ngày
Đầu session:
“Đọc
session-log.mdvà cho tôi biết chúng ta đang ở đâu.”
Trong session: Làm việc bình thường. Không cần lo gì thêm nếu đã set rule.
Cuối session (hoặc khi muốn chuyển task):
“Cập nhật session log trước khi tôi đóng chat.”
Chỉ vậy thôi. AI lo phần còn lại.
Nâng cao: Kết hợp với CLAUDE.md và Context Files
Nếu bạn đang dùng Claude Code hoặc Claudian, có thể đẩy hệ thống này lên một tầm khác bằng cách kết hợp:
CLAUDE.md: Chứa rule cố định - tone viết, quy chuẩn code, thông tin về project.session-log.md: Chứa log động - tiến độ, quyết định, vấn đề đang mở.context/[feature].md: File context chuyên biệt cho từng feature hoặc module lớn.
Khi bắt đầu session, Claude sẽ tự đọc CLAUDE.md (rule) + bạn chỉ cần paste đường dẫn đến session-log.md là AI có đủ ngữ cảnh để làm việc ngay.
Cách này đặc biệt hiệu quả cho các project kéo dài nhiều tuần - ví dụ như build một website, viết một series nội dung, hoặc nghiên cứu một chủ đề phức tạp.
Câu hỏi thường gặp (FAQ)
File session-log.md có nên lưu vào Git không?
Tùy mục đích. Nếu bạn làm solo, có thể thêm vào .gitignore để tránh commit noise. Nếu làm team, nên commit để cả team nắm được tiến độ - nhưng hãy giữ format ngắn gọn để dễ review trong git diff.
AI có thực sự tự ghi vào file được không, hay phải copy thủ công?
Phụ thuộc vào tool bạn dùng. Claude Code, Claudian, Cursor, Windsurf đều có quyền đọc/ghi file trực tiếp - AI sẽ tự động cập nhật log mà không cần bạn làm gì. Với ChatGPT web hoặc Gemini web, AI chỉ có thể xuất text, bạn phải tự copy-paste vào file local.
Session log nên dài bao nhiêu để không làm tốn thêm token?
Mục tiêu lý tưởng: dưới 500 từ cho toàn bộ file log, mỗi entry không quá 100 từ. Nếu log quá dài, hãy archive các entry cũ hơn 1 tuần vào một file riêng (session-log-archive.md). File active chỉ giữ 5-7 entry gần nhất.
Cách này có áp dụng được cho ChatGPT Projects không?
Có, nhưng theo cách khác. ChatGPT Projects cho phép bạn upload file context - hãy upload session-log.md lên Project và đặt instruction bảo AI đọc nó trước khi trả lời. Sau mỗi session, download file, cập nhật thủ công, rồi re-upload. Không tự động bằng Claude Code nhưng vẫn hiệu quả hơn nhiều so với không có gì.
Tôi có thể dùng cách này cho nhiều project cùng lúc không?
Hoàn toàn được. Mỗi project có một session-log.md riêng trong thư mục của nó. Khi chuyển sang project khác, bạn chỉ cần mở session mới và trỏ AI đến đúng file log của project đó. Không bao giờ bị nhầm lẫn context giữa các project.
Tổng kết
Mất context giữa các session không phải lỗi của AI - đó là bản chất của kiến trúc stateless mà hầu hết các model đang dùng. Nhưng bạn hoàn toàn có thể bypass giới hạn đó bằng cách tạo ra một lớp “bộ nhớ ngoài” dưới dạng file log trên local drive. Set rule một lần, AI tự lo phần còn lại. Bắt đầu ngay hôm nay bằng cách tạo file session-log.md trong project hiện tại của bạn và thêm một dòng rule vào CLAUDE.md - bạn sẽ cảm nhận sự khác biệt từ session đầu tiên.
NateCue