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

🪟 Context Window

📚 Bài viết liên quan:

Hãy tưởng tượng bạn đang làm bài thi “Open Book”…

Bạn được phép mang tài liệu vào phòng thi, nhưng bàn của bạn chỉ rộng vừa đủ để đặt 3 cuốn sách. Nếu bạn cần cuốn thứ 4, bạn phải bỏ cuốn cũ nhất ra ngoài.

Context Window của AI hoạt động y hệt vậy:

  • Bàn học = Context Window (Dung lượng cố định)
  • Sách = Tokens (Đơn vị thông tin)
  • Bỏ sách cũ = “Quên” thông tin đầu tiên khi vượt quá giới hạn
flowchart LR
subgraph ContextWindow["🪟 Context Window (Bàn học)"]
direction LR
T1["📖 Token 1<br/>System Prompt"]
T2["📖 Token 2<br/>User Input"]
T3["📖 Token 3<br/>History"]
T4["📖 Token 4<br/>RAG Data"]
T1 --> T2 --> T3 --> T4
end
subgraph Limit["⚠️ Giới hạn"]
MAX["Max Tokens<br/>(128K - 1M)"]
end
NEW["📚 Token mới"] -->|"Thêm vào"| ContextWindow
ContextWindow -->|"Nếu vượt quá"| Limit
Limit -->|"Bỏ token cũ"| OUT["🗑️ Quên"]
style ContextWindow fill:#e1f5fe,stroke:#0288d1
style Limit fill:#fff3e0,stroke:#ff9800
style OUT fill:#ffebee,stroke:#f44336

Token là đơn vị nhỏ nhất mà AI xử lý. Nó KHÔNG bằng 1 từ.

"Hello, world!" = 4 tokens: ["Hello", ",", " world", "!"]
"Xin chào Việt Nam" = 7 tokens (tiếng Việt tốn nhiều hơn)
Ngôn ngữ Ước tính
Tiếng Anh 1 token ≈ 4 ký tự ≈ 0.75 từ
Tiếng Việt 1 từ ≈ 1.5 - 2 tokens
Code Mỗi dấu ngoặc, space đều tính riêng

Mô hình Context Window Tương đương Chi phí (Input)
GPT-5 400K tokens ~300,000 từ (1000 trang) $1.25/1M
Claude 4.5 Sonnet 200K - 1M tokens ~750,000 từ $3.00/1M
Claude 4.5 Opus 200K tokens ~150,000 từ (500 trang) $8.00/1M
Gemini 3 Pro 1M tokens ~750,000 từ (5 cuốn sách) $2.00/1M
o3 (Reasoning) 200K tokens ~150,000 từ $2.00/1M

💡 GPT-5 có context window lớn nhất (400K) và giá hợp lý. Claude 4.5 Sonnet hỗ trợ 1M tokens trong beta.


Nghiên cứu cho thấy LLM nhớ tốt thông tin ở đầucuối context, nhưng hay bỏ sót phần giữa.

[ĐẦU] ← Nhớ tốt 👍
[GIỮA] ← Hay quên 😵
[CUỐI] ← Nhớ tốt 👍
  1. Đặt thông tin quan trọng ở đầu hoặc cuối prompt
  2. Dùng Context Engineering để tối ưu cách sắp xếp
  3. Dùng RAG để chỉ lấy thông tin liên quan thay vì nhồi tất cả

Giả sử bạn build một chatbot đọc tài liệu công ty (50 trang PDF ≈ 40,000 tokens):

Mô hình Chi phí/request 1000 requests/ngày
GPT-5 $0.05 $50/ngày
Gemini 3 Pro $0.08 $80/ngày
Claude 4.5 Sonnet $0.12 $120/ngày

⚠️ Đây là lý do tại sao RAG quan trọng! Thay vì gửi 40K tokens mỗi lần, RAG chỉ gửi ~2K tokens liên quan → Giảm chi phí 20 lần.


Đếm số tokens trong một đoạn văn bản tiếng Việt và so sánh với tiếng Anh.

Bước 1: Truy cập OpenAI Tokenizer

Bước 2: Paste đoạn văn bản sau:

Việt Nam là một quốc gia nằm ở Đông Nam Á.
Vietnam is a country located in Southeast Asia.

Bước 3: Quan sát kết quả:

  • Câu tiếng Việt: ~15 tokens
  • Câu tiếng Anh: ~9 tokens
  • Kết luận: Tiếng Việt tốn gấp ~1.7 lần số tokens!

Viết script Python đếm tokens sử dụng thư viện tiktoken:

import tiktoken
enc = tiktoken.encoding_for_model("gpt-4o")
text_vi = "Việt Nam là một quốc gia nằm ở Đông Nam Á."
text_en = "Vietnam is a country located in Southeast Asia."
print(f"Tiếng Việt: {len(enc.encode(text_vi))} tokens")
print(f"Tiếng Anh: {len(enc.encode(text_en))} tokens")

Khái niệm Ý nghĩa
Context Window Giới hạn tokens mà AI xử lý được trong 1 request
Token Đơn vị nhỏ nhất (không = 1 từ)
Lost in the Middle AI hay quên thông tin nằm ở giữa context
Tối ưu Dùng RAG, Summarization, Context Caching

Bài tiếp theo: Context Engineering - Nghệ thuật sắp xếp context hiệu quả.