KM
บทที่ 2 · TOKEN

Token: หน่วยนับ (และหน่วยเงิน) ของ AI

1M token ≈ Harry Potter ~5 จาก 7 เล่มในภาษาอังกฤษ — แต่ภาษาไทยได้แค่ ~3–4 เล่ม

~4 ตัวอักษร = 1 token (EN)
TH เคยแพงกว่า 8.8×
ตอนนี้เหลือ 1.8×

Token คืออะไร · BPE

AI ไม่ได้อ่านตัวอักษร — มันอ่าน Token

Token คือ subword chunk — ก้อนข้อความที่เกิดจากการรวมตัวอักษรบ่อยสุดซ้ำ ๆ จนเกิดคำ (Byte-Pair Encoding) โมเดลเห็นแค่ ID ตัวเลขจาก vocabulary ขนาดหมื่นถึงแสนรายการ

ทดลอง: "hamburger" ถูกตัดต่างกันในแต่ละรุ่น tokenizer

hamburger= 3 tokens

ตัดทีละพยางค์ — คำสั้น ๆ ก็แตกเป็น 3 ชิ้น

Vocabulary size

r50k
~50K
cl100k
~100K
o200k
~200K
EN เท่านั้น

~4

ตัวอักษร

≈ 1 token (ภาษาอังกฤษ) — Thai ยาวกว่ามาก

EN เท่านั้น

~0.75

คำ

≈ 1 token · 100 tokens ≈ 75 words (EN เท่านั้น)

50K→200K

vocab

r50k → cl100k → o200k — ยิ่งใหญ่ ยิ่งแตกน้อย

หมายเหตุ: Claude ใช้ tokenizer ของ Anthropic เอง — ไม่เหมือน tiktoken ดังนั้นอย่าใช้ tiktoken นับ token Claude (นับต่ำกว่าจริง 15–20%+ และยิ่งแย่สำหรับภาษาไทย) Gemini ใช้ SentencePiece

ลองนับ Token · ไทย vs อังกฤษ

ประโยคเดียวกัน — token ต่างกันมาก

เลือกประโยคด้านล่าง แล้วดูว่าภาษาไทยกับภาษาอังกฤษใช้ token ต่างกันแค่ไหน ข้อมูลคำนวณด้วย tiktoken จริง ไม่ใช่ประมาณ

เลือกประโยค

English

hello

ภาษาไทย

สวัสดี

EN (o200k / cl100k)
1
TH — cl100k (GPT-4 era)
6
TH — o200k (ปัจจุบัน)
4
6.0× TH/ENcl100k4.0× TH/ENo200k

ข้อมูลคำนวณด้วย tiktoken 0.13.0 — จริง ไม่ใช่ประมาณ

Token Splits — ลงลึก

ดู token split จริงของภาษาไทย

สีต่างกัน = token ต่างกัน — ดูว่า o200k รวมตัวอักษรเข้าด้วยกันได้มากแค่ไหน

cl100k (GPT-4)สวัสดีครับ9 tokens
ับ

เกือบทีละตัวอักษร — สระ ั ี เป็นคนละ token

o200k (GPT-4o/5)สวัสดีครับ5 tokens
วัสดครับ

ครับ = 1 token! o200k เรียนรู้คำไทยที่ใช้บ่อย

o200k (GPT-4o/5)ขอบคุณมากครับ5 tokens
อบคุณมากครับ

คุณ มาก ครับ = คำเต็ม — ประหยัดกว่า cl100k มาก

ทำไมภาษาไทยใช้ token เยอะ

4 สาเหตุที่ทำให้ภาษาไทยเคยแพงกว่า EN ถึง 8.8×

ไม่ใช่ความบังเอิญ — มีเหตุผลทางวิศวกรรมชัดเจน และโชคดีที่แก้ไขได้ด้วยการปรับ tokenizer

ไม่มีเว้นวรรคระหว่างคำ

BPE ใช้ whitespace เป็นจุดแบ่งล่วงหน้าสำหรับภาษาอังกฤษ — ภาษาไทยต้องเรียนขอบเขตคำจาก corpus แบบสถิติ ทำให้ผิดพลาดง่ายกว่า

UTF-8 ใช้ 3 bytes ต่อตัวอักษร

ตัวอักษรไทย 1 ตัว = 3 bytes UTF-8 รุ่น GPT-3 (r50k) ไม่มี merge rule สำหรับ byte เหล่านี้ → ตัวอักษรไทย 1 ตัว ≈ 2 tokens

ข้อมูลเทรนน้อยกว่ามาก

ภาษาไทยไม่ติดใน 20 ภาษาหลักของ o200k — การปรับปรุงที่เห็นเป็น side effect จาก regex ใหม่ที่ครอบ Unicode \p{Lo}/\p{M}

สระ-วรรณยุกต์เป็น codepoint แยก

สระบน สระล่าง และวรรณยุกต์ (ไม้เอก/โท/ตรี/จัตวา) เป็น Unicode combining marks — ทำให้ตัวอักษร 1 ตัวมองเห็นในระดับ codepoint เป็น 2–3 ชิ้น

อินโฟกราฟิกแสดง ratio ของ token ภาษาไทย vs อังกฤษในแต่ละยุค

อัตราส่วน token ไทย/อังกฤษ สำหรับข้อความความหมายเดียวกัน (~200 ตัวอักษร) — ลดลงจาก 8.8× เหลือ 1.8× ใน 4 ปี

วิวัฒนาการ ratio ไทย/อังกฤษ (ย่อหน้าความหมายเดียวกัน ~200 ตัวอักษร)

r50k (GPT-3, 2020)

ยุค byte fallback
8.8×

cl100k (GPT-4, 2023)

vocab ใหญ่ขึ้น 2×
4.3×

o200k (GPT-4o/5, 2024+)

regex Thai/CJK ใหม่
1.8×

งานวิจัยที่เกี่ยวข้อง

คำนวณค่าใช้จ่าย · ราคา ณ มิ.ย. 2026 โดยประมาณ

เสียเงินเท่าไรต่อ API call?

เลือกโมเดลและปรับ slider — ดูต้นทุนจริงก่อนตัดสินใจ output แพงกว่า input ~5×

เลือกโมเดล

Claude

OpenAI

Gemini

Input tokens

10,000
1K500K

Output tokens

500
10050K

Input cost

$0.0300

10,000 tok × $3/MTok

Output cost

$0.0075

500 tok × $15/MTok

Total

$0.0375

≈ ฿1.2

Output แพงกว่า input ~5×

เลือกโมเดลโดยดู output price เป็นหลัก — input ถูกกว่าเสมอ

Cache read ลด 90%

system prompt + docs เดิม → cache read ราคา 10% ของ input ปกติ

Batch API ลด 50%

งานไม่ด่วน (วิเคราะห์ batch ใหญ่) → เปิด Batch mode ได้เลย

Context Window

กี่หน้ากระดาษที่โมเดลจำได้ในครั้งเดียว?

Context window คือความจำสั้น ๆ ของ AI — ทุกอย่างที่ส่งไป (system prompt + history + เอกสาร + คำถาม) ต้องอยู่ใน window นี้ทั้งหมด

อุปมา

1M tokens ≈ ~750,000 คำภาษาอังกฤษ ≈ Harry Potter ราว 5 จาก 7 เล่ม (ทั้งซีรีส์ ~1,084,000 คำ) — แต่ถ้าส่งเป็นภาษาไทย window เดิมรองรับได้แค่ ~3–4 เล่ม เพราะแต่ละคำใช้ token มากกว่า (~1.8×)

Context window เปรียบเทียบ (tokens)

Claude Fable 5 / Opus 4.8 / Sonnet 4.6

1M
1M

ราคาเท่ากันทุก token ไม่มี long-context premium

GPT-5.5 (API)

1M
1M

Gemini 3.1 Pro / Flash

1M
1M

เกิน 200K tokens → ราคา input เพิ่ม 2×

GPT-5.4 family

400K
400K

Claude Haiku 4.5

200K
200K

เคล็ดลับประหยัด token · Checklist

8 วิธีลด token (และบิล) แบบได้ผลจริง

กดทำเครื่องหมายที่คุณนำไปใช้แล้ว — แต่ละข้อช่วยได้จริงในระดับที่ต่างกัน

0/8

เครื่องมือนับ token

OpenAI Tokenizer Playground

ดู colored splits แบบ visual, รองรับ o200k

Anthropic count_tokens API

นับ token ถูกต้องสำหรับ Claude โดยเฉพาะ (ฟรี)

API response → usage field

ทุก API response มี usage.input_tokens + usage.output_tokens — ความจริงสูงสุด

สรุปบทที่ 2 · Token

4 ข้อที่ต้องจำจากบทนี้

1

Token = หน่วยนับ AND หน่วยเงิน

AI ไม่อ่านตัวอักษร — อ่าน subword chunks ที่เกิดจาก BPE และตัดบิลคุณตาม token นั้นพอดี

2

ไทย 1.8× ดีกว่าเดิมมาก แต่ยังไม่เท่ากัน

o200k / GPT-4o ปรับ regex ครอบ Unicode → ลดจาก 8.8× เหลือ 1.8× — ยังต้องคำนึงถึงเมื่อวางแผนงบ

3

Output แพงกว่า input ~5×

กำหนด max_tokens และ route งานง่ายไปโมเดลถูก — ประหยัดได้ 70–95% โดยไม่เสียคุณภาพ

4

Cache + Batch = ลดบิลได้อีกมาก

Prompt caching ลด 90% สำหรับ context ซ้ำ, Batch API ลด 50% สำหรับงานไม่ด่วน — ควรเปิดใช้เป็นค่าเริ่มต้น

ถัดไป

บทที่ 3 — System Prompt vs User Prompt

แชตที่คุณเห็นไม่ใช่สิ่งที่โมเดลเห็น — เรียนรู้ว่า system prompt คืออะไร ทำงานยังไง และทำไมลำดับอำนาจคำสั่งถึงสำคัญ