Engenharia de prompts
Últimos Avanços Modernos em Engenharia de Prompt: Um Guia Abrangente

Engenharia de prompt, a arte e ciência de criar prompts que elicitem respostas desejadas de LLMs, tornou-se uma área crucial de pesquisa e desenvolvimento.
Desde melhorar as capacidades de raciocínio até permitir uma integração perfeita com ferramentas e programas externos, os últimos avanços em engenharia de prompt estão desbloqueando novas fronteiras na inteligência artificial. Abaixo, discutimos as últimas técnicas e estratégias de ponta que estão moldando o futuro da engenharia de prompt.
Estratégias de Prompt Avançadas para Resolução de Problemas Complexos
Enquanto CoT prompting provou ser eficaz para muitas tarefas de raciocínio, os pesquisadores exploraram estratégias de prompt mais avançadas para lidar com problemas ainda mais complexos. Uma abordagem é o Least-to-Most Prompting, que divide um problema complexo em sub-problemas menores e mais gerenciáveis que são resolvidos independentemente e então combinados para alcançar a solução final.
Outra técnica inovadora é o Tree of Thoughts (ToT) prompting, que permite que o LLM gere múltiplas linhas de raciocínio ou “pensamentos” em paralelo, avalie seu próprio progresso em direção à solução e retroceda ou explore caminhos alternativos conforme necessário. Essa abordagem aproveita algoritmos de busca como busca em largura ou profundidade, permitindo que o LLM se envolva em lookahead e backtracking durante o processo de resolução de problemas.
Integrando LLMs com Ferramentas e Programas Externos
Embora os LLMs sejam incrivelmente poderosos, eles têm limitações inerentes, como a incapacidade de acessar informações atualizadas ou realizar raciocínio matemático preciso. Para abordar essas desvantagens, os pesquisadores desenvolveram técnicas que permitem que os LLMs se integrem perfeitamente com ferramentas e programas externos.
Um exemplo notável é o Toolformer, que ensina os LLMs a identificar cenários que requerem o uso de ferramentas externas, especificar qual ferramenta usar, fornecer entrada relevante e incorporar a saída da ferramenta na resposta final. Essa abordagem envolve a construção de um conjunto de dados de treinamento sintético que demonstra o uso apropriado de várias APIs de texto-para-texto.
Outro framework inovador, Chameleon, adota uma abordagem “plug-and-play”, permitindo que um controlador central baseado em LLM gere programas de linguagem natural que componham e executem uma ampla gama de ferramentas, incluindo LLMs, modelos de visão, motores de busca da web e funções Python. Essa abordagem modular permite que o Chameleon lidere com tarefas de raciocínio complexas e multimodais, aproveitando as forças de diferentes ferramentas e modelos.
Estratégias de Prompt Fundamentais
Prompting Zero-Shot
O prompting zero-shot envolve descrever a tarefa no prompt e pedir ao modelo que resolva sem exemplos. Por exemplo, para traduzir “queijo” para francês, um prompt zero-shot pode ser:
Traduzir a seguinte palavra em inglês para francês: queijo.
Essa abordagem é direta, mas pode ser limitada pela ambiguidade das descrições de tarefas.
Prompting Few-Shot
O prompting few-shot melhora o prompting zero-shot, incluindo vários exemplos da tarefa. Por exemplo:
Traduzir as seguintes palavras em inglês para francês:
1. maçã => pomme
2. casa => maison
3. queijo => queijo
Esse método reduz a ambiguidade e fornece um guia mais claro para o modelo, aproveitando as capacidades de aprendizado em contexto dos LLMs.
Prompting de Instrução
O prompting de instrução descreve explicitamente a saída desejada, o que é particularmente eficaz com modelos treinados para seguir instruções. Por exemplo:
Traduzir a palavra "queijo" para francês. A tradução correta é "fromage."
Modelos como o GPT-4 foram especificamente ajustados para seguir tais instruções com precisão.
Técnicas de Prompt Avançadas
Melhorando as Capacidades de Raciocínio com Prompting de Corrente de Pensamento
Uma das principais descobertas em engenharia de prompt foi o desenvolvimento do prompting de corrente de pensamento (CoT). Essa técnica visa elicitar e melhorar as capacidades de raciocínio dos LLMs, incentivando-os a gerar um processo de pensamento passo a passo ou racionalização antes de fornecer a resposta final.

Esquerda: Métodos tradicionais de prompting de LLMs dependem de entradas genéricas (0-shot CoT) ou necessitam de exemplos rotulados (few-shot CoT). Direita: A abordagem nova promove LLMs para criar exemplos relevantes antes da resolução de problemas, removendo a necessidade de rotulagem enquanto personaliza exemplos para cada problema único
O prompting de corrente de pensamento funciona apresentando ao LLM exemplos que incluem não apenas a entrada e saída, mas também os passos intermediários de raciocínio ou “corrente de pensamento” que levam à solução. Aprendendo com esses exemplos, o LLM pode então gerar sua própria corrente de pensamento quando apresentado a novos problemas, melhorando sua capacidade de lidar com tarefas de raciocínio complexas.
Exemplo:
Entrada: Natalie tem 3 maçãs, e ela quer dividi-las igualmente com seus 2 amigos. Quantas maçãs cada pessoa receberá? Corrente de Pensamento: Ok, vamos quebrar isso passo a passo:
- Natalie tem 3 maçãs
- Ela quer dividi-las igualmente com 2 amigos
- Então, há 3 pessoas no total (Natalie e seus 2 amigos)
- Para dividir as maçãs igualmente, dividimos o número total de maçãs (3) pelo número de pessoas (3)
- 3 dividido por 3 é 1
- Portanto, cada pessoa receberá 1 maçã. Saída: Cada pessoa receberá 1 maçã.
Ao gerar explicitamente o processo de raciocínio, LLMs como o GPT-3 e o Codex demonstraram melhorias significativas em tarefas de raciocínio aritmético, de senso comum e simbólico.
Autoconsistência
A autoconsistência melhora a confiabilidade do prompting de corrente de pensamento, gerando múltiplas correntes de pensamento e tomando um voto majoritário na resposta final. Esse método mitiga o impacto de qualquer caminho de raciocínio incorreto único.
Prompting de Menos para Mais
O prompting de menos para mais quebra problemas complexos em sub-problemas mais simples, resolvendo cada um sequencialmente e usando o contexto das soluções anteriores para informar os passos subsequentes. Essa abordagem é benéfica para tarefas de raciocínio multi-etapas.
Avanços Recentes em Engenharia de Prompt
A engenharia de prompt está evoluindo rapidamente, e várias técnicas inovadoras surgiram para melhorar o desempenho dos grandes modelos de linguagem (LLMs). Vamos explorar alguns desses métodos de ponta em detalhe:
Auto-CoT (Prompting de Corrente de Pensamento Automático)
O que é: Auto-CoT é um método que automatiza a geração de correntes de pensamento para LLMs, eliminando a necessidade de exemplos criados manualmente. Essa técnica usa prompting de corrente de pensamento zero-shot, onde o modelo é orientado a pensar passo a passo para gerar suas correntes de pensamento.
Como funciona:
- Prompting de CoT Zero-Shot: O modelo é apresentado a um prompt simples como “Vamos pensar passo a passo” para incentivar um raciocínio detalhado.
- Diversidade em Demonstrações: O Auto-CoT seleciona perguntas diversas e gera correntes de pensamento para essas perguntas, garantindo uma variedade de tipos de problemas e padrões de raciocínio.
Vantagens:
- Automação: Reduz o esforço manual necessário para criar demonstrações de raciocínio.
- Desempenho: Em várias tarefas de raciocínio de referência, o Auto-CoT igualou ou superou o desempenho do prompting de CoT manual.
Prompting Baseado em Complexidade
O que é: Essa técnica seleciona exemplos com a maior complexidade (ou seja, o maior número de passos de raciocínio) para incluir no prompt. Visa melhorar o desempenho do modelo em tarefas que exigem múltiplos passos de raciocínio.
Como funciona:
- Seleção de Exemplos: Os prompts são escolhidos com base no número de passos de raciocínio que contêm.
- Consistência Baseada em Complexidade: Durante a decodificação, múltiplas correntes de pensamento são amostradas, e o voto majoritário é tomado das correntes mais complexas.
Vantagens:
- Melhoria no Desempenho: Acurácia substancialmente melhorada em tarefas de raciocínio multi-etapas.
- Robustez: Eficaz mesmo sob diferentes distribuições de prompts e dados ruidosos.
Prompting Progressivo-Hint (PHP)
O que é: PHP refina iterativamente as respostas do modelo usando as racionalizações previamente geradas como dicas. Esse método aproveita as respostas anteriores do modelo para guiá-lo em direção à resposta correta por meio de várias iterações.
Como funciona:
- Resposta Inicial: O modelo gera uma resposta base usando um prompt padrão.
- Dicas e Refinamentos: Essa resposta base é então usada como dica em prompts subsequentes para refinar a resposta.
- Processo Iterativo: Esse processo continua até que a resposta se estabilize ao longo de iterações consecutivas.
Vantagens:
- Acurácia: Melhorias significativas na precisão do raciocínio.
- Eficiência: Reduz o número de caminhos de amostragem necessários, melhorando a eficiência computacional.
Prompting Decomposto (DecomP)
O que é: DecomP quebra tarefas complexas em sub-tarefas mais simples, cada uma tratada por um prompt ou modelo específico. Essa abordagem modular permite um manejo mais eficaz de problemas intricados.
Como funciona:
- Decomposição de Tarefas: O problema principal é dividido em sub-tarefas mais simples.
- Manipuladores de Sub-Tarefas: Cada sub-tarefa é tratada por um modelo ou prompt dedicado.
- Integração Modular: Esses manipuladores podem ser otimizados, substituídos ou combinados conforme necessário para resolver a tarefa complexa.
Vantagens:
- Flexibilidade: Fácil de depurar e melhorar sub-tarefas específicas.
- Escalabilidade: Lida com tarefas de contexto longo e sub-tarefas complexas de forma eficaz.
Prompting de Hipóteses para Teorias (HtT)
O que é: HtT usa um processo de descoberta científica onde o modelo gera e verifica hipóteses para resolver problemas complexos. Esse método envolve a criação de uma biblioteca de regras a partir de hipóteses verificadas, que o modelo usa para raciocinar.
Como funciona:
- Etapa de Indução: O modelo gera regras potenciais e as verifica contra exemplos de treinamento.
- Criação da Biblioteca de Regras: Regras verificadas são coletadas para formar uma biblioteca de regras.
- Etapa de Dedução: O modelo aplica essas regras a novos problemas, usando a biblioteca de regras para guiar seu raciocínio.
Vantagens:
- Acurácia: Reduz a probabilidade de erros, confiando em um conjunto verificado de regras.
- Transferibilidade: As regras aprendidas podem ser transferidas entre diferentes modelos e formas de problemas.
Técnicas de Prompt com Ferramentas
Toolformer
Toolformer integra LLMs com ferramentas externas via APIs de texto-para-texto, permitindo que o modelo use essas ferramentas para resolver problemas que de outra forma não poderia. Por exemplo, um LLM poderia chamar uma API de calculadora para realizar operações aritméticas.
Chameleon
Chameleon usa um controlador central baseado em LLM para gerar um programa que compõe várias ferramentas para resolver tarefas de raciocínio complexas. Essa abordagem aproveita uma ampla gama de ferramentas, incluindo modelos de visão e motores de busca da web, para melhorar as capacidades de resolução de problemas.
GPT4Tools
GPT4Tools ajusta finamente LLMs de código aberto para usar ferramentas multimodais via uma abordagem de auto-instrução, demonstrando que mesmo modelos não proprietários podem efetivamente aproveitar ferramentas externas para melhorar o desempenho.
Gorilla e HuggingGPT
Tanto o Gorilla quanto o HuggingGPT integram LLMs com modelos de aprendizado profundo especializados disponíveis online. Esses sistemas usam um processo de ajuste fino com conscientização de recuperação e uma abordagem de planejamento e coordenação, respectivamente, para resolver tarefas complexas que envolvem vários modelos.
Modelos de Linguagem Auxiliados por Programas (PALs) e Programas de Pensamentos (PoTs)
Além de integrar com ferramentas externas, os pesquisadores exploraram maneiras de melhorar as capacidades de resolução de problemas dos LLMs combinando linguagem natural com construtos de programação. Modelos de Linguagem Auxiliados por Programas (PALs) e Programas de Pensamentos (PoTs) são duas abordagens que aproveitam o código para aumentar o processo de raciocínio do LLM.
PALs promovem o LLM a gerar uma racionalização que intercala linguagem natural com código (por exemplo, Python), que pode então ser executado para produzir a solução final. Essa abordagem aborda um caso de falha comum em que os LLMs geram um raciocínio correto, mas produzem uma resposta final incorreta.
Da mesma forma, os PoTs empregam uma biblioteca de matemática simbólica como a SymPy, permitindo que o LLM defina símbolos e expressões matemáticas que podem ser combinados e avaliados usando a função de solução da SymPy. Ao delegar cálculos complexos a um interpretador de código, essas técnicas desacoplaram o raciocínio da computação, permitindo que os LLMs lidem com problemas mais intricados de forma eficaz.
Entendendo e Aproveitando Janelas de Contexto
O desempenho dos LLMs depende fortemente de sua capacidade de processar e aproveitar o contexto fornecido no prompt. Os pesquisadores investigaram como os LLMs lidam com contextos longos e o impacto de informações irrelevantes ou distraídas em suas saídas.
O fenômeno “Perdido no Meio” destaca como os LLMs tendem a prestar mais atenção às informações no início e no final de seu contexto, enquanto as informações no meio são frequentemente ignoradas ou “perdidas”. Essa percepção tem implicações para a engenharia de prompt, pois a posição cuidadosa de informações relevantes dentro do contexto pode impactar significativamente o desempenho.
Outra linha de pesquisa se concentra em mitigar os efeitos prejudiciais do contexto irrelevante, que pode degradar severamente o desempenho dos LLMs. Técnicas como autoconsistência, instruções explícitas para ignorar informações irrelevantes e incluir exemplares que demonstram resolver problemas com contexto irrelevante podem ajudar os LLMs a aprender a se concentrar nas informações mais pertinentes.
Melhorando as Capacidades de Escrita com Estratégias de Prompt
Embora os LLMs sejam excelentes em gerar texto semelhante ao humano, suas capacidades de escrita podem ser ainda mais aprimoradas por meio de estratégias de prompt especializadas. Uma técnica é o prompting de Esqueleto de Pensamento (SoT), que visa reduzir a latência de decodificação sequencial imitando o processo de escrita humano.
O prompting de Esqueleto de Pensamento envolve promover o LLM a gerar um esqueleto ou esboço de sua resposta primeiro, seguido de chamadas de API paralelas para preencher os detalhes de cada elemento do esboço. Essa abordagem não apenas melhora a latência de inferência, mas também pode melhorar a qualidade da escrita, incentivando o LLM a planejar e estruturar sua saída de forma mais eficaz.
Outra estratégia de prompting, Chain of Density (CoD), se concentra em melhorar a densidade de informações das resumo gerados pelo LLM. Ao adicionar entidades iterativamente ao resumo, mantendo o comprimento fixo, o prompting de CoD permite que os usuários explorem a relação entre concisão e completude, produzindo resumos mais informativos e legíveis.
Direções Emergentes e Perspectiva Futura
O campo da engenharia de prompt está evoluindo rapidamente, com pesquisadores continuamente explorando novas fronteiras e empurrando os limites do que é possível com os LLMs. Algumas direções emergentes incluem:
- Prompting Ativo: Técnicas que aproveitam princípios de aprendizado ativo baseados em incerteza para identificar e anotar os exemplares mais úteis para resolver problemas de raciocínio específicos.
- Prompting Multimodal: Estender estratégias de prompting para lidar com entradas multimodais que combinam texto, imagens e outros modais de dados.
- Geração Automática de Prompts: Desenvolver técnicas de otimização para gerar prompts eficazes automaticamente, personalizados para tarefas ou domínios específicos.
- Interpretabilidade e Explicabilidade: Explorar métodos de prompting que melhoram a interpretabilidade e explicabilidade das saídas dos LLMs, permitindo uma maior transparência e confiabilidade em seus processos de tomada de decisão.
À medida que os LLMs continuam a avançar e encontram aplicações em vários domínios, a engenharia de prompt desempenhará um papel crucial em desbloquear seu potencial total. Aproveitando as últimas técnicas e estratégias de prompting, pesquisadores e praticantes podem desenvolver soluções de IA mais poderosas, confiáveis e específicas de tarefas, empurrando os limites do que é possível com o processamento de linguagem natural.
Conclusão
O campo da engenharia de prompt para grandes modelos de linguagem está evoluindo rapidamente, com pesquisadores continuamente empurrando os limites do que é possível. Desde melhorar as capacidades de raciocínio com técnicas como o prompting de corrente de pensamento até integrar os LLMs com ferramentas e programas externos, os últimos avanços em engenharia de prompt estão desbloqueando novas fronteiras na inteligência artificial.














