0Pricing
AI Prompt Engineering · 课时

何时使用推理模型与标准模型

适合扩展思考的问题类型:数学、代码和多步骤逻辑。

何时使用推理模型与标准模型 是 CoddyKit 上的免费 AI Prompt Engineering 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 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 导师)并解锁 AI Prompt Engineering 课程的其余内容,请升级到 CoddyKit PRO。 AI Prompt Engineering 课程共包含 4 节课。

「何时使用推理模型与标准模型」这节课中我会学到什么?

适合扩展思考的问题类型:数学、代码和多步骤逻辑。 你通过在浏览器中直接运行的动手代码来练习 AI Prompt Engineering,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 AI Prompt Engineering 需要有经验吗?

无需任何先前经验。CoddyKit 上的 AI Prompt Engineering 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「何时使用推理模型与标准模型」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 AI Prompt Engineering 课中编写并运行代码吗?

能。每节 AI Prompt Engineering 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 推理模型有何不同
  2. 适用于扩展思考的有效提示词
  3. 何时使用推理模型与标准模型
  4. 成本与延迟之间的权衡
← 返回 AI Prompt Engineering