GEO

System Prompt

Um system prompt e a instrucao de nivel mais alto que diz a um LLM "quem voce e, o que deve fazer e o que nao deve fazer", definindo o enquadramento de toda a conversa. Diferentemente dos prompts de usuario, que os usuarios finais escrevem, os system prompts sao injetados pelo desenvolvedor da aplicacao e permanecem em vigor em cada turno.

Um system prompt e a instrucao de nivel mais alto que diz a um LLM "quem voce e, o que deve fazer e o que nao deve fazer", definindo o enquadramento de toda a conversa. Diferentemente dos prompts de usuario, que os usuarios finais escrevem, os system prompts sao injetados pelo desenvolvedor da aplicacao e permanecem em vigor em cada turno.

Por que importa

O system prompt e a "linguagem de design" dos produtos baseados em LLM. Por mais livremente que um usuario escreva seus prompts, um system prompt bem elaborado mantem as respostas do modelo dentro de um papel, um tom e um conjunto de limites definidos. De chatbots como ChatGPT, Claude e Gemini a mecanismos de busca por IA, agentes de codigo e bots de suporte, toda aplicacao de LLM molda sua personalidade por meio do system prompt.

Componentes

Papel: "Voce e um especialista em copywriting de marketing que ajuda operadores de blogs SaaS." Fixa a perspectiva a partir da qual o modelo responde.

Objetivo: "Ajude os usuarios a rascunhar posts de blog rapidamente." Define a direcao da conversa.

Restricoes: "Responda apenas em coreano." "Sem exemplos de codigo." "Maximo de 300 caracteres." Bloqueia comportamentos indesejados de antemao.

Tom: "Amigavel, porem profissional, sem exageros." Mantem a voz da marca consistente.

Formato de saida: "Estruture as respostas com subtitulos ###." Reduz o pos-processamento.

Data de corte de conhecimento: "Avise quando sua informacao puder estar desatualizada." Mitiga o risco de alucinacao.

Descricoes de ferramentas: para agentes que usam function calling, inclua no system prompt a lista e a descricao das ferramentas disponiveis.

System Prompt vs User Prompt

AspectoSystem PromptUser Prompt
Escrito porDesenvolvedorUsuario final
Frequencia de mudancaRaramenteA cada requisicao
ConteudoPapel, restricoes, tomPedido especifico
EscopoConversa inteiraApenas aquele pedido
SegurancaDeve ficar oculto do usuarioPublico

Um bom sistema de LLM separa o "enquadramento estavel" (system prompt) da "entrada variavel" (user prompt).

Dicas praticas

Atribua um papel, nao de comandos: "Voce e um especialista que faz X" supera "Faca X". O modelo incorpora o papel e produz uma saida mais consistente.

Prefira restricoes positivas: "Faca isto" funciona melhor do que "nao faca aquilo".

Inclua exemplos (few-shot): colocar de 2 a 3 exemplos de saida no system prompt estabiliza drasticamente o estilo e o formato.

Use tags XML: para modelos da familia Claude, tags como <role>, <constraints>, <examples> ajudam o modelo a analisar cada secao com clareza.

Nao escreva em excesso: system prompts mais longos custam mais tokens em cada requisicao. Corte tudo o que nao for essencial.

Faca testes A/B regularmente: rode diferentes system prompts contra requisicoes reais e compare satisfacao, precisao e seguranca.

Defesa contra prompt injection

Os system prompts sao alvos primarios de prompt injection. Uma entrada do usuario como "ignore todas as instrucoes anteriores" pode sobrescrever um system prompt fraco. As defesas incluem a tecnica do sanduiche (repetir as instrucoes-chave no inicio e no fim), isolar dados externos em tags XML e impor permissoes na camada de chamada de ferramentas.

Fontes: