Một trong những câu hỏi lớn nhất mà người làm sản phẩm hay gặp khi tương tác với các mô hình ngôn ngữ lớn (LLM) là: vì sao AI có lúc nhớ được những gì ta nói hàng giờ đồng hồ, nhưng đôi khi lại quên mất lời dặn chỉ sau vài dòng? Để trả lời câu hỏi này, chúng ta cần hiểu hai khái niệm rất dễ bắt gặp khi bạn sử dụng hoặc tìm hiểu về AI: token và context window.
Ở bài viết này, Lemon’s Tribe sẽ cùng bạn đi từ nguồn gốc của khái niệm “token hóa”, giải thích vì sao mỗi mô hình chỉ có một “cửa sổ” để nhìn thấy dữ liệu (context window), bàn về giới hạn của cửa sổ ấy và tại sao “cửa sổ” to chưa chắc đã là giải pháp. Leggo!
- Token là gì và tại sao token hóa quan trọng?
- Context window – “cửa sổ tâm hồn” của AI
- Context window lớn hay nhỏ – bao nhiêu là đủ?
- Những hiểu lầm phổ biến về context window
- Vì sao AI quên? – Các giới hạn của context window
- Làm sao để tối ưu token khi dùng AI?
- Tạm kết
- Nguồn Tham Khảo
Token là gì và tại sao token hóa quan trọng?
Khi con người đọc một văn bản, chúng ta nhận biết từng chữ, ghép lại thành từ rồi thành câu; còn AI lại “đọc” bằng một đơn vị nhỏ hơn nhiều: đó chính là token. Token đại diện cho một mảnh nhỏ của văn bản, thường ngắn hơn một từ, có thể là một ký tự đơn, một âm tiết hay một đoạn ngắn của từ. Quá trình chuyển đổi văn bản thành dãy token gọi là token hóa (tokenization). Một kỹ thuật phổ biến trong tokenization là Byte‑Pair Encoding (BPE), bắt đầu từ các ký tự cơ bản và liên tục ghép cặp những ký tự thường gặp để tạo thành token lớn hơn.1
Token hóa giúp mô hình xử lý ngôn ngữ một cách hiệu quả hơn. Số lượng token thường nhiều hơn số từ khoảng 30 %, vì một số từ dài phải chia thành nhiều token. Cách bạn sử dụng token sẽ tác động đến 2 yếu tố sau:
- Chi phí và tốc độ: Mỗi token đều được tính phí (nếu dùng API thương mại) và làm tăng độ phức tạp tính toán.
- Chất lượng đầu ra: Một prompt dài hơn không phải lúc nào cũng tốt hơn; quá nhiều token có thể làm mô hình phân tán sự chú ý.2
Các mô hình khác nhau có thuật toán token hóa khác nhau. Và thậm chí, cùng 1 từ được sử dụng, nhưng cách tính token cũng có thể khác nhau, tuỳ thuộc vào ngữ cảnh và những từ đứng xung quanh nó. Trung bình một token tiếng Anh dài khoảng bốn ký tự hoặc ba phần tư từ; tuy nhiên tiếng Việt có dấu và âm tiết sẽ phân mảnh hơn. Những ngôn ngữ giàu dấu câu, emoji, ký hiệu JSON hay mã nguồn sẽ làm số token tăng vọt. Vì vậy, tối ưu hóa token là một kỹ năng quan trọng khi thiết kế prompt hay xây dựng hệ thống agent.3
Context window – “cửa sổ tâm hồn” của AI
Mỗi model AI sẽ có giới hạn trần của số lượng token khác nhau trong prompt đầu vào hoặc câu trả lời – output đầu ra. Giới hạn đó được gọi token limit, hoặc context window (hoặc context window length, context length, maximum sequence length).4 Hay nói cách khác, context window là lượng văn bản tối đa mô hình có thể “nhìn thấy” và dựa vào đó để dự đoán các token tiếp theo. Dù mô hình được huấn luyện với hàng nghìn tỷ token và có hàng tỷ tham số, context window thường chỉ vài nghìn đến vài triệu token.5 6
Context window hoạt động như bộ nhớ làm việc (working memory); nó gồm toàn bộ hệ thống prompt, lịch sử hội thoại, dữ liệu RAG, kết quả từ công cụ… Mọi thứ phải được nhồi vào cửa sổ này thì mô hình mới có thể “nhìn thấy” trong lần suy luận hiện tại. Bài viết của Redis ví von context window như bộ nhớ ngắn hạn: mỗi token mới thêm vào đều phải chia sẻ tài nguyên với các token khác. Trước khi vào context window, văn bản phải được token hóa bằng BPE.7
Context window lớn hay nhỏ – bao nhiêu là đủ?
Trong giai đoạn đầu, hầu hết các mô hình chỉ hỗ trợ context window vài nghìn token (ví dụ GPT‑3 với 4k token). Tuy nhiên, bắt đầu từ 2023, các nhà cung cấp liên tục mở rộng giới hạn này. Bài công bố của Anthropic mô tả việc họ mở rộng context window của Claude từ 9k lên 100k token, tương đương khoảng 75.000 từ. Điều này cho phép mô hình đọc toàn bộ cuốn The Great Gatsby (72k token) và xác định một chi tiết bị thay đổi chỉ trong 22 giây.8 Tuy nhiên, context window lớn không đồng nghĩa với trí nhớ vĩnh viễn. Context window chỉ tồn tại trong một phiên tương tác; khi phiên kết thúc, context bị xóa sạch. Do đó, kể cả khi bạn có 128k hoặc 1M token, mô hình vẫn không nhớ cuộc trò chuyện trước đó nếu không có hệ thống lưu trữ lâu dài.9
Mặt khác, một cửa sổ 8k hoặc 16k token có thể đủ cho những hội thoại ngắn, câu hỏi – trả lời đơn giản hoặc tác vụ gọn. Đối với tiếng Anh, 8k token tương đương khoảng 6.000 từ; GPT‑3.5 Turbo với context window 16k tạo ra sự cân bằng giữa hiệu suất và chi phí. Những mô hình như Mistral 7B hoặc LLaMA 2 chỉ hỗ trợ từ 4k tới 8k token, phù hợp với các ứng dụng nhúng hoặc yêu cầu độ trễ (latency) thấp.10 Các mô hình nhỏ thường có chi phí rẻ hơn và tốc độ phản hồi nhanh hơn. Các mô hình với context window dưới 32k giữ được sự tập trung đồng đều trên toàn bộ chuỗi và có chi phí token thấp hơn. Những tác vụ cần phản hồi thời gian thực, như chatbot giao tiếp các vấn đề đơn giản hay agent điều khiển thiết bị, thường ưu tiên context window nhỏ và sử dụng kỹ thuật RAG để lấy thông tin ngoài vào khi cần thiết.11
Những hiểu lầm phổ biến về context window
- “Context window càng lớn càng tốt” – Thực tế, context window lớn giúp xử lý tài liệu dài nhưng sẽ bị giới hạn bởi chi phí, băng thông và sự suy giảm chú ý. Nhiều benchmark cho thấy mô hình dài thường không giữ được độ chính xác quá 32k token.
- “Context window = trí nhớ lâu dài” – Context chỉ tồn tại trong một lần suy luận; sau khi phiên kết thúc, nó bị xóa. Để AI “nhớ” qua nhiều phiên, bạn cần layer memory hoặc lưu trữ ngoài.
- “Tăng context window sẽ giúp AI thông minh hơn” – Có những tác vụ mà context window lớn là cần thiết (phân tích tài liệu pháp lý, tổng hợp sách), nhưng với nhiều tác vụ như chat thời gian thực, context nhỏ kết hợp RAG cho kết quả nhanh và chính xác hơn.
- “RAG không cần thiết khi có 1M token” – Ngay cả với 1M token, mô hình vẫn gặp hiệu ứng lost-in-the-middle và chi phí tăng nhanh. RAG giúp lấy đúng đoạn thông tin và sắp xếp chúng theo độ liên quan, giảm kích thước context và tăng chất lượng.12 13
Vì sao AI quên? – Các giới hạn của context window
Ngay cả khi context window lên tới hàng triệu token, mô hình vẫn gặp nhiều giới hạn vật lý và thuật toán14:
- Cơ chế self-attention: Sau quá trình tokenization, mô hình transformer cần so sánh mỗi token với mọi token khác để hiểu được mối quan hệ phụ thuộc giữa chúng, và tìm ra trình tự xử lý data. Đồng thời, mô hình transfomer có một đặc tính nổi trội gọi là “self-attention”, hay giải thích dễ hiểu là mô hình sẽ tự phân tích để xác định thành phần nào cần được chú ý. Vậy nhiệm vụ của transformer sẽ là xác định thành phần chính (token) cần chú ý, mối quan hệ giữa thành phần đó và các thành phần xung quanh, từ đó tạo ra “attention matrix” – ma trận chú ý. Khi số lượng token được đưa vào nhiều hơn, số phép tính của attention matrix tăng theo bình phương chiều dài chuỗi. Ví dụ: 10k token yêu cầu 100 triệu phép so sánh. Vì vậy, việc suy luận sẽ chậm lại rõ rệt khi context dài.15
- Hạn chế phần cứng: Một trong những giới hạn lớn nhất của context window nằm ở phần cứng. GPU có hai loại bộ nhớ: một loại rất nhanh nhưng dung lượng nhỏ (SRAM), và một loại dung lượng lớn hơn nhưng chậm hơn (HBM). Khi mô hình thực hiện attention, dữ liệu phải liên tục được chuyển qua lại giữa hai vùng nhớ này. Việc di chuyển dữ liệu với khối lượng lớn tạo ra “nút thắt cổ chai” về băng thông, khiến tốc độ suy luận chậm đi đáng kể. Đây cũng là lý do vì sao việc mở rộng context window lên quá lớn vẫn là một bài toán khó, dù phần mềm và mô hình ngày càng được cải tiến.
- Chi phí và tốc độ phản hồi (latency): Mỗi token được tính phí; context window càng lớn thì chi phí mỗi lần gọi API càng cao. Khi một model sử dụng full‑context cho mỗi hội thoại 128k token sẽ tiêu tốn gấp nhiều lần so với mô hình chỉ truy xuất 5–10 thông tin quan trọng qua hệ thống memory. Ngoài ra, thời gian phản hồi p95 có thể tăng từ dưới 1 giây lên hơn 17 giây– một trải nghiệm khó chấp nhận với người dùng.16
- Hiệu ứng lost‑in‑the‑middle: Một vấn đề khác của context dài là mô hình không thực sự chú ý đồng đều tới toàn bộ nội dung. Nghiên cứu “Lost in the Middle” của Stanford cho thấy mô hình thường nhớ tốt phần đầu và cuối chuỗi, nhưng dễ bỏ sót thông tin nằm ở giữa17. Nói cách khác, context window 128k token không đồng nghĩa với việc mô hình “đọc kỹ” cả 128k token đó. Phần nội dung ở giữa rất dễ bị attention bỏ qua. Redis cũng ghi nhận rằng nhiều mô hình long-context bắt đầu suy giảm độ chính xác rõ rệt sau khoảng 32k token.
- Thiếu khả năng ưu tiên: Transformer vốn không có cơ chế tự nhiên để phân biệt đâu là thông tin quan trọng hơn. Về mặt attention, một câu hỏi quan trọng ở hiện tại và một đoạn hội thoại vu vơ từ vài giờ trước có thể được đối xử gần như ngang nhau. Điều này khiến context dài dễ bị “nhiễu”, vì mô hình phải chia sự chú ý cho quá nhiều thông tin cùng lúc. Đó cũng là lý do các hệ thống AI hiện đại thường cần thêm retrieval, ranking hoặc memory layer để lọc và ưu tiên dữ liệu trước khi đưa vào context.
- Context không phải là memory: Một hiểu lầm phổ biến là nghĩ rằng context window chính là trí nhớ của AI. Thực tế, context chỉ là phần thông tin mô hình tạm thời nhìn thấy trong phiên làm việc hiện tại. Khi cuộc trò chuyện kết thúc hoặc vượt quá giới hạn token, phần context cũ sẽ bị loại bỏ. Nói cách khác, mô hình không thực sự “nhớ” những gì đã xảy ra trước đó, trừ khi chúng ta chủ động đưa lại thông tin vào prompt hoặc lưu trữ nó thông qua các hệ thống memory bên ngoài. Vì vậy, dù context window có lớn đến đâu, AI vẫn cần memory architecture hoặc retrieval system để có khả năng ghi nhớ dài hạn thực sự.
Làm sao để tối ưu token khi dùng AI?
Với những hạn chế trên, việc quản lý token trở thành công việc quan trọng của prompt engineer và product owner. Dưới đây là một số phương pháp thực tiễn18:
- Tóm tắt và phân đoạn: Thay vì đưa cả tài liệu dài vào một lần, hãy chia nhỏ thành các đoạn ngắn, nhờ AI tóm tắt từng phần rồi tổng hợp. Điều này giúp tiết kiệm token và giảm rủi ro “lost in the middle”. Bạn có thể phân đoạn văn bản, sử dụng các công cụ trích xuất cấu trúc để cắt tài liệu dựa trên cấu trúc logic và ngữ nghĩa.19
- Lọc thông tin: Chỉ đưa vào context những đoạn thực sự liên quan đến câu hỏi hiện tại. Bạn có thể sử dụng retrieval‑augmented generation (RAG) để truy xuất các phần tài liệu cần thiết thay vì nhồi toàn bộ tài liệu trong prompt.
- Sử dụng caching và semantic search: Một cơ chế được khuyến nghị sử dụng là semantic caching — cơ chế lưu lại kết quả của các câu hỏi giống nhau về mặt ý nghĩa, thay vì chỉ giống hệt từng chữ. Khi người dùng đặt một câu hỏi tương tự trong tương lai, hệ thống có thể trả lại kết quả đã có mà không cần gọi mô hình suy luận lại từ đầu. Ngoài ra, nhiều nhà cung cấp API như OpenAI còn hỗ trợ prompt caching, cho phép tái sử dụng những phần prompt lặp lại để giảm đáng kể chi phí token. Trong một số trường hợp, chi phí input token có thể giảm tới khoảng 75%.
- Kết hợp memory: Thay vì liên tục nhồi toàn bộ lịch sử hội thoại vào context window, nhiều hệ thống AI hiện đại sử dụng kiến trúc memory nhiều tầng, bao gồm: short-term memory để lưu trạng thái tạm thời của phiên hiện tại; long-term memory để lưu thông tin lâu dài xuyên suốt nhiều phiên làm việc. Bạn có thể kết hợp vector search và caching để lưu lại “dấu ấn” của người dùng — ví dụ như sở thích, lịch sử tương tác hoặc thông tin quan trọng — rồi chỉ truy xuất lại khi cần. Điều này giúp context gọn hơn nhưng vẫn giữ được tính cá nhân hóa. Ngoài ra, việc sử dụng memory layer có thể giảm lượng token mỗi hội thoại từ khoảng 26k xuống chỉ còn khoảng 1,8k, trong khi vẫn duy trì chất lượng phản hồi.
- Tối ưu code và JSON: Trong các hệ thống agentic AI, token không chỉ đến từ hội thoại mà còn đến từ: JSON payload, metadata, tool input & output,…. Vì vậy, những cấu trúc dữ liệu dài dòng hoặc lặp lại sẽ nhanh chóng làm phình context window. Khi thiết kế hệ thống, nên: loại bỏ các field không cần thiết, tránh mô tả dài lặp đi lặp lại, rút gọn schema và response format, chỉ trả về đúng dữ liệu agent thực sự cần. Nói đơn giản hơn: trong AI systems, token cũng là một loại “tài nguyên tính toán”. Context càng gọn và sạch, mô hình càng phản hồi nhanh, rẻ và ổn định hơn.
Tạm kết
Token và context window không phải những khái niệm đao to búa lớn, mà là nền tảng của mọi mô hình ngôn ngữ. Token là đơn vị nhỏ nhất mà mô hình xử lý; hiểu cách token hóa giúp tối ưu prompt và tiết kiệm chi phí. Context window là “bàn làm việc” hữu hạn của AI; dù có mở rộng tới hàng triệu token, nó vẫn chỉ là bộ nhớ ngắn hạn và mang nhiều giới hạn về tốc độ, chi phí và độ chính xác. Những vấn đề như “lạc lối giữa chừng”, thiên kiến theo những gì được input gần nhất (recency bias), chi phí bình phương theo độ dài… khiến context window lớn chưa thể thay thế được kiến trúc retrieval và memory.
✍️ Trong bài tiếp theo, chúng ta sẽ đi sâu vào RAG – Retrieval‑Augmented Generation: cách xây dựng pipeline truy xuất thông tin, các kỹ thuật xếp hạng đoạn văn, vector database và lý do RAG là mảnh ghép còn thiếu để AI thực sự hữu ích trong sản phẩm. Hãy cùng chờ đón nhé!
Cheers & Peace! 🍋 🕊️
Nguồn Tham Khảo
- https://techpolicyinstitute.org/publications/artificial-intelligence/from-tokens-to-context-windows-simplifying-ai-jargon/ ↩︎
- https://techpolicyinstitute.org/publications/artificial-intelligence/from-tokens-to-context-windows-simplifying-ai-jargon/ ↩︎
- https://www.ibm.com/docs/en/watsonx/saas?topic=solutions-tokens ↩︎
- https://www.ibm.com/docs/en/watsonx/saas?topic=solutions-tokens ↩︎
- https://techpolicyinstitute.org/publications/artificial-intelligence/from-tokens-to-context-windows-simplifying-ai-jargon/ ↩︎
- https://whatllm.org/blog/best-long-context-models-january-2026 ↩︎
- https://redis.io/blog/llm-context-windows/ ↩︎
- https://www.anthropic.com/news/100k-context-windows ↩︎
- https://mem0.ai/blog/context-window-vs-persistent-memory-why-1m-tokens-isn-t-enough ↩︎
- https://unstructured.io/insights/choosing-the-right-llm-a-guide-to-context-window-sizes ↩︎
- https://redis.io/blog/llm-context-windows/ ↩︎
- https://redis.io/blog/llm-context-windows/ ↩︎
- https://mem0.ai/blog/context-window-vs-persistent-memory-why-1m-tokens-isn-t-enough ↩︎
- https://redis.io/blog/llm-context-windows/ ↩︎
- https://www.ibm.com/think/topics/transformer-model ↩︎
- https://mem0.ai/blog/context-window-vs-persistent-memory-why-1m-tokens-isn-t-enough ↩︎
- https://arxiv.org/abs/2307.03172 ↩︎
- https://redis.io/blog/llm-context-windows/ ↩︎
- https://unstructured.io/insights/choosing-the-right-llm-a-guide-to-context-window-sizes ↩︎


Leave a Reply
You must be logged in to post a comment.