Bỏ qua để đến nội dung

Token, Context Window và Memory

Level: L1 — AI Foundation (Bài 2/8)

Sau bài này, bạn có thể:

  • Giải thích token là gì và vì sao AI “đếm” chữ theo cách khác con người.
  • Giải thích context window là gì, phân biệt nó với “trí nhớ dài hạn”, và biết vì sao một hội thoại dài có thể khiến AI “quên” phần đầu.
  • Hiểu khái niệm “context rot” — vì sao context window càng đầy không đồng nghĩa với AI càng thông minh hơn.
  • Phân biệt “memory” trong 1 phiên (context window) với “memory” giữa các phiên (tính năng ghi nhớ lâu dài mà một số trợ lý AI cung cấp).
  • Token: đơn vị nhỏ nhất mà một LLM xử lý — có thể là một từ, một phần từ, một ký tự, hoặc byte. Với Claude, một token tương đương khoảng 3.5 ký tự tiếng Anh [S43]. Hầu hết nhà cung cấp AI tính phí và giới hạn dựa trên số token, không phải số từ hay số ký tự.
  • Context window: “toàn bộ văn bản mà một language model có thể tham chiếu khi sinh ra phản hồi” — bao gồm cả những gì bạn gửi (system prompt, lịch sử hội thoại, tài liệu/ảnh đính kèm) phản hồi model sinh ra [S44]. Đây là “bộ nhớ làm việc” cho phiên hiện tại — khác với training data, vốn không “nằm trong” context window [S43].
  • Memory (bộ nhớ) — 2 nghĩa cần phân biệt:
    1. Bộ nhớ trong phiên (session memory) = chính là context window: mất đi khi hội thoại kết thúc.
    2. Bộ nhớ giữa các phiên (persistent memory) = tính năng sản phẩm riêng biệt, độc lập với context window (ví dụ Claude liệt kê “Memory” là 1 tính năng workspace [S47]) — không phải đặc tính vốn có của LLM.
  • Nếu bạn không hiểu context window có giới hạn, bạn sẽ ngạc nhiên khi AI “quên” chi tiết đã nói ở đầu hội thoại dài — đây là hệ quả trực tiếp của kiến trúc, không phải lỗi.
  • Không phân biệt session vs persistent memory có thể khiến bạn (a) vô tình chia sẻ thông tin nhạy cảm tưởng nó sẽ “biến mất”, hoặc (b) không tận dụng tính năng ghi nhớ lâu dài khi nó thực sự tồn tại.
  • Hiểu context rot giúp bạn chủ động quản lý hội thoại thay vì đổ lỗi AI khi chất lượng câu trả lời giảm dần.

Theo Anthropic [S44]: mỗi lượt hội thoại gồm input (lịch sử + tin nhắn mới) và output (phản hồi, cộng dồn vào lịch sử cho lượt sau). Mọi thứ trong request đều tính vào context window: system prompt, mọi tin nhắn (kể cả kết quả gọi tool, ảnh, tài liệu), và cả phần suy luận nội bộ. Khi tổng token vượt giới hạn model, request bị từ chối hoặc dừng lại.

Context rot — phát hiện quan trọng nhất: “khi số token tăng lên, độ chính xác và khả năng ghi nhớ (recall) của model giảm dần” [S44]. Context window càng đầy không có nghĩa AI càng “nhớ tốt” hơn — nhồi quá nhiều thông tin không liên quan có thể làm giảm chất lượng câu trả lời.

Persistent memory là một lớp kỹ thuật khác: lưu thông tin quan trọng ở nơi riêng (ngoài context window phiên hiện tại), rồi tự động “nạp lại” phần liên quan khi bắt đầu phiên mới. Cơ chế cụ thể khác nhau giữa các nhà cung cấp — chi tiết triển khai ở Level 3.

Hãy hình dung context window như một chiếc bàn làm việc có kích thước cố định — mọi tài liệu bạn đặt lên bàn đều chiếm chỗ, bàn càng đầy càng khó tìm đúng tài liệu (context rot), và khi hết chỗ bạn phải dọn bớt hoặc bắt đầu bàn mới. Persistent memory giống tủ hồ sơ riêng ngoài phòng — hồ sơ liên quan được lấy ra đặt lên bàn mới, nhưng tủ hồ sơ không phải là cái bàn.

  1. Nhận biết dấu hiệu context rot: hội thoại dài mà AI trả lời lệch chủ đề, lặp lại, hoặc “quên” chi tiết đã thống nhất — đây là context quá tải, không phải model “kém đi”.
  2. Chủ động dọn dẹp context: tóm tắt các điểm quan trọng và bắt đầu hội thoại mới thay vì nhồi thêm hướng dẫn “nhắc lại”.
  3. Phân biệt “nhớ trong phiên” với “nhớ lâu dài”: nếu cần AI nhớ cho các lần sau, tìm hiểu sản phẩm có persistent memory hay không, đừng giả định nó tự “nhớ mãi mãi”.
  4. Với tài liệu/file lớn: đính kèm tài liệu dài chiếm phần đáng kể context window — cân nhắc trích phần liên quan thay vì gửi toàn bộ (chi tiết ở bài 7).
  • Chat 2 giờ liên tục nhiều chủ đề, rồi hỏi lại chi tiết ở phút thứ 5 — AI trả lời sai/“không nhớ”. Đây là context rot: quá nhiều nội dung không liên quan tích luỹ, làm giảm khả năng truy hồi chính xác [S44].
  • Lo lắng thông tin công ty dán vào chat sẽ được “nhớ mãi mãi” — thực ra đây là 2 vấn đề khác nhau: (a) AI có nhớ giữa các phiên không (memory), và (b) dữ liệu có được lưu trữ/dùng huấn luyện không (chính sách dữ liệu — ngoài phạm vi bài này).

Mẫu tóm tắt để “chuyển context” sang hội thoại mới khi hội thoại cũ đã quá dài:

Đây là tóm tắt những gì chúng ta đã thống nhất trong hội thoại trước:
1. [Mục tiêu/nhiệm vụ chính]
2. [Các quyết định/ràng buộc quan trọng đã chốt]
3. [Những gì đã thử và KHÔNG hiệu quả — để không lặp lại]
4. [Bước tiếp theo cần làm]
Tiếp tục hỗ trợ tôi từ điểm này.
⚠ Context rot — bàn quá đầySystem promptLịch sử hội thoạiFile đính kèmContext Window (bàn làm việc)Persistent Memory (tủ hồ sơ)
Hình 1.2 — Context Window như bàn làm việc có giới hạn, và Persistent Memory như tủ hồ sơ riêng.

Mở một hội thoại AI đã kéo dài (hoặc tạo mới, trò chuyện 5-6 chủ đề khác nhau). Sau đó:

  1. Hỏi lại một chi tiết cụ thể đã đề cập ở đầu hội thoại.
  2. Quan sát: AI trả lời đúng, sai, hay mơ hồ?
  3. Áp dụng mẫu tóm tắt ở mục 8 để “chuyển” ngữ cảnh sang hội thoại mới, và so sánh chất lượng câu trả lời tiếp theo.

(Suy luận từ cơ chế được mô tả ở [S43, S44], không phải khảo sát lỗi người dùng đã ghi nhận chính thức.)

  • Tưởng AI “nhớ mãi mãi” mọi thứ trong một hội thoại dài — bỏ qua giới hạn context window và context rot.
  • Nhồi toàn bộ tài liệu/lịch sử vào context “cho chắc” — càng nhiều context không đồng nghĩa càng tốt.
  • Nhầm lẫn context window với chính sách lưu trữ dữ liệu của nhà cung cấp — 2 vấn đề khác nhau (kỹ thuật vs pháp lý/chính sách).

13. Giới hạn & khi nào KHÔNG nên áp dụng

Phần tiêu đề “13. Giới hạn & khi nào KHÔNG nên áp dụng”
  • Mental model “chiếc bàn làm việc” không mô tả chính xác cơ chế kỹ thuật đầy đủ (prompt caching, context editing…) [S44]. Người cần triển khai kỹ thuật nên đọc tài liệu API chính thức.
  • “Context rot” mô tả xu hướng chung, không phải ngưỡng cố định — không nên áp dụng máy móc một con số “token tối đa nên dùng”.
  • Bài này không đi sâu cách các sản phẩm cụ thể triển khai persistent memory — thuộc phạm vi Level 3.
  1. Không giả định context window = bảo mật dữ liệu. Thông tin “biến mất” khỏi context window không đồng nghĩa nhà cung cấp không lưu trữ/xử lý nó theo cách khác (chính sách dữ liệu, log, huấn luyện model). Kiểm tra chính sách dữ liệu chính thức trước khi dán thông tin nhạy cảm.
  2. Persistent memory cần xem xét cẩn trọng hơn session memory — vì nó lưu trữ có chủ đích qua nhiều phiên. Nên biết cách xem/xoá bộ nhớ dài hạn nếu tính năng đó tồn tại.
  1. Coi context window là tài nguyên có hạn cần quản lý chủ động, không phải “bộ nhớ vô hạn”.
  2. Khi hội thoại có dấu hiệu context rot, tóm tắt và bắt đầu hội thoại mới.
  3. Phân biệt rõ “AI có nhớ trong phiên này không” với “AI có nhớ giữa các phiên không”.
  4. Không dán thông tin nhạy cảm dựa trên giả định về context window — kiểm tra chính sách dữ liệu chính thức trước.
16. Nội dung nâng cao (không bắt buộc)
  • Các cơ chế quản lý context nâng cao ở tầng API: prompt caching, context editing, server-side compaction, context awareness [S44].
  • Token counting API — công cụ ước lượng số token trước khi gửi request [S45].

[S43] Glossary, Claude Platform Docs (Anthropic) · [S44] Context windows, Claude Platform Docs (Anthropic) · [S45] Token counting, Claude Platform Docs (Anthropic) · [S47] Claude (trang chủ, Anthropic).

2026-07-12. Phần khái niệm (token, context window, context rot) ổn định, ít lỗi thời; phần con số cụ thể (kích thước context theo model) cố tình KHÔNG đưa vào bài để tránh lỗi thời — tra cứu trực tiếp tài liệu chính thức tại thời điểm đọc để có số liệu chính xác theo model.