# Engenharia de prompts

Engenharia de pompts (em inglês: Prompt Engineering) é uma disciplina emergente no campo da inteligência artificial que se dedica à criação e otimização de instruções, conhecidas como prompts, para orientar modelos de linguagem generativa, como o GPT-3 e GPT-4, a produzirem respostas mais precisas e relevantes. Essa prática envolve a elaboração de comandos claros e contextuais, visando maximizar a eficácia das respostas geradas pelos modelos de IA.
Com o avanço dos modelos de IA baseados em aprendizado profundo, a engenharia de prompts tornou-se essencial em diversas aplicações, incluindo assistentes virtuais, geração automatizada de texto, programação assistida por IA e criação de arte digital. A qualidade das instruções fornecidas influencia diretamente a eficácia e a utilidade das respostas geradas, destacando a importância dessa disciplina na interação humano-máquina.
Tanto pesquisadores quanto profissionais que trabalham com IA generativa utilizam a engenharia de prompts para aprimorar o desempenho dos modelos sem a necessidade de ajustes complexos no treinamento. O desenvolvimento contínuo dessa área promete métodos mais eficientes para guiar inteligências artificiais, tornando-as mais acessíveis e úteis em diversos setores.

## História

Engenharia de prompts é uma prática desenvolvida por volta de 2022, impulsionada pelo avanço da inteligência artificial generativa (IA generativa), notadamente com o desenvolvimento de modelos de linguagem como o GPT-3, criado pela OpenAI. A técnica visa melhorar a interação entre humanos e sistemas de IA, assegurando respostas mais precisas e alinhadas às expectativas dos usuários.
Segundo o artigo do Instituto de Tecnologia e Sociedade do Rio, a engenharia de prompts envolve formular comandos claros e específicos para orientar inteligências artificiais na geração de conteúdo de alta qualidade. Esta prática depende de formatos, termos, expressões e símbolos que direcionam eficientemente a IA durante interações com usuários.
A evolução da engenharia de prompts acompanhou o avanço de modelos de linguagem e geração de imagens, como o GPT e o DALL·E, desenvolvidos pela OpenAI. Estes modelos permitem aos usuários criar textos e imagens a partir de descrições textuais detalhadas, dependendo da precisão e clareza dos prompts fornecidos.
A OpenAI publicou um guia abrangente sobre engenharia de prompts, destacando estratégias para otimizar a interação com modelos como o GPT-4. Lançado em 17 de dezembro de 2023, o guia detalha técnicas para refinar prompts e melhorar a eficácia da IA. Avanços recentes, como o DALL·E 3, têm simplificado interações com prompts menos complexos, permitindo uma abordagem mais intuitiva e conversacional.

## Benefícios

* Controle e Direcionamento: Prompts bem elaborados fornecem contexto e intenção aos modelos de IA, permitindo uma compreensão mais precisa das necessidades dos usuários e respostas mais alinhadas às expectativas.
* Eficiência na Interação: Instruções claras reduzem ambiguidades, facilitando comunicações fluidas e eficientes. Em contextos como atendimento ao cliente, respostas rápidas e precisas são cruciais.
* Personalização: Através de prompts específicos, é possível adaptar respostas de IA ao contexto ou perfil do usuário, oferecendo uma experiência mais personalizada e satisfatória.

## Desafios e limitações
### Viés nos modelos de IA

O viés em modelos de Inteligência Artificial é um dos principais desafios contemporâneos. Isso ocorre quando o modelo reflete preconceitos ou distorções presentes nos dados de treinamento, resultando em respostas injustas, discriminatórias ou imprecisas. Esse problema pode surgir de diversas fontes, sendo uma delas a tendência nos dados de treinamento. Se as informações utilizadas contêm preconceitos históricos ou culturais, o modelo aprende e reproduz esses vieses. Por exemplo, um modelo treinado com textos que associam certas profissões a um gênero específico pode reforçar estereótipos, como a ideia de que enfermeiras são sempre mulheres e engenheiros são sempre homens (Mehrabi et al., 2021).
Outra fonte frequente de viés são as falhas na coleta de dados. Dados desequilibrados ou a falta de representação de determinados grupos podem resultar em modelos que não atendem igualmente a todos os usuários. Um caso emblemático é o dos sistemas de reconhecimento facial, que frequentemente apresentam desempenho inferior para indivíduos de pele mais escura devido à falta de diversidade nos dados de treinamento. Isso ocorre porque, se o modelo foi treinado predominantemente com imagens de pessoas de pele clara, ele pode apresentar dificuldades para reconhecer rostos de outros tons de pele, resultando em taxas de erro mais altas para grupos sub-representados (Sambasivan et al., 2021).

### Dependência do treinamento do modelo

A dependência do treinamento do modelo é um fator crucial para o desempenho dos sistemas de inteligência artificial, mas também apresenta desafios consideráveis. A qualidade e a variedade dos dados de treinamento são fundamentais, pois informações incompletas, desatualizadas ou ruidosas podem comprometer a precisão do modelo. Por exemplo, um modelo de tradução treinado com textos mal traduzidos pode gerar resultados imprecisos. Ademais, a coleta, limpeza e organização de grandes volumes de dados são processos dispendiosos e demorados, exigindo investimentos significativos de tempo e recursos. Além disso, a necessidade de atualização constante dos modelos para mantê-los relevantes aumenta a complexidade e os custos (Zhang et al., 2021).

### Dificuldade na generalização

A dificuldade na generalização é uma das restrições mais desafiadoras dos modelos de Inteligência Artificial. Ela refere-se à capacidade de um modelo de apresentar bom desempenho em cenários novos e desconhecidos após o treinamento. Uma das causas mais comuns é o overfitting, que ocorre quando o modelo se ajusta excessivamente aos dados de treinamento, capturando até mesmo ruídos, o que prejudica seu desempenho em dados novos. Por exemplo, um modelo de reconhecimento de imagens pode aprender a identificar gatos apenas em determinadas posições vistas durante o treinamento, sem generalizar para outras variações.
Outro desafio é o underfitting, que acontece quando o modelo é muito simplificado e não consegue identificar padrões relevantes nos dados, levando a um desempenho insatisfatório tanto no treinamento quanto em novos cenários (Caruana, 1997).

## O Futuro da Engenharia de prompts

A automação na criação de prompts está transformando a maneira como interagimos com modelos de IA, permitindo a geração automática de instruções otimizadas, o que reduz a necessidade de intervenção humana. Isso é possível através de técnicas como aprendizado de reforço, geração de linguagem natural e o uso de bancos de dados com prompts pré-treinados. Um exemplo disso é o ChatGPT, que facilita a criação de prompts para usuários iniciantes. Em vez de exigir um comando detalhado, a IA pode perguntar *"Que tipo de resposta você deseja?"* e, com base na resposta do usuário, gerar automaticamente um prompt otimizado. Esse processo elimina a necessidade de conhecimentos técnicos avançados por parte do usuário.
A engenharia de prompts também é essencial na integração da IA com outras tecnologias, como assistentes virtuais, visão computacional e automação robótica. Essa integração facilita a interação entre sistemas diferentes de IA de maneira mais eficiente, sem a necessidade de ajustes manuais constantes. Nos assistentes de voz, como Alexa e Google Assistant, por exemplo, os prompts são combinados com modelos de reconhecimento de voz e processamento de linguagem natural, permitindo que eles interpretem e respondam comandos de maneira mais precisa. Isso faz com que um usuário consiga dizer *"Organize minha agenda e envie um resumo por e-mail"* e a IA compreenda automaticamente a sequência de ações, executando-a sem múltiplos comandos.
Além disso, a engenharia de prompts tem um impacto significativo na acessibilidade, tornando a IA mais intuitiva e acessível para pessoas sem conhecimento técnico e para aquelas com deficiência. Ferramentas assistivas, como o *Be My Eyes*, utilizam IA para interpretar imagens e fornecer respostas personalizadas por meio de prompts adaptativos. Por exemplo, um usuário com deficiência visual pode tirar uma foto de um cardápio e receber uma descrição detalhada em áudio, ajustada conforme suas necessidades. Essa tecnologia ajuda a tornar a IA mais inclusiva.