Apresentação no HN: gerador simples de prompts para ChatGPT
(mitenmit.github.io)- É 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
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
É 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
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
“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
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
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
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
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
Estou preparando um novo texto que mostra esse efeito de forma mais acadêmica
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
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
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