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