AI Không Đọc Chữ Như Mình Nghĩ Đâu Nha
Tác giả: Claude AI, dưới sự điều khiển, câu lệnh và chỉnh sửa của Học Trò.
Mở Đầu
Thử nghĩ lại lần đầu bạn gõ một câu vào ChatGPT hay Claude. Bạn gõ xong, bấm Enter, rồi chờ. Nửa giây sau, chữ bắt đầu hiện ra — từng cụm, từng cụm — như thể có ai đó đang gõ ở phía bên kia màn hình. Cảm giác đó kỳ lạ lắm. Cái máy này nó "hiểu" mình viết gì à?
Nhưng thật ra, AI không đọc câu của bạn theo cái cách mà bạn đọc câu đó. Nó không nhìn từng chữ cái, không gặp "C" rồi "h" rồi "à" rồi "o" và kết luận ra chữ "Chào." Nó đọc thứ khác — gọi là token (đơn vị văn bản).
Hiểu token là gì tức là bạn hiểu cách AI "thấy" thế giới. Và khi hiểu rồi, nhiều thứ bỗng dưng có lý hơn: tại sao AI đôi khi cư xử kỳ lạ với tên riêng, tại sao nó "quên" chuyện bạn nói ở đầu cuộc trò chuyện dài, và tại sao khi dùng AI qua lập trình thì người ta tính tiền theo token chứ không phải theo số chữ.
Bạn Nghĩ AI Đọc Chữ À?
Trực giác của mình khi mới dùng AI là thế này: tôi gõ câu tiếng Việt, AI đọc câu đó như người Việt đọc, rồi AI trả lời. Đơn giản vậy thôi.
Nhưng không phải vậy. AI không "đọc" theo nghĩa con người — nó xử lý con số. Toàn bộ ngôn ngữ, mọi câu chữ bạn gõ vào, đều được chuyển thành những con số trước khi AI làm bất cứ điều gì với nó. Và bước chuyển đổi đó — từ chữ thành số — chính là tokenization (quá trình phân tách văn bản thành token).
Nghe thì trừu tượng, nhưng thật ra nó giống như việc mã hóa thư tín hồi xưa: thay vì truyền đi từng chữ, người ta có một bảng mã chung, đổi chữ thành số, truyền số đi, rồi bên kia giải mã ngược lại. AI cũng vậy — chỉ là phức tạp hơn nhiều và nhanh hơn triệu lần.
Token Là Gì?
Token không phải là chữ. Cũng không phải là chữ cái. Nó là một mảnh của văn bản — mảnh đó có thể là:
- Một từ hoàn chỉnh: "mèo" có thể là 1 token
- Nửa từ hoặc phần của từ: "unbelievable" thường bị chia thành "un" + "believ" + "able" = 3 token
- Khoảng trắng cộng chữ: dấu cách thường được tính chung với chữ kế bên
- Ký tự đặc biệt: dấu chấm, dấu phẩy, ngoặc đơn — mỗi cái thường là 1 token riêng
AI được xây dựng với một cái gọi là tokenizer (bộ phân tách token) — một bảng tra cứu khổng lồ liệt kê hàng chục ngàn mảnh văn bản phổ biến và số tương ứng của chúng. Khi bạn gõ chữ vào, tokenizer chạy qua văn bản, chia nó ra thành những mảnh theo bảng đó, rồi đổi mỗi mảnh thành một con số.
Ví dụ thực tế: câu "Tôi thích ăn phở" khi qua tokenizer có thể thành:
- "Tôi" → số 8921
- " thích" → số 32104
- " ăn" → số 19847
- " phở" → số 45203
Bốn con số đó là thứ AI thật sự xử lý. Chứ không phải chữ.
Ví Dụ Cho Dễ Hình Dung
Bạn có thể thử trực tiếp bằng cách tìm kiếm "OpenAI tokenizer" — có công cụ miễn phí cho phép bạn gõ bất kỳ câu nào và xem ngay nó được chia thành bao nhiêu token, màu sắc phân biệt từng mảnh.
Vài ví dụ thú vị để cảm nhận:
Tiếng Anh:
- "Hello" → 1 token
- "ChatGPT" → 2 token: "Chat" + "GPT"
- "unbelievable" → 3 token: "un" + "believ" + "able"
- "1234567890" → 10 token (mỗi chữ số là 1 token riêng)
Tiếng Việt:
- "phở" → 2–3 token vì dấu thanh ít xuất hiện hơn trong bảng token
- "Xin chào" → 3–4 token
- "Tôi yêu Việt Nam" → có thể 6–8 token, trong khi "I love Vietnam" chỉ là 4 token
Nhận ra điều gì chưa? Cùng một ý nghĩa, tiếng Việt tốn nhiều token hơn tiếng Anh. Mình sẽ nói kỹ hơn về chuyện này ở phần sau.
Tại Sao Phải Dùng Token Chứ Không Phải Chữ?
Câu hỏi hoàn toàn hợp lý: tại sao không cứ dùng từng chữ cái cho đơn giản?
Nếu dùng chữ cái đơn lẻ (ký tự), thì câu "Tôi thích phở" sẽ thành 15 đơn vị riêng biệt — AI phải xử lý 15 bước chỉ để "đọc" một câu ngắn. Cộng dồn lại với hàng trăm câu trong một cuộc trò chuyện, hệ thống sẽ rất chậm.
Nếu dùng từ hoàn chỉnh, thì bảng từ vựng sẽ khổng lồ — tiếng Anh có hàng trăm ngàn từ, chưa kể tên riêng, từ chuyên ngành, tiếng lóng, ngôn ngữ mới nổi. Không có cách nào liệt kê hết.
Token là giải pháp ở giữa: chia văn bản thành những mảnh vừa đủ lớn để có nghĩa, vừa đủ nhỏ để bao phủ mọi trường hợp. Từ phổ biến giữ nguyên thành 1 token; từ hiếm, dài, hay nước ngoài bị chia nhỏ ra nhiều token hơn. Cân bằng tốt giữa hiệu quả và tính linh hoạt.
Context Window — Cái Bộ Nhớ Có Giới Hạn Của AI
Đây là phần quan trọng nhất bài này. Nó giải thích một trong những hành vi hay bị hiểu nhầm nhất của AI: tại sao AI "quên."
AI có một thứ gọi là context window (cửa sổ ngữ cảnh) — đây là số lượng token tối đa mà AI có thể "nhìn thấy" và xử lý cùng một lúc. Cứ hình dung như cái bàn làm việc: AI chỉ có thể xử lý những thứ đang nằm trên bàn. Bàn đầy rồi, muốn bỏ cái mới lên thì phải lấy cái cũ ra.
Các model AI phổ biến hiện nay có context window như sau:
| Model | Context Window | Tương Đương |
|---|---|---|
| Claude Sonnet 4.5 | 200.000 token | ~150.000 từ tiếng Anh |
| GPT-4o | 128.000 token | ~96.000 từ tiếng Anh |
| Gemini 1.5 Pro | 1.000.000 token | ~750.000 từ tiếng Anh |
Nghe lớn vậy, nhưng trong cuộc trò chuyện dài — nhất là khi bạn dán vào nhiều tài liệu, code, hay text dài — bạn sẽ đụng giới hạn này. Khi đó, AI không thể "nhớ" những gì xảy ra ở đầu cuộc hội thoại nữa — nó đã ra ngoài cửa sổ, không còn nằm trên bàn. AI không kém cỏi — nó chỉ có bộ nhớ làm việc có giới hạn, giống con người vậy thôi.
Token Và Tiền Bạc
Nếu bạn chỉ dùng ChatGPT hay Claude qua trang web, thì bạn trả tiền gói tháng cố định, không cần quan tâm đến token. Nhưng nếu bạn dùng AI qua API (Application Programming Interface — giao diện lập trình ứng dụng), tức là gọi AI từ code của mình, thì chuyện khác hẳn: bạn trả tiền theo từng token, cả token đầu vào (câu bạn gửi) lẫn token đầu ra (câu AI trả về).
Giá tham khảo với Claude Sonnet (tháng 3/2026):
- Input (đầu vào): khoảng $3 mỗi triệu token
- Output (đầu ra): khoảng $15 mỗi triệu token
Nghe thì rẻ, nhưng cộng lại theo thời gian, đặc biệt khi bạn chạy ứng dụng có nhiều người dùng, là đáng kể lắm. Hiểu token giúp bạn thiết kế prompt (câu lệnh gửi cho AI) ngắn gọn hơn. Ví dụ: thay vì viết "Bạn là một trợ lý AI thân thiện và nhiệt tình, luôn sẵn sàng giúp đỡ, trả lời chi tiết và lịch sự trong mọi tình huống," chỉ cần "Trợ lý hữu ích. Trả lời ngắn gọn." Cắt được vài chục token mỗi lần gọi; nhân lên hàng ngàn lần gọi mỗi ngày, ra tiền thật ngay.
Tiếng Việt Và Token: Điều Đáng Biết
Tiếng Việt tốn nhiều token hơn tiếng Anh để nói cùng một ý. Lý do là các tokenizer được xây dựng chủ yếu từ dữ liệu tiếng Anh — tiếng Anh chiếm phần lớn internet lúc các model đầu tiên được huấn luyện. Các từ tiếng Anh phổ biến được gán 1 token; còn từ tiếng Việt — đặc biệt những từ có dấu thanh phức tạp như "ổn", "nặng", "phượng", "thưởng" — thường bị cắt ra nhiều mảnh hơn.
Kết quả thực tế: cùng một đoạn văn, bản tiếng Anh có thể tốn 100 token còn bản tiếng Việt tốn 130–160 token. Điều này có hai hệ quả:
- Tốn tiền hơn khi dùng tiếng Việt qua API
- Ngốn context window nhanh hơn trong cuộc trò chuyện dài
Tin vui là các model mới hơn đang cải thiện điều này. Anthropic, OpenAI và các công ty AI đều đang mở rộng tokenizer để hỗ trợ ngôn ngữ ngoài tiếng Anh tốt hơn, trong đó có tiếng Việt.
Tóm Lại
Token là bước đầu tiên của mọi thứ. Trước khi AI có thể "nghĩ" bất cứ điều gì với câu của bạn, văn bản đó phải được chuyển thành token — rồi thành số — rồi mới vào được bên trong model. Đây không phải chi tiết kỹ thuật nhỏ nhặt mà chỉ có lập trình viên mới cần biết. Nó ảnh hưởng đến cách AI hiểu bạn, cách nó "nhớ" cuộc trò chuyện, và cả tiền bạn chi khi dùng AI ở mức độ nghiêm túc hơn.
Bài tiếp theo, mình sẽ theo dõi hành trình của những token đó ngay sau khi bạn bấm Enter — chúng đi qua đâu, qua những cổng nào, trước khi đến tay AI để xử lý.
Bảng Tham Khảo Nhanh
| Khái Niệm | Tiếng Anh | Nghĩa Ngắn Gọn |
|---|---|---|
| Token | Token | Mảnh văn bản nhỏ nhất AI xử lý |
| Tokenization | Tokenization | Quá trình chia chữ thành token |
| Tokenizer | Tokenizer | Bộ phân tách token (bảng tra cứu) |
| Cửa sổ ngữ cảnh | Context window | Số token tối đa AI nhớ cùng lúc |
| Giao diện lập trình | API | Cách gọi AI từ code |
| Câu lệnh | Prompt | Tin nhắn / câu bạn gửi cho AI |
Điều Cần Nhớ
- AI không đọc chữ — nó xử lý số. Mọi văn bản được chuyển thành token (con số) trước khi AI làm bất cứ điều gì.
- 1 từ không bằng 1 token. Từ phổ biến = 1 token; từ hiếm, dài, hay tên lạ = nhiều token.
- Context window có giới hạn. Khi cuộc trò chuyện quá dài, AI "quên" phần đầu — đây là giới hạn kỹ thuật, không phải AI kém.
- Tiếng Việt tốn nhiều token hơn tiếng Anh — do tokenizer được huấn luyện chủ yếu từ dữ liệu tiếng Anh.
- Dùng API = trả tiền theo token. Prompt ngắn gọn = tiết kiệm tiền thật.
- Bài tiếp theo: Sau khi bạn bấm Enter, những token đó đi đâu?
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.