Düşünce Zinciri İstemleri
Adım adım akıl yürütmeyi ortaya çıkarma.
Düşünce Zinciri İstemleri, CoddyKit'te ücretsiz bir AI Prompt Engineering dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Prompt Engineering öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Prompt Engineering kursu toplamda 4 dersten oluşur.
Belirteç Bütçesi Olarak Akıl Yürütme
Düşünce zinciri (CoT) istemleme, nihai yanıttan önce ara akıl yürütme adımlarını ortaya çıkarır. Temel fikir şudur: dönüştürücüler her belirteç için sabit miktarda hesaplama yapar; dolayısıyla modelin akıl yürütme belirteçleri üretmesine izin vermek, yanıta ulaşması için daha fazla ardışık hesaplama sağlar.
Modeli hemen yanıt vermeye zorlamak, zor bir problem için kullanılabilecek hesaplamayı sınırlar; CoT, hesaplamayı üretilen belirteçlere yayarak bu sınırı kaldırır.
# Direct: model must compute everything before the first token
DIRECT = 'Q: ' + q + '\nA:'
# CoT: model can use tokens as scratch space
COT = 'Q: ' + q + '\nA: Let us reason step by step.'Sıfır Örnekli CoT
Ünlü Let us think step by step tetikleyici ifadesi (Kojima ve ark., 2022), hiçbir örnek olmadan akıl yürütmeyi ortaya çıkarır. Bunun işe yaramasının nedeni, yönergeyle ince ayar yapılmış modellerin bu tür bir ifadenin çözümlü bir çözümden önce geldiği örüntüsünü içselleştirmiş olmasıdır.
Sıfır örnekli CoT ucuz ve şaşırtıcı ölçüde etkilidir, ancak akıl yürütme kalitesi seçilmiş örneklerle yapılan az örnekli CoT kadar denetlenebilir değildir.
def zero_shot_cot(question):
stage1 = llm('Q: ' + question + '\nA: Let us think step by step.')
# Extract the final answer in a second, constrained call
stage2 = llm(stage1 + '\nTherefore, the final answer is:')
return parse_answer(stage2)Az Örnekli CoT
Az örnekli CoT (Wei ve ark., 2022), yalnızca yanıtı değil, akıl yürütme izini de içeren örnekler sunar. Bu, hem nasıl akıl yürütüleceğini hem de istenen biçimi öğretir; böylece sıfır örnekli yaklaşıma göre daha güvenilir ve tutarlı zincirler elde edilir.
Akıl yürütme tarzı, ayrıntı düzeyi ve uzunluğu kopyalanmasını istediğiniz biçimle uyuşan örnekler seçin. Tutarsız örnek akıl yürütmeleri, tutarsız zincirler üretir.
FS_COT = (
'Q: Roger has 5 balls, buys 2 cans of 3. How many balls?\n'
'A: 5 + 2*3 = 5 + 6 = 11. The answer is 11.\n\n'
'Q: ' + question + '\nA:'
)Akıl Yürütmeyi Yanıttan Ayırma
Nihai yanıtı makine tarafından çıkarılabilir hâle her zaman getirin: zinciri sabit bir işaretleyiciyle bitirin (örneğin The answer is X veya bir JSON alanı). Serbest biçimli zincirleri ayrıştırmak kırılgandır.
Kullanıcıya sunulan ürünlerde zinciri gizleyip yalnızca ayrıştırılmış yanıtı gösterebilirsiniz; akıl yürütmeyi dahili bir not defteri olarak tutabilirsiniz.
import re
def extract(chain):
m = re.search(r'[Tt]he answer is\s*(.+?)[.\n]', chain)
if not m:
raise ValueError('no answer marker found')
return m.group(1).strip()Sadakat Garanti Edilmez
Kritik bir uyarı: söze dökülmüş zincir, modelin gerçek hesaplamasını yansıtmayabilir. Araştırmalar, modellerin gizli yanlılıkların (örneğin bir seçeneğin konumunun) yönlendirdiği bir yanıtı sonradan gerekçelendiren, kulağa makul gelen akıl yürütmeler üretebildiğini göstermektedir.
CoT'yi sadık bir açıklama veya denetim izi olarak değerlendirmeyin. CoT birçok görevde doğruluğu artırır, ancak modelin gerçek mekanizmasına açılan bir pencere değildir.
# Faithfulness probe: perturb an irrelevant cue (e.g., always make
# option A correct in the few-shot). If the chain still 'justifies'
# choosing A, the stated reasoning is unfaithful to the real cause.CoT için Kod Çözme Ayarları
Tek ve belirlenimli bir zincir için düşük sıcaklık, değişkenliği azaltır. Ancak CoT örneklemeyle güçlü biçimde birleşir: orta düzeyde sıcaklıkta birden fazla farklı zincir oluşturabilir ve bunları birleştirebilirsiniz (öz-tutarlılık bölümünde ele alınmaktadır).
Birden fazla yol örneklemek istediğinizde açgözlü kod çözmeden kaçının; açgözlü çözüm çeşitliliği ortadan kaldırır ve birleştirmeyi etkisiz kılar.
single = llm(COT, temperature=0.0) # one stable chain
paths = [llm(COT, temperature=0.7) for _ in range(10)] # diverseYapılandırılmış ve Tablosal Akıl Yürütme
Karmaşık problemler için zincire yapı kazandırın: numaralandırılmış adımlar, bir durum tablosu veya planla-uygula ayrımı kullanın. Yapı, atlanan adımları azaltır ve ara durumun doğrulanabilir olmasını sağlar.
Program destekli yaklaşımlar daha da ileri giderek akıl yürütme olarak çalıştırılabilir kod üretir ve aritmetiği bir yorumlayıcıya devreder; böylece bütün bir hesaplama hataları sınıfını ortadan kaldırır.
PAL = (
'Solve by writing Python. Q: ' + q + '\n'
'A:\ndef solve():\n'
' # the model writes code here, then we exec() it\n'
)
# Offload arithmetic to a deterministic interpreterUzunluk, Maliyet ve Gecikme
CoT, çıktı belirteçlerini artırarak maliyeti ve gecikmeyi yükseltir. Kolay öğelerde bu ek yük hiçbir kazanım sağlamaz; zor öğelerde ise gereklidir. Uygulamaya dönük bir örüntü adaptive akıl yürütmedir: CoT'yi yalnızca ucuz bir zorluk tahmini veya düşük güvenli bir doğrudan yanıt gerektirdiğinde tetikleyin.
Yerleşik düşünme özelliğine sahip akıl yürütme modellerinde ise zinciri kendiniz istemlemek yerine bir akıl yürütme çabası bütçesini denetlersiniz.
def adaptive(question):
direct = llm('Q: ' + question + '\nA (answer only):', temperature=0)
if confidence(direct) > 0.85:
return direct
return zero_shot_cot(question) # escalate to reasoning only if neededAkıl Yürütme Temelli Modellerde CoT
Modern akıl yürütme modelleri, genişletilmiş iç değerlendirmeyi otomatik olarak gerçekleştirir. Bu modellere ayrıntılı Let us think step by step yönergeleri yüklemek gereksiz, hatta karşı üretken olabilir; çünkü eğitilmiş düşünme süreçlerine müdahale eder.
Bu modeller için kısa görev ifadelerini ve açık yanıt biçimi gereksinimlerini tercih edin; zincirleri elle hazırlamak yerine akıl yürütme çabası parametresini ayarlayın.
# Reasoning-native model: let it think, just constrain the output
resp = reasoning_model(
prompt=question,
reasoning_effort='medium',
output_format='Final answer on the last line as: ANSWER=<x>'
)CoT Geri Teptiğinde
CoT, uzun uzun düşünmenin doğru sezgiyi bastırdığı görevlerde, basit örüntü eşleştirmede veya sözel ifade modelin örtük olarak yapmayacağı hatalara yol açtığında zarar verebilir. Ayrıca uzun zincirlerin içindeki istem enjeksiyonu için saldırı yüzeyini genişletir.
Her görev için CoT'yi doğrudan yanıtlamayla karşılaştırmalı olarak ölçün; akıl yürütme istemlerinin her durumda yararlı olduğunu asla varsaymayın.
def should_use_cot(task_acc_cot, task_acc_direct, cot_cost_mult):
gain = task_acc_cot - task_acc_direct
# Only adopt CoT if accuracy gain justifies the token multiplier
return gain > MIN_GAIN and gain / cot_cost_mult > MIN_EFFICIENCYCoT'yi Üretimde Kullanıma Alma
Üretimde CoT: tutarlı örnekleri seçip düzenleyin (veya modelin doğal akıl yürütmesine güvenin), ayrıştırılabilir bir yanıt işaretçisi zorunlu kılın, zor öğeler için birden çok zincir örnekleyin, mümkün olduğunda aritmetiği kod çalıştırarak doğrulayın ve maliyeti denetlemek için akıl yürütmeyi bir zorluk tahminine göre koşullu olarak etkinleştirin.
Zincirleri çevrim dışı analiz için kaydedin; ancak bunları hiçbir zaman referans doğruluk açıklamaları olarak sunmayın.
def production_solve(q):
if easy(q):
return extract(llm(DIRECT_PROMPT.format(q=q), temperature=0))
chains = [llm(FS_COT.format(q=q), temperature=0.7) for _ in range(8)]
return majority_vote([extract(c) for c in chains])Hızlı Kontrol
CoT'nin neden yardımcı olduğunu ve hangi durumlarda yardımcı olmadığını açıklayın.
Özet
Önemli çıkarımlar:
- CoT, ek seri hesaplama karşılığında ek belirteçler kullanır; çok adımlı görevlere yardımcı olur, basit görevlere değil.
- Sıfır örnekli CoT bir tetikleyici ifade kullanır; az örnekli CoT ise tutarlı akıl yürütme örnekleri sağlar.
- Her zaman makine tarafından ayıklanabilen bir yanıt işaretçisiyle bitirin; zincirler güvenilir açıklamalar değildir.
- Zor öğeler için birden çok zincir örnekleyin, aritmetiği koda devredin ve CoT'yi zorluğa göre etkinleştirin.
- Akıl yürütme yeteneği yerleşik modellerde ayrıntılı zincir yönergeleri yerine kısa istemleri ve bir akıl yürütme çabası bütçesini tercih edin.
Sıkça Sorulan Sorular
“Düşünce Zinciri İstemleri” dersi ücretsiz mi?
Evet — “Düşünce Zinciri İstemleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Prompt Engineering kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Prompt Engineering kursu toplamda 4 dersten oluşur.
“Düşünce Zinciri İstemleri” dersinde ne öğreneceğim?
Adım adım akıl yürütmeyi ortaya çıkarma. AI Prompt Engineering ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
AI Prompt Engineering öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te AI Prompt Engineering, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Düşünce Zinciri İstemleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu AI Prompt Engineering dersinde kod yazıp çalıştırabilir miyim?
Evet. Her AI Prompt Engineering dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Düşünce Zinciri İstemleri
- Öz Tutarlılık Örneklemesi
- Düşünce Ağacı Keşfi
- Akıl Yürütme İstemleri Ne Zaman Yararlıdır