AI Prompt Engineering · บทเรียน

ควรใช้โมเดลการให้เหตุผลหรือโมเดลมาตรฐานเมื่อใด

ประเภทปัญหาที่ได้ประโยชน์จากการคิดต่อเนื่อง: คณิตศาสตร์ โค้ด และตรรกะหลายขั้นตอน

บทเรียน 3 จาก 413 ขั้นตอน

ควรใช้โมเดลการให้เหตุผลหรือโมเดลมาตรฐานเมื่อใด เป็นบทเรียน AI Prompt Engineering ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Prompt Engineering และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Prompt Engineering มีบทเรียนทั้งหมด 4 บทเรียน

ไม่ใช่ทุกงานที่ต้องใช้โมเดลให้เหตุผล

โมเดลให้เหตุผลมีความสามารถสูง แต่มีค่าใช้จ่ายสูงและทำงานช้า การเลือกประเภทโมเดลที่เหมาะสมกับแต่ละงานเป็นหนึ่งในการตัดสินใจที่ส่งผลมากที่สุดในการออกแบบระบบ LLM

คำถามหลักคือ งานนี้ได้ประโยชน์จริงจากการไตร่ตรองเพิ่มเติมหรือไม่ หลายงานไม่จำเป็น — การใช้โมเดลให้เหตุผลกับงานเหล่านั้นจึงสิ้นเปลืองเงินโดยไม่ได้เพิ่มคุณภาพ

จุดเด่นของโมเดลให้เหตุผล: คณิตศาสตร์หลายขั้นตอน

โมเดลให้เหตุผลมีประสิทธิภาพเหนือกว่าโมเดลมาตรฐานอย่างมากในปัญหาคณิตศาสตร์ที่ต้องผ่านหลายขั้นตอน โดยเฉพาะเมื่อข้อผิดพลาดสะสมต่อเนื่องไปในแต่ละขั้นตอน

import anthropic

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

# Multi-step math: use reasoning model
hard_math_prompt = (
    'A company has 3 factories. Factory A produces 240 units/day, '
    'Factory B produces 180 units/day, and Factory C produces 300 units/day. '
    'They operate 5 days/week. A unit sells for $47.50. Operating costs are '
    '$18,000/week for A, $14,500/week for B, and $22,000/week for C. '
    'What is the total weekly profit across all factories?'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=8000,
    thinking={'type': 'enabled', 'budget_tokens': 5000},
    messages=[{'role': 'user', 'content': hard_math_prompt}]
)
print(next(b.text for b in response.content if b.type == 'text'))

จุดเด่นของโมเดลให้เหตุผล: โค้ดที่ซับซ้อน

สำหรับปัญหาเชิงอัลกอริทึม เช่น การนำโครงสร้างข้อมูลไปใช้ การแก้ไขข้อผิดพลาดทางตรรกะที่สังเกตได้ยาก หรือการออกแบบวิธีแก้ปัญหาที่มีประสิทธิภาพ โมเดลให้เหตุผลมีประสิทธิภาพเหนือกว่าโมเดลมาตรฐาน เพราะสามารถสำรวจแนวทางต่าง ๆ ภายในก่อนตัดสินใจเลือกแนวทางหนึ่ง

import anthropic

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

# Complex coding: use reasoning model
code_prompt = (
    'Implement a thread-safe LRU cache in Python with these requirements:\n'
    '- O(1) get and put operations\n'
    '- Thread-safe using minimal locking\n'
    '- Support a max_size parameter\n'
    '- Include full docstrings and type hints\n'
    '- Handle edge cases: empty cache, size=1, duplicate keys'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=10000,
    thinking={'type': 'enabled', 'budget_tokens': 8000},
    messages=[{'role': 'user', 'content': code_prompt}]
)
code = next(b.text for b in response.content if b.type == 'text')
print(code[:400])

จุดเด่นของโมเดลให้เหตุผล: การวางแผนเชิงกลยุทธ์

งานที่ต้องประเมินตัวเลือกที่แข่งขันกันหลายทาง ข้อแลกเปลี่ยนในหลายมิติ และผลกระทบระยะยาว ล้วนได้ประโยชน์จากการให้เหตุผลเพิ่มเติม ตัวอย่างเช่น การตัดสินใจด้านการออกแบบสถาปัตยกรรม การประเมินแผนงานผลิตภัณฑ์ และการวิเคราะห์การลงทุน

import anthropic

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

# Strategic decision: reasoning model adds real value
strategy_prompt = (
    'We are a B2B SaaS startup with $2M ARR, 15% monthly churn, '
    '3 engineers, and $800K runway. We have two options:\n'
    'A) Raise a Series A now at a $10M valuation\n'
    'B) Cut costs, extend runway 18 months, raise at higher valuation\n\n'
    'Analyze the trade-offs and recommend a course of action with reasoning.'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=10000,
    thinking={'type': 'enabled', 'budget_tokens': 8000},
    messages=[{'role': 'user', 'content': strategy_prompt}]
)
print(next(b.text for b in response.content if b.type == 'text')[:400])

จุดที่โมเดลมาตรฐานได้เปรียบ: คำถาม-คำตอบง่าย ๆ

คำถามข้อเท็จจริงที่มีคำตอบตรงไปตรงมาไม่ได้ประโยชน์จากการให้เหตุผลเพิ่มเติม การใช้ o3 หรือการคิดแบบขยายของ Claude กับคำถาม “เมืองหลวงของฝรั่งเศสคืออะไร” ทำให้เสียค่าใช้จ่ายมากขึ้น 20–50 เท่าโดยได้ผลลัพธ์เหมือนเดิม

import anthropic

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

# Simple Q&A: standard model is just as good, much cheaper
simple_questions = [
    'What is the capital of France?',
    'Who wrote Hamlet?',
    'What year did the Berlin Wall fall?',
]

for q in simple_questions:
    # Use claude-haiku-4-5 — fast, cheap, equally accurate for factual recall
    r = client.messages.create(
        model='claude-haiku-4-5',
        max_tokens=50,
        messages=[{'role': 'user', 'content': q}]
    )
    print(f'Q: {q}\nA: {r.content[0].text}\n')

# Reasoning model would give the same answers at 50-100x the cost

จุดที่โมเดลมาตรฐานได้เปรียบ: การจัดรูปแบบข้อความ

การจัดรูปแบบใหม่ การสรุป การแปล และการแปลงข้อความไม่จำเป็นต้องใช้การให้เหตุผลเชิงลึก แต่ต้องใช้ความคล่องแคล่วทางภาษา โมเดลมาตรฐานทำงานเหล่านี้ได้ดีเยี่ยมโดยมีค่าใช้จ่ายและความหน่วงต่ำกว่ามาก

import anthropic

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

# Text formatting tasks: standard model wins
formatting_tasks = [
    ('Summarize in 2 sentences: The Eiffel Tower was built in 1889...', 100),
    ('Translate to Spanish: Good morning, how are you?', 50),
    ('Convert to bullet points: We need to buy milk, eggs, and bread.', 50),
]

for prompt, max_tok in formatting_tasks:
    r = client.messages.create(
        model='claude-haiku-4-5',  # Fastest, cheapest
        max_tokens=max_tok,
        messages=[{'role': 'user', 'content': prompt}]
    )
    print(r.content[0].text, '\n')

# Reasoning model: same quality, 50-100x more expensive, 10-30x slower

จุดที่โมเดลมาตรฐานได้เปรียบ: แอปพลิเคชันที่มีความหน่วงต่ำ

แอปพลิเคชันแบบตอบสนองทันที เช่น บอตสนทนา การเติมข้อความอัตโนมัติ และความช่วยเหลือแบบสด ไม่สามารถรองรับเวลาตอบสนอง 30–60 วินาทีได้ โมเดลมาตรฐานตอบกลับภายใน 1–5 วินาที จึงควรใช้โมเดลเหล่านี้กับการโต้ตอบแบบทันทีที่ผู้ใช้มองเห็น

import anthropic
import time

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

def latency_comparison(question):
    # Standard model: fast for real-time use
    start = time.time()
    r1 = client.messages.create(
        model='claude-haiku-4-5',
        max_tokens=200,
        messages=[{'role': 'user', 'content': question}]
    )
    t_standard = time.time() - start

    # Reasoning model: accurate but slow
    start = time.time()
    r2 = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=5000,
        thinking={'type': 'enabled', 'budget_tokens': 3000},
        messages=[{'role': 'user', 'content': question}]
    )
    t_reasoning = time.time() - start

    print(f'Standard: {t_standard:.1f}s | Reasoning: {t_reasoning:.1f}s')

latency_comparison('What does API stand for?')

ปัญหาการให้เหตุผลที่กำกวม

ปัญหาบางอย่างมีความกำกวม — คำตอบที่ถูกต้องขึ้นอยู่กับสมมติฐานที่ไม่ได้ระบุไว้ โมเดลให้เหตุผลจัดการปัญหาเหล่านี้ได้ดีกว่าโมเดลมาตรฐาน เพราะสามารถสำรวจการตีความหลายแบบภายใน และเลือกแบบที่มีเหตุผลรองรับมากที่สุด

import anthropic

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

# Ambiguous reasoning: reasoning model handles this much better
ambiguous_prompt = (
    'Alice, Bob, and Carol are in a room. Alice says Bob is lying. '
    'Bob says Carol is lying. Carol says both Alice and Bob are lying. '
    'Who, if anyone, is telling the truth? '
    'Explain all possible consistent interpretations.'
)

# Reasoning model explores the logical space
response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=8000,
    thinking={'type': 'enabled', 'budget_tokens': 6000},
    messages=[{'role': 'user', 'content': ambiguous_prompt}]
)
print(next(b.text for b in response.content if b.type == 'text')[:400])

กรอบการตัดสินใจ: ควรใช้โมเดลใด

แผนผังการตัดสินใจเชิงปฏิบัติสำหรับเลือกระหว่างโมเดลมาตรฐานกับโมเดลให้เหตุผล:

  • ปัญหามีความซับซ้อนทางคณิตศาสตร์หรือต้องใช้ตรรกะหลายขั้นตอนหรือไม่ → โมเดลให้เหตุผล
  • ต้องประเมินข้อแลกเปลี่ยนที่มีตัวแปรจำนวนมากหรือไม่ → โมเดลให้เหตุผล
  • เป็นการดึงข้อมูลข้อเท็จจริง การสรุป หรือการแปลหรือไม่ → โมเดลมาตรฐาน
  • ต้องการเวลาตอบสนองต่ำกว่า 2 วินาทีหรือไม่ → โมเดลมาตรฐาน
  • ค่าใช้จ่ายต่อคำขอมีความสำคัญเมื่อใช้งานในวงกว้างหรือไม่ → โมเดลมาตรฐาน (เว้นแต่ช่องว่างด้านคุณภาพจะมาก)
  • ความถูกต้องในกรณีขอบที่ยากมีความสำคัญอย่างยิ่งหรือไม่ เช่น การแพทย์ กฎหมาย หรือการเงิน → โมเดลให้เหตุผล

การจัดเส้นทางแบบผสมผสาน: ได้ข้อดีจากทั้งสองแบบ

ในการใช้งานจริง ให้ใช้ชั้นจัดเส้นทางที่จำแนกคำขอและส่งคำขอไปยังระดับโมเดลที่เหมาะสม คำของ่าย ๆ ให้ส่งไปยังโมเดลที่เร็วและมีค่าใช้จ่ายต่ำ ส่วนคำขอซับซ้อนให้ส่งต่อไปยังโมเดลให้เหตุผล

import anthropic

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

def classify_complexity(query):
    prompt = (
        f'Classify this query as SIMPLE or COMPLEX:\n'
        f'SIMPLE: factual, formatting, translation, short Q&A\n'
        f'COMPLEX: multi-step reasoning, analysis, code design, math\n\n'
        f'Query: {query}\n\n'
        f'Reply with only SIMPLE or COMPLEX.'
    )
    r = client.messages.create(
        model='claude-haiku-4-5',
        max_tokens=10,
        messages=[{'role': 'user', 'content': prompt}]
    )
    return r.content[0].text.strip()

def smart_query(query):
    complexity = classify_complexity(query)
    if complexity == 'SIMPLE':
        model, thinking = 'claude-haiku-4-5', None
    else:
        model = 'claude-opus-4-5'
        thinking = {'type': 'enabled', 'budget_tokens': 8000}

    kwargs = {'model': model, 'max_tokens': 2048, 'messages': [{'role': 'user', 'content': query}]}
    if thinking:
        kwargs['thinking'] = thinking
        kwargs['max_tokens'] = 10000

    r = client.messages.create(**kwargs)
    print(f'Used: {model} ({complexity})')
    return r.content[-1].text

การประเมินว่าการให้เหตุผลมีประโยชน์เมื่อใด

อย่าทึกทักว่าการให้เหตุผลมีประโยชน์เสมอไป ให้ทำการวัดผล เปรียบเทียบความแม่นยำของโมเดลมาตรฐานกับโมเดลให้เหตุผลในประเภทงานเฉพาะของคุณ โดยใช้ชุดประเมินผลที่มีป้ายกำกับ

import anthropic

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

def compare_models_on_task(task_examples, metric_fn):
    results = {'standard': [], 'reasoning': []}

    for ex in task_examples:
        # Standard model
        r_std = client.messages.create(
            model='claude-haiku-4-5',
            max_tokens=200,
            messages=[{'role': 'user', 'content': ex.question}]
        )
        results['standard'].append(
            metric_fn(ex.answer, r_std.content[0].text)
        )

        # Reasoning model
        r_rsn = client.messages.create(
            model='claude-opus-4-5',
            max_tokens=8000,
            thinking={'type': 'enabled', 'budget_tokens': 5000},
            messages=[{'role': 'user', 'content': ex.question}]
        )
        ans = next(b.text for b in r_rsn.content if b.type == 'text')
        results['reasoning'].append(metric_fn(ex.answer, ans))

    for model, scores in results.items():
        avg = sum(scores) / len(scores)
        print(f'{model}: {avg:.1%}')
    return results

ตรวจสอบความรู้: การจัดเส้นทางงาน

งานประเภทใดมีแนวโน้มที่จะได้รับประโยชน์จากโมเดลให้เหตุผลเหนือโมเดลมาตรฐานน้อยที่สุด (LEAST)

สรุป: เมื่อใดควรใช้โมเดลให้เหตุผลหรือโมเดลมาตรฐาน

ใช้ โมเดลให้เหตุผล สำหรับคณิตศาสตร์หลายขั้นตอน การเขียนโค้ดเชิงอัลกอริทึมที่ซับซ้อน การวางแผนเชิงกลยุทธ์ ปัญหาตรรกะที่กำกวม และการตัดสินใจสำคัญที่ความแม่นยำมีความสำคัญมากกว่าค่าใช้จ่าย ใช้ โมเดลมาตรฐาน สำหรับคำถาม-คำตอบง่าย ๆ การจัดรูปแบบข้อความ การแปล การสรุป และแอปพลิเคชันแบบโต้ตอบทันทีทั้งหมดที่ไวต่อความหน่วง ในการใช้งานจริง ให้สร้างชั้นจัดเส้นทางที่จำแนกความซับซ้อนของคำขอและส่งคำขอแต่ละรายการไปยังระดับโมเดลที่เหมาะสม ควรวัดผลเสมอว่าการให้เหตุผลช่วยเพิ่มความแม่นยำในงานเฉพาะของคุณจริงหรือไม่ ก่อนยอมจ่ายค่าใช้จ่ายส่วนเพิ่ม 20–100 เท่า

เริ่มต้นได้ฟรี

เรียนรู้ AI Prompt Engineering ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
53
บทเรียน
199

คำถามที่พบบ่อย

บทเรียน “ควรใช้โมเดลการให้เหตุผลหรือโมเดลมาตรฐานเมื่อใด” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ควรใช้โมเดลการให้เหตุผลหรือโมเดลมาตรฐานเมื่อใด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ 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 ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “ควรใช้โมเดลการให้เหตุผลหรือโมเดลมาตรฐานเมื่อใด” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน AI Prompt Engineering นี้ได้ไหม

ได้ บทเรียน AI Prompt Engineering ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ความแตกต่างของโมเดลการให้เหตุผล
  2. พรอมต์ที่มีประสิทธิภาพสำหรับการคิดต่อเนื่อง
  3. ควรใช้โมเดลการให้เหตุผลหรือโมเดลมาตรฐานเมื่อใด
  4. ข้อแลกเปลี่ยนระหว่างต้นทุนกับเวลาแฝง
← กลับไปที่ AI Prompt Engineering