Lucas S. Vieira


Prompting Básico


Como falar com IA


Guilda de IA

Fofoca da Semana 🗞️

  • Kimi K2.6 (20/04) — 1T, 32B ativos, 256K ctx, open weights
  • DeepSeek V4 Pro (24/04) — 1.6T, 49B ativos, 1M ctx, MIT
  • Claude Code (21/04) — removido e reposto no Pro em 12h 👀

Claude Code — O Episódio

21/04: plano Pro ($20/mês) perdeu o Claude Code. 12h depois, voltou.

"Usage has changed a lot and our current plans weren't built for this." — Anthropic

O Problema

A mesma pergunta pode gerar respostas completamente diferentes, dependendo de como você formula.

Vago: Me fale sobre gatos → resposta genérica

Específico: Quais as 3 raças de gatos mais populares no Brasil e por quê? → resposta específica

🔴 Demo ao vivo (2 min)

Abram um chat:

  • Gemini / Le Chat / ollama run qwen3.5:4b / ollama run deepseek-v4-flash:cloud

Testem os dois prompts do slide anterior. Notem a diferença.

O que é prompt?

  • Prompt = instrução que você dá para o modelo
  • A pergunta, o comando, o contexto — tudo junto

O prompt é como uma receita. Ingredientes claros = prato previsível.

Zero-shot

Você pede algo sem dar exemplos.

Traduza para inglês: "Bom dia"

O modelo nunca viu você traduzir antes, mas tenta.

💡 Ambíguo: "Banco"bank ou bench? Sem contexto, o modelo chuta.

Few-shot

Você dá exemplos antes de pedir.

Traduza para inglês:
"Gato" → "Cat"
"Cachorro" → "Dog"
"Pássaro" → ?

O modelo aprende o padrão pelos exemplos.

Exemplos são como mostrar em vez de explicar.

🔴 Demo: Zero-shot vs Few-shot (3 min)

# Zero-shot:
Classifique: "Esse filme é incrível!"

# Few-shot:
Classifique o sentimento:
"Odiei o filme" → Negativo
"Adorei, recomendo" → Positivo
"Esse filme é incrível!" → ?

💡 Testem com "Mais ou menos" — vejam a diferença.

Role Prompting

Atribuir um papel ao modelo muda a qualidade da resposta.

Você é uma professora de matemática do ensino
médio, paciente e didática.

Role + contexto = o modelo opera dentro de um escopo.

💡 Vai ser essencial pra agentes: o system prompt de um agente é role prompting.

🔴 Demo: Role Prompting (3 min)

# Sem role:
"Explique derivadas"

# Com role:
"Você é uma professora de matemática do ensino
médio, paciente e didática. Explique derivadas."

💡 Troque o role pra "professor universitário" — a resposta muda completamente.

Chain-of-Thought (CoT)

Pedir ao modelo para pensar passo a passo.

Pergunta: Roger tem 5 bolas. Ele compra 2 latas
de 3 bolas cada. Quantas bolas ele tem?

Pense passo a passo.

Sem CoT: pode errar. Com CoT: mostra o raciocínio.

💡 Ferramentas exigem raciocínio sobre qual usar e quando.

🔴 Demo: CoT (3 min)

# Sem CoT:
"Na livraria, um livro custa R$ 25.
Comprei 3 livros e paguei com R$ 100.
Quanto troco recebo?"

# Com CoT: (mesma pergunta +)
"Pense passo a passo."

💡 Em modelos menores (local), a diferença é dramática.

Framework RCEF

Os 4 elementos de um prompt eficaz:

Letra Significado Exemplo
R Role "Você é um tutor de matemática"
C Context "O aluno está no ensino médio"
E Examples "2x + 3 = 7 → x = 2"
F Format "Responda em bullets"

RCEF + Task & Constraints

Pra prompts completos, adicione:

Letra Significado Exemplo
T Task "Resolva esta equação"
C Constraints "Máximo 3 passos"

T = o que fazer. C = o que não fazer. 💡 Zero-shot = sem E. Few-shot = com E. Role = R. RCEF-TC vai virar a linguagem pra descrever ferramentas.

RCEF-TC na prática

R: Você é um desenvolvedor Python sênior.
C: A função processa dados de uma API externa.
E: Input: [1,2,3] → Output: {"dados": [...]}
T: Sugira melhorias de legibilidade e erros.
F: Uma melhoria por tópico, com código antes/depois.
C: Python 3.9+, soluções simples primeiro.

Prompting para código

"Escreve uma função pra mim"

✅ Com RCEF-TC:

R: Você é um dev Python especialista em API design.
T: Crie uma função que valida CPF brasileiro.
C: A função será usada num form de cadastro.
F: Retorne bool + mensagem de erro se inválido.
C: Sem bibliotecas externas, máximo 20 linhas.

🔴 Demo: RCEF-TC (5 min)

Exercício: Refatore Me ajuda com meu TCC com RCEF-TC

  • R — Quem é o modelo? (tutor, revisor, orientador?)
  • C — Qual área? Qual semestre?
  • T — Revisão? Escrita? Ideias?
  • F — Como quer a resposta?
  • C — Quantas páginas? Qual prazo?

Prompting para ferramentas (preview)

Quando construímos agentes, precisamos descrever ferramentas para o modelo.

Uma ferramenta é, essencialmente, um prompt estruturado: description segue RCEF-TC.

Tool calling — exemplo

{
  "name": "buscar_cpf",
  "description": "Busca dados de uma pessoa
     pelo CPF. Use para validar cadastros.",
  "parameters": {
    "cpf": "string — CPF com 11 dígitos"
  }
}

Alucinações vs Prompt ruim

Às vezes o modelo erra. Por quê?

  1. Alucinação → modelo inventa (limitação dele)
  2. Prompt ruim → você não deixou claro (limitação sua)

Como distinguir: refaça o prompt com mais contexto. Se ainda errar → alucinação. Se melhorar → prompt ruim.

🔴 Demo: Alucinação vs Prompt ruim (3 min)

# Prompt vago:
"Quem ganhou a copa de 2042?"

Se responder como se soubesse → alucinação.

# Prompt com constraint:
"Quem ganhou a copa de 2042?
Responda apenas se tiver certeza.
Se não souber, diga que não sabe."

Dicas práticas

Bom:

"Liste as 5 capitais mais populosas do Brasil
 em ordem decrescente"
"Explique recursão como se eu tivesse 12 anos"
"Corrija o texto abaixo mantendo o estilo do autor"

Ruim:

"Me fale algo" (vago demais)
"O que você acha?" (subjetivo)
"Responda sim ou não: o número 7 é legal?" (não factual)

Para lembrar

"O prompt é como uma receita. Ingredientes claros = prato previsível."

Quanto mais específico você for, mais próxima a resposta do que você espera.

Na próxima aula: vamos programar isso tudo em Python!

Próxima semana

  • Python mínimo para LLMs
  • Google Colab
  • Chamando API com código
  • System prompt via código = Role Prompting aplicado

Perguntas?