AI Engineering Academy · Pelajaran

Apa Itu Token?

Gunakan pustaka tiktoken untuk melakukan tokenisasi pada teks nyata dan menemukan cara kata, tanda baca, serta spasi dipetakan ke dalam urutan token pada berbagai model.

Pelajaran 1 dari 413 langkah

Apa Itu Token? adalah pelajaran AI Engineering Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Engineering Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Engineering Academy mencakup 4 pelajaran total.

LLM Memproses Token, Bukan Kata

Saat Anda mengirim teks ke LLM, model tidak melihat karakter atau kata — model melihat token. Token adalah potongan teks yang dipetakan oleh kosakata model ke satu bilangan bulat ID. Token dapat berupa kata utuh, bagian kata, tanda baca, atau spasi, bergantung pada tokenizer.

Memahami token penting secara praktis karena harga OpenAI dihitung per token, jendela konteks diukur dalam token, dan panjang respons maksimum dikendalikan oleh max_tokens. Kejutan dalam biaya dan perilaku hampir selalu disebabkan oleh kesalahpahaman tentang cara teks Anda diubah menjadi token.

Cara Kerja Tokenisasi: BPE

Model GPT menggunakan tokenisasi Byte Pair Encoding (BPE). BPE dimulai dengan kosakata yang terdiri atas byte individual, lalu secara berulang menggabungkan pasangan berdekatan yang paling sering muncul hingga mencapai ukuran kosakata yang diinginkan. Model GPT OpenAI menggunakan kosakata sekitar 100.000 token.

Hasilnya, kata-kata umum menjadi satu token (hello adalah satu token), sedangkan kata yang jarang atau dibuat-buat dipecah menjadi beberapa token subkata (subaqueous dapat menjadi tiga token: sub, aque, ous). Dengan cara ini, model dapat menangani teks apa pun, bahkan kata yang belum pernah dilihatnya, dengan menyusunnya dari bagian-bagian kecil yang sudah dikenal.

Menggunakan tiktoken untuk Menghitung Token

OpenAI menyediakan pustaka tiktoken untuk melakukan tokenisasi teks secara lokal tanpa melakukan panggilan API. Hal ini penting untuk menghitung token sebelum mengirim permintaan guna memperkirakan biaya dan memastikan Anda berada dalam batas jendela konteks.

import tiktoken

# Get the encoding for a specific model
enc = tiktoken.encoding_for_model('gpt-4o')

text = 'Hello! How many tokens does this sentence use?'
tokens = enc.encode(text)

print(f'Text: {text}')
print(f'Token count: {len(tokens)}')
print(f'Token IDs: {tokens}')

# You can also decode tokens back to text
decoded = enc.decode(tokens)
print(f'Decoded: {decoded}')

# Inspect individual token strings
for token_id in tokens:
    token_str = enc.decode([token_id])
    print(f'  Token {token_id}: "{token_str}"')

Jumlah Token Praktis

Patokan yang berguna: 1 token ≈ 4 karakter teks bahasa Inggris, atau sekitar 0,75 kata. Jadi, 1.000 token kira-kira setara dengan 750 kata atau 3–4 halaman teks. Namun, rasio ini sangat bervariasi:

  • Kata bahasa Inggris umum: sekitar 1 token per kata
  • Istilah teknis yang tidak umum: 2–4 token per istilah
  • Angka: sering kali 1 digit per token (jadi '12345' adalah 5 token)
  • Kode: sangat bervariasi, tetapi Python biasanya efisien dengan sekitar 1–2 token per simbol
  • Aksara non-Latin (Tionghoa, Arab): sering kali 1 token per karakter, sehingga jauh lebih mahal per kata daripada bahasa Inggris

Tokenisasi Berbagai Jenis Konten

Mari kita pelajari perbedaan jumlah token yang sangat besar di antara berbagai jenis konten menggunakan tiktoken.

import tiktoken

enc = tiktoken.encoding_for_model('gpt-4o')

examples = {
    'English sentence': 'The quick brown fox jumps over the lazy dog.',
    'Number sequence': '1234567890',
    'Python code': 'def fibonacci(n):\n    if n <= 1:\n        return n\n    return fibonacci(n-1) + fibonacci(n-2)',
    'Technical jargon': 'autoregressive transformers tokenization subword BPE',
    'URL': 'https://api.openai.com/v1/chat/completions',
    'Chinese text': '大型语言模型使用令牌处理文本',
}

for label, text in examples.items():
    count = len(enc.encode(text))
    ratio = len(text) / count
    print(f'{label}: {count} tokens ({ratio:.1f} chars/token)')

Cara Pesan Obrolan Ditokenisasi

Total token dalam panggilan API obrolan tidak hanya mencakup isi teks pesan Anda, tetapi juga beban pemformatan yang ditambahkan oleh templat obrolan. Setiap pesan memiliki beberapa token tambahan untuk label peran dan pemisah. Dokumentasi OpenAI menetapkan rumus berikut:

  • Setiap pesan menambahkan sekitar 4 token untuk beban pemformatan
  • Setiap balasan dimulai dengan 3 token tambahan untuk pengawalan peran asisten

Untuk percakapan singkat, beban ini dapat diabaikan, tetapi untuk sistem yang mengelola percakapan panjang, jumlahnya dapat bertambah. Pustaka tiktoken menyediakan fungsi pembantu untuk menghitung token dengan benar bagi seluruh larik pesan.

import tiktoken

def count_messages_tokens(messages, model='gpt-4o'):
    enc = tiktoken.encoding_for_model(model)
    # 4 tokens per message (role + content structure), 3 for reply priming
    total = 3
    for msg in messages:
        total += 4
        for key, value in msg.items():
            total += len(enc.encode(str(value)))
    return total

messages = [
    {'role': 'system', 'content': 'You are a helpful assistant.'},
    {'role': 'user', 'content': 'What is the capital of France?'},
    {'role': 'assistant', 'content': 'The capital of France is Paris.'},
    {'role': 'user', 'content': 'And what is the population?'},
]

print(f'Total tokens: {count_messages_tokens(messages)}')

Batas Token Menurut Model

Setiap model memiliki jendela konteks maksimum yang diukur dalam token. Per 2025, beberapa batas yang mewakili antara lain:

  • gpt-4o: konteks 128.000 token, output hingga 16.384
  • gpt-4o-mini: konteks 128.000 token, output hingga 16.384
  • Claude 3.5 Sonnet: konteks 200.000 token
  • Gemini 1.5 Pro: konteks 1.000.000 token

Jumlah token input dan token output tidak boleh melebihi jendela konteks. Jika melebihinya, Anda akan mendapatkan context_length_exceeded. Selalu verifikasi jumlah token sebelum mengirim permintaan untuk dokumen panjang.

Token dan Harga

OpenAI mengenakan biaya secara terpisah untuk token input (prompt yang Anda kirim) dan token output (respons yang Anda terima). Token output biasanya 3–4 kali lebih mahal daripada token input karena memerlukan pembuatan secara berurutan. Pada awal 2025, sebagai gambaran, harga gpt-4o-mini sekitar $0,15 per juta token input dan $0,60 per juta token output.

Artinya, prompt 2.000 token dengan respons 500 token berbiaya sekitar ($0,15 × 2/1000 + $0,60 × 0,5/1000) = $0,00060 per permintaan. Dengan 10.000 permintaan per hari, biayanya menjadi $6/hari — masih dapat dikelola, tetapi akan meningkat seiring penggunaan. Caching, perutean model, dan minimisasi token menjadi penting pada skala produksi.

Mengurangi Jumlah Token Tanpa Kehilangan Makna

Prompt yang lebih singkat berbiaya lebih rendah dan menyisakan lebih banyak ruang untuk respons model. Teknik umum untuk mengurangi token meliputi:

  • Hapus instruksi yang berlebihan: 'Mohon berbaik hati untuk...' → 'Mohon...'
  • Padatkan contoh: Gunakan jumlah kata minimum dalam setiap contoh few-shot
  • Singkat nama bidang dalam prompt terstruktur: Gunakan 'Q:' dan 'A:' alih-alih 'Question:' dan 'Answer:'
  • Gunakan JSON, bukan prosa untuk konteks terstruktur: JSON lebih efisien dalam penggunaan token daripada deskripsi prosa untuk data yang sama

Jalankan tiktoken sebelum dan sesudah pemadatan apa pun untuk memastikan Anda benar-benar menghemat token — beberapa 'pemadatan' secara berlawanan dengan dugaan justru meningkatkan jumlah token.

Token Khusus dan Token Kontrol

Selain token teks, kosakata model mencakup token khusus yang digunakan untuk menyusun input. Contoh umum adalah <|endoftext|> (menandai akhir dokumen), <|im_start|> dan <|im_end|> (pemisah pesan obrolan dalam format ChatML yang digunakan secara internal).

Anda tidak perlu mengelolanya secara langsung saat menggunakan API OpenAI — SDK menanganinya untuk Anda. Namun, memahami keberadaannya menjelaskan alasan permintaan dengan pesan 'kosong' terkadang tetap menggunakan beberapa token. Token khusus juga menjadi alasan Anda tidak boleh membuat string mentah dengan pola <|...|> dari input pengguna tanpa melakukan sanitasi, karena pola tersebut dapat mengganggu pemformatan input model.

Selalu Hitung Sebelum Mengirim

Inti praktis dari pelajaran ini: selalu hitung token sebelum mengirim permintaan apa pun yang melibatkan prompt yang dirangkai secara dinamis. Tulis fungsi pembantu kecil yang membungkus tiktoken, lalu panggil fungsi tersebut pada titik saat Anda merangkai larik pesan. Catat jumlah token agar Anda dapat memantaunya dari waktu ke waktu.

Untuk sistem RAG, hal ini sangat penting: potongan yang diambil dan disisipkan ke dalam prompt dapat sangat bervariasi ukurannya, dan Anda perlu memastikan totalnya tetap berada dalam jendela konteks model. Kita akan membangun perangkaian konteks yang peka terhadap token seperti ini dalam pelajaran pipeline RAG.

import tiktoken

def token_count(text, model='gpt-4o'):
    enc = tiktoken.encoding_for_model(model)
    return len(enc.encode(text))

def safe_assemble_prompt(system, user_content, max_tokens=120000):
    combined = system + user_content
    count = token_count(combined)
    if count > max_tokens:
        raise ValueError(
            f'Prompt too long: {count} tokens (limit {max_tokens})'
        )
    return [{'role': 'system', 'content': system},
            {'role': 'user', 'content': user_content}]

Pemeriksaan Singkat

Uji pemahaman Anda tentang konsep Rekayasa AI dari pelajaran ini.

Ringkasan Pelajaran

Dalam pelajaran ini Anda mempelajari bahwa: LLM memproses teks sebagai token, bukan kata, menggunakan tokenisasi BPE dengan kosakata sekitar 100.000 entri, pustaka tiktoken memungkinkan Anda menghitung token secara lokal sebelum melakukan panggilan API untuk memperkirakan biaya dan memeriksa batas konteks, dan harga dihitung per token, dengan token output berbiaya jauh lebih tinggi daripada token input. Selanjutnya, kita akan mempelajari jendela konteks: apa itu, bagaimana jendela tersebut membatasi aplikasi Anda, dan bagaimana perbandingan berbagai model.

Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Apa Itu Token?” gratis?

Ya — teks lengkap “Apa Itu Token?” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Engineering Academy, upgrade ke CoddyKit PRO. Kursus AI Engineering Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Apa Itu Token?”?

Gunakan pustaka tiktoken untuk melakukan tokenisasi pada teks nyata dan menemukan cara kata, tanda baca, serta spasi dipetakan ke dalam urutan token pada berbagai model. Kamu berlatih AI Engineering Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai AI Engineering Academy?

Tidak diperlukan pengalaman sebelumnya. AI Engineering Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Apa Itu Token?” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Engineering Academy ini?

Ya. Setiap pelajaran AI Engineering Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Apa Itu Token?
  2. Jendela Konteks: Ukuran dan Implikasinya
  3. Menghitung dan Memprediksi Biaya API
  4. Strategi agar Tetap dalam Batas Konteks
← Kembali ke AI Engineering Academy