TROISINH
Context EngineeringNền tảng Context

Token là gì? Cách tính token và chi phí API

Token không phải 'từ' — nó là đơn vị thông tin AI thực sự xử lý. Hiểu cách đếm token để tối ưu context window và kiểm soát chi phí API.

Token là đơn vị cơ bản mà Large Language Model dùng để phân tích và sinh văn bản — không phải từ tiếng Việt hay tiếng Anh, không phải ký tự Unicode, mà là mảng dữ liệu được mã hóa từ quá trình tokenization. Trong Context Engineering, token đóng vai trò "tiền tệ" kép: vừa là đơn vị chi phí bạn trả cho API, vừa là đơn vị chiếm dụng context window — tài nguyên khan hiếm quyết định AI có "nhớ" được gì hay không.

Token không phải từ: Cách AI "nhai" văn bản

Phần lớn người mới hiểu nhầm: 1 từ = 1 token. Thực tế phức tạp hơn nhiều. Các mô hình hiện đại dùng thuật toán Byte Pair Encoding (BPE) hoặc WordPiece để chia văn bản thành các mảng nhỏ dựa trên tần suất xuất hiện trong dữ liệu huấn luyện.

  • Từ phổ biến: "the", "chat", "GPT" thường nằm gọn trong 1 token
  • Từ hiếm: "Transformer" có thể bị tách thành 3 token: Trans, former, hoặc Transf, ormer
  • Tiếng Việt: "Hôm nay" thường thành 2-3 token do cấu trúc unicode và dấu thanh; "Việt Nam" có thể là 3-4 token
  • Số liệu: Các con số như "12345" thường thành 5 token riêng lẻ (1, 2, 3, 4, 5) — cực kỳ tốn kém

Kết quả: một đoạn văn tiếng Việt 100 từ có thể tiêu tốn 150-200 tokens, trong khi bản tiếng Anh tương đương chỉ cần 75-100 tokens. Đây là lý do cùng một câu hỏi, hỏi bằng tiếng Anh thường rẻ và nhanh hơn 30-40% so với tiếng Việt.

Cách đếm token trong thực chiến

Để kiểm soát ngân sách, bạn cần đếm token trước khi gửi API. Công cụ phổ biến nhất là thư viện tiktoken của OpenAI:

import tiktoken

# Chọn encoder phù hợp với model
enc = tiktoken.encoding_for_model("gpt-4")

# Đếm token cho tiếng Việt
text = "Context Engineering là paradigm shift từ việc hỏi 'viết gì' sang 'đưa gì'"
tokens = enc.encode(text)
print(f"Số token: {len(tokens)}")  # Output: ~15-18 tokens
print(f"Các token: {tokens}")       # [1234, 4567, ...]

Quy tắc ước tính nhanh:

  • Tiếng Anh: 1 từ ≈ 1.3 token (ngược lại: 100 token ≈ 75 từ)
  • Tiếng Việt: 1 từ ≈ 2.0-2.5 token (ngược lại: 100 token ≈ 40-50 từ)
  • Code Python: 1 dòng trung bình 5-10 token tùy độ dài

Token economics: Input, Output và Context Window

Chi phí API tính theo công thức: Total Cost=(Input Tokens×Pinput)+(Output Tokens×Poutput)\text{Total Cost} = (\text{Input Tokens} \times P_\text{input}) + (\text{Output Tokens} \times P_\text{output})

Input tokens bao gồm: system prompt, conversation history, retrieved documents (RAG), và câu hỏi hiện tại. Output tokens là phản hồi AI sinh ra. Thường PoutputP_\text{output} đắt gấp 2-4 lần PinputP_\text{input} vì sinh văn bản tốn tính toán hơn đọc.

Mối liên hệ với Context Window: Context window được đo bằng token (ví dụ: 128K tokens). Mỗi token bạn nhồi vào input là một token ít đi cho AI "suy nghĩ". Đây là trade-off cốt lõi của Context Engineering: đưa nhiều thông tin (nhiều token) thì AI hiểu sâu, nhưng tốn tiền và có nguy cơ vượt giới hạn bộ nhớ.

Tối ưu token cho tiếng Việt

Do tiếng Việt kém hiệu quả trong hệ thống token phương Tây, bạn cần chiến thuật riêng:

  • Chuẩn hóa Unicode: Dùng NFC normalization để tránh "e" + "́" thành 2 token riêng biệt
  • Tránh dư thừa: "Cái này là cái gì vậy?" → "Đây là gì?" (tiết kiệm 4-5 token)
  • Dùng structured format: JSON ít tốn token hơn markdown free-text vì lặp lại keys
  • Hy sinh văn phong: Trong ngữ cảnh RAG, "báo cáo tài chính quý 3 năm 2024" ngắn gọn hơn "tài liệu về kết quả kinh doanh trong quý ba của năm hai nghìn không trăm hai mươi tư" và tiết kiệm ~15 tokens

Ví dụ thực tế

Cùng câu hỏi, khác ngữ cảnh — Khác chi phí, khác kết quả

Bạn hỏi AI: "Tóm tắt điểm chính của tài liệu trên".

Scenario A (Prompt Engineering thuần): Gửi kèm 3000 tokens tài liệu dài dòng, không liên quan đến câu hỏi. AI phải đọc qua tất cả, tốn 3000 tokens input, trả lời chung chung.

Scenario B (Context Engineering): Dùng RAG lọc ra đúng 500 tokens đoạn liên quan nhất. Chi phí input giảm 83%, output chính xác hơn vì AI không bị "ngộp" thông tin nhiễu.

So sánh hiệu quả ngôn ngữ

Đoạn văn: "Machine Learning là một nhánh của AI cho phép máy tính học từ dữ liệu."

  • Tiếng Anh gốc: ~15 tokens
  • Dịch tiếng Việt: ~22-25 tokens (tăng 50%)
  • Dịch tiếng Trung (Giản thể): ~12-14 tokens (hiệu quả hơn cả tiếng Anh)

Áp dụng: Nếu hệ thống của bạn xử lý tài liệu song ngữ Anh-Việt, nên lưu trữ và index bản tiếng Anh, chỉ dịch cuối cùng khi trả về người dùng.

Tính toán budget cho ứng dụng chat

# Giả định: 1000 user/ngày, mỗi user 10 turn conversation
avg_tokens_per_turn = 2000  # history + prompt + response
daily_tokens = 1000 * 10 * 2000  # 20 triệu tokens
cost_gpt4o = 20_000_000 * ($5 + $15) / 1_000_000  # ~$400/ngày
cost_gpt4omini = 20_000_000 * ($0.15 + $0.6) / 1_000_000  # ~$15/ngày

Nhận ra bottleneck là token count giúp bạn quyết định: dùng model rẻ hơn, hay tối ưu context (rút gọn history) để tiếp tục dùng model mạnh.

Ứng dụng theo đối tượng

Sinh viên và người mới chuyển từ ChatGPT Free

Khi chuyển sang API (OpenAI, Anthropic, hoặc local), "sốc" bill thường đến từ việc copy-paste văn bản dài mà không kiểm tra token count. Mẹo: Dùng playground UI có hiển thị token count real-time, hoặc ước tính 1 trang A4 ≈ 1500 tokens.

Developer xây dựng sản phẩm AI

Thiết kế RAG pipeline phải tính "token budget" cố định cho mỗi request. Ví dụ: chỉ retrieve top-3 chunks, mỗi chunk tối đa 300 tokens = 900 tokens context + 500 tokens query & instruction + 400 tokens cho output = 1800 tokens/request. Nếu vượt quá, hoặc cắt giảm chunks, hoặc dùng model có context window lớn hơn (đắt hơn).

Doanh nghiệp xử lý tài liệu hàng loạt

Batch processing 10.000 hợp đồng: Nếu mỗi hợp đồng dài 8000 tokens, tổng chi phí có thể vượt ngân sách. Giải pháp Context Engineering: dùng sliding window hoặc map-reduce pattern để chia nhỏ tài liệu, xử lý từng phần, chỉ aggregate kết quả — tốn nhiều request nhưng mỗi request rẻ hơn nhiều.

So sánh các khái niệm liên quan

Tiêu chíTokenTừ (Word)Ký tự (Character)Ý nghĩa trong AI
Đơn vị AI xử lý✅ Có❌ Không❌ KhôngToken là ngôn ngữ máy
Tương đương tiếng Anh~0.75 từ1 từ~5-6 ký tự/từ100 tokens ≈ 75 từ Anh
Tương đương tiếng Việt~0.4-0.5 từ1 từ~1-2 ký tự/từ100 tokens ≈ 40-50 từ Việt
Ảnh hưởng giá APITrực tiếpGián tiếpKhôngĐếm token = đếm tiền
Giới hạn bộ nhớKhôngKhôngContext window tính bằng token

Bảng so sánh chi phí (tham khảo):

ModelInput ($/1M tokens)Output ($/1M tokens)Context Window
GPT-4o$5$15128K
Claude 3.5 Sonnet$3$15200K
GPT-4o-mini$0.15$0.60128K
Gemini 1.5 Flash$0.075$0.301M

Kết luận: Output token thường đắt gấp 3-4 lần input. Đừng yêu cầu AI "suy nghĩ ra lớn" (Chain-of-Thought dài dòng) nếu không cần thiết — mỗi token suy luận trung gian đều tốn tiền.

Bài viết liên quan

Cùng cụm: Nền tảng Context

Context Engineering là gì?

Hiểu paradigm shift từ việc viết prompt đẹp sang thiết kế thông tin đúng — nền tảng của Level 1

Context Window: Giới hạn bộ nhớ của AI

Token chiếm chỗ trong context window như thế nào? Cách quản lý giới hạn 128K tokens

Context vs Prompt: Khác nhau chỗ nào?

Phân biệt rạch ròi giữa hai paradigm: hỏi AI viết gì vs đưa AI thông tin gì

Kiến trúc thông tin cho AI

Chiến lược sắp xếp thông tin trong context: Đưa gì trước, bỏ gì sau, thứ tự ra sao

Đọc tiếp: Quản lý Context và Retrieval

Quản lý Context hiệu quả

Các kỹ thuật nén, lọc và ưu tiên thông tin trong context window giới hạn

Retrieval & Knowledge

Từ token economics đến thiết kế hệ thống RAG: lấy đúng thông tin, đúng lúc, đúng giá

On this page