AI Engineering Academy · Pelajaran

Rantaian Fikiran dan Penaakulan Langkah demi Langkah

Gunakan gesaan rantaian fikiran untuk membimbing model menyelesaikan masalah kompleks langkah demi langkah, sekali gus meningkatkan ketepatan dengan ketara bagi tugasan matematik, logik dan penaakulan berbilang lompatan.

Pelajaran 2 daripada 413 langkah

Rantaian Fikiran dan Penaakulan Langkah demi Langkah ialah pelajaran AI Engineering Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran AI Engineering Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus AI Engineering Academy merangkumi sejumlah 4 pelajaran.

Apakah Pemprongan Rantaian Pemikiran?

Pemprongan rantaian pemikiran (CoT) ialah teknik yang meminta model menunjukkan penaakulannya langkah demi langkah sebelum memberikan jawapan akhir. Daripada terus melompat kepada kesimpulan, model menghasilkan langkah penaakulan perantaraan yang membawa kepada jawapan. Perubahan mudah ini meningkatkan ketepatan dengan ketara bagi tugasan kompleks yang melibatkan matematik, logik dan penaakulan berbilang langkah.

Teknik ini diperkenalkan dalam makalah Google Brain pada tahun 2022 yang menunjukkan bahawa pemprongan CoT boleh membolehkan model bahasa besar menyelesaikan masalah matematik berbentuk ayat yang langsung tidak dapat diselesaikan dengan pemprongan terus. Wawasan utamanya ialah penjanaan langkah perantaraan memaksa model memperuntukkan lebih banyak pengiraan kepada masalah yang sukar.

Keajaiban 'Mari Berfikir Langkah demi Langkah'

Bentuk pemprongan rantaian pemikiran yang paling mudah ialah menambahkan frasa 'Mari berfikir langkah demi langkah' pada prompt anda. Pencetus CoT tanpa contoh ini ditemui oleh penyelidik yang mendapati bahawa satu frasa ini menyebabkan model menghasilkan rantaian penaakulan secara spontan walaupun tanpa contoh beberapa contoh.

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 Berfungsi: Peruntukan Pengiraan

LLM menjana teks satu token pada satu masa, dan setiap token dihasilkan dengan jumlah pengiraan yang tetap (satu laluan hadapan model). Apabila anda meminta jawapan terus, model mesti mencapai jawapan yang betul dalam satu langkah inferens, yang selalunya tidak mencukupi untuk masalah kompleks.

Rantaian pemikiran memberikan bajet token kepada model untuk mengusahakan masalah tersebut. Setiap langkah penaakulan ialah satu token, dan penjanaan token-token itu bersamaan dengan pengiraan tambahan. Inilah sebabnya CoT berfungsi walaupun bagi tugasan yang semua fakta individunya jelas diketahui oleh model — kesesakannya bukan pengetahuan, tetapi keupayaan menggabungkan fakta melalui beberapa langkah penaakulan dalam satu laluan.

Rantaian Pemikiran dengan Beberapa Contoh

Untuk kebolehpercayaan maksimum, gabungkan contoh beberapa contoh dengan penaakulan rantaian pemikiran. Setiap contoh menunjukkan keseluruhan rantaian penaakulan yang membawa kepada jawapan yang betul. Ini mengajar model kedua-dua gaya penaakulan yang anda kehendaki dan format yang betul untuk jawapan 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 Penaakulan Berbilang Lompatan

Rantaian pemikiran tidak terhad kepada matematik. Ia meningkatkan prestasi dengan ketara bagi tugasan penaakulan berbilang lompatan yang memerlukan anda menghubungkan beberapa fakta untuk menjawab soalan. Contohnya, untuk menjawab 'Siapakah presiden US ketika iPhone dicipta?' anda perlu mengetahui bila iPhone dicipta, kemudian mencari siapa yang menjadi presiden pada ketika itu — dua carian pengetahuan berasingan yang dirantaikan bersama.

Tanpa CoT, model mesti memendekkan rantaian ini dalam satu langkah dan sering memberikan jawapan yang salah. Dengan CoT, model mendapatkan setiap fakta secara jelas dalam satu langkah penaakulan, lalu meningkatkan ketepatan dengan ketara bagi tugasan ini.

Menstrukturkan Output dengan CoT

Dalam aplikasi pengeluaran, anda selalunya mahu penaakulan diasingkan daripada jawapan akhir supaya anda boleh menghuraikan jawapan secara terprogram. Corak yang lazim ialah mengarahkan model membungkus penaakulan dalam tag dan jawapan akhir dalam bahagiannya sendiri, supaya jawapan mudah diekstrak tanpa menghuraikan keseluruhan teks penaakulan.

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)

Ketekalan Kendiri: Mengundi Merentas Pelbagai Rantaian

Ketekalan kendiri ialah lanjutan CoT yang menjana beberapa rantaian penaakulan bebas untuk masalah yang sama menggunakan suhu tinggi, kemudian mengambil undian majoriti terhadap jawapan akhir. Intuisinya ialah laluan penaakulan yang betul cenderung bertumpu kepada jawapan yang sama, manakala laluan yang salah cenderung menyimpang.

Ini meningkatkan ketepatan dengan ketara pada penanda aras penaakulan matematik dan akal budi, dengan kos panggilan API tambahan. Teknik ini paling berguna apabila ketepatan lebih penting daripada kependaman atau kos, seperti dalam aplikasi saintifik atau kewangan yang kesilapan jawapan membawa akibat 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)')

Pokok Pemikiran: Meneroka Pelbagai Laluan

Pokok Pemikiran mengembangkan rantaian pemikiran dengan meneroka beberapa cabang penaakulan secara serentak dan menilai cabang yang paling menjanjikan sebelum meneruskan. Bayangkan ia seperti algoritma carian: bukannya berpegang pada satu laluan penaakulan, anda menjana beberapa pemikiran separa, memberikan skor kepadanya dan mengembangkan pemikiran yang paling menjanjikan.

Teknik ini amat berguna untuk perancangan dan masalah terbuka yang laluan penaakalan optimumnya tidak jelas dengan segera. Pokok Pemikiran memerlukan lebih banyak panggilan API berbanding CoT asas, tetapi boleh menyelesaikan masalah yang gagal diselesaikan oleh CoT linear, seperti teka-teki berbilang langkah dan tugasan penyelesaian masalah kreatif.

Bila Tidak Perlu Menggunakan Rantaian Pemikiran

CoT menambahkan kependaman dan kos token pada setiap permintaan. Ia tidak semestinya pilihan yang tepat. Elakkan CoT apabila:

  • Tugasan itu mudah dan model boleh memberikan jawapan yang betul dengan konsisten tanpa penaakulan (contohnya, classification satu langkah)
  • Anda memerlukan kependaman yang sangat rendah dan tidak mampu menggunakan token tambahan
  • Penaakulan itu sendiri akan mengelirukan penghuraian hiliran (walaupun tag output berstruktur dapat menyelesaikan masalah ini)
  • Anda menggunakan model yang sangat kecil dan tidak mendapat manfaat daripada langkah penaakulan

CoT memberikan nilai paling tinggi pada tugasan kompleks dan berbilang langkah yang model terbukti gagal selesaikan tanpanya. Sentiasa ukur prestasi sebelum menambahnya pada prompt pengeluaran.

CoT untuk Kod dan Penyahpepijatan

Rantaian pemikiran amat berkesan untuk tugasan penjanaan kod dan penyahpepijatan. Meminta model menerangkan rancangannya sebelum menulis kod — 'Terangkan pendekatan anda dahulu, kemudian tulis kod tersebut' — menghasilkan pelaksanaan yang lebih tepat kerana langkah perancangan mengesan error logik sebelum error itu dikodkan dalam pelaksanaan.

Untuk penyahpepijatan, memprompt model supaya 'menjejaki kod langkah demi langkah dan mengenal pasti bahagian yang menyebabkan output menyimpang daripada nilai yang dijangkakan' jauh lebih berkesan daripada sekadar bertanya 'apakah yang salah dengan kod ini?' Jejak langkah demi langkah itu bertindak sebagai simulasi pelaksanaan kod dalam penaakulan model.

Menggabungkan CoT dengan Prompt Sistem

Anda boleh mengekod arahan rantaian pemikiran secara kekal dalam prompt sistem supaya setiap mesej pengguna mendapat manfaat daripada penaakulan langkah demi langkah tanpa pengguna perlu memintanya secara jelas. Ini ialah corak standard untuk aplikasi pengeluaran yang memerlukan tingkah laku CoT yang boleh dipercayai merentas semua pertanyaan.

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)

Semakan Pantas

Uji pemahaman anda tentang konsep Kejuruteraan AI daripada pelajaran ini.

Ulang Kaji Pelajaran

Dalam pelajaran ini, anda mempelajari bahawa: pemprongan rantaian pemikiran meningkatkan ketepatan dengan membuat model menjana langkah penaakulan yang jelas sebelum menjawab, ketekalan kendiri menjalankan beberapa rantaian dan mengambil undian majoriti untuk mendapatkan hasil yang lebih boleh dipercayai, dan CoT paling bernilai untuk matematik, penaakulan berbilang lompatan dan tugasan penyahpepijatan, tetapi menambahkan kependaman serta kos. Seterusnya, kita akan meneroka cara menulis prompt sistem yang berkesan dan mentakrifkan persona AI.

Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Rantaian Fikiran dan Penaakulan Langkah demi Langkah” percuma?

Ya — teks penuh “Rantaian Fikiran dan Penaakulan Langkah demi Langkah” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus AI Engineering Academy, tingkat taraf kepada CoddyKit PRO. Kursus AI Engineering Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Rantaian Fikiran dan Penaakulan Langkah demi Langkah”?

Gunakan gesaan rantaian fikiran untuk membimbing model menyelesaikan masalah kompleks langkah demi langkah, sekali gus meningkatkan ketepatan dengan ketara bagi tugasan matematik, logik dan penaakula… Anda berlatih AI Engineering Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan AI Engineering Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran AI Engineering Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Rantaian Fikiran dan Penaakulan Langkah demi Langkah” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran AI Engineering Academy ini?

Ya. Setiap pelajaran AI Engineering Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Gesaan Sifar Contoh dan Sedikit Contoh
  2. Rantaian Fikiran dan Penaakulan Langkah demi Langkah
  3. Gesaan Sistem dan Penentuan Persona
  4. Pengulangan dan Penyahpepijatan Gesaan
← Kembali ke AI Engineering Academy