O encadeamento de prompts é uma técnica de processamento de linguagem natural (PLN), que utiliza grandes modelos de linguagem (LLMs) que envolvem a geração de uma saída desejada seguindo uma série de prompts. Nesse processo, uma sequência de prompts é fornecida a um modelo PLN, orientando-o para produzir a resposta desejada. O modelo aprende a compreender o contexto e as relações entre os prompts, permitindo-lhe gerar texto coerente, consistente e rico em contexto.[1]
O conceito é uma implementação avançada da engenharia de prompts. Ele tem ganhado grande destaque no campo do PLN, devido à sua capacidade de melhorar a qualidade e a controlabilidade da geração de texto. Uma cadeia de prompt eficaz pode ser implementada como técnica de engenharia em vez de outras abordagens, como modelos personalizados zero-shot, few-shot ou ajustados [2]. Ao fornecer uma direção e estrutura claras, o encadeamento de prompts ajuda o modelo a compreender melhor as intenções do usuário e gerar respostas mais precisas e relevantes.
O encadeamento de prompts pode aumentar a eficácia da assistência por IA em diversos domínios. Ao dividir tarefas complexas em prompts menores e encadeá-los, os desenvolvedores podem criar respostas mais personalizadas e precisas, adaptadas às necessidades individuais dos usuários. Essa abordagem melhora a experiência geral do usuário e permite maior personalização e adaptabilidade para responder às mudanças nas necessidades dos usuários ou nos cenários de aplicação.[3]
Há dois tipos principais de prompts gerados no trabalho com LLMs. São eles:
São prompts básicos contendo uma única instrução ou pergunta para o modelo responder. Normalmente são utilizados para iniciar uma conversa ou para solicitar informações. Um exemplo de um prompt simples seria: "Como está o tempo hoje?"
Esses prompts contêm várias instruções ou perguntas que exigem que o modelo execute uma série de ações ou apresente uma resposta detalhada. São frequentemente utilizados para facilitar tarefas mais avançadas ou para envolver em conversas mais profundas. Um exemplo de prompt complexo seria: "Estou procurando um restaurante que sirva comida vegana e esteja aberto até as 22h. Você pode recomendar um?"
A conversão de um prompt complexo em uma série de prompts simples pode ajudar a dividir uma tarefa complexa em subtarefas menores. Essa abordagem pode facilitar para os usuários a compreensão das etapas necessárias para concluir uma solicitação e reduzir o risco de erros ou mal-entendidos.
Considere o cenário em que temos informações no idioma espanhol. Precisamos extrair as informações do idioma, mas não entendemos espanhol. Primeiro, precisamos traduzir o texto do espanhol para o inglês. Em seguida, precisamos fazer uma pergunta para extrair as informações e depois traduzir as informações extraídas do inglês para o espanhol novamente. Essa é uma tarefa complexa e, se tentarmos combinar essas etapas em uma única instrução, ela ficará muito complexa, aumentando posteriormente a probabilidade de mais erros na resposta. Consequentemente, é melhor converter um prompt complexo em uma sequência de prompts simples. Algumas etapas para fazer isso:
Aqui, nosso prompt complexo é: "Considere o texto entregue em espanhol. Traduza para o inglês. Encontre todas as estatísticas e fatos utilizados neste texto e liste-os como marcadores. Traduza-os novamente para o espanhol".
Para converter esse prompt complexo em prompts simples, podemos dividir o objetivo principal em ações ou tarefas menores e podemos criar uma cadeia de prompts conforme abaixo:
Um encadeamento estruturado de prompts é um conjunto pré-definido de prompts ou perguntas, projetado para guiar um usuário em uma conversa ou sequência de ações específicas, garantindo um fluxo de informações consistente e controlado.[4] Esse método é frequentemente utilizado em suporte ao cliente, tutoria e outros sistemas interativos, mantendo clareza, precisão e eficiência na interação. Os prompts dentro de uma cadeia são tipicamente interligados, permitindo que o sistema se baseie em respostas anteriores e mantenha o contexto. Isso pode reduzir ambiguidades, melhorar a satisfação do usuário e possibilitar uma comunicação mais eficaz entre humanos e máquinas.
Comece reunindo um grupo de prompts escritos previamente que possam ser personalizados para vários cenários. Esses modelos devem abranger tarefas, solicitações e perguntas comuns que os usuários podem encontrar.
Identifique as principais perguntas ou instruções que precisam ser transmitidas na cadeia de prompts. Esses prompts devem ser simples, claros e diretos, e devem ser capazes de se manter sozinhos como prompts individuais.
Determine as informações ou ações específicas que o usuário precisa apresentar em resposta a cada prompt. Essas entradas devem ser claramente definidas e fáceis de entender e devem estar vinculadas às instruções correspondentes na cadeia de instruções.
Use a biblioteca de referência e os prompts primários para criar a cadeia completa de prompts. É importante que cada prompt esteja logicamente vinculado ao próximo e que o usuário receba as entradas necessárias nos pontos apropriados da sequência.
Depois que a cadeia de prompts tiver sido criada, teste-a minuciosamente para garantir que seja fácil de entender e concluir. Peça a uma amostra de usuários para concluir a cadeia de prompts e coletar feedback sobre quaisquer áreas de melhoria.
Com base no feedback recebido durante o teste, faça os ajustes ou melhorias necessários na cadeia de prompts. Isso pode incluir reescrever determinados prompts, adicionar ou remover prompts ou alterar a ordem em que os prompts são apresentados.
Seguindo essas etapas, os representantes de atendimento ao cliente e programadores podem criar cadeias de prompt eficazes e eficientes que ajudam a orientar os usuários por meio de uma série de ações ou tarefas.
O encadeamento de prompts oferece várias vantagens em relação aos métodos tradicionais utilizados na engenharia de prompts. Ao orientar o modelo por meio de uma série de prompts, o encadeamento de prompts aumenta a coerência e a consistência na geração de texto, levando a resultados mais precisos e envolventes.
Ao exigir que o modelo siga uma sequência de prompts, o encadeamento de prompts ajuda a manter a consistência na geração de texto. Isso é particularmente importante em aplicações que exigem manutenção de um tom, estilo ou formato consistente, como suporte ao cliente ou funções editoriais.[5]
No suporte ao cliente, o encadeamento de prompts pode ser utilizado para garantir uma comunicação uniforme com os usuários. Por exemplo, o bot pode ser instruído a se dirigir ao usuário usando seu nome preferido ou seguir um tom de voz específico durante a conversa.
O encadeamento de prompts proporciona maior controle sobre a geração de texto, permitindo que os usuários especifiquem o resultado desejado com precisão. Isso é especialmente útil em situações em que os dados de input são ruidosos ou ambíguos, pois o modelo pode ser orientado a esclarecer ou refinar o input antes de gerar uma resposta.[6]
Em um sistema de resumo de texto, o encadeamento de prompts permite que os usuários controlem o nível de detalhe e especificidade no resumo gerado. Por exemplo, o usuário pode primeiro ser instruído a apresentar o conteúdo que está interessado em resumir, como um artigo de pesquisa. Um prompt subsequente pode seguir para formatar esse resumo em um formato ou modelo específico.
O encadeamento de prompts ajuda a reduzir taxas de erro ao fornecer ao modelo melhor contexto e inputs mais focados. Um encadeamento estruturado de prompts reduz o esforço humano e valida códigos e saídas mais rapidamente. Ao dividir a entrada em prompts menores e mais gerenciáveis, o modelo pode compreender melhor a intenção do usuário e gerar respostas mais precisas e relevantes.[7]
Em um sistema de tradução automática, antes de traduzir uma frase, o sistema pode primeiro instruir que o usuário especifique o idioma de origem, o idioma de destino e qualquer contexto ou terminologia relevante. Isso ajuda o modelo a entender melhor o texto de origem e gerar uma tradução precisa.
Ao aproveitar essas vantagens, o encadeamento de prompts tem a possibilidade de melhorar consideravelmente o desempenho e a eficácia dos modelos de PNL em várias aplicações, desde o suporte ao cliente até a tradução simplificada de editoriais e idiomas.
O encadeamento de prompts é uma técnica versátil que pode ser aplicada a uma ampla gama de casos de uso, principalmente em duas categorias: resposta a perguntas e tarefas de várias etapas.
Como o próprio nome sugere, as tarefas de resposta a perguntas apresentam respostas a perguntas frequentes feitas por humanos. O modelo automatiza a resposta com base no contexto de documentos normalmente encontrados em uma base de conhecimento. Os aplicativos comuns são:
Como seria de se esperar, as tarefas de várias etapas são compostas por uma sequência de etapas para atingir um determinado objetivo. Alguns exemplos disso são:
O encadeamento de prompts é uma técnica poderosa que pode ser utilizada em uma variedade de aplicações em tempo real para ajudar a orientar usuários e profissionais por meio de uma série de ações ou tarefas. Dividindo tarefas complexas em uma série de prompts mais simples, o encadeamento de prompts pode ajudar a garantir que usuários e profissionais entendam as etapas necessárias para concluir uma solicitação e proporcionar uma melhor experiência geral. Seja utilizado em atendimento ao cliente, programação ou educação, o encadeamento de prompts pode ajudar a simplificar processos complexos e melhorar a eficiência e a precisão.
Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.
Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.
Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.
Aprenda como os CEOs podem equilibrar o valor que a IA generativa pode criar com o investimento que ela exige e os riscos que ela introduz.
Aprenda conceitos fundamentais e desenvolva suas habilidades com laboratórios práticos, cursos, projetos guiados, avaliações e muito mais.
Saiba como incorporar com confiança a IA generativa e o aprendizado de máquina em sua empresa.
Quer ter mais retorno sobre seus investimentos em IA? Saiba como o dimensionamento da IA generativa em áreas importantes promove mudanças, ajudando suas melhores mentes a criar e oferecer soluções novas e inovadoras.
Entrevistamos duas mil organizações a respeito de suas iniciativas de IA para descobrir o que está funcionando, o que não está e como se preparar.
O IBM® Granite é nossa família de modelos de IA abertos, de alto desempenho e confiáveis, personalizados para a empresa e otimizados para escalar suas aplicações de IA. Explore as opções de linguagens, código, séries temporais e proteções.
Saiba como selecionar o modelo de base de IA mais adequado para seu caso de uso.
Aprofunde-se nos três elementos críticos de uma estratégia de IA forte: gerar vantagem competitiva, escalar a IA em toda a empresa e avançar na IA confiável.
[1] | Pengfei Liu, W. Y. (2021). Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing. ACM Computing Surveys. |
Gunwoo Yong, K. J. (2022). Engenharia de prompts para detecção e classificação de defeitos zero e poucos disparos usando um modelo treinado previamente em linguagem visual. | |
O. Marchenko, O. R. (2020). Improving Text Generation Through Introducing Coherence Metrics. Cybernetics and Systems Analysis. | |
Zhifang Guo, Y. L. (2022). Prompttts: Controllable Text-To-Speech With Text Descriptions. Zhifang Guo, Yichong Leng, Yihan Wu, Sheng Zhao, Xuejiao Tan. | |
Jason Wei, X. W. (2022). Os prompts que seguem uma sequência de ideias leva ao raciocínio em grandes modelos de linguagem. | |
Mero, J. (2018). The effects of two-way communication and chat service usage on consumer attitudes in the e-commerce retailing sector. Electronic Markets. | |
Yu Cheng, J. C. (2023). Prompt Sapper: A LLM-Empowered Production Tool for Building AI Chains. ACM Transactions on Software Engineering and Methodology. | |
Tongshuang Sherry Wu, E. J. (2022). PromptChainer: Chaining Large Language Model Prompts through Visual Programming. CHI Conference on Human Factors in Computing Systems Extended Abstracts. | |
Shwetha Sridharan, D. S. (2021). Adaptive learning management expert system with evolving knowledge base and enhanced learnability. Education and Information Technologies. | |
Boshi Wang, X. D. (2022). Iteratively Prompt Pre-trained Language Models for Chain of Thought. Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing. | |
M. Rice, K. M. (2018). Evaluating an augmented remote assistance platform to support industrial applications. IEEE 4th World Forum on Internet of Things (WF-IoT). | |
Cynthia A. Thompson, M. G. (2011). A Personalized System for Conversational Recommendations. J. Artif. Intell. Res. | |
Qing Huang, J. Z. (2023). PCR-Chain: Partial Code Reuse Assisted by Hierarchical Chaining of Prompts on Frozen Copilot. IEEE/ACM 45th International Conference on Software Engineering: Companion Proceedings (ICSE-Companion). | |
Yafeng Gu, Y. S. (2023). APICom: Automatic API Completion via Prompt Learning and Adversarial Training-based Data Augmentatio. Proceedings of the 14th Asia-Pacific Symposium on Internetware. |