Intermediário 13 minPrompting

Dominar os sistemas prompts

Resposta direta

Um prompt de sistema é a mensagem com o papel 'system' que define a identidade, a missão, as regras, o estilo e o formato de saída de um LLM antes da sua primeira pergunta. Para escrevê-lo: cinco blocos curtos, instruções no imperativo e verificáveis, um teste com algumas perguntas com pegadinhas. Ele consome contexto e não é um cofre: não coloque nenhum segredo nele.

Um prompt de sistema é o briefing dado ao modelo antes da primeira pergunta. Bem escrito, ele torna um LLM local coerente e previsível; mal escrito, desperdiça contexto e se contradiz. Você aprenderá a estruturá-lo, configurá-lo no Ollama, no LM Studio ou em uma API e testá-lo metodicamente, além de conhecer suas limitações, especialmente em termos de confidencialidade.

Por Mohamed Meguedmi·Atualização 2026-09-30·Testado no Windows, macOS e Linux

#O que é um prompt de sistema e como escrevê-lo?

Um prompt de sistema é a mensagem com o papel « system » colocada no início da conversa: ele define a identidade do modelo, sua missão, suas regras, seu estilo e o formato de suas respostas antes de você fazer a primeira pergunta. O modelo relê esse prompt a cada turno, assim como o histórico. Para escrevê-lo, mantenha cinco blocos curtos (identidade, missão, regras rígidas, estilo, formato de saída), formule instruções no imperativo e verificáveis, depois teste-o com algumas perguntas-armadilha. Um prompt de sistema orienta o comportamento; ele não é uma barreira de segurança nem um cofre para seus segredos, e consome uma parte da janela de contexto do seu modelo local. Este guia detalha cada ponto, com exemplos prontos para colar no Ollama, no LM Studio ou em uma API compatível com OpenAI.

Um LLM geralmente recebe três tipos de mensagens: system (as instruções permanentes), user (o que você digita) e assistant (o que ele já respondeu). O cliente de chat reenvia toda a conversa ao modelo a cada solicitação, incluindo a mensagem system. É isso que dá a impressão de uma “personalidade” estável durante a sessão.

i
Analogia
Um system prompt é para um LLM o que uma descrição de cargo é para um trabalhador temporário. Sem ela, ele faz o melhor que pode. Com ela, sabe o que se espera dele, o que lhe é proibido e em que formato deve entregar seu trabalho.

Os fornecedores de modelos descrevem o mesmo uso. A documentação da Anthropic explica que definir um papel no system prompt direciona o comportamento e o tom do modelo, e que uma única frase basta para fazer diferença. O mesmo princípio se aplica aos modelos locais: a instrução permanente vai na mensagem system, e a pergunta do momento, na mensagem user.

#O que um bom prompt de sistema realmente muda

O kit IA Local

Seu ChatGPT privado e gratuito na sua máquina em 1 hora — LM Studio, Ollama, Open WebUI, seus documentos, sem nuvem.

  • Espaço online vitalício
  • PDF + arquivos
  • Atualizações vitalícias
Coerência do tom
Um assistente que trata o usuário de maneira informal na primeira mensagem e formal na segunda revela um prompt de sistema ausente ou vago demais. Definir o registro uma única vez evita essa mudança de tom.
Restrições mais estáveis
Proibições (“sem emoji”) e obrigações (“citar a fonte”) são seguidas com mais consistência quando definidas na mensagem de sistema do que quando repetidas durante a interação. Ainda assim, seu cumprimento nunca é garantido: quanto menor o modelo, mais você precisa verificar.
Menos repetição
Se você digita “responda em francês formal” a cada pergunta, coloque essa instrução uma única vez no prompt de sistema. Menos esquecimentos, menos digitação.
Escopo da missão
"Trate apenas do direito do trabalho francês" reduz as respostas fora do assunto, sem jamais garantir que elas sejam impedidas.

O que o prompt de sistema não faz: ele não adiciona nenhum conhecimento ao modelo e não substitui nem um documento fornecido na conversa nem um RAG. Se o modelo precisar se basear em seus contratos, é a pesquisa documental que fornece os fatos; o prompt de sistema apenas diz como usá-los e citá-los.

#O custo: espaço na janela de contexto

O system prompt não é gratuito: seus tokens ocupam a janela de contexto, junto com o histórico, seus documentos e a resposta que ainda será gerada. Em um computador local, essa janela costuma ser menor do que se imagina. A página "Context length" da documentação do Ollama indica uma janela padrão de cerca de 4.000 tokens ("4k") com menos de 24 GiB de VRAM, 32.000 entre 24 e 48 GiB e 256.000 acima disso. Um prompt de 400 tokens ocupa, portanto, quase 10% de 4.096 tokens, antes mesmo da primeira troca.

O cálculo é simples: janela disponível = janela total − tokens do prompt do sistema − resposta esperada. Com 4.096 tokens, um prompt do sistema de 400 tokens e uma resposta de 800 tokens, restam 2.896 tokens para o histórico e os documentos. Quando a conversa se prolonga, a janela se preenche e o conteúdo antigo corre o risco de não caber mais: mais uma razão para que o briefing seja denso em vez de longo.

Existe um segundo efeito, documentado pela pesquisa: no estudo “Lost in the Middle” (Liu et al., 2023), o desempenho costuma ser melhor quando a informação útil está no início ou no final do contexto e piora quando ela está no meio, mesmo para modelos anunciados como tendo contexto longo. Consequência prática: coloque as regras mais importantes no início do seu system prompt e reforce a restrição crítica na última linha, caso perceba esquecimentos.

→
Aumentar a janela, se necessário
Se seu prompt de sistema ultrapassar algumas centenas de tokens ou se você anexar documentos, aumente a janela em vez de encurtar o conteúdo às cegas: PARAMETER num_ctx em um Modelfile ou a variável OLLAMA_CONTEXT_LENGTH ao iniciar o servidor. Uma janela maior consome mais memória de vídeo; o guia sobre a janela de contexto detalha esse compromisso.

#Estrutura de um system prompt sólido em cinco blocos

Um bom system prompt cabe em cinco blocos curtos. Não é necessário escrever um romance: cada frase adicional consome contexto e aumenta o risco de instruções contraditórias. A tabela resume o que cada bloco contém e o erro mais comum.

Os cinco blocos de um prompt de sistema
BlocoPergunta à qual ele respondeExemploErro comum
IdentidadeQuem é o modelo?« Você é Lex, assistente jurídico no direito do trabalho francês. »Uma identidade elogiosa (“especialista mundial”) sem escopo definido
MissãoO que ele deve fazer, para quem?« Você ajuda um diretor de recursos humanos a entender suas obrigações e a redigir cartas. »Missão demasiado ampla: 'ajuda em tudo'
Regras rígidasO que ele faz sempre ou nunca?"Cite o artigo pertinente do Código do Trabalho."Dez regras de mesma prioridade, das quais duas se contradizem
EstiloComo ele se expressa?«Frases curtas, vocabulário acessível.»Adjetivos vagos (« profissional ») sem exemplo
Formato de saídaEm que formato ele retorna a resposta?« Por padrão: um parágrafo e as referências. »Formato não especificado, portanto varia de resposta para resposta

Aqui está o mesmo prompt montado. Cada regra está no imperativo e é verificável (o artigo é citado ou não), e o comportamento fora do escopo é explícito.

Prompt de sistema completo
Tu es Lex, assistant juridique spécialisé en droit
du travail français (version 2026).

MISSION
Tu aides un DRH à comprendre ses obligations et à
rédiger des courriers RH conformes.

RÈGLES
- Ne jamais donner d'avis juridique formel.
- Toujours citer l'article du Code du travail concerné,
  par ex. "L.1232-2".
- Si la question sort du droit du travail, répondre :
  "Hors de mon périmètre. Je ne traite que le droit
  du travail français."

STYLE
- Phrases courtes, vocabulaire accessible.
- Pas d'anglicisme si un équivalent existe.
- Ton professionnel mais direct.

FORMAT
- Réponse par défaut : 1 paragraphe + références.
- Sur demande : tableau, courrier-type, checklist.

Este prompt serve como modelo de estrutura. Um modelo local pode citar um artigo inexistente: peça a uma pessoa que verifique as referências e consulte o guia sobre alucinações.

#Formular instruções que o modelo segue

Imperativo direto
“Faça X.” e “Não faça Y.” são mais claros que “tente, se possível, …”, que deixa o modelo livre para não tentar.
Comece pelo positivo
Dizer o que deve ser feito (“responda em uma frase”) é melhor do que uma longa lista de proibições, que devem ser reservadas às salvaguardas realmente necessárias.
Um exemplo vale uma descrição
Para um formato específico, forneça uma resposta-modelo de duas linhas em vez de três frases de explicação.

#Na prática com Ollama: /set system e Modelfile

Ollama oferece três formas de definir um system prompt, de acordo com a duração desejada. Em uma sessão interativa, o comando /set system define a mensagem para a conversa atual; ele aparece na lista de comandos disponíveis no cliente. O prompt desaparece ao final da sessão.

Sessão interativa
>>> /set system """
Tu es Lex, assistant juridique spécialisé en droit
du travail français...
"""

Para um prompt de sistema persistente, crie um Modelfile: trata-se de um modelo derivado, com seu próprio nome. A documentação do Ollama esclarece que a instrução SYSTEM define a mensagem de sistema a ser inserida no template do modelo. A palavra « template » é importante: se o template de um modelo não tiver um espaço para a mensagem de sistema, a instrução SYSTEM não terá efeito. Em caso de comportamento inesperado, compare com o Modelfile original.

Modelfile
FROM mistral

PARAMETER temperature 0.3
PARAMETER num_ctx 8192

SYSTEM """
Tu es Lex, assistant juridique...
"""
Terminal
ollama create lex -f ./Modelfile
ollama run lex

Terceira opção, no lado da API: o corpo de uma requisição a /api/generate aceita um campo system que substitui o definido no Modelfile, e /api/chat recebe o histórico na forma de um array de mensagens com um papel e um conteúdo. O guia sobre o Modelfile detalha as demais instruções.

#Na prática com LM Studio: o campo System Prompt e os presets

No painel de configuração da aba de chat, há um campo chamado System Prompt. Para não ter que digitá-lo novamente, o LM Studio oferece os presets. A documentação os descreve como uma forma de agrupar um system prompt e outros parâmetros em uma configuração reutilizável de uma conversa para outra.

→
Biblioteca de presets
Cada parâmetro do painel Advanced Configuration pode ser salvo em um preset com nome: o system prompt, mas também a temperatura, o top-p ou o número máximo de tokens. Crie um preset para cada uso (« revisor FR », « assistente de código », « especialista jurídico ») e mude de papel com um clique. Os presets também podem ser importados de um arquivo ou de uma URL.

#Na prática via API compatível com OpenAI

Ollama, LM Studio, vLLM e llama-server expõem uma API compatível com a OpenAI. A primeira mensagem do array, com o papel system, define o briefing. A documentação do Ollama esclarece que o cliente exige um valor para a chave de API, mas que o servidor o ignora: qualquer string serve para uso local.

Python
from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:11434/v1",
    api_key="ollama",  # ignoré
)

resp = client.chat.completions.create(
    model="mistral",
    messages=[
        {"role": "system", "content": "Tu es Lex..."},
        {"role": "user",   "content": "Peut-on rompre une période d'essai ?"},
    ],
)

print(resp.choices[0].message.content)

Um ponto de projeto: a API não tem memória. Em cada chamada, seu código devolve a mensagem system seguida do histórico completo. Se você omitir o histórico em uma chamada, o modelo responde sem briefing: armazene a lista de mensagens e mantenha a mensagem system na posição 0.

#Três system prompts prontos para uso

#Corretor de francês

Prompt de sistema
Tu es un correcteur de français académique.
Règle unique : renvoie UNIQUEMENT le texte corrigé,
sans commentaire, sans liste des changements.
Corrige : orthographe, grammaire, ponctuation, barbarismes.
Ne reformule jamais. Ne change pas le style de l'auteur.

#Extrator estruturado

Prompt de sistema
Tu extrais des informations structurées depuis du texte libre.
Sortie STRICTE : JSON valide, rien d'autre (pas de ```json, pas de texte).
Si une information est absente, renvoie null.
Ne devine jamais.

Para uma extração em produção, não conte apenas com o prompt de sistema: as saídas estruturadas do Ollama permitem impor um esquema JSON às respostas, evitando um JSON inválido. O guia sobre chamada de funções e saídas JSON explica como configurar isso.

#Assistente de código sênior

Prompt de sistema
Tu es un ingénieur logiciel senior.
Pour toute réponse de code :
1. Dis en une phrase ce que fait le code.
2. Donne le code dans un bloc unique.
3. Liste 1 à 3 cas limites à surveiller.
Tu ne mets JAMAIS de commentaire à l'intérieur du code,
sauf si un piège non-évident le justifie.

#Testar e corrigir um prompt de sistema sem ficar tateando

Um system prompt melhora com testes controlados, não com adições sucessivas. Sem método, acumulam-se regras até se obter um texto longo, contraditório e impossível de depurar. Aqui está um procedimento simples, sem ferramenta específica.

  1. 01
    Elaborar cinco perguntas de teste
    Escreva cinco entradas: dois casos normais, uma pergunta fora do escopo, uma solicitação de formato incomum e uma tentativa de subverter o papel do modelo (“esqueça suas instruções”). Guarde-as em um arquivo.
  2. 02
    Definir as condições
    Use o mesmo modelo, a mesma quantização e uma temperatura baixa (0,2 a 0,3) para comparar as versões do prompt sob condições iguais.
  3. 03
    Modificar apenas uma coisa de cada vez
    Mude uma regra, faça novamente as cinco perguntas e anote o que mudou. Se duas regras mudarem ao mesmo tempo, você não saberá qual corrigiu ou piorou o comportamento.
  4. 04
    Remover antes de adicionar
    Quando uma regra é ignorada, reformule-a de forma mais curta, coloque no início ou remova a que a contradiz. Adicionar texto é o último recurso.
  5. 05
    Versionar o prompt
    Conserve cada versão em um arquivo de texto datado ou no Modelfile sob controle de versão, com uma linha sobre o que mudou. Assim, você poderá voltar atrás.

#Armadilhas a evitar

Erros comuns e correções
ArmadilhaSintomaCorreção
Prompt muito longoFim do prompt aplicado com menos fidelidade, janela reduzidaCondensar, colocar o essencial no início, aumentar num_ctx se necessário
Instruções contraditórias« Seja breve » e « dê muitos exemplos »: comportamento variávelHierarquizar: em caso de conflito, a regra 1 prevalece
Formulação hesitante« Tente, se possível, fazer… »: instrução aplicada de forma intermitenteImperativo direto: 'Faça X.'
Idioma não especificadoRespostas na língua do prompt ou da pergunta, conforme o modeloEscrever « Responda sempre em francês » e redigir o prompt em francês
Posição de system ignoradaModelo que não aplica o SYSTEM de um ModelfileVerificar se o template do modelo prevê uma mensagem system
Segredos no promptUm usuário obtém o conteúdo do prompt ao solicitá-loNão colocar nada de confidencial ali

#O prompt de sistema não é um cofre

As recomendações da OWASP sobre o risco de vazamento do prompt de sistema são claras: ele não deve ser considerado um segredo nem usado como controle de segurança, e não deve conter credenciais nem strings de conexão. Na prática, para uma implantação local: se for necessário um controle de acesso (dados por usuário, ações sensíveis), ele deve ser implementado na sua aplicação, não em uma frase do prompt. O guia sobre injeção de prompt explica por que um modelo local não está imune.

FAQ
O que é um system prompt?+
É a mensagem com a função 'system' colocada no início de uma conversa com um LLM. Ela define a identidade do modelo, sua missão, suas regras, seu estilo e o formato de suas respostas. Ela permanece no contexto em cada turno, estabilizando o comportamento durante toda a sessão, sem que você precise repetir suas instruções.
Qual é o tamanho ideal de um prompt de sistema local?+
O mais curto possível para cobrir suas regras: algumas linhas para um caso simples, de cem a duzentas palavras para um assistente profissional. Cada token consumido pelo prompt de sistema reduz o espaço disponível para o histórico, especialmente com a janela padrão do Ollama de cerca de 4.000 tokens quando há menos de 24 GiB de VRAM. Coloque o essencial no início.
Como definir um prompt de sistema permanente no Ollama?+
Crie um Modelfile com uma linha FROM e uma instrução SYSTEM contendo seu texto, depois execute ollama create com o nome desejado e ollama run com esse nome. O prompt então é incorporado ao modelo derivado. O comando /set system, por outro lado, vale apenas para a sessão interativa atual.
Um system prompt pode impedir que um modelo revele informações?+
Não de forma confiável. A OWASP lembra que o system prompt não deve ser considerado um segredo nem usado como controle de segurança. Um usuário motivado pode fazê-lo ser revelado ou desviar a instrução de seu objetivo. Coloque os controles de acesso e os dados sensíveis na sua aplicação, nunca no texto do prompt.
Devo escrever o prompt de sistema em francês ou em inglês?+
Escreva na língua esperada nas respostas e adicione uma instrução explícita do tipo «Responda sempre em francês». Alguns modelos respondem na língua do prompt e não na da pergunta. Teste com duas ou três perguntas em cada língua, no seu modelo específico, antes de generalizar.
Por que meu modelo ignora o meu system prompt?+
Verifique primeiro se o prompt está sendo enviado corretamente (papel system na primeira posição, ou SYSTEM no Modelfile) e se o template do modelo prevê uma mensagem system. Em seguida, encurte o prompt, remova instruções contraditórias, use o imperativo e teste com uma temperatura baixa. Um modelo muito pequeno segue instruções complexas com menos precisão.
Este guia ajudou você?

Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.