1 pontos por GN⁺ 2024-02-02 | 1 comentários | Compartilhar no WhatsApp
  • É uma página web simples para montar prompts do ChatGPT preenchendo lacunas
  • O template orienta a inserir, em sequência, papel, resultado necessário, modo de execução, condições, solicitações e formato final de saída
  • A área de exemplo também repete a mesma estrutura para mostrar o formato do prompt concluído
  • No momento, os exemplos reais estão vazios e só aparece a instrução para “usar o builder para criar um prompt”
  • Pelas funções visíveis, parece mais um modelo de frases para um construtor de prompts do que uma configuração complexa

Montagem de prompts baseada em lacunas

  • A página, sob o título LLM Prompting, permite que o usuário crie um prompt unindo trechos de frase
  • O fluxo de entrada é composto pelos seguintes trechos
    • Act like a ,
    • I need a ,
    • you will ,
    • in the process, you should ,
    • please ,
    • input the final result in a ,
    • here is an example:

Estado atual exibido

  • A mesma estrutura de prompt também se repete na área de exemplo
  • O conteúdo real de exemplo ainda não foi preenchido
  • Ao final, aparece a mensagem [Empty prompt, use the builder to create a prompt]
  • Pelo conteúdo fornecido, a função principal é um template de geração de prompts baseado em lacunas

1 comentários

 
GN⁺ 2024-02-02
Opiniões do Hacker News
  • Fico me perguntando se as pessoas ainda usam prompts personalizados com frequência hoje em dia
    Antes, os resultados ficavam muito melhores, então eu estava bem mergulhado em engenharia de prompts e na criação de prompts personalizados, mas a cada atualização mudava a forma de direcionar efetivamente a atenção do ChatGPT, e isso foi ficando cada vez mais trabalhoso
    Hoje às vezes uso ChatGPTs personalizados, mas na maior parte uso o ChatGPT padrão, e sinto que a diferença de qualidade também diminuiu
    Prompts longos aumentam demais o tempo de resposta, então passei a preferir uma resposta boa o suficiente e rápida a uma resposta melhor, porém lenta. Em vez de tentar obter a resposta perfeita de uma vez, acho mais fácil fazer perguntas de acompanhamento quando algo fica faltando

    • Acho que agora deveríamos ver isso mais como pegar o jeito dos prompts do que como “engenharia de prompts”. Engenharia de prompts de verdade, por exemplo testes A/B com avaliações acopladas, é surpreendentemente escassa e, muitas vezes, nem é a forma de pensar adequada desde o início
      É preciso desenvolver intuição sobre o ChatGPT e pensar, quase como uma teoria da mente, no que o ChatGPT precisa para funcionar melhor
      Para a maioria das pessoas, saber editar prompts já basta para usar bem o ChatGPT. Isso é praticamente um recurso oculto e ainda não dá para fazer no app
      Talvez estar sóbrio não seja o estado ideal para aprender a interagir com IA, então eu também recomendaria um coquetel forte ou maconha, mas essa última afirmação exige um experimento controlado
    • Mesma experiência aqui. Eles provavelmente continuam fazendo ajuste fino do modelo com conversas de usuários reais, e por isso parece que ele entende cada vez melhor até prompts escritos às pressas no celular
    • É interessante que a resposta fique mais lenta quanto mais longa é a entrada. Eu nunca percebi nenhuma perda de velocidade; será que isso acontece só no plano gratuito do ChatGPT?
    • Cancelei minha conta depois que fizeram com que não fosse mais possível desativar o acesso ao Bing no ChatGPT4
    • Não acho que isso signifique ter se envolvido profundamente com “engenharia de prompts”. Acho que engenharia de prompts não era, não é e não será um campo com substância própria
  • Para ser realmente útil para quem está entrando agora nessa área, algumas coisas seriam necessárias. Algumas já foram implementadas, o que é bom
    Seria bom oferecer vários templates tanto para instruções prévias quanto para prompts de pós-processamento. Por exemplo, prompts validados que façam a saída seguir ao máximo um formato específico, como JSON, lista ou CSV restrito, ou templates de entrada que tentem bloquear ao máximo jailbreaks básicos no prompt principal
    Leva tempo para aprender do zero as melhores formas de aquecimento que pessoas que lidam com ChatGPT todos os dias já descobriram, ou maneiras de evitar explosões inesperadas de saída; por isso, templates confiáveis seriam excelentes para iniciantes

    • Respostas de API que precisam de JSON válido podem ser solicitadas no modo JSON: https://platform.openai.com/docs/api-reference/chat/create#c...
    • Quando eu queria receber a resposta como JSON válido, uma instrução forte desse tipo funcionou bem
      “O resultado deve conter todo o conteúdo e ser JSON válido. Em nenhuma circunstância fuja deste formato. Todos os valores devem estar completos e nada deve ser omitido. Não adicione nenhum texto além do resultado JSON.”
      Simplesmente pedir JSON válido nem sempre saía como esperado; por exemplo, a API do GPT-4 às vezes acrescentava formatação, então fui deixando as instruções cada vez mais detalhadas
  • Estou bastante envolvido agora com trabalhos relacionados ao ChatGPT e criando 1 a 2 apps por semana, então posso estar um pouco enviesado
    Se o usuário-alvo esperado for alguém que não está familiarizado com modelos de linguagem de grande porte baseados em prompts, então, para essa pessoa, nem o problema nem o espaço de soluções estão definidos de forma suficientemente clara
    Por exemplo, faltam opções predefinidas e há coisas demais do tipo “defina você mesmo”. O significado dos seletores oferecidos também é opaco; por exemplo, é difícil saber como “you will Detect” ajuda o usuário
    Como resultado, fica pouco claro como as escolhas afetam a saída, e a ferramenta vira um problema do ovo e da galinha. Ela diz ajudar a entender o sistema, mas, para usá-la de forma eficaz, é preciso entender o sistema
    Nesse nível, talvez seja mais fácil simplesmente pedir ao ChatGPT para criar um prompt eficaz

    • Presumi que o usuário-alvo conhecesse um pouco modelos de linguagem de grande porte baseados em prompts e precisasse de alguma orientação. Nesse caso, isso me parece um framework excelente e simples para melhorar a habilidade
    • Nunca fiz um projeto de menos de alguns meses, então fico curioso para saber que tipo de app dá para criar em meia semana. Você tem algum link para compartilhar?
  • Quando conversamos com esses bots, com quem exatamente estamos conversando?
    https://medium.com/@colin.fraser/who-are-we-talking-to-when-...
    Apresentar essa tecnologia em uma interface de chat antropomorfizada, isto é, fazendo-a parecer vestida de pessoa, é uma escolha deliberada. Se houvesse uma inteligência artificial geral presa lá dentro, interagir por uma interface de chat poderia parecer natural
    Mas, inversamente, é fácil pensar que uma tecnologia com a qual interagimos por uma interface de chat deve ser uma inteligência artificial geral. Ao lidar diretamente com modelos de linguagem de grande porte no Playground, o chat é apenas uma camada de fumaça e espelhos que reforça a ilusão de que há um interlocutor

    • GPT é, acima de tudo, um ator de improviso. Ele foi treinado para continuar o texto dado da forma mais natural possível e, por isso, quando não sabe o que deveria vir em seguida, inventa algo plausível
      Depois, esse ator de improviso universal é treinado para representar um papel específico: alguém que responde a perguntas. Só que, se deixarem que ele responda qualquer pergunta, podem sair conselhos nocivos, então ele é treinado como um respondedor de perguntas que dá conselhos inofensivos
      Para fazer o modelo trabalhar, é preciso saber que papel ele deve desempenhar. O papel de “pessoa que tenta responder a perguntas” é flexível e permite personalizar melhor as respostas
      Ou seja, a interface conversacional existe em parte porque é uma UI autoexplicativa, e em parte para induzir o modelo a desempenhar um papel útil
  • Isto não parece estar ligado especificamente ao ChatGPT. É só um formulário que permite clicar em blocos de texto e combiná-los, e acho que poderia ser usado com qualquer modelo de linguagem de grande porte
    Acho que ficar obcecado por um único modelo de linguagem de grande porte de um provedor proprietário específico não ajuda o avanço da área

    • Exato. Claramente não é exclusivo para ChatGPT; está mais para um formulário que preenche partes de frases. Ainda assim, ChatGPT é um dos nomes mais fáceis de reconhecer e parece gerar melhor saídas em vários formatos
      Este construtor de prompts pode ser usado com qualquer modelo de linguagem de grande porte
  • Seria bom ter uma análise real de como cada recurso do prompt melhora a resposta

    • Fazendo um pouco de divulgação, talvez exista uma ferramenta assim :) https://github.com/agenta-ai/agenta
      Estamos criando uma plataforma para avaliar prompts e fluxos de trabalho mais complexos com modelos de linguagem de grande porte
      Pelo que vemos com os usuários, os resultados dos prompts são muito probabilísticos. É difícil generalizar; por exemplo, um usuário que estava criando uma ferramenta de apoio a vendas descobriu que apenas mudar a ordem das frases no prompt aumentou bastante a precisão
    • Em uma nota de rodapé de um post do mês passado, escrevi que colocar no prompt de sistema “se você der uma boa resposta, vou te dar uma gorjeta de 500 dólares” melhora o desempenho do modelo, e no Hacker News ficaram muito irritados e chamaram isso de pseudociência: https://news.ycombinator.com/item?id=38782678
      Estou preparando um novo texto que mostra esse efeito de forma mais acadêmica
    • Infelizmente, isso é extremamente difícil por dois motivos
      Primeiro, o espaço de entrada é quase infinito. Entradas arbitrárias em linguagem natural, fontes de dados opcionais e casos de uso arbitrários são todos possíveis, então é muito difícil saber de antemão se uma resposta pode ser “melhorada” antes de aplicar a um caso de uso real
      Segundo, o espaço de saída também é difícil de medir. Utilidade pode ser definida de formas diferentes por cada pessoa, e fica ainda mais complicado especialmente quando se começa a criar resultados criativos com GPT, indo além de um “mecanismo de busca melhor”
  • Nunca entendi o significado de “engenharia de prompt”. No fim, fico pensando se isso algum dia foi além de “você consegue explicar de forma clara e precisa o problema que quer resolver ou a tarefa que quer executar?”. Parece uma habilidade de comunicação básica
    Nunca vi dados rigorosos mostrando que um formato específico de prompt, como “você é B, faz C e deve fazer D”, seja melhor do que outras instruções claras e concisas
    É curioso terem dado um nome novo ao que antes chamávamos de boa capacidade de comunicação, mas talvez o velho estereótipo de que engenheiros escrevem mal esteja mais próximo da verdade

  • Fico me perguntando se o padrão “aja como ~” ainda é necessário
    No GPT-4, parei de usar isso. A “persona” padrão responde bem o bastante à maioria dos prompts, e dizer “aja como um especialista em ...” não produz resultados visivelmente melhores
    A ferramenta que eu realmente queria seria uma forma leve, mas eficaz, de testar e comparar vários prompts com pequenas alterações para ter uma noção de qual é melhor. Fico curioso se alguém já viu uma boa ferramenta assim

    • Fiquei curioso se você quer testar vários prompts contra um conjunto de perguntas. Não encontrei uma ferramenta exatamente para esse propósito; quando comparo prompts, rodo perguntas e prompts repetidamente com um script curto
      Seria interessante criar uma ferramenta em que bastasse adicionar os prompts a testar, mas o primeiro desafio que me vem à mente é criar o conjunto de perguntas a usar
      Também fico curioso se, quando você fala em testar prompts, quer dizer testar prompts de sistema contra um conjunto de perguntas ou testar a mesma pergunta feita de várias maneiras
    • Acho que esse padrão já não é muito útil
      E, quando eu criar uma ferramenta dessas e ela estiver pronta, mando DM pelo Twitter
  • Em geral, parece que quanto mais longa é a lista de instruções, menor a chance de o ChatGPT seguir cada instrução. Dá a impressão de que a atenção se divide: se você diz apenas “faça A”, ele faz A, mas se diz “faça A e também B”, ele faz as duas coisas, porém cada uma só parcialmente
    Minha melhor experiência foi usar prompts curtos ou de tamanho médio e, em seguida, exemplos one-shot ou few-shot. Few-shot é especialmente bom quando se quer pedir várias coisas ao mesmo tempo