Engenharia de Prompt

From Systems analysis Wiki
Jump to navigation Jump to search

Engenharia de Prompt é a disciplina de desenvolvimento e otimização de prompts (consultas) para interagir eficazmente com grandes modelos de linguagem (LLM). A qualidade de um prompt determina diretamente a precisão, relevância e segurança da resposta do modelo. Esta área está evoluindo rapidamente, passando da seleção manual de instruções para a criação de sistemas de agentes complexos e o uso de modelos com mecanismos de raciocínio integrados.

Princípios básicos e estrutura de um prompt

Embora não exista um padrão único, prompts eficazes são construídos com base em abordagens comuns propostas por diferentes pesquisadores e empresas (por exemplo, as 6 estratégias da OpenAI ou os guias práticos da Anthropic).

  • Um prompt eficaz geralmente inclui os seguintes componentes:
    • Papel (Persona): Define o contexto e o estilo de comportamento do modelo ("Você é um pesquisador sênior...").
    • Instruções (Instructions): Indicações claras e passo a passo sobre o que deve ser feito.
    • Contexto (Context): Informações necessárias para executar a tarefa.
    • Exemplos (Examples): Demonstração do formato ou estilo desejado (few-shot prompting).
    • Formato de Saída (Output Format): Especificação da estrutura da resposta (por exemplo, JSON, Markdown).

Técnicas para melhorar o raciocínio (Reasoning)

Essas técnicas incentivam o modelo a "pensar" de forma mais estruturada. Observação importante (Emergência): A eficácia da técnica `Chain-of-Thought` só se manifesta em modelos grandes (≈100 bilhões de parâmetros ou mais); modelos menores apresentam um efeito insignificante ou até uma piora nos resultados.

  • Chain-of-Thought (CoT): Instrução para o modelo gerar um raciocínio passo a passo antes da resposta final ("Pense passo a passo").
  • Variações e alternativas ao CoT:
    • Self-Consistency: Geração de múltiplas cadeias de raciocínio e escolha da resposta mais frequente por meio de "votação".
    • Tree-of-Thoughts (ToT): Exploração de múltiplos caminhos de raciocínio em forma de árvore, com avaliação e retorno a passos anteriores.
    • Graph-of-Thought (GoT): Uma técnica avançada com duas implementações principais: uma modela o raciocínio como um grafo para fluxos lógicos mais flexíveis (Besta et al.), enquanto a outra foca na fusão de caminhos de raciocínio (Yao et al.).
  • Mecanismos de raciocínio integrados (Reasoning Models): Relata-se o desenvolvimento de uma nova geração de modelos (como o1 e o3 da OpenAI) que são treinados nativamente com cadeias de raciocínio internas. Isso permite que executem tarefas complexas sem a necessidade de prompts explícitos de CoT.

Gerenciamento de contexto e trabalho com memória

Com o aumento das janelas de contexto, surgem novos desafios e soluções.

  • Janelas de contexto (2024-2025):
Modelo Janela de contexto máxima
Google Gemini 2.0 Pro 2 milhões de tokens
Google Gemini 1.5 Pro 2 milhões de tokens
Anthropic Claude 3.5 Sonnet ~200 mil tokens
OpenAI GPT-4o ~128 mil tokens

A partir de março de 2025, o Google Gemini 2.5 Pro é apresentado com uma janela de contexto de 1 milhão de tokens, e a versão Pro-Experimental promete 2 milhões de tokens em maio de 2025.

  • Retrieval-Augmented Generation (RAG): O RAG clássico complementa o prompt com informações de bancos de dados externos. As implementações modernas incluem:
    • GraphRAG: Utiliza grafos de conhecimento para extrair dados semanticamente mais conectados.
    • RAG Multimodal: Opera não apenas com texto, mas também com imagens, áudio и vídeo.
    • Agentic RAG: Integra o RAG em ciclos de agentes, onde o agente decide autonomamente quando e que informação buscar.
  • Técnicas para contexto longo: Para trabalhar eficientemente com janelas grandes, são usadas técnicas avançadas, muitas vezes proprietárias, como Cascading KV Cache e Infinite Retrieval.

Técnicas avançadas: agentes e ferramentas

  • Uso de Ferramentas (Tool Usage):
    • Function Calling: Capacidade integrada em modelos (GPT-4, Claude 3.5) para chamar APIs externas.
    • Model Context Protocol (MCP): De acordo com alguns relatórios preliminares (requer confirmação), está em desenvolvimento um novo padrão para unificar as APIs de ferramentas, apoiado pela Microsoft.
  • Agentes e Frameworks (2024-2025):
    • LangChain (v0.3): Com o lançamento do LangChain v0.3 (setembro de 2024), o framework migrou completamente para o Pydantic 2 e encerrou o suporte ao Python 3.8, de acordo com o prazo de Fim de Vida (EOL) em outubro de 2024.[1]
    • AutoGen: Migrou completamente para uma arquitetura assíncrona e orientada a eventos (actor model).
    • CrewAI: Um framework de alto desempenho para orquestração de sistemas multiagente que está ganhando popularidade rapidamente.
  • Plataformas No-code: Ferramentas como o AutoGen Studio permitem criar e configurar agentes complexos sem escrever código.

Técnicas para redução de alucinações

Alucinações (geração de informações factualmente incorretas) continuam sendo um problema fundamental. Em 2024, seu nível varia de 3% a 16% nos principais modelos, e o prejuízo econômico causado por elas é estimado em dezenas de bilhões de dólares.

  • Métodos clássicos: RAG, solicitação de citações, ajuste de parâmetros de geração (temperatura, top-p).
  • Abordagens modernas de alinhamento (Alignment):
    • Constitutional AI (CAI): Método proposto pela Anthropic, no qual o modelo é treinado para seguir um conjunto de princípios ("constituição"), utilizando feedback gerado por IA.
    • Direct Preference Optimization (DPO): Uma alternativa mais simples e eficaz ao RLHF. Pesquisas sobre DPO em VLMs multimodais (por exemplo, para relatórios radiológicos) registram uma redução de 3 a 4,8 vezes nas alucinações.

Padrões de prompts: estado atual

Muitos padrões (Persona, Output Customization) permanecem relevantes.

  • Requerem reconsideração:
    • Fact Check List Pattern: Considerado pouco confiável. Os modelos têm dificuldade em verificar fatos por conta própria através de prompts e exigem integração com sistemas de verificação externos.
  • Novos padrões (2024-2025):
    • Meta-prompting: Uso de um LLM para gerar e otimizar prompts para outro LLM.
    • Mixture-of-Experts (MoE) Prompts: Criação de prompts que se dirigem dinamicamente a diferentes partes "especializadas" do modelo.
    • Padrões Multimodais: Estruturas de prompts que incluem texto, imagens e outros tipos de dados para consultas complexas.

Ligações externas

Literatura

  • Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. PDF.
  • Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
  • Li, X. L.; Liang, P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation. arXiv:2101.00190.
  • Liu, Y. et al. (2021). Fantastically Ordered Prompts and Where to Find Them: Overcoming Few-Shot Prompt Order Sensitivity. arXiv:2104.08786.
  • Bai, Y. et al. (2022). Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073.
  • Kojima, T. et al. (2022). Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916.
  • Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
  • Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
  • Zhang, Z. et al. (2022). Automatic Chain of Thought Prompting in Large Language Models. arXiv:2210.03493.
  • Zhou, D. et al. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. arXiv:2205.10625.
  • Besta, M. et al. (2023). Graph of Thoughts: Solving Elaborate Problems with Large Language Models. arXiv:2308.09687.
  • Madaan, A. et al. (2023). Self-Refine: Iterative Refinement with Self-Feedback. arXiv:2303.17651.
  • Rafailov, R. et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. arXiv:2305.18290.
  • Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761.
  • Wang, Y. et al. (2023). Self-Instruct: Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
  • Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
  • Chang, K. et al. (2024). Efficient Prompting Methods for Large Language Models: A Survey. arXiv:2404.01077.
  • Genkina, D. (2024). AI Prompt Engineering Is Dead. IEEE Spectrum. [2].
  • Li, Z. et al. (2024). Prompt Compression for Large Language Models: A Survey. arXiv:2410.12388.
  • Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
  • Li, W. et al. (2025). A Survey of Automatic Prompt Engineering: An Optimization Perspective. arXiv:2502.11560.
  • Wu, Z. et al. (2025). The Dark Side of Function Calling: Pathways to Jailbreaking Large Language Models. EMNLP 2025. PDF.
  • Yang, B. et al. (2025). Hallucination Detection in Large Language Models with Metamorphic Relations. arXiv:2502.15844.

Notas

  1. «LangChain v0.3». https://python.langchain.com/docs/versions/v0_3/.[1]