Carregando
0x40Lição 5 de 16

Crie prompts e gerencie o contexto

Escreva prompts claros com funções, exemplos e formatos de saída e mantenha o que importa dentro da janela de contexto.

22 min Questionário com 6 perguntas 2 exercícios de código
Ao final desta lição, você saberá
  • Estruture um prompt com papel, tarefa, contexto e formato
  • Use exemplos rápidos e valide resultados estruturados
  • Gerenciar uma janela de contexto limitada

Os modelos de bate-papo recebem uma lista de mensagens: uma mensagem do sistema (instruções permanentes do aplicativo) e, em seguida, turnos alternados de usuário e assistente. Nos bastidores, eles se tornam uma longa sequência de tokens. Bons prompts geralmente incluem:

  • a tarefa, declarada claramente - e por que, se isso ajuda o modelo a fazer julgamentos;
  • o contexto necessário, claramente separado das instruções (por exemplo, em tags de estilo XML);
  • exemplos de bons resultados (few-shot prompting) quando o formato ou estilo é importante;
  • o formato de saída, idealmente um esquema que seu código valida.

Pedir a um modelo que pense passo a passo antes de responder geralmente melhora a precisão nas tarefas de raciocínio; muitos modelos atuais fazem isso automaticamente como “pensamento estendido” integrado.

Experimente

Até 15 XP

Coloque uma conversa na janela

Um bate-papo de suporte cresceu muito. Alterne entre tamanhos de janela e veja o que é descartado para manter o prompt do sistema, o documento de referência, a pergunta e espaço para a resposta. Em seguida, pergunte: o modelo ainda poderia responder se perdesse a curva 1, onde o cliente informou o número do pedido?

Janela de contexto:
Alerta do sistema
Turno 3
Turno 4
Última pergunta
resposta

Usando 3.750 de 4.000 tokens (1.000 reservados para a resposta) · a conversa completa tem 8.550 tokens.

  • Alerta do sistema600
  • Turno 1 (número do pedido fornecido)900
  • Turno 21.400
  • Turno 31.200
  • Documento de política de devolução3.500
  • Turno 4800
  • Última pergunta150
Removidos para caber: Turno 1 (número do pedido fornecido), Turno 2, Documento de política de devolução. O modelo nunca os verá e não pode responder com base no que foi cortado.

As janelas de contexto são grandes agora - centenas de milhares de tokens - mas não são gratuitas: cada token custa dinheiro e tempo, e os modelos usam informações no meio de contextos muito longos de forma menos confiável. Quando a história crescer, resuma os turnos antigos, mantenha os fatos importantes (como o número do pedido) fixados no prompt do sistema ou em um bloco de notas e recupere documentos em vez de colar tudo.

messages.py
1messages = [
2    {"role": "system", "content": "You are a concise support assistant."},
3    {"role": "user", "content": "Where is order 4471?"},
4]
5print([message["role"] for message in messages])
Saída
['system', 'user']

Principais conclusões

  • Indique a tarefa, separe o contexto das instruções, mostre exemplos, especifique o formato.

  • Validar saída estruturada em código; nunca presuma que está bem formado.

  • Faça um orçamento da janela de contexto: guarde os fatos principais, resuma ou abandone turnos antigos, recupere documentos.

Quiz da aula

6 perguntas · aprovação com 5 acertos · até 50 XP

Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.

Pratique: escreva código em Python

Escreva código Python no editor e execute os testes com exemplos. O Python roda localmente no navegador usando WebAssembly.

Exercício 1

Crie um prompt de algumas fotos

+25 XP

As linhas antes de --- são rotuladas como exemplos text|label; a linha depois é o novo texto. Imprimir:

1Classify the sentiment of each review as positive or negative.
2
3Review: TEXT
4Sentiment: LABEL
5
6...one block per example...
7
8Review: NEW TEXT
9Sentiment:
  • Dois exemplos
main.py
Carregando editor…

O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.

Exercício 2

Validar o JSON de um modelo

+25 XP

Cada linha é uma resposta de modelo que deve ser um objeto JSON com uma string name e um número inteiro age. Imprima valid, invalid: not JSON, invalid: missing FIELD (primeiro ausente, nessa ordem) ou invalid: FIELD should be TYPE (str ou int; booleanos não são inteiros).

  • Cinco respostas
main.py
Carregando editor…

O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.

Dúvidas sobre esta lição

Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.

Carregando publicações…