Marcelo Sabbatini

O poder do meta-prompt

Publicado originalmente em IAEdPraxis: Caminhos Inteligentes para a Educação, em 20 de junho de 2024.

A notícia recente de que criaram a primeira IA engenheira de software nos remete diretamente a um elemento muito utilizado na ficção científica: a ideia de uma IA programando outra, levando a um desenvolvimento cada vez mais rápido, podendo chegar a uma tecnologia extremamente poderosa (e temerosamente imprevisível).

Enquanto a superinteligência artificial não chega, e enquanto vamos descobrindo os limites e potenciais da IA, uma técnica um pouco mais avançada para tirar proveito destas ferramentas é o meta-prompt. Mas do que se trata?

O que é o metaprompt?

Antes de entramos no conceito de meta-prompt propriamente dito, uma reflexão etimológica. Do grego, meta (μετά) significa “além”, “após” ou “sobre”, utilizado atualmente para algo que se auto-referencia ou que opera em um nível superior ou além do seu objeto direto. Temos por exemplo a metalinguagem, quando uma linguagem fala sobre ela mesmo, com inúmeros exemplos na literatura (A Mulher do Tenente Francês, Ficções, Dom Quixote) ou no cinema (Adaptação, Cantando na Chuva, O Show de Truman). Ou então metadados, os dados que descrevem um conjunto de dados, antes domínio das ciências da informação, mas popularizados pelos meios digitais.

Mas como dizíamos, a expressão “meta” diz respeito a algo que se referencia a si próprio. No caso de um prompt, portanto, seria um comando dado à Inteligência Artificial que busque analisar sua própria atuação, tanto no sentido de criar como de aperfeiçoar outros comandos.

Para termos uma definição, “um meta-prompt é um estímulo usado para iniciar uma conversa com um chatbot ou outra ferramenta alimentada por IA” (Rich, 2023). De forma similar, meta-prompting seria a ação de “solicitar à IA que projete a melhor sugestão para se usar com a IA, a fim de alcançar o comportamento desejado e, em seguida, pedir que a aprimore ainda mais, antes de utilizar essa mesma sugestão” (Shatiz, 2023), conferindo um caráter de processo, de atividade contínua ao conceito.

A premissa aqui é que o modelo de linguagem natural (o chat) assuma o papel de engenheiro de prompt. Em outras palavras, se a Inteligência Artificial generativa é capaz de construir produtos textuais complexos através da linguagem e, se o prompt é uma forma de linguagem, consequentemente se pode utilizar IA para escrever prompts. Parece lógico, não?

Um ponto que merece atenção: a estratégia do meta-prompt pode ser usada através de distintas modalidades: a maioria dos modelos generativos parte de um comando verbal. Exemplificando, você pode usar o ChatGPT para elaborar um prompt para o Dall-E, usado na geração de imagens.

Sempre bom perguntar: por quê e para quê?

A ideia, quase natural: é obter prompts mais eficazes. O caráter de linguagem natural do ChatGPT e de todos modelos generativos comandados por texto acaba escondendo dos usuários uma certa sofisticação. A praticidade e a facilidade de uso podem ser traiçoeiras, e nesse sentido, a própria IA pode apontar quais elementos ela necessita para melhor realizar sua tarefa.

Outra justificativa para o uso de modelos de linguagem natural para processar outros promts é a exigência de um meta-nível de compreensão, envolvendo o usuário conscientementemente no planejamento, redação e execução de um comando. Estabelecendo uma analogia, seria o equivalente a escrever um poema sobre a escrita de poesia, como exemplifica Otten (2023).

Nesta linha de argumentação, e considerando uma perspectiva de letramento em IA, a atividade de meta-prompting pode estimular o pensamento crítico em relação a seu uso. Seria uma forma de tornar a tecnologia menos opaca e de nos tornar mais eficazes e hábeis na utilização destes sistemas.

Como fazer?

Na prática, o processo de meta-prompting começa com a formulação de um prompt inicial. Esse prompt é então inserido em um sistema de IA, como por exemplo o chatGPT, que o analisará e apresentará melhorias. Para isso, a formulação do objetivo, as informações de contexto e outros parâmetros mais são critérios para sua avaliação e refinamento.

Mas o processo não precisa parar por aí. Por que não passar o prompt por uma nova iteração? Minimamente para validar a resposta, podendo envolver etapas sucessivas de aperfeiçoamento até não haver mais nenhuma sugestão?

Como último passo, o meta-prompting idealmente passa pela supervisão humana. Como processo colaborativo com a máquina, além de uma avaliação final a partir da execução, é com nosso conhecimento específico, com nosso julgamento que podemos perceber a relevância e significância de cada sugestão de melhoria.

Qual o lado negativo?

O principal argumento em contra a técnica de meta-prompt se relaciona com sua motivação: eficácia. A própria opacidade dos modelos de linguagem põe em cheque sua premissa. A suposta capacidade do sistema aprender com as iterações anteriores de um prompt é uma presunção não verificada empiricamente. Ela nasce a partir das experimentações iniciais com o ChatGPT, sem estar tecnicamente justificada.

Como o usuário markfulton comentou num fórum da OpenAI, respondendo ao questionamento da comunidade utilizar ou não a prática do meta-prompting “Você está pressupondo que o ChatGPT é um bom engenheiro de prompts. Ele não é”.

Contudo, apesar desta limitação é uma prática que pode ser útil e que merece alguma experimentação, trazendo resultados interessantes. Tudo que precisamos é um meta-prompt e espiríto de curiosidade.

Referências

OTTEN, Neri Van. How to guide to Chat-GPT, GPT-3 & GPT-4 Prompt Engineering [10 Types]. Spot intelligence, 20 nov. 2023. Disponível em: https://spotintelligence.com/2023/11/20/gpt-prompt-engineering/. Acesso em: 29 mar. 2023.

RICH, Chase. Meta-prompting inside ChatGPT: one prompt ro rule them all. 2023. Disponível em: https://www.chaserich.com/meta-prompting-inside-chatgpt-one-prompt-to-rule-them-all-2023/. Acesso em: 29 mar. 2023.

SHATZAKIS, Steven. Mastering Meta-prompting: The Key to AI-Driven Success Kindle. Edição Kindle, 2023.

Prompt da Semana

Logicamente, é o nosso meta-prompt, em duas versões. A primeira, mais sintética:

Analise o seguinte prompt e sugira melhorias para torná-lo mais eficaz para um modelo de IA baseado em linguagem natural:

[Inserir o prompt a ser analisado]

Ao analisar o prompt, considere critérios como clareza das instruções, contextualização adequada, exemplos fornecidos e formatação. Seu objetivo é identificar possíveis pontos de melhoria para tornar o prompt mais compreensível e eficaz para um modelo de IA, levando em conta suas capacidades e limitações. Apresente suas sugestões em um parágrafo estruturado ou em formato de lista, conforme julgar mais apropriado.

E logo temos uma versão mais complexa, com mais critérios e orientações, elaborado e compartilhado por um membro anônimo da comunidade.

ChatGPT, gostaria de solicitar sua assistência na criação de um reescritor de prompts com inteligência artificial que possa me ajudar a reescrever e refinar prompts que pretendo usar com você, para obter respostas aprimoradas. Para isso, peço que siga as diretrizes e técnicas descritas abaixo para garantir que os prompts reformulados sejam mais específicos, contextuais e fáceis de entender.

Identificar o assunto principal e o objetivo: examine o prompt original e identifique seu assunto principal e objetivo pretendido. Certifique-se de que o prompt reescrito mantenha esse foco enquanto fornece clareza adicional.

Adicionar contexto: enriqueça o prompt original com informações relevantes, contexto histórico ou exemplos específicos, facilitando a compreensão do assunto e proporcionando respostas mais precisas.

Garantir especificidade: reescreva o prompt de maneira a restringir o tópico ou a questão, tornando-o mais preciso e direcionado. Isso pode envolver especificar um período, localização ou um conjunto de condições que se aplicam ao assunto.

Usar linguagem clara e concisa: assegure-se de que o prompt reescrito use uma linguagem simples e inequívoca para transmitir a mensagem, evitando jargões ou vocabulário excessivamente complexo. Isso ajudará a compreender melhor o prompt e fornecer respostas mais precisas.

Incorporar perguntas abertas: se o prompt original contiver uma pergunta sim/não ou uma consulta que possa levar a uma resposta limitada, considere reformulá-lo em uma pergunta aberta que incentive uma resposta mais abrangente e informativa.

Evitar perguntas tendenciosas: certifique-se de que o prompt reescrito não contenha nenhum viés ou suposições que possam influenciar sua resposta. Em vez disso, apresente a pergunta de maneira neutra para permitir uma resposta mais objetiva e equilibrada.

Fornecer instruções quando necessário: se o resultado desejado requer um formato, estilo ou estrutura específicos, inclua instruções claras e concisas no prompt reescrito para orientar a geração da resposta.

Garantir que o comprimento do prompt seja apropriado: ao reescrever, certifique-se de que o prompt não seja muito curto nem muito longo. Um prompt bem elaborado deve ser longo o suficiente para fornecer contexto e clareza suficientes, mas conciso o suficiente para evitar confusão ou perda de foco.

Com essas diretrizes em mente, gostaria que você se transformasse em um reescritor de prompts, capaz de refinar e aprimorar qualquer prompt fornecido para garantir que eles eliciem as respostas mais precisas, relevantes e abrangentes ao serem usados com você. Por favor, forneça um exemplo de como você reescreveria um prompt dado com base nas instruções fornecidas acima.

Aqui está meu prompt: [INSERIR PROMPT AQUI]

Reflexão

Ao pesquisar e escrever sobre meta-prompt, cheguei a uma conclusão perturbadora: neste exato momento está ocorrendo uma outra dimensão de meta-prompting, na medida em que todos prompts que utilizamos, incluindo os submodelos especializados para tarefas específicas (por exemplo os GPTs do ChatGPT) estão servindo como dados para as empresas treinarem seus modelos.

Como em qualquer produto tecnológica, a tendência é que o uso destas IAs seja cada vez mais opaco e ao mesmo facilitadopara o usuário. No futuro, não vamos precisar mais escrever prompts detalhados, com regras, limitações, contexto, etc. Bastará dizer o objetivo e a IA se baseará em todo conhecimento que nós estamos criando e, dando de graça, pare elas.

Lembrem que vocês leram aqui primeiro.

Sujando o Macacão

Seguindo nossa temática, encontrei uma outra forma de meta-prompting que é a geração de conteúdos específicos de um prompt, a partir da “criatividade da IA”. O método foi exemplificado com o planejamento e execução de um ensaio fotográfico de moda e pode ser consultado aqui.

Mas para mantermos proximidade com nossa temática, vou recriar no contexto pedagógico. Digamos que eu queira gerar uma imagem sobre uma situação numa escola. Para isso vou seguir os seguintes passos:

A técnica expande as possibilidades expressivas, principalmente para quem não sabe exatamente o que pedir. Contudo não diria que é criativa (daí as aspas no primeiro parágrafo), sendo basicamente uma análise combinatória dos vários elementos.

Após algumas tentativas e alguns desentendimentos, cheguei a este exemplo.

Seguem os prompts usados e alguns resultados:

1. Gostaria de criar as situações no contexto de uma escola para a geração de imagens que possam ser utilizadas numa discussão, a partir de critérios como: personagens (professores, alunos, diretor, funcionários), cenário (sala de aula, quadra poliesportiva, biblioteca, pátio, sala do diretor), tipo de interação (conflito, colaboração, ensino-aprendizagem, diversão), temas transversais (inclusão educacional, diversidade cultural, Direitos Humanos). As situações devem ser apresentadas numa tabela.

2. A partir da tabela, por favor gere 10 prompts para geração de imagens. Você pode variar o estilo artístico, cores e tons, perspectiva e ângulo. Para todos, utilize “melhor qualidade” e “alta resolução”. Considere o seguinte modelo, onde os números representam o peso atribuído a cada elemento durante a geração:

(funcionários, alunos:1.4), (pátio:1.2), (colaboração:1.1), (inclusão educacional:1.3)

E os resultados:

Sair da versão mobile