Já lhe aconteceu um determinado prompt funcionar bem e, de repente, deixar de funcionar?
Já ficou preso num ciclo de ajustes constantes ao seu prompt de sistema, tentando melhorar os resultados, apenas para descobrir que nada funciona?
A aprendizagem de prompts de sistema pode ser exatamente aquilo de que precisa.
A aprendizagem de prompts de sistema (SPL) é uma área de interesse emergente na comunidade de IA e foi amplamente popularizada por Andrej Karpathy no X em maio.
A aprendizagem de prompts de sistema responde às limitações dos sistemas de IA inflexíveis e frágeis que dependem de prompts de sistema estáticos ou de configurações complexas de ajuste fino. Oferece outra forma de promover a aprendizagem contínua nos sistemas de IA.
Antes de aprofundarmos o tema, recapitulemos brevemente alguns fundamentos da criação de prompts.
Ao desenvolver um agente ou modelo personalizado, temos primeiro de conceber dois componentes essenciais:
Um prompt de sistema
Um prompt de utilizador
Os prompts de sistema estabelecem as regras fundamentais que orientam o comportamento de um modelo. Quando são escritos para soluções de IA personalizadas, começam muitas vezes por algo deste género:
“You are an intelligent assistant. Your role is to perform <insert task here>.
You must not do (A), (B), or (C).”
Em contrapartida, os prompts de utilizador contêm normalmente a pergunta do utilizador e outras informações relevantes, como o seu fuso horário e as suas preferências. Um prompt de utilizador pode ter este aspeto:


I’m in the capital city of Portugal. Can you suggest some things I can do tonight?
As fugas de prompts de sistema tornaram-se comuns após o lançamento de novos modelos pelos principais laboratórios de IA, à medida que os utilizadores recorrem a jailbreaks nos chatbots para revelar as instruções subjacentes. Um repositório popular no GitHub reúne agora muitos destes prompts de sistema num único local. Estes prompts revelam a «fórmula secreta» que os laboratórios de IA desenvolveram ao longo do tempo para incentivar um comportamento adequado dos modelos. Por exemplo, o prompt de sistema do GPT-5 recentemente divulgado (exposto no ChatGPT) contém cerca de 6000 palavras, o que ilustra a quantidade de conhecimento e orientação que é necessário codificar para moldar o comportamento do sistema.
Estes prompts de sistema abrangentes cobrem normalmente várias áreas essenciais, como:
Instruções de pesquisa
Definições de ferramentas
Preferências do utilizador
Instruções de citação
Correções rápidas para problemas conhecidos
Na prática, os programadores de sistemas de IA personalizados corrigem manualmente e de forma iterativa os prompts de sistema enquanto testam e aperfeiçoam as aplicações, recorrendo sobretudo a avaliações para orientar este processo de melhoria.
Outras formas de orientar o comportamento de um modelo incluem:
Engenharia de prompts, incluindo geração aumentada por recuperação (RAG), que controla o conteúdo fornecido a um modelo
Ajuste fino (alteração direta dos pesos subjacentes do modelo)
E se houvesse outra forma de influenciar o comportamento do modelo? Imagine um sistema que aprende e aperfeiçoa dinamicamente o seu próprio prompt de sistema com base em reflexões, planos e estratégias anteriormente gerados. Poderia recorrer tanto ao feedback dos utilizadores como a avaliações de LLM enquanto avaliador para analisar os seus resultados.
Pense num desafio empresarial persistente que queira automatizar através de um sistema baseado em agentes. As soluções eficazes exigem capacidades de raciocínio que vão além da automatização básica de fluxos de trabalho. Nestes casos, torna-se essencial integrar no seu sistema de IA um componente de geração de planos. Isto permite ao sistema trabalhar de diferentes formas com vários agentes, consoante a tarefa. Os passos individuais podem incluir instruções para aceder a outros agentes que executem subtarefas ou para utilizar ferramentas.


Nota: Uma ferramenta de agente é qualquer função externa, API ou recurso que um agente de IA possa invocar para ir além do texto e executar ações reais.
Pode optar por fornecer como «semente» ao prompt de sistema do modelo um plano que siga os passos lógicos adotados por uma pessoa, embora os LLM precisem normalmente de orientações mais específicas sobre a utilização de ferramentas, a formatação dos resultados e outros requisitos relacionados. Por vezes, a estratégia ideal pode não ser clara ou poderá estar a abordar um problema que não voltou a ser avaliado por se considerar anteriormente resolvido. É aqui que entra a aprendizagem de prompts de sistema (SPL).
A SPL melhora iterativamente um prompt de sistema através da incorporação de estratégias geradas anteriormente. À medida que surgem novos problemas, o sistema acumula conhecimento gradualmente e torna-se mais robusto. Pense neste processo como a criação de um manual para resolver problemas na sua área.
A SPL incorpora gradualmente no prompt de sistema os ensinamentos obtidos com o feedback dos utilizadores. À medida que o sistema amadurece, poderá descobrir problemas recorrentes que podem ser sintetizados em princípios mais gerais e de nível superior.
Vejamos mais atentamente como funciona o processo, passo a passo:
Comece pela consulta do utilizador, pedindo ao sistema que execute uma tarefa específica.
Se o seu sistema abordar apenas um problema, poderá adotar uma abordagem «gananciosa», selecionando as estratégias com melhor pontuação das execuções anteriores. Em alternativa, pode incentivar a exploração através de amostras de uma distribuição que favoreça estratégias bem classificadas, incluindo ocasionalmente outras com classificações inferiores. Isto é particularmente útil quando está apenas a começar a recolher estratégias.
Para sistemas concebidos para lidar com conjuntos de problemas diversificados, considere adicionar uma camada de classificação ou utilizar embeddings e similaridade de cosseno — as mesmas técnicas normalmente utilizadas em RAG — para identificar abordagens relevantes. Isto ajuda a selecionar estratégias adequadas ao problema específico, como estratégias concebidas para tarefas de programação.
Nota: os embeddings utilizados com a similaridade de cosseno permitem medir o grau de relação entre dois elementos de informação, facilitando a correspondência entre documentos, consultas ou ideias, mesmo quando a formulação exata é diferente.
Exemplo de ponto de partida para um repositório simplificado de estratégias destinado a resolver problemas de programação.
Nota: As «estratégias iniciais» aqui apresentadas são meramente ilustrativas. Em cenários reais de programação, seriam aperfeiçoadas. Os problemas empresariais de nicho exigiriam a recolha de ensinamentos adicionais ao longo do tempo.
Generation_id (ordem inversa) | Assunto | Pontuação | Strategy_text | Explicação |
|---|---|---|---|---|
4 | programação | 1 | Compreender o problema, as restrições e os casos extremos. Conceber um algoritmo com as estruturas de dados adequadas. Validar o plano com exemplos e invariantes. Implementar código limpo e legível. Aperfeiçoar através de refatoração, otimização e formatação final. Utilização de ferramentas: Ao utilizar uma ferramenta, explique brevemente por que motivo foi necessária. | Integra e combina os elementos mais fortes das três estratégias abaixo. |
3 | programação | 1 | Compreender o problema, as restrições e os casos extremos. Conceber um algoritmo com as estruturas de dados adequadas. Validar o plano com exemplos e invariantes. Implementar código limpo e legível. Aperfeiçoar através de refatoração, otimização e formatação final. | Uma estratégia mais completa, mas sem orientações sobre a utilização de ferramentas. |
2 | programação | -1 | Compreender o problema, as restrições e os casos extremos. Conceber um algoritmo com os dados adequados. Implementar código limpo e legível. Utilização de ferramentas: ao aceder a ferramentas, apresente um breve resumo do motivo pelo qual utilizou cada uma. | Uma estratégia melhor, que menciona a utilização de ferramentas, mas ainda pode ser aperfeiçoada. |
1 | programação | -1 | Ler o problema na diagonal. Resolver o problema. Criar testes mínimos. Submeter qualquer coisa que funcione. | Menciona testes, mas é uma estratégia globalmente fraca. |
3. Depois de recolher uma amostra de N, incorpore-a no prompt de sistema. Isto fundamenta a geração de planos em feedback especializado anterior, em vez de deixar o modelo criar planos com orientações mínimas. Incentive o modelo a «pensar de forma criativa» e a acrescentar passos quando necessário, em vez de se limitar a copiar literalmente as estratégias de exemplo.


4. Com o prompt de sistema criado dinamicamente, gere uma nova estratégia para responder ao pedido do utilizador. Este processo deverá gerar tarefas adicionais que melhorem o resultado final. O objetivo é a criatividade: combine os elementos mais fortes das estratégias anteriores, consolide os passos sobrepostos e acrescente novos passos úteis quando necessário.
Nota: Lembre-se de que a temperatura é um parâmetro que pode ser ajustado para produzir resultados mais variados e menos determinísticos, o que é útil quando se pretende estimular a criatividade. Com uma temperatura diferente de zero, cada plano gerado pode ser diferente.
5. Depois de receber o resultado do modelo, avalie-o através de um avaliador humano ou de um LLM avaliador, com base em critérios específicos que definam uma boa solução para o seu problema. Para o exemplo de atividades em Portugal referido anteriormente, os critérios de avaliação podem incluir:
Concisão (uma resposta limitada a uma frase)
Relevância da atividade sugerida
Exatidão da localização
6. Com base nesta avaliação, utilize outro modelo para aperfeiçoar a estratégia. Um ciclo de feedback opcional pode integrar contributos humanos e permitir melhorias colaborativas. Guarde a estratégia aperfeiçoada na sua base de dados com os metadados adequados para acompanhar versões e alterações.


Mas porquê passar por todo este trabalho? Poderia rever manualmente os resultados e ajustar o prompt de sistema em conformidade. No entanto, modelos de raciocínio avançados podem aperfeiçoar estratégias recorrendo tanto ao contexto dos resultados como ao feedback humano. Embora as pessoas consigam detetar facilmente falhas em abordagens simples, identificá-las torna-se difícil e moroso em sistemas complexos que lidam com conjuntos de problemas mais abrangentes.
Os LLM exigem frequentemente instruções detalhadas e passos adicionais para reunir o conhecimento contextual que as pessoas aplicam naturalmente a um problema. O número de tarefas necessárias pode aumentar rapidamente à medida que um sistema se expande para lidar com conjuntos de problemas mais abrangentes. Por exemplo, ao resolver problemas de programação, as pessoas podem compreender intuitivamente a base de código envolvente, enquanto um LLM poderá ter primeiro de «ler» vários ficheiros.
Quando é útil: Imagine que gere uma equipa de apoio ao cliente e que um agente de IA faz a triagem dos pedidos. Com o tempo, a SPL poderá descobrir um método de categorização que a sua equipa não tinha considerado, reduzindo as taxas de encaminhamento para níveis superiores.
Quando não é útil: Se os requisitos de conformidade ou os regulamentos já definirem os seus fluxos de trabalho, como acontece nos relatórios financeiros, a SPL poderá ter pouco valor, porque a criatividade se torna um risco em vez de uma vantagem.
Quando é útil: Em funções com elevada componente de investigação, como informações de mercado ou estratégia de produto, pode colaborar com a IA aperfeiçoando os seus planos, enriquecendo os resultados e incorporando essas melhorias para utilização futura. Cada interação aumenta a eficácia do sistema.
Quando não é útil: Se a sua equipa utilizar sobretudo a IA em fluxos de trabalho simples que exigem pouca intervenção humana, como o processamento de faturas, os custos da colaboração poderão superar os benefícios.
Quando é útil: Suponha que entra numa nova região e que a IA tem subitamente de responder a questões sobre impostos locais. A SPL permite-lhe codificar rapidamente novas regras e heurísticas à medida que surgem, evitando erros repetidos.
Quando não é útil: Se o seu ambiente for estático, como na conversão de transcrições de reuniões em resumos padronizados, a adaptação constante oferece benefícios mínimos.
Em teoria, tudo isto parece promissor, mas a implementação de SPL apresenta desafios reais. Analisamos de seguida alguns dos principais:
Nas fases iniciais da geração de estratégias, o progresso estagna frequentemente: os novos resultados não aproveitam os anteriores e o ritmo abranda. Normalmente, isto deve-se a dois problemas principais:
Solução: Codifique à partida todo o conhecimento empresarial disponível, para que o sistema disponha de uma base sólida.
Solução: Crie uma grelha de avaliação detalhada que classifique vários aspetos de uma resposta, como a exatidão, a clareza e a relevância, e ajuste a amostragem para refletir estes sinais.
Se o sistema gerar centenas de estratégias, mas receber pouco feedback que permita distinguir as boas das más, a amostragem torna-se rapidamente difícil de gerir. A resposta é a eliminação seletiva.
Ao aperfeiçoar o seu repositório de estratégias, considere:
Vida útil: Retire estratégias quando ultrapassarem um período definido ou um determinado número de gerações.
Pontuação: Utilize a sua grelha de avaliação para filtrar estratégias que apresentam sistematicamente um desempenho fraco. A combinação deste critério com a vida útil garante que só mantém abordagens que demonstram o seu valor ao longo do tempo.
Avaliação por LLM: Avalie periodicamente as estratégias para identificar as que já não acrescentam perspetivas únicas, pois os seus elementos úteis terão provavelmente sido incorporados em versões mais recentes.
Solução: Trate a sua base de dados de estratégias como um sistema vivo: elimine regularmente o que é dispensável, para conservar apenas conhecimento relevante e valioso.
A aprendizagem de prompts de sistema ainda está numa fase inicial, mas o seu potencial é enorme. As empresas que dependem apenas de prompts estáticos ou de ajustes finos intermináveis enfrentarão limitações conhecidas: sistemas frágeis, custos crescentes e esforço desperdiçado. A SPL oferece uma saída para esse ciclo, através da criação de sistemas que melhoram ao longo do tempo e codificam princípios gerais em vez de correções isoladas.
A SPL ainda está a dar os primeiros passos, mas a sua trajetória é clara: os sistemas capazes de aprender por si próprios superarão os que não o conseguem fazer. Este é o momento de experimentar, começar em pequena escala, registar os ensinamentos e criar as bases para sistemas de IA que melhoram a cada interação.