0Pricing
AI Prompt Engineering · Aula

Prompts eficazes para raciocínio prolongado

Mantenha os prompts simples, evite instruções passo a passo e confie no raciocínio do modelo.

Prompts eficazes para raciocínio prolongado é uma aula grátis de AI Prompt Engineering no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Prompt Engineering, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Prompt Engineering inclui 4 aulas no total.

Criar instruções para modelos de raciocínio é diferente

As intuições sobre instruções que foram desenvolvidas para modelos padrão — cadeia de raciocínio, instruções passo a passo e exemplos de referência — muitas vezes acabam atrapalhando quando se trata de modelos de raciocínio.

Os modelos de raciocínio já realizam um raciocínio interno sofisticado. Dizer-lhes exatamente como pensar pode interferir nesse processo. As melhores instruções para modelos de raciocínio são mais simples e diretas que as instruções para modelos padrão.

Não dê instruções passo a passo

Com modelos padrão, pode-se escrever: "Pense passo a passo. Primeiro, considere X; depois, considere Y; por fim, conclua Z." Essa estrutura de apoio ajuda porque os modelos padrão não fazem isso automaticamente.

Com modelos de raciocínio, essa estrutura pode restringir o raciocínio interno do modelo a um caminho abaixo do ideal. Em vez disso, apresente o problema com clareza e deixe que o modelo determine como raciocinar sobre ele.

# Standard model: needs scaffolding
STANDARD_PROMPT = (
    'Let us think step by step.\n'
    'First, identify the variables.\n'
    'Then, set up the equation.\n'
    'Then, solve for x.\n'
    'Finally, verify your answer.\n\n'
    'Problem: If 3x + 7 = 22, what is x?'
)

# Reasoning model: just state the problem clearly
REASONING_PROMPT = (
    'Solve: If 3x + 7 = 22, what is x?'
    # The model handles the step-by-step internally
)

# Both produce correct answers; the reasoning model prompt is simpler
print('Reasoning model prefers the cleaner prompt')

Apresente o problema de forma clara e completa

Embora seja importante simplificar como instruir o modelo de raciocínio, deve-se ser minucioso sobre o que está sendo solicitado. Forneça todo o contexto, as restrições e os requisitos desde o início — o modelo os utilizará durante o raciocínio interno.

import anthropic

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

# Poor: vague problem statement
BAD_PROMPT = 'Write me a good sorting algorithm.'

# Good: clear, complete problem specification
GOOD_PROMPT = (
    'Write a Python sorting algorithm with these requirements:\n'
    '- Must sort a list of integers in ascending order\n'
    '- Must work correctly on empty lists, single-element lists, and lists with duplicates\n'
    '- Target time complexity: O(n log n) average case\n'
    '- Must not use Python built-in sort() or sorted()\n'
    '- Include a brief docstring and 3 test cases\n\n'
    'Return only the code, no explanation.'
)

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

Configurando budget_tokens de forma adequada

budget_tokens controla o número máximo de tokens de raciocínio. Defini-lo corretamente é o principal parâmetro de ajuste dos modelos de raciocínio:

  • 1.000 a 2.000: problemas simples, cálculos rápidos
  • 5.000 a 10.000: programação e análise de complexidade média
  • 16.000+: matemática mais difícil, projeto de sistemas complexos, problemas de nível de pesquisa
import anthropic

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

def reasoning_call(prompt, budget_tokens=5000):
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=budget_tokens + 2048,  # max_tokens must exceed budget_tokens
        thinking={
            'type': 'enabled',
            'budget_tokens': budget_tokens
        },
        messages=[{'role': 'user', 'content': prompt}]
    )
    answer = next((b.text for b in response.content if b.type == 'text'), '')
    thinking_blocks = [b for b in response.content if b.type == 'thinking']
    print(f'Thinking blocks: {len(thinking_blocks)}')
    return answer

# Simple problem: small budget
reasoning_call('What is 17 * 23?', budget_tokens=1000)

# Complex problem: larger budget
reasoning_call(
    'Design a distributed rate limiter that handles 100k requests/second.',
    budget_tokens=10000
)

Instruções de sistema mínimas

Para modelos de raciocínio, mantenha as instruções de sistema mínimas. O raciocínio interno do modelo é sua principal capacidade — não o restrinja excessivamente com instruções comportamentais longas.

Boas instruções de sistema para modelos de raciocínio: defina a função, o formato da saída e as restrições. Só isso.

# Over-engineered system prompt (hurts reasoning models)
BAD_SYSTEM = (
    'You are an expert Python developer. '
    'Always think step by step. '
    'First understand the problem. '
    'Then plan your approach. '
    'Then implement step by step. '
    'Check each step before proceeding. '
    'Finally review your solution. '
    'Format all code with comments. '
    'Add error handling to every function. '
    '...'
)

# Minimal system prompt (helps reasoning models)
GOOD_SYSTEM = (
    'You are an expert Python developer. '
    'Return only code unless explanation is explicitly requested. '
    'Use type hints and docstrings.'
)
# The model's internal reasoning handles the rest

As instruções sobre o formato da saída continuam importantes

Embora não se deva instruir como raciocinar, é importante especificar claramente o formato de saída desejado. Isso é diferente das instruções de raciocínio — informa ao modelo o que retornar, não como pensar.

import anthropic

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

# Clear output format instructions are still important
prompt = (
    'Analyze the time and space complexity of this Python function:\n\n'
    'def bubble_sort(arr):\n'
    '    n = len(arr)\n'
    '    for i in range(n):\n'
    '        for j in range(0, n-i-1):\n'
    '            if arr[j] > arr[j+1]:\n'
    '                arr[j], arr[j+1] = arr[j+1], arr[j]\n\n'
    'Return your answer as JSON with keys: '
    'time_complexity, space_complexity, explanation (2 sentences max).'
)

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

Menos exemplos de referência

Os modelos padrão se beneficiam muito de 3 a 5 exemplos de referência. Os modelos de raciocínio se beneficiam menos, e exemplos demais podem até prejudicar o resultado ao preencher a janela de contexto com conteúdo que interfere no raciocínio interno.

Para modelos de raciocínio, geralmente o ideal é usar 0 ou 1 exemplo. Use exemplos somente quando o formato da saída for incomum ou ambíguo.

# Standard model: 3 few-shot examples improve performance significantly
STANDARD_FEW_SHOT = (
    'Q: 2 + 2 = ?\nA: 4\n\n'
    'Q: 5 * 6 = ?\nA: 30\n\n'
    'Q: 100 / 4 = ?\nA: 25\n\n'
    'Q: 17 + 38 = ?\nA:'
)

# Reasoning model: 0 examples is fine; 1 is enough if format is unclear
REASONING_DIRECT = 'What is 17 + 38?'

# The reasoning model already knows math — examples are overhead, not signal
# Only use 1 example when the output format needs clarification:
REASONING_FORMAT_EXAMPLE = (
    'Answer math questions returning only the number.\n'
    'Example: Q: 2 + 2  A: 4\n\n'
    'Q: 17 + 38'
)

Lidando com a incerteza nas saídas dos modelos de raciocínio

Os modelos de raciocínio têm mais probabilidade de expressar incerteza genuína do que os modelos padrão (porque realmente refletiram sobre o problema). Desenvolva suas aplicações para lidar adequadamente com respostas cautelosas.

import anthropic
import re

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

def reasoning_with_confidence(question):
    prompt = (
        f'{question}\n\n'
        f'At the end of your answer, include a confidence statement: '
        f'Confidence: [HIGH/MEDIUM/LOW] — [one sentence why]'
    )
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=8000,
        thinking={'type': 'enabled', 'budget_tokens': 5000},
        messages=[{'role': 'user', 'content': prompt}]
    )
    text = next(b.text for b in response.content if b.type == 'text')

    # Parse confidence
    match = re.search(r'Confidence: (HIGH|MEDIUM|LOW)', text)
    confidence = match.group(1) if match else 'UNKNOWN'
    print(f'Confidence: {confidence}')
    return text, confidence

answer, conf = reasoning_with_confidence(
    'What will AI capabilities look like in 2030?'
)

Armazenando em cache as saídas dos modelos de raciocínio

As chamadas a modelos de raciocínio são caras e lentas. Armazene em cache os resultados de consultas repetidas ou previsíveis. Como os tokens de raciocínio podem ser muito numerosos, o armazenamento em cache evita incorrer novamente na latência e no custo em chamadas repetidas.

import hashlib
import json
import os

cache_dir = '/tmp/reasoning_cache'
os.makedirs(cache_dir, exist_ok=True)

def cached_reasoning_call(prompt, budget_tokens=5000):
    # Create cache key from prompt
    key = hashlib.sha256(f'{prompt}:{budget_tokens}'.encode()).hexdigest()
    cache_file = os.path.join(cache_dir, f'{key}.json')

    if os.path.exists(cache_file):
        with open(cache_file) as f:
            cached = json.load(f)
        print('Cache hit!')
        return cached['answer']

    # Cache miss: call the model
    answer = reasoning_call(prompt, budget_tokens)

    with open(cache_file, 'w') as f:
        json.dump({'prompt': prompt, 'answer': answer}, f)

    return answer

Verificando as saídas dos modelos de raciocínio

Os modelos de raciocínio cometem menos erros, mas não são infalíveis — especialmente em fatos específicos de um domínio ou em temas de ponta. Sempre verifique as saídas que serão utilizadas em ações em contextos de alto risco.

import anthropic

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

def reasoning_with_verification(question):
    # Step 1: Get reasoning model answer
    r1 = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=10000,
        thinking={'type': 'enabled', 'budget_tokens': 8000},
        messages=[{'role': 'user', 'content': question}]
    )
    answer = next(b.text for b in r1.content if b.type == 'text')

    # Step 2: Independent verification call
    verify_prompt = (
        f'Question: {question}\n\n'
        f'Proposed answer: {answer}\n\n'
        f'Is this answer correct? Respond with CORRECT, INCORRECT, or UNCERTAIN, '
        f'followed by a brief explanation.'
    )
    r2 = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=256,
        messages=[{'role': 'user', 'content': verify_prompt}]
    )
    verification = r2.content[0].text
    print(f'Verification: {verification[:100]}')
    return answer, verification

Lista de verificação prática para instruções de modelos de raciocínio

Ao escrever instruções para modelos de raciocínio, siga esta lista de verificação:

  • Apresente o problema de forma clara e completa
  • Não inclua instruções de raciocínio passo a passo (NOT)
  • Mantenha a instrução de sistema curta (somente função, formato e restrições)
  • Use no máximo 0 ou 1 exemplo de referência
  • Especifique o formato da saída explicitamente
  • Defina budget_tokens de forma proporcional à complexidade do problema
  • Planeje uma latência de resposta de 10 a 60 segundos

Verificação de conhecimento: instruções para modelos de raciocínio

Por que se recomenda usar instruções mais simples com modelos de raciocínio em comparação com modelos padrão?

Recapitulação: instruções eficazes para raciocínio estendido

Os modelos de raciocínio precisam de instruções mais simples e diretas que os modelos padrão. Não instrua como raciocinar — apresente o problema de forma clara e completa e deixe que a deliberação interna do modelo cuide da estratégia. Mantenha as instruções de sistema mínimas: somente função, formato da saída e restrições. Use 0 ou 1 exemplo de referência. Defina budget_tokens de acordo com a complexidade do problema (1 mil para tarefas simples, 10 mil ou mais para tarefas difíceis). Planeje uma latência significativa e armazene os resultados em cache quando possível. Especifique o formato da saída explicitamente — essa é a área em que instruções detalhadas ainda ajudam.

Perguntas Frequentes

A aula “Prompts eficazes para raciocínio prolongado” é grátis?

Sim — o texto completo de “Prompts eficazes para raciocínio prolongado” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Prompt Engineering, atualize para CoddyKit PRO. O curso de AI Prompt Engineering inclui 4 aulas no total.

O que vou aprender em “Prompts eficazes para raciocínio prolongado”?

Mantenha os prompts simples, evite instruções passo a passo e confie no raciocínio do modelo. Você pratica AI Prompt Engineering com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar AI Prompt Engineering?

Nenhuma experiência prévia é necessária. AI Prompt Engineering no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Prompts eficazes para raciocínio prolongado”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de AI Prompt Engineering?

Sim. Cada aula de AI Prompt Engineering inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Como os modelos de raciocínio são diferentes
  2. Prompts eficazes para raciocínio prolongado
  3. Quando usar modelos de raciocínio ou modelos padrão
  4. Relações de compromisso entre custo e latência
← Voltar para AI Prompt Engineering