Membongkar cara kerja LLM dari dalam: tokenization, arsitektur transformer & mekanisme attention, hingga next-token prediction sebagai satu-satunya tugas model. Di episode ini juga ada praktik eksperimen tokenizer, parameter sampling temperature & top-p, serta memahami hallucination, determinisme, dan batas kemampuan model.

Setelah di episode 1 kita memahami peta besar generative AI dan arahnya menuju agentic AI di 2026, episode ini turun ke level yang paling mendasar: bagaimana sebenarnya LLM bekerja? Memahami ini bukan sekadar pengetahuan akademis — ia menjelaskan mengapa model kadang "berbohong" (hallucination), mengapa output bisa berbeda dua kali berturut-turut, dan mengapa parameter seperti temperature dan top_p begitu penting saat kalian men-setup API.
Konsep kuncinya sederhana dan sekaligus mengejutkan: sebuah LLM hanya melakukan satu tugas, yaitu memprediksi token berikutnya. Semua keajaiban ChatGPT, Claude, dan Gemini berakar dari tugas sederhana yang dijalankan dalam skala sangat besar.
Model tidak membaca teks sebagai huruf atau kata — ia membaca token, potongan teks yang bisa sepanjang sub-kata. "belajar" bisa menjadi satu token, tapi "pembelajaran" bisa pecah menjadi 2-3 token. Kenapa sub-kata? Karena kamus per kata terlalu besar dan kamus per huruf terlalu lemah untuk menangkap makna.
Setiap model punya tokenizer sendiri dengan kosa kata (vocabulary) berbeda — dan ini punya konsekuensi biaya langsung:
pip install tiktoken
python3 -c "
import tiktoken
enc = tiktoken.encoding_for_model('gpt-4o-mini')
tokens = enc.encode('Belajar generative AI itu seru!')
print(len(tokens), tokens)
"Token bahasa Indonesia cenderung lebih banyak per kata dibanding Inggris karena kosa kata model didominasi bahasa Inggris — ini alasan mengapa estimasi biaya API selalu dihitung per token, bukan per karakter. Memahami tokenizer model kalian akan membantu mengoptimalkan prompt (episode 21 soal cost).
Paper Attention Is All You Need (2017) menjawab kelemahan RNN yang memproses teks berurutan (lambat dan mudah lupa konteks panjang). Transformer memproses semua token secara paralel dan menghubungkannya lewat mekanisme attention — model belajar seberapa penting setiap token terhadap token lainnya.
Secara intuitif: saat memprediksi kata setelah "Raja masuk ke dalam ___", attention membantu model fokus pada kata Raja dan masuk, bukan kata-kata lain di paragraf. Pada skala miliaran parameter, attention ini belajar pola gramatikal, semantik, dan bahkan logika sederhana.
Perhatikan loop di atas: token yang baru dihasilkan disisipkan kembali ke input, lalu model memprediksi lagi — inilah yang disebut autoregressive generation, dan inilah mengapa output panjang bisa jadi lambat dan biayanya linear terhadap jumlah token.
Pelatihan LLM sederhana dalam konsep: beri model miliaran kalimat, minta ia memprediksi token berikutnya, perbaiki jika salah. Proses berulang ini disebut pretraining. Yang luar biasa: dari tugas sederhana ini "muncul" kemampuan menulis, meringkas, menerjemahkan, dan bahkan bernalar — fenomena yang disebut emergent abilities.
Penting untuk ekspektasi yang benar: model tidak memiliki database fakta dan tidak menghitung secara konvensional. Ia menghasilkan teks yang secara statistik masuk akal berdasarkan pola yang dipelajari. Inilah akar hallucination — bukan bug, melainkan konsekuensi desain.
Saat memanggil API, kalian bisa mengontrol seberapa "kreatif" atau "deterministik" output model. Ini bukan random murni — model menghitung distribusi probabilitas di atas seluruh kosa kata, lalu sampling dipengaruhi dua parameter:
0.1) membuat token paling mungkin hampir selalu terpilih → output konsisten; nilai tinggi (1.0+) membuat token yang kurang mungkin ikut terpilih → output bervariasi.top_p=1.0 berarti semua token dipertimbangkan; top_p=0.1 berarti hanya token-token paling mungkin.from openai import OpenAI
client = OpenAI()
def ask(temperature, top_p):
r = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user",
"content": "Buat satu kalimat tagline produk kopi."}],
temperature=temperature,
top_p=top_p,
)
return r.choices[0].message.content
print("Konsisten:", ask(0.2, 0.1))
print("Kreatif :", ask(0.9, 0.9))Aturan praktiknya: deterministik (temperatur rendah) untuk ekstraksi data, klasifikasi, dan structured output; kreatif untuk copywriting, brainstorming, dan cerita. Trade-off ini kembali kita bahas di episode 4 (model selection) dan 21 (cost optimization).
Tip
Untuk task yang butuh konsistensi (parsing, ekstraksi, kode), set temperature=0 dan top_p=1. Jangan kejar "jawaban berbeda setiap kali" kecuali kalian memang butuh variasi — di produksi, determinisme membuat testing dan regression jauh lebih mudah.
Model menghasilkan teks yang terdengar meyakinkan tapi salah/fiktif. Penyebab utamanya: model memprediksi token yang "paling mungkin", bukan "benar secara faktual". Mitigasi utamanya di produksi adalah grounding — memberi model sumber fakta lewat RAG (episode 7) — bukan sekadar meminta "jangan berbohong" di prompt.
Bahkan dengan temperature=0, output bisa sedikit bervariasi karena floating-point nondeterminism dan infrastruktur (mis. batching). Jangan pernah berasumsi output identik antar request — rancang pipeline kalian dengan asumsi output bisa berubah.
Inti yang harus dibawa pulang:
temperature dan top_p mengontrol kreativitas vs determinisme — pilih sesuai task.Di episode 3 selanjutnya kita akan memasuki Prompt Engineering Dasar — system/user roles, few-shot, chain-of-thought (CoT), dan structured output — lalu langsung praktik membangun prompt untuk summarization, extraction, dan code generation. Sampai jumpa di episode 3!