ความแตกต่างของโมเดลการให้เหตุผล
การคิดเป็นลำดับภายในเทียบกับโมเดลมาตรฐาน: สิ่งที่เปลี่ยนไปสำหรับผู้เขียนพรอมต์
ความแตกต่างของโมเดลการให้เหตุผล เป็นบทเรียน AI Prompt Engineering ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Prompt Engineering และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Prompt Engineering มีบทเรียนทั้งหมด 4 บทเรียน
โมเดลการให้เหตุผลคืออะไร
โมเดลการให้เหตุผลคือ LLM ที่ได้รับการฝึกและกำหนดค่าโดยเฉพาะให้ดำเนินการพิจารณาภายในเป็นเวลานานก่อนสร้างคำตอบ ตัวอย่างเช่น ชุดโมเดล o1/o3/o4 ของ OpenAI และ Claude ของ Anthropic ที่เปิดใช้การคิดแบบขยาย
โมเดลมาตรฐานจะสร้างข้อความทีละโทเค็นโดยตรงจากพรอมต์ของคุณ แต่โมเดลการให้เหตุผลจะสร้างลำดับความคิดภายในที่ยาวก่อน แล้วจึงสรุปเป็นคำตอบสุดท้าย
โมเดลมาตรฐานเทียบกับโมเดลการให้เหตุผล: สิ่งที่คุณเห็น
จากมุมมองของผู้ใช้ส่วนเชื่อมต่อโปรแกรมประยุกต์ ความแตกต่างคือ:
- โมเดลมาตรฐาน: ข้อมูลนำเข้า → ผลลัพธ์ (รวดเร็ว ตรงไปตรงมา)
- โมเดลการให้เหตุผล: ข้อมูลนำเข้า → [การคิดภายใน ซึ่งซ่อนอยู่หรือส่งเป็นกระแส] → ผลลัพธ์ (ช้ากว่า แต่แม่นยำกว่าในปัญหายาก)
กระบวนการคิดคือพื้นที่จดร่างส่วนตัวของโมเดล ซึ่งอาจมีการลองผิดทาง การแก้ไขตนเอง และการคำนวณระหว่างทางที่ไม่ปรากฏในคำตอบสุดท้าย
ชุดโมเดล o ของ OpenAI: พฤติกรรมของส่วนเชื่อมต่อโปรแกรมประยุกต์
โมเดล o1/o3/o4 ของ OpenAI จัดการการคิดภายใน คุณจะไม่เห็นโทเค็นการให้เหตุผลตามค่าเริ่มต้น คุณสามารถดูจำนวนโทเค็นการคิดได้ในข้อมูลเมทาดาทาการใช้งาน แต่ไม่สามารถดูเนื้อหาได้
import openai
client = openai.OpenAI(api_key='sk-...')
# o3 — reasoning happens internally
response = client.chat.completions.create(
model='o3',
messages=[
{'role': 'user', 'content': 'Solve: A train leaves Chicago at 9am going 60mph. Another leaves NYC at 10am going 80mph. If the distance is 790 miles, when do they meet?'}
],
# reasoning_effort='high' # Optional: 'low', 'medium', 'high'
)
print(response.choices[0].message.content)
# Check how many tokens were used for thinking:
print('Input tokens:', response.usage.prompt_tokens)
print('Output tokens:', response.usage.completion_tokens)การคิดแบบขยายของ Claude: พฤติกรรมของส่วนเชื่อมต่อโปรแกรมประยุกต์
Claude ของ Anthropic เปิดเผยโทเค็นการคิดแบบขยายผ่านส่วนเชื่อมต่อโปรแกรมประยุกต์ คุณสามารถส่งและดูขั้นตอนการให้เหตุผลของโมเดลได้แบบเรียลไทม์ เนื้อหาการคิดจะปรากฏก่อนการตอบสนองสุดท้าย
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-...')
# Enable extended thinking
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=16000,
thinking={
'type': 'enabled',
'budget_tokens': 10000 # Max tokens for thinking
},
messages=[{
'role': 'user',
'content': 'What is the 100th prime number?'
}]
)
# Response contains both thinking blocks and text blocks
for block in response.content:
if block.type == 'thinking':
print('THINKING:', block.thinking[:200], '...')
elif block.type == 'text':
print('ANSWER:', block.text)การส่งโทเค็นการคิดเป็นกระแส
คุณสามารถส่งการคิดแบบขยายเป็นกระแสแบบเรียลไทม์ เพื่อดูการให้เหตุผลของโมเดลขณะที่กำลังดำเนินไป วิธีนี้มีประโยชน์ต่อประสบการณ์ผู้ใช้ เช่น การแสดงภาพเคลื่อนไหว “กำลังคิด” หรือเปิดให้ผู้ใช้ขั้นสูงสังเกตกระบวนการให้เหตุผล
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-...')
def stream_with_thinking(question):
with client.messages.stream(
model='claude-opus-4-5',
max_tokens=16000,
thinking={'type': 'enabled', 'budget_tokens': 8000},
messages=[{'role': 'user', 'content': question}]
) as stream:
current_block_type = None
for event in stream:
# Track which block type we're in
if hasattr(event, 'type'):
if 'thinking' in str(event.type):
current_block_type = 'thinking'
elif 'text' in str(event.type):
current_block_type = 'text'
# Print text delta
if hasattr(event, 'delta') and hasattr(event.delta, 'text'):
prefix = '[THINK] ' if current_block_type == 'thinking' else '[ANS] '
print(prefix + event.delta.text, end='', flush=True)
stream_with_thinking('Explain why P != NP is unproven.')สิ่งที่เกิดขึ้นภายใน: พื้นที่จดร่าง
การคิดภายในของโมเดลเป็นพื้นที่จดร่างที่โมเดลสามารถใช้เพื่อ:
- สำรวจแนวทางหลายรูปแบบก่อนเลือกแนวทางหนึ่ง
- คำนวณและตรวจสอบผลลัพธ์
- ระบุข้อผิดพลาดของตนเองและย้อนกลับไปแก้ไข
- พิจารณากรณีขอบ
- วางแผนวิธีแก้ปัญหาหลายขั้นตอน
การพิจารณาภายในนี้เป็นเหตุผลที่โมเดลการให้เหตุผลมีประสิทธิภาพเหนือกว่าโมเดลมาตรฐานอย่างมากในด้านคณิตศาสตร์ การเขียนโปรแกรม และการวางแผนเชิงกลยุทธ์สำหรับปัญหายาก ๆ เพราะโดยพื้นฐานแล้วโมเดลได้ทบทวนเอกสารและงานวิจัยก่อนลงมือเขียน
budget_tokens: การควบคุมระดับการคิด
budget_tokens (Claude) หรือ reasoning_effort (OpenAI) เป็นตัวควบคุมว่าโมเดลจะใช้การคิดมากน้อยเพียงใด การคิดมากขึ้นทำให้แม่นยำขึ้นสำหรับปัญหายาก แต่ก็มีค่าใช้จ่ายและความหน่วงสูงขึ้น
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-...')
def ask_with_budget(question, budget):
r = client.messages.create(
model='claude-opus-4-5',
max_tokens=budget + 2048, # must exceed budget_tokens
thinking={'type': 'enabled', 'budget_tokens': budget},
messages=[{'role': 'user', 'content': question}]
)
thinking_tokens = sum(
len(b.thinking.split()) * 1.3 # rough estimate
for b in r.content if b.type == 'thinking'
)
answer = next(b.text for b in r.content if b.type == 'text')
return answer, int(thinking_tokens)
# Same hard question with different budgets
q = 'Prove that the square root of 2 is irrational.'
ans_small, tok_small = ask_with_budget(q, 1024)
ans_large, tok_large = ask_with_budget(q, 8000)
print(f'Small budget ({tok_small} thinking tokens): {ans_small[:100]}')
print(f'Large budget ({tok_large} thinking tokens): {ans_large[:100]}')อุณหภูมิและโมเดลให้เหตุผล
โมเดลให้เหตุผลมีพฤติกรรมแตกต่างกันเมื่อใช้การตั้งค่าอุณหภูมิ:
- สำหรับโมเดลตระกูล o ของ OpenAI: ค่าอุณหภูมิเริ่มต้นเป็น 1 และไม่สามารถเปลี่ยนได้เสมอไป
- สำหรับการคิดแบบขยายของ Claude: โดยทั่วไปจะตั้งอุณหภูมิเป็น 1 ระหว่างการคิด
อย่าพยายามใช้อุณหภูมิเพื่อควบคุมพฤติกรรมของโมเดลให้เหตุผล — ให้ใช้ budget_tokens หรือ reasoning_effort แทน
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-...')
# For Claude with extended thinking, temperature=1 is the default
# and best practice
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=10000,
temperature=1, # Required to be 1 when extended thinking is enabled
thinking={
'type': 'enabled',
'budget_tokens': 5000
},
messages=[{
'role': 'user',
'content': 'Write a Python function to find all prime numbers up to N.'
}]
)
print(response.content[-1].text[:300])เกณฑ์วัดประสิทธิภาพ: จุดที่การให้เหตุผลได้เปรียบ
โมเดลให้เหตุผลมีประสิทธิภาพเหนือกว่าโมเดลมาตรฐานอย่างชัดเจนที่สุดในด้านต่อไปนี้:
- คณิตศาสตร์แข่งขัน: AIME, AMC (o3 มีความสามารถใกล้เคียงผู้เชี่ยวชาญมนุษย์)
- การเขียนโปรแกรมที่ซับซ้อน: การเขียนโปรแกรมแข่งขัน (Codeforces)
- การให้เหตุผลทางวิทยาศาสตร์: GPQA (วิทยาศาสตร์ระดับบัณฑิตศึกษา)
- ตรรกะหลายขั้นตอน: ปัญหาที่ต้องอาศัยการอนุมานตามลำดับ
สำหรับงานง่าย ๆ เช่น ไวยากรณ์ การสรุปเนื้อหา และคำถาม-คำตอบเชิงข้อเท็จจริง โมเดลมาตรฐานทำได้ดีเทียบเท่ากัน โดยมีค่าใช้จ่ายต่ำกว่าถึง 10–100 เท่า
ความเป็นจริงเกี่ยวกับความหน่วง
โมเดลให้เหตุผลทำงานช้า ปัญหายากที่ใช้ระดับการให้เหตุผลสูงอาจใช้เวลา 30–60 วินาที จึงควรวางแผนประสบการณ์ผู้ใช้ให้เหมาะสม:
- แสดงตัวบ่งชี้ความคืบหน้า เช่น “กำลังคิด...”
- ใช้การส่งผลลัพธ์แบบต่อเนื่องเพื่อแสดงผลลัพธ์บางส่วนทันทีที่พร้อมใช้งาน
- อย่าใช้โมเดลให้เหตุผลสำหรับการสนทนาแบบโต้ตอบทันทีที่ความหน่วงมีความสำคัญ
- คำนวณผลลัพธ์จากโมเดลให้เหตุผลล่วงหน้าสำหรับคำถามยากที่ทราบอยู่แล้ว
import time
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-...')
def timed_reasoning_call(question, budget):
start = time.time()
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=budget + 2000,
thinking={'type': 'enabled', 'budget_tokens': budget},
messages=[{'role': 'user', 'content': question}]
)
elapsed = time.time() - start
answer = next(b.text for b in response.content if b.type == 'text')
print(f'Latency: {elapsed:.1f}s | Answer: {answer[:100]}')
return answer
# Hard problem — expect 20-45 seconds
timed_reasoning_call(
'Design a database schema for a multi-tenant SaaS billing system.',
budget=8000
)โมเดลให้เหตุผลและพรอมป์ตระบบ
โมเดลให้เหตุผลตอบสนองต่อพรอมป์ตระบบแตกต่างจากโมเดลมาตรฐาน เนื่องจากโมเดลจะไตร่ตรองภายในก่อนตอบ จึงทำตามคำสั่งที่ซับซ้อนหลายขั้นตอนในพรอมป์ตระบบได้อย่างน่าเชื่อถือยิ่งขึ้น
อย่างไรก็ตาม พรอมป์ตระบบที่ยาวมากและมีข้อจำกัดมากเกินไปอาจขัดแย้งกับการให้เหตุผลภายใน แนวทางปฏิบัติที่ดีคือทำให้พรอมป์ตระบบสำหรับโมเดลให้เหตุผลกระชับ — กำหนดบทบาทและรูปแบบผลลัพธ์ จากนั้นปล่อยให้การให้เหตุผลภายในของโมเดลจัดการกลยุทธ์
ตรวจสอบความรู้: การคิดของโมเดลให้เหตุผล
ความแตกต่างสำคัญระหว่างสิ่งที่ผู้เขียนพรอมป์ตจัดเตรียมให้ กับสิ่งที่เกิดขึ้นภายในโมเดลให้เหตุผลคืออะไร
สรุป: ความแตกต่างของโมเดลให้เหตุผล
โมเดลให้เหตุผลอย่าง o1/o3 และ Claude ที่ใช้การคิดแบบขยายจะสร้างลำดับความคิดภายในก่อนตอบ ผู้เขียนพรอมป์ตจัดเตรียมปัญหาให้ โมเดลจะไตร่ตรองภายใน สำรวจแนวทางต่าง ๆ และแก้ไขตนเอง จากนั้นจึงสร้างคำตอบสุดท้าย คุณควบคุมระดับการคิดได้ด้วย budget_tokens (Claude) หรือ reasoning_effort (OpenAI) โมเดลให้เหตุผลมีความโดดเด่นด้านคณิตศาสตร์ที่ซับซ้อน การเขียนโค้ด และตรรกะหลายขั้นตอน แต่มีค่าใช้จ่ายสูงกว่าโมเดลมาตรฐาน 10–100 เท่า และทำงานช้ากว่า 10–100 เท่า ใช้การส่งผลลัพธ์แบบต่อเนื่องและตัวบ่งชี้ความคืบหน้าเพื่อจัดการความหน่วงในประสบการณ์ผู้ใช้
คำถามที่พบบ่อย
บทเรียน “ความแตกต่างของโมเดลการให้เหตุผล” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ความแตกต่างของโมเดลการให้เหตุผล” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AI Prompt Engineering ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AI Prompt Engineering มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ความแตกต่างของโมเดลการให้เหตุผล”
การคิดเป็นลำดับภายในเทียบกับโมเดลมาตรฐาน: สิ่งที่เปลี่ยนไปสำหรับผู้เขียนพรอมต์ คุณปฏิบัติ AI Prompt Engineering ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AI Prompt Engineering หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AI Prompt Engineering บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “ความแตกต่างของโมเดลการให้เหตุผล” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AI Prompt Engineering นี้ได้ไหม
ได้ บทเรียน AI Prompt Engineering ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ความแตกต่างของโมเดลการให้เหตุผล
- พรอมต์ที่มีประสิทธิภาพสำหรับการคิดต่อเนื่อง
- ควรใช้โมเดลการให้เหตุผลหรือโมเดลมาตรฐานเมื่อใด
- ข้อแลกเปลี่ยนระหว่างต้นทุนกับเวลาแฝง