0Pricing
AI Prompt Engineering · Aula

Fornecendo informações de base

Quando e como incluir conhecimento do domínio, restrições e detalhes do projeto.

Fornecendo informações de base é 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.

Por que as informações de base são importantes

As informações de base fornecem ao modelo os fatos que ele não pode conhecer por conta própria: os detalhes específicos do seu projeto, as restrições da sua equipe, o trabalho que você já realizou e as expectativas das partes interessadas.

Sem informações de base, o modelo gera conteúdo para uma situação genérica imaginária. Com elas, gera conteúdo para a sua situação.

Quando incluir conhecimento do domínio

Inclua conhecimento do domínio na sua instrução quando:

  • O tema tiver várias interpretações entre setores
  • Você estiver trabalhando com terminologia especializada
  • A resposta correta depender de normas ou regulamentações específicas do domínio
  • O modelo puder fornecer uma resposta geral quando você precisar de uma resposta específica da área

Não cole livros didáticos inteiros — resuma os 2 ou 3 fatos do domínio mais relevantes para a sua pergunta específica.

import anthropic

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

domain_knowledge = (
    'Domain: algorithmic trading at a regulated broker-dealer in the US. '
    'Relevant rules: SEC Rule 15c3-5 (Market Access Rule) requires pre-trade risk checks. '
    'Latency budget: all risk checks must complete in under 100 microseconds. '
    'Stack: C++ for the matching engine, Python for strategy logic.'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    messages=[{
        'role': 'user',
        'content': (
            f'{domain_knowledge}\n\n'
            f'Question: How should we implement position limit checks for our order router?'
        )
    }]
)
print(response.content[0].text)

Incluindo detalhes do projeto

Os detalhes do projeto informam ao modelo o contexto específico do seu trabalho. Os detalhes essenciais do projeto incluem:

  • O que é o projeto e em que estágio atual se encontra (MVP / expansão / maduro)
  • A pilha tecnológica e a arquitetura
  • O tamanho da equipe e os níveis de habilidade
  • O cronograma e as pressões relacionadas aos prazos
  • Mudanças ou acontecimentos recentes que afetam a pergunta
import openai

client = openai.OpenAI(api_key='sk-your-key-here')

project_context = (
    'Project: a mobile recipe app (React Native, Node.js backend, MongoDB). '
    'Stage: pre-launch, 2 weeks to go live. '
    'Team: 2 frontend devs, 1 backend dev, no dedicated QA. '
    'Current issue: app search is slow (3-5 seconds) with 50,000 recipes in the DB. '
    'Constraint: no time for a full re-architecture before launch.'
)

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            f'{project_context}\n\n'
            f'Suggest 3 quick wins to improve search speed before launch. '
            f'Each suggestion: what to do (1 sentence), estimated effort (hours), '
            f'expected improvement.'
        )
    }]
)
print(response.choices[0].message.content)

Compartilhando o trabalho existente

Compartilhar o trabalho existente permite que o modelo aproveite o que você já fez, em vez de começar do zero. Inclua o trabalho existente quando quiser:

  • Continuar ou ampliar um documento ou código
  • Receber críticas e sugestões de melhoria
  • Correspondência de estilo (corresponder ao tom e ao formato do que já existe)
  • Verificação de consistência (esta nova parte se encaixa na estrutura existente?)
import anthropic

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

existing_intro = (
    'At Northlight Labs, we build AI tools that work the way humans think — '
    'not the other way around. Founded in 2022 by two ex-Google researchers, '
    'we have helped 500 companies ship smarter products without hiring ML teams.'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=200,
    messages=[{
        'role': 'user',
        'content': (
            'Here is our existing company intro paragraph:\n\n'
            f'{existing_intro}\n\n'
            'Write a second paragraph (matching this exact tone and style) '
            'that describes our flagship product: an API that lets developers '
            'add natural language search to any database with 3 lines of code. '
            'Keep it under 60 words.'
        )
    }]
)
print(response.content[0].text)

Descrevendo as restrições de antemão

Restrições são as regras dentro das quais o modelo deve trabalhar. Informá-las de antemão impede o modelo de sugerir ideias perfeitamente válidas que, por acaso, são impossíveis na sua situação.

Tipos de restrições a incluir:

  • Técnicas: 'Python 3.11, sem bibliotecas de terceiros'
  • Orçamentárias: '$0 — somente código aberto'
  • De tempo: 'Deve ser concluído em um ciclo de 2 horas'
  • Regulatórias: 'Nenhuma informação de identificação pessoal nos registros'
  • Organizacionais: 'Não é possível alterar o esquema do banco de dados'
import openai

client = openai.OpenAI(api_key='sk-your-key-here')

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'We need to add rate limiting to our REST API.\n\n'
            'Constraints:\n'
            '- Python 3.11 FastAPI application\n'
            '- No external dependencies beyond what is already installed (requests, pydantic, uvicorn)\n'
            '- Must work as a single process (no Redis, no shared state between workers)\n'
            '- Rate limit: 100 requests per minute per IP address\n'
            '- If limit exceeded, return HTTP 429 with Retry-After header\n\n'
            'Show me a complete implementation.'
        )
    }]
)
print(response.choices[0].message.content)

Informações sobre as partes interessadas

As informações sobre as partes interessadas informam ao modelo quem mais importa na sua situação. As partes interessadas influenciam quais riscos destacar, quais objeções abordar e como é o sucesso.

  • 'Meu público inclui o CFO, que é cético em relação a investimentos em IA'
  • 'Isso será analisado pela nossa equipe jurídica antes da publicação'
  • 'O usuário final tem necessidades de acessibilidade — compatível com leitores de tela'
  • 'Nosso CTO prefere soluções simples a soluções engenhosas'
import anthropic

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

stakeholder_context = (
    'This proposal will be reviewed by:\n'
    '1. CTO: cares about technical risk and maintainability, skeptical of microservices\n'
    '2. CFO: cares about cost, wants to see clear ROI numbers\n'
    '3. VP Engineering: cares about developer experience and team morale\n'
    'The CTO has veto power.'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=400,
    messages=[{
        'role': 'user',
        'content': (
            f'{stakeholder_context}\n\n'
            f'Write a 3-paragraph executive summary for a proposal to migrate '
            f'our monolith to a modular monolith (not microservices). '
            f'Address each stakeholder\'s top concern in a separate paragraph.'
        )
    }]
)
print(response.content[0].text)

O método cronológico

Para situações complexas, o método cronológico organiza as informações de base como uma linha do tempo de acontecimentos. Isso ajuda o modelo a entender a causalidade e o estado atual.

Formato:

  • Como era a situação antes
  • O que mudou ou aconteceu
  • Qual é o estado atual
  • Do que você precisa de ajuda, considerando essa sequência
import openai

client = openai.OpenAI(api_key='sk-your-key-here')

chronological_background = (
    'Timeline:\n'
    '- 6 months ago: We launched v1 of our API with a flat pricing model ($99/month).\n'
    '- 3 months ago: Power users (top 10%) started consuming 80% of compute.\n'
    '- 1 month ago: We introduced usage-based pricing — power users complained loudly.\n'
    '- Current: 12% of power users have churned; new signups are up 15%.\n'
    '- Goal: Keep power users without losing the new-signup growth.\n'
)

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            f'{chronological_background}\n\n'
            f'Suggest 3 pricing model adjustments that could address both groups. '
            f'For each: describe the change, who it benefits, and the revenue risk.'
        )
    }]
)
print(response.choices[0].message.content)

Usando seus próprios dados como informações de base

Uma das utilizações mais poderosas das informações de base é inserir seus próprios dados — métricas, registros, saídas ou pesquisas — diretamente na instrução, para que o modelo possa raciocinar sobre seus números específicos.

Sempre cole os dados em um formato limpo e legível. Tabelas e listas estruturadas funcionam melhor. Blocos de texto bruto são mais difíceis de interpretar pelo modelo.

import anthropic

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

metrics_data = (
    'Weekly active users (WAU) last 8 weeks:\n'
    'Week 1: 1,200  |  Week 2: 1,350  |  Week 3: 1,290  |  Week 4: 1,400\n'
    'Week 5: 1,380  |  Week 6: 1,220  |  Week 7: 1,100  |  Week 8: 980\n'
    'Note: We launched a pricing change in Week 5.'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    messages=[{
        'role': 'user',
        'content': (
            f'{metrics_data}\n\n'
            f'Analyze the trend, identify where decline began, '
            f'and suggest 2 hypotheses for the cause. '
            f'Be specific — reference the exact weeks in your analysis.'
        )
    }]
)
print(response.content[0].text)

O que NÃO incluir como informações de base

As informações de base têm um custo: uso de tokens. Inclua somente o que afeta diretamente a resposta.

Informações de base normalmente desnecessárias:

  • História da fundação da empresa (a menos que a voz da marca seja importante)
  • Organograma da equipe (a menos que a autoridade para tomar decisões seja relevante)
  • Contexto histórico anterior ao período da decisão
  • Tecnologia que você NÃO usa
  • Problemas já resolvidos que não têm relação com a pergunta atual

Em caso de dúvida: inclua uma vez, verifique se a saída melhora e depois reduza nas execuções seguintes.

# Contrast: bloated vs lean background
bloated_background = (
    'Our company was founded in 2018 by Alice and Bob. '
    'We have 45 employees across 3 offices. We use Jira for project management. '
    'We had a product refresh in 2020. Our CTO came from Amazon. '
    'We use Slack, Notion, and Linear. '
    'We once tried Kubernetes but moved back to Docker Compose. '
    'Question: How should we handle database connection pooling in FastAPI?'
)

lean_background = (
    'Stack: FastAPI, PostgreSQL, deployed on a single 8-core server. '
    'Load: ~200 concurrent users peak. '
    'Current issue: seeing "too many connections" errors under load. '
    'Question: How should we handle database connection pooling?'
)

print('Bloated background:', len(bloated_background.split()), 'words')
print('Lean background:', len(lean_background.split()), 'words')
print('Reduction:', round((1 - len(lean_background.split())/len(bloated_background.split()))*100), '%')

Formatando informações de base para facilitar a leitura

A forma como você formata as informações de base afeta o grau de eficiência com que o modelo as processa. Práticas recomendadas:

  • Use seções identificadas: Stack:, Constraints:, Goal:
  • Use listas com marcadores para itens do mesmo nível
  • Coloque as informações mais importantes primeiro
  • Separe as informações de base da tarefa com uma linha em branco ou um marcador claro
  • Use terminologia consistente — não dê dois nomes à mesma coisa
import openai

client = openai.OpenAI(api_key='sk-your-key-here')

# Well-formatted background
formatted_background = (
    '=== BACKGROUND ===\n'
    'Project: real-time chat API\n'
    'Stack: Python FastAPI, WebSockets, Redis pub/sub, PostgreSQL\n'
    'Scale: 10,000 concurrent connections target\n'
    'Constraints: single server for now, no Kubernetes\n'
    'Current problem: messages are occasionally delivered out of order\n'
    '=== TASK ===\n'
    'Explain the root cause of out-of-order message delivery in WebSocket pub/sub '
    'and suggest the simplest fix for our stack.'
)

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{'role': 'user', 'content': formatted_background}]
)
print(response.choices[0].message.content)

Informações de base reutilizáveis na mensagem do sistema

Se você estiver desenvolvendo um aplicativo com IA e as mesmas informações de base se aplicarem a todas as conversas, coloque-as na mensagem do sistema, em vez de repeti-las em cada mensagem do usuário.

Isso é mais eficiente e garante um contexto consistente em todas as interações, sem que o usuário precise reafirmá-lo.

import anthropic

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

# System message carries reusable background for every user turn
system_background = (
    'You are an AI assistant embedded in Northlight Labs\' internal developer portal. '
    'Background: our stack is Python 3.11, FastAPI, PostgreSQL 15, Redis 7, Docker. '
    'We follow Google Python style guide. All code examples must include type hints. '
    'We do not use ORM — raw SQL with psycopg3. '
    'Our API follows REST conventions with snake_case JSON fields.'
)

# Now every user turn gets this background automatically
response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    system=system_background,
    messages=[
        {'role': 'user', 'content': 'Show me how to insert a row into the users table.'}
    ]
)
print(response.content[0].text)

Verificação de conhecimentos

Um gerente de produto quer ajuda da IA para escrever um e-mail de anúncio de funcionalidade. Ele inclui: ano de fundação da empresa, número de funcionários, locais dos escritórios e, em seguida, sua tarefa. Que tipo de informação de base está faltando e melhoraria mais a saída?

Fornecendo informações de base — Recapitulação

Boas informações de base são a diferença entre conselhos genéricos e conselhos que realmente se adaptam à sua situação. Princípios fundamentais:

  • Inclua conhecimento do domínio que afete a resposta correta para a sua área
  • Compartilhe detalhes do projeto: pilha tecnológica, estágio, tamanho da equipe, mudanças recentes
  • Inclua trabalho existente quando precisar de continuidade ou correspondência de estilo
  • Declare as restrições de antemão para evitar sugestões inúteis
  • Inclua informações sobre as partes interessadas para que o modelo aborde as preocupações certas
  • Use o método cronológico para contextos situacionais complexos
  • Mantenha as informações de base enxutas — inclua somente o que afeta a resposta

Perguntas Frequentes

A aula “Fornecendo informações de base” é grátis?

Sim — o texto completo de “Fornecendo informações de base” é 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 “Fornecendo informações de base”?

Quando e como incluir conhecimento do domínio, restrições e detalhes do projeto. 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 “Fornecendo informações de base”?

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. O que significa contexto ao criar prompts para IA
  2. Fornecendo informações de base
  3. Definindo o cenário com eficácia
  4. Extensão e relevância do contexto
← Voltar para AI Prompt Engineering