0Pricing
AI Engineering Academy · Pelajaran

Rantai Pemikiran dan Penalaran Langkah demi Langkah

Gunakan perintah rantai pemikiran untuk memandu model menyelesaikan masalah kompleks langkah demi langkah, sehingga akurasi meningkat drastis pada tugas matematika, logika, dan penalaran multi-lompatan.

Rantai Pemikiran dan Penalaran Langkah demi Langkah adalah pelajaran AI Engineering Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.

Apa Itu Pemancingan Rantai Pemikiran?

Pemancingan Rantai Pemikiran (CoT) adalah teknik yang meminta model menampilkan penalarannya langkah demi langkah sebelum memberikan answer akhir. Alih-alih langsung menuju kesimpulan, model menghasilkan langkah-langkah penalaran antara yang mengarah ke answer. Perubahan sederhana ini secara drastis meningkatkan akurasi pada tugas kompleks yang melibatkan matematika, logika, dan penalaran bertahap.

Teknik ini diperkenalkan dalam makalah Google Brain pada 2022 yang menunjukkan bahwa pemancingan CoT dapat memungkinkan model bahasa besar menyelesaikan soal cerita matematika yang sepenuhnya gagal diselesaikan dengan pemancingan langsung. Wawasan utamanya adalah bahwa pembuatan langkah-langkah antara memaksa model mengalokasikan lebih banyak komputasi untuk masalah yang sulit.

Keajaiban "Mari Berpikir Langkah demi Langkah"

Bentuk paling sederhana dari pemancingan rantai pemikiran adalah menambahkan frasa "Mari berpikir langkah demi langkah" ke prompt Anda. Pemicu CoT zero-shot ini ditemukan oleh para peneliti yang mendapati bahwa satu frasa tersebut menyebabkan model secara spontan menghasilkan rantai penalaran, bahkan tanpa contoh few-shot.

import openai

client = openai.OpenAI()

# Without CoT - the model often gets multi-step math wrong
direct_prompt = 'A store has 48 apples. They sell 3/4 of them, then receive a new shipment of 20. How many apples do they have?'

# With zero-shot CoT
cot_prompt = direct_prompt + "\n\nLet's think step by step."

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': cot_prompt}]
)
print(response.choices[0].message.content)

Mengapa CoT Berhasil: Alokasi Komputasi

LLM menghasilkan teks satu token pada satu waktu, dan setiap token dibuat dengan jumlah komputasi tetap (satu lintasan maju model). Ketika Anda meminta answer langsung, model harus mencapai answer yang benar dalam satu langkah inferensi, yang sering kali tidak menyediakan komputasi yang cukup untuk masalah kompleks.

Rantai pemikiran memberi model anggaran token untuk mengerjakan masalah. Setiap langkah penalaran merupakan sebuah token, dan pembuatan token-token tersebut setara dengan komputasi tambahan. Inilah alasan CoT berhasil bahkan pada tugas ketika model jelas mengetahui semua fakta individual — hambatannya bukan pengetahuan, melainkan kemampuan menggabungkan fakta melalui beberapa langkah penalaran dalam satu lintasan.

Rantai Pemikiran dengan Sedikit Contoh

Untuk keandalan maksimum, gabungkan contoh few-shot dengan penalaran rantai pemikiran. Setiap contoh menampilkan rantai penalaran lengkap yang mengarah ke answer yang benar. Hal ini mengajarkan model gaya penalaran yang Anda inginkan sekaligus format yang benar untuk answer akhir.

import openai

client = openai.OpenAI()

prompt = '''Solve these math problems step by step.

Problem: A recipe needs 2.5 cups of flour for 12 cookies. How much flour for 30 cookies?
Reasoning: First, find flour per cookie: 2.5 / 12 = 0.208 cups each.
Then multiply by 30: 0.208 * 30 = 6.25 cups.
Answer: 6.25 cups

Problem: A train travels 180 km in 2.5 hours. At the same speed, how long to travel 270 km?
Reasoning: First, find speed: 180 / 2.5 = 72 km/h.
Time = distance / speed = 270 / 72 = 3.75 hours.
Answer: 3.75 hours

Problem: A shirt costs $45 after a 25% discount. What was the original price?
'''

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': prompt}]
)
print(response.choices[0].message.content)

CoT untuk Penalaran Multi-Langkah

Rantai pemikiran tidak terbatas pada matematika. Teknik ini secara drastis meningkatkan kinerja pada tugas penalaran multi-langkah yang mengharuskan Anda menghubungkan beberapa fakta untuk menjawab pertanyaan. Misalnya, menjawab pertanyaan 'Siapa presiden US ketika iPhone ditemukan?' memerlukan pengetahuan tentang kapan iPhone ditemukan, lalu pencarian mengenai siapa yang menjadi presiden pada saat itu — dua pencarian pengetahuan terpisah yang dirangkai bersama.

Tanpa CoT, model harus mempersingkat rantai ini menjadi satu langkah dan sering menghasilkan answer yang salah. Dengan CoT, model secara eksplisit mengambil setiap fakta dalam satu langkah penalaran, sehingga akurasi pada tugas-tugas ini meningkat drastis.

Menyusun Keluaran dengan CoT

Dalam aplikasi produksi, Anda sering kali ingin memisahkan penalaran dari answer akhir agar dapat menguraikan answer secara terprogram. Pola yang umum adalah menginstruksikan model untuk membungkus penalaran dalam tag dan answer akhir dalam bagiannya sendiri, sehingga answer mudah diekstrak tanpa menguraikan seluruh teks penalaran.

import openai
import re

client = openai.OpenAI()

prompt = '''Analyze the following customer complaint and determine the priority level.
First think through the issue, then state your final classification.

Format your response exactly as:
<reasoning>
Your step-by-step analysis here.
</reasoning>
<priority>HIGH | MEDIUM | LOW</priority>

Complaint: "The checkout page crashes every time I try to buy something. I have tried three times and lost my cart each time."
'''

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': prompt}]
)
content = response.choices[0].message.content
priority = re.search(r'<priority>(.*?)</priority>', content).group(1)
print('Priority:', priority)

Konsistensi Mandiri: Memilih Suara di antara Beberapa Rantai

Konsistensi mandiri adalah pengembangan CoT yang menghasilkan beberapa rantai penalaran independen untuk masalah yang sama menggunakan temperatur tinggi, lalu mengambil suara mayoritas dari answer akhir. Gagasannya adalah bahwa jalur penalaran yang benar cenderung menghasilkan answer yang sama, sedangkan jalur yang salah cenderung menyebar ke berbagai answer.

Teknik ini secara signifikan meningkatkan akurasi pada tolok ukur penalaran matematika dan penalaran berdasarkan akal sehat, dengan biaya panggilan API tambahan. Teknik ini paling berguna ketika akurasi lebih penting daripada latensi atau biaya, seperti dalam aplikasi ilmiah atau keuangan yang kesalahan answer-nya dapat menimbulkan konsekuensi serius.

import openai
from collections import Counter

client = openai.OpenAI()

def self_consistent_answer(question, n=5):
    prompt = question + '\n\nLet\'s think step by step. State your final answer as: Answer: <value>'
    answers = []
    for _ in range(n):
        resp = client.chat.completions.create(
            model='gpt-4o-mini',
            messages=[{'role': 'user', 'content': prompt}],
            temperature=0.7
        )
        text = resp.choices[0].message.content
        # Extract final answer
        if 'Answer:' in text:
            ans = text.split('Answer:')[-1].strip().split('\n')[0]
            answers.append(ans)
    # Majority vote
    return Counter(answers).most_common(1)[0]

result, count = self_consistent_answer('What is 15% of 240?')
print(f'Answer: {result} (agreed by {count}/5 chains)')

Pohon Pemikiran: Menjelajahi Berbagai Jalur

Pohon Pemikiran (ToT) mengembangkan rantai pemikiran dengan menjelajahi beberapa cabang penalaran secara bersamaan dan mengevaluasi cabang yang paling menjanjikan sebelum melanjutkan. Bayangkan seperti algoritma pencarian: alih-alih berkomitmen pada satu jalur penalaran, Anda membuat beberapa pemikiran parsial, memberi skor pada pemikiran tersebut, lalu memperluas yang paling menjanjikan.

Teknik ini sangat berguna untuk perencanaan dan masalah terbuka ketika jalur penalaran optimal tidak langsung terlihat. ToT memerlukan jauh lebih banyak panggilan API daripada CoT dasar, tetapi dapat menyelesaikan masalah yang gagal diselesaikan CoT linear, seperti teka-teki bertahap dan tugas pemecahan masalah kreatif.

Kapan Tidak Menggunakan Rantai Pemikiran

CoT menambah latensi dan biaya token pada setiap permintaan. Teknik ini tidak selalu menjadi pilihan yang tepat. Hindari CoT ketika:

  • Tugasnya sederhana dan model dapat menyelesaikannya dengan benar secara andal tanpa penalaran (misalnya klasifikasi satu langkah)
  • Anda memerlukan latensi yang sangat rendah dan tidak dapat menyediakan token tambahan
  • Penalaran itu sendiri akan membingungkan penguraian di tahap berikutnya (meskipun tag keluaran terstruktur dapat mengatasi hal ini)
  • Anda menggunakan model yang sangat kecil dan tidak memperoleh manfaat dari langkah-langkah penalaran

CoT memberikan manfaat terbesar pada tugas kompleks dan bertahap ketika model terbukti gagal tanpa teknik ini. Selalu lakukan pengukuran sebelum menambahkannya ke prompt produksi.

CoT untuk Kode dan Penelusuran Kesalahan

Rantai pemikiran sangat efektif untuk tugas pembuatan kode dan penelusuran kesalahan. Meminta model menjelaskan rencananya sebelum menulis kode — 'Pertama, jelaskan pendekatan Anda, lalu tulis kodenya' — menghasilkan implementasi yang lebih benar karena langkah perencanaan menangkap kesalahan logika sebelum kesalahan tersebut diwujudkan dalam implementasi.

Untuk penelusuran kesalahan, meminta model untuk 'menelusuri kode langkah demi langkah dan mengidentifikasi bagian ketika keluaran menyimpang dari nilai yang diharapkan' jauh lebih efektif daripada sekadar bertanya 'apa yang salah dengan kode ini?' Penelusuran langkah demi langkah tersebut berfungsi sebagai simulasi eksekusi kode dalam penalaran model.

Menggabungkan CoT dengan Prompt Sistem

Anda dapat menyematkan instruksi rantai pemikiran secara permanen dalam prompt sistem agar setiap pesan pengguna memperoleh manfaat dari penalaran langkah demi langkah tanpa pengguna perlu memintanya secara eksplisit. Ini adalah pola standar untuk aplikasi produksi yang menginginkan perilaku CoT yang andal pada semua kueri.

import openai

client = openai.OpenAI()

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[
        {
            'role': 'system',
            'content': ('You are a precise analytical assistant. '
                       'For any question involving calculation, logic, or multi-step reasoning, '
                       'always think through the problem step by step before giving your answer. '
                       'Show your reasoning clearly before stating the final answer.')
        },
        {
            'role': 'user',
            'content': 'If I invest $5000 at 7% annual interest compounded annually, how much will I have after 10 years?'
        }
    ]
)
print(response.choices[0].message.content)

Pemeriksaan Singkat

Uji pemahaman Anda tentang konsep Rekayasa AI dari pelajaran ini.

Rangkuman Pelajaran

Dalam pelajaran ini, Anda mempelajari bahwa: pemancingan rantai pemikiran meningkatkan akurasi dengan membuat model menghasilkan langkah-langkah penalaran eksplisit sebelum menjawab, konsistensi mandiri menjalankan beberapa rantai dan mengambil suara mayoritas untuk memperoleh hasil yang lebih andal, dan CoT paling bermanfaat untuk tugas matematika, penalaran multi-langkah, dan penelusuran kesalahan, tetapi menambah latensi serta biaya. Selanjutnya, kita akan membahas cara menulis prompt sistem yang efektif dan mendefinisikan persona AI.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Rantai Pemikiran dan Penalaran Langkah demi Langkah” gratis?

Ya — teks lengkap “Rantai Pemikiran dan Penalaran Langkah demi Langkah” 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 “Rantai Pemikiran dan Penalaran Langkah demi Langkah”?

Gunakan perintah rantai pemikiran untuk memandu model menyelesaikan masalah kompleks langkah demi langkah, sehingga akurasi meningkat drastis pada tugas matematika, logika, dan penalaran multi-lompat… 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 2 dari 4.

Berapa lama pelajaran “Rantai Pemikiran dan Penalaran Langkah demi Langkah” 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. Perintah Zero-Shot dan Few-Shot
  2. Rantai Pemikiran dan Penalaran Langkah demi Langkah
  3. Perintah Sistem dan Pendefinisian Persona
  4. Iterasi dan Penelusuran Kesalahan pada Perintah
← Kembali ke AI Engineering Academy