AI Prompt Engineering · Pelajaran

Cara Kecerdasan Buatan Menghasilkan Respons

Prediksi token, probabilitas, dan alasan kecerdasan buatan tidak “berpikir” seperti manusia.

Pelajaran 3 dari 413 langkah

Cara Kecerdasan Buatan Menghasilkan Respons adalah pelajaran AI Prompt Engineering gratis di CoddyKit. Ini adalah pelajaran 3 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 Prompt Engineering, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Prompt Engineering mencakup 4 pelajaran total.

Teks sebagai Masalah Probabilitas

Pada intinya, model bahasa melakukan satu hal: memprediksi token berikutnya berdasarkan semua token sebelumnya.

Token adalah unit kecil teks — kira-kira berupa kata atau bagian kata. Model menetapkan probabilitas untuk setiap token dalam kosakatanya dan memilih salah satunya. Kemudian model mengulangi proses tersebut, token demi token, hingga menghasilkan jawaban lengkap.

Apa Itu Token?

Token adalah atom dalam pemrosesan teks LLM. Teks bahasa Inggris diubah menjadi token kira-kira sebagai berikut:

  • Kata umum → masing-masing 1 token (the, run)
  • Kata yang kurang umum → dipecah menjadi 2–3 token (running → run + ning)
  • Tanda baca dan spasi → sering menjadi token tersendiri

Model seperti GPT-4o dan Claude menggunakan pemenggal teks yang menangani lebih dari 100 ribu entri kosakata, termasuk subkata dalam banyak bahasa.

import tiktoken

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

sentence = 'The temperature parameter controls randomness in token selection.'
tokens = encoding.encode(sentence)
token_strings = [encoding.decode([t]) for t in tokens]

print(f'Sentence: {sentence}')
print(f'Token count: {len(tokens)}')
print(f'Tokens: {token_strings}')

Generasi Autoregresif

Generasi bersifat autoregresif: setiap token baru ditambahkan ke input sebelum memprediksi token berikutnya.

Jadi, saat menghasilkan 'The sky is blue', model:

  • Melihat 'The' → memprediksi 'sky'
  • Melihat 'The sky' → memprediksi 'is'
  • Melihat 'The sky is' → memprediksi 'blue'
  • Melihat 'The sky is blue' → memprediksi akhir urutan

Inilah sebabnya generasi melambat untuk output yang sangat panjang — setiap token memerlukan satu proses maju penuh.

# Simulated autoregressive token-by-token output via streaming
import openai

client = openai.OpenAI(api_key='sk-your-key-here')

stream = client.chat.completions.create(
    model='gpt-4o',
    stream=True,     # receive tokens as they are generated
    messages=[{'role': 'user', 'content': 'Name five planets in our solar system.'}]
)

print('Tokens arriving one by one:')
for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end='', flush=True)
print()  # newline at end

Suhu: Mengendalikan Keacakan

Suhu adalah angka antara 0 dan 2 yang mengubah skala distribusi probabilitas sebelum pengambilan sampel:

  • Suhu 0: selalu memilih token yang paling mungkin — deterministik, berulang
  • Suhu 1: mengambil sampel sesuai probabilitas mentah — seimbang
  • Suhu 2: meratakan probabilitas — sangat acak, terkadang tidak koheren

Gunakan suhu rendah untuk tugas faktual; gunakan suhu lebih tinggi untuk pekerjaan kreatif.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

prompt = 'Continue this sentence with one word: The ocean is'

for temp in [0.0, 0.7, 1.5]:
    response = client.chat.completions.create(
        model='gpt-4o',
        temperature=temp,
        max_tokens=5,
        messages=[{'role': 'user', 'content': prompt}]
    )
    word = response.choices[0].message.content.strip()
    print(f'Temperature {temp}: "{word}"')

Mengapa Jawaban Berbeda pada Setiap Eksekusi

Meskipun menggunakan perintah yang sama, dua eksekusi model yang sama dapat menghasilkan output yang berbeda. Hal ini terjadi karena:

  • Pengambilan sampel bersifat probabilistik — model mengambil dari suatu distribusi, bukan tabel pencarian
  • Perbedaan numerik kecil dalam perhitungan titik mengambang dapat berakumulasi
  • Paralelisme perangkat keras menimbulkan ketidakdeterministikan

Atur temperature=0 dan seed (jika didukung) untuk memaksimalkan keterulangan hasil.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

prompt = 'Give me a one-word color that feels calm.'

for run in range(3):
    response = client.chat.completions.create(
        model='gpt-4o',
        temperature=1.0,   # randomness ON
        max_tokens=5,
        messages=[{'role': 'user', 'content': prompt}]
    )
    print(f'Run {run + 1}: {response.choices[0].message.content.strip()}')

# For reproducible outputs use seed + temperature=0
response = client.chat.completions.create(
    model='gpt-4o',
    temperature=0,
    seed=42,
    max_tokens=5,
    messages=[{'role': 'user', 'content': prompt}]
)
print(f'Deterministic: {response.choices[0].message.content.strip()}')

Pengambilan Sampel Top-p

Top-p (pengambilan sampel inti) adalah cara lain untuk mengendalikan keacakan. Alih-alih mengubah skala semua probabilitas, metode ini membatasi pengambilan sampel pada himpunan token terkecil yang probabilitas kumulatifnya melebihi p.

  • top_p=0.1: hanya token yang paling tinggi probabilitasnya (konservatif)
  • top_p=0.9: pilihan yang lebih luas (kreatif)
  • top_p=1.0: semua token (distribusi penuh)

Dalam praktiknya, sebagian besar tim menyesuaikan suhu dan membiarkan top-p pada 1.0.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

# Conservative generation: top_p=0.1 restricts to high-confidence tokens
response_conservative = client.chat.completions.create(
    model='gpt-4o',
    top_p=0.1,
    max_tokens=30,
    messages=[{'role': 'user', 'content': 'What is the capital of Japan?'}]
)

# Creative generation: top_p=0.95 allows broader token pool
response_creative = client.chat.completions.create(
    model='gpt-4o',
    top_p=0.95,
    max_tokens=30,
    messages=[{'role': 'user', 'content': 'Write a poetic one-liner about the moon.'}]
)

print('Conservative:', response_conservative.choices[0].message.content)
print('Creative:    ', response_creative.choices[0].message.content)

Tidak Benar-Benar Memahami — Pencocokan Pola

LLM tidak memahami bahasa seperti manusia. LLM adalah pencocok pola yang sangat canggih dan dilatih menggunakan korpus teks dalam jumlah sangat besar.

Saat model menjawab 'Apa itu fotosintesis?', model tidak mengambil fakta yang tersimpan — model menghasilkan urutan token yang secara statistik mengikuti pola pertanyaan tersebut, berdasarkan jutaan dokumen serupa yang dilihat selama pelatihan.

# Demonstration: the model can produce plausible-sounding but wrong answers
import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# Asking about something nonsensical — model may still try to answer
response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=128,
    messages=[{
        'role': 'user',
        'content': (
            'What is the boiling point of happiness in degrees Celsius? '
            'Please just say "I cannot answer this" if the question makes no sense.'
        )
    }]
)
print(response.content[0].text)

Pelatihan vs Inferensi

'Pengetahuan' model dibekukan selama pelatihan menggunakan korpus teks yang besar. Saat inferensi (ketika Anda mengirimkan perintah), model menghasilkan teks berdasarkan pengetahuan yang dibekukan tersebut — model tidak sedang belajar atau mencari di internet.

Artinya, model tidak dapat mengetahui peristiwa setelah batas waktu pelatihannya, tidak dapat mengakses alamat URL, dan tidak dapat memverifikasi apakah suatu fakta telah berubah sejak pelatihan.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# Asking the model about its own knowledge cutoff
response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=128,
    messages=[{
        'role': 'user',
        'content': (
            'What is your knowledge cutoff date? '
            'And can you access the internet right now to look up today\'s news?'
        )
    }]
)
print(response.content[0].text)

Yang Terjadi di Dalam Satu Operasi Maju

Secara umum, setiap prediksi token melibatkan:

  1. Mengubah semua token masukan menjadi penyematan numerik
  2. Meneruskannya melalui banyak lapisan transformer (perhatian + umpan maju)
  3. Menghasilkan distribusi probabilitas untuk seluruh kosakata
  4. Mengambil sampel satu token dari distribusi tersebut

Model modern memiliki miliaran parameter yang membentuk transformasi ini — semuanya dipelajari selama pelatihan dari teks buatan manusia.

# You can inspect logprobs (token probabilities) to see the model's confidence
import openai

client = openai.OpenAI(api_key='sk-your-key-here')

response = client.chat.completions.create(
    model='gpt-4o',
    max_tokens=5,
    logprobs=True,
    top_logprobs=3,
    messages=[{'role': 'user', 'content': 'The opposite of hot is'}]
)

for token_info in response.choices[0].logprobs.content:
    print(f'Chosen token: "{token_info.token}"')
    for alt in token_info.top_logprobs:
        import math
        prob = round(math.exp(alt.logprob) * 100, 1)
        print(f'  Option "{alt.token}": {prob}% probability')

Urutan Penghenti

Urutan penghenti memberi tahu model untuk menghentikan pembangkitan saat menghasilkan string tertentu. Ini berguna untuk:

  • Mencegah model menghasilkan lebih dari satu jawaban dalam sebuah daftar
  • Berhenti pada pembatas seperti ### atau ---END---
  • Memastikan keluaran hanya terdiri dari satu baris

Tanpa urutan penghenti, model terus menghasilkan teks hingga mencapai max_tokens atau memprediksi token akhir urutan.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

# Stop after the first item in a numbered list
response = client.chat.completions.create(
    model='gpt-4o',
    max_tokens=64,
    stop=['2.'],   # halt as soon as '2.' appears
    messages=[{
        'role': 'user',
        'content': 'List 5 programming languages, numbered 1 through 5.'
    }]
)
print(response.choices[0].message.content)
print('Stop reason:', response.choices[0].finish_reason)

Implikasi Praktis bagi Penulis Perintah

Memahami mekanisme pembangkitan membantu Anda menulis perintah yang lebih baik:

  • Gunakan temperature 0 untuk tugas yang memerlukan keluaran faktual dan konsisten
  • Gunakan temperature 0.7-1.0 untuk penulisan kreatif
  • Verifikasi fakta — model menghasilkan teks yang masuk akal, bukan kebenaran yang dijamin
  • Gunakan urutan penghenti untuk mengendalikan panjang keluaran secara tepat
  • Perintah singkat → keluaran lebih kreatif tetapi kurang terkendali
  • Perintah terperinci → keluaran lebih terbatas dan terarah
import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# Low temperature for factual classification
fact_response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=8,
    temperature=0,   # deterministic
    messages=[{'role': 'user', 'content': 'Is Paris the capital of France? Answer YES or NO only.'}]
)
print('Factual (temp=0):', fact_response.content[0].text.strip())

# Higher temperature for creative tasks
creative_response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=64,
    temperature=1.0,
    messages=[{'role': 'user', 'content': 'Write a surprising one-line poem about code.'}]
)
print('Creative (temp=1):', creative_response.content[0].text.strip())

Pemeriksaan Pengetahuan

Anda telah mempelajari cara LLM menghasilkan teks token demi token. Mari periksa pemahaman Anda tentang temperature.

Seorang pengembang sedang membuat chatbot dukungan pelanggan yang harus memberikan jawaban konsisten dan akurat untuk pertanyaan penagihan. Pengaturan temperature manakah yang paling tepat?

Cara AI Menghasilkan Respons — Ringkasan

Sekarang Anda memahami mekanisme di balik setiap respons AI:

  • Model memprediksi token berikutnya satu per satu — pembangkitan autoregresif
  • Temperature mengendalikan seberapa banyak keacakan yang dimasukkan ke dalam pemilihan token
  • Top-p membatasi pengambilan sampel pada inti token dengan probabilitas tinggi
  • Model tidak memahami — model mencocokkan pola dalam skala sangat besar
  • Pengetahuan dibekukan saat pelatihan — tidak ada data waktu nyata dan tidak ada akses internet
  • Urutan penghenti memungkinkan Anda mengendalikan dengan tepat tempat keluaran berakhir
Gratis untuk memulai

Belajar AI Prompt Engineering 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
53
Pelajaran
199

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Cara Kecerdasan Buatan Menghasilkan Respons” gratis?

Ya — teks lengkap “Cara Kecerdasan Buatan Menghasilkan Respons” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Prompt Engineering, upgrade ke CoddyKit PRO. Kursus AI Prompt Engineering mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Cara Kecerdasan Buatan Menghasilkan Respons”?

Prediksi token, probabilitas, dan alasan kecerdasan buatan tidak “berpikir” seperti manusia. Kamu berlatih AI Prompt Engineering 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 Prompt Engineering?

Tidak diperlukan pengalaman sebelumnya. AI Prompt Engineering 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 3 dari 4.

Berapa lama pelajaran “Cara Kecerdasan Buatan Menghasilkan Respons” 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 Prompt Engineering ini?

Ya. Setiap pelajaran AI Prompt Engineering 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. Memahami Antarmuka Obrolan
  2. Jenis Permintaan yang Dapat Ditangani Kecerdasan Buatan
  3. Cara Kecerdasan Buatan Menghasilkan Respons
  4. Hal yang Tidak Dapat Dilakukan Kecerdasan Buatan
← Kembali ke AI Prompt Engineering