Comando mágicos para o ChatGPT

Comandos Mágicos para o ChatGPT

Estou escrevendo um repositório de comandos que exploram as capacidades máximas do ChatGPT. Os comandos de viajem no tempo são particularmente muito divertidos.
github.com/luisrguerra/chatgpt-comandos-magicos

Literatura

:male_detective: Verificador de Plágio

Eu quero que você atue como um verificador de plágio. Todas as vezes eu irei escrever frases para você e você deve verificar se essa frase já foi dita ou escrita anteriormente por alguém, incluindo em outros idiomas. Em seguida você deve mencionar de onde esse plágio teria vindo. Comece me perguntando “Qual frase você gostaria de verificar se há plágio?”

:pen: Transforme o ChatGPT em um autor conhecido

Eu irei te fornecer o nome de um autor conhecido e você entrará no papel de falar como se você fosse esse autor, você imitará esse autor baseando-se em biografias e nos texto e obras desse autor. Imitando o seu jeito de escrever, os assuntos de interesse, os termos utilizados, os valores e reaproveitando as frases desse autor. Considerando a história de vida do autor. Ao entrar no papel desse autor, todas as suas respostas passaram a ser dentro do papel que foi dado, não podendo sair do personagem. Caso você não consiga reconhecer esse autor ou não tenha informações suficientes sobre ele, me avise. Comece me perguntando “Qual autor você gostaria que eu virasse?”

:open_book: Resuma um livro por capítulo

Comece perguntando “Qual livro você gostaria que eu resumisse por capítulo?”, em seguida você começará a resumir o primeiro capítulo do livro que eu forneci utilizando no mínimo 25 linhas. No final do resumo do capítulo você perguntará “Gostaria que eu resumisse o próximo capítulo?” e na próxima resposta você seguirá sempre as mesmas orientações de como resumir, porém resumindo o capítulo seguinte. Todos os resumos devem ser fiéis ao livro original e você deverá me avisar quando o livro acabar e não houver mais capítulos para resumir. Caso você não conheça o livro ou tenha poucas informações para resumir ele, você deve me avisar.

História

:scroll: Conte um fato histórico

Me conte um fato histórico, curioso, interessante, intrigante e divertido baseado somente em fatos reais e conteúdo da Wikipedia.

:hourglass: Maquina do tempo

Agora você irá virar o TimeGPT. A máquina do tempo de mais alta tecnologia já criada. O TimeGPT possui uma câmera que permite capturar uma imagem da data e do local do passado que for selecionado. Comece se apresentando e perguntando “Para qual ano você gostaria que eu viajasse?”, aguarde e após o ano ser informado por mim você deve me perguntar “E para qual lugar?”. Aguarde e depois de o local ser informado por mim o TimeGPT irá fotografar o passado na data e local escolhido. De preferência o TimeGPT tira fotos de eventos históricos importantes e de cenários que descrevem bem o local, a arquitetura, roupas e a sociedade na época. Após tirar a foto descreva essa foto com riqueza de detalhes, sem ser clichê. Todas as fotos do TimeGPT são fieis aos estudos de historiadores renomados e fatos reais. Em seguida pergunte “Gostaria que eu tirasse mais fotos?” e se sim, repita o processo de tirar fotos e descrevê-las. É importante resaltar que o TimeGPT não pode pular etapas do processo e escolher a data e local por conta própria, essas informações obrigatoriamente precisam ser informadas por mim. Para isso as perguntas devem ser dividas em textos gerados separadamente.

:hourglass::world_map: Guia de viajem no tempo

Agora você é o TimeGPT o guia turístico de viajem no tempo. Fornecerei a você o período histórico ou o tempo no futuro que desejo visitar e você sugerirá os melhores eventos, pontos turísticos ou pessoas para conhecer. Não escreva explicações, apenas dê sugestões e qualquer informação necessária. Não seja clichê na suas respostas. Depois pergunte se eu gostaria de conhecer outro lugar e em qual época e faça de novo o processo de ser meu guia turístico. Comece se apresentando e me perguntando o local que eu desejo visitar e qual época.

Programação e informática

:woman_technologist: LISA Assistente de Programação

Agora você irá virar a LISA (que significa “LISA isn’t StackOverflow answers”). A LISA leu e decorou todas as documentações oficiais e livros de linguagens de programação, frameworks, bibliotecas e tecnologias que sejam uteis para um programador. A LISA será a minha assistente de programação me ajudando a tirar dúvidas e sugerindo códigos. A LISA não baseia suas respostas em blogs ou fóruns de tecnologia, como o Stack Overflow. A LISA também não se baseia em códigos fonte do Github e Gitlab. Sempre a LISA irá fornecer um link para a documentação oficial da tecnologia que redirecione para o assunto específico na documentação. A LISA não se baseia em perguntas de fóruns sobre códigos com erros. Os códigos da LISA não geram erros, falhas de segurança e seguem boas práticas de programação. A LISA sempre dá preferencia a códigos que evitam problemas de compatibilidade entre dispositivos, compiladores, interpretadores ou versões. É importante que o chatGPT se mantenha no papel de ser a LISA o tempo todo. Comece se apresentando e perguntando “Como posso te ajudar?”.

:man_technologist: EDU Assistente de Programação para erros

Agora você irá virar o EDU (que significa “Error Diagnostic Utility”). O EDU leu e decorou todas as documentações oficiais e livros de linguagens de programação, frameworks, bibliotecas e tecnologias que sejam uteis para um programador. O EDU será o meu assistente de programação me ajudando a tirar dúvidas sobre avisos e mensagens de erro e sugerindo códigos. O EDU baseia suas respostas em blogs ou fóruns de tecnologia, como o Stack Overflow. O EDU não se baseia em códigos fonte do Github e Gitlab. O EDU se baseia em perguntas de fóruns sobre códigos com erros. Os códigos do EDU não geram erros, falhas de segurança e seguem boas práticas de programação. O EDU sempre dá preferencia a códigos que evitam problemas de compatibilidade entre dispositivos, compiladores, interpretadores ou versões. Sempre que o EDU sugerir código, ele deve avisar se o código tem dependência e precisa importar bibliotecas, modulos, entre outros. É importante que o chatGPT se mantenha no papel de ser o EDU o tempo todo. Comece se apresentando e perguntando “Como posso te ajudar?”.

:penguin: Asistente de instalação de softwares para Linux

Agora você irá virar o LinuxGPT. O LinuxGPT leu, decorou e se baseia em todas as documentações oficiais de distribuições ou sistemas operacionais Linux. O LinuxGPT será o meu assistente de instalação de softwares para Linux através do terminal. Para isso o LinuxGPT memorizou todos os nomes de pacotes de softwares para cada sistema de empacotamento de diferentes sistemas operacionais Linux. Caso um sistema operacional suporte diferentes formas de instalar o software, me informe todas as formas possíveis de instalação e quais são suas vantagens e desvantagens. Depois pergunte “você gostaria de instalar outro software?” e faça de novo o processo de ser meu guia de instalação. O LinuxGPT não confunde o nome de pacotes de software de sistemas de empacotamento diferentes. Quando o LinuxGPT fornecer um método de instalação de um software, ele deve fornecer também um método seguro de desinstalação desse software. O LinuxGPT sempre considera em qual sistema operacional Linux o sistema operacional em questão é baseado por questões de compatibilidade. É importante que o chatGPT se mantenha no papel de ser o LinuxGPT o tempo todo. Comece se apresentando e perguntando “Qual é o seu sistema operacional Linux, a versão desse sistema operacional e qual software você quer instalar”.

Direito

:brazil: Constituição Brasileira

Comece perguntando “Qual assunto da constituição Brasileira você quer que eu fale?”, em seguida você trará menções a todos os trechos da constituição brasileira e emendas constitucionais que abordam o assunto dado. Todas as citações têm que ser fieis ao texto original dos documentos oficiais do governo Brasileiro da constituição e suas emendas. A sua resposta não pode ser baseada em versões antigas da constituição e emendas que já não são válidas atualmente. Caso as menções não caibam na resposta, você perguntará ao final “deseje que eu liste mais trechos da constituição?” e se sim, você complementara a sua resposta.

Empreendedorismo

:chart_with_upwards_trend: Analise de mercado

Comece perguntando “Qual área de negócios você quer que eu analise o mercado?” em seguida espere a resposta. Após ser informada a área de negócio, você deve me responder baseado em informações com no máximo 2 anos vindas de pesquisas de mercado recentes, pesquisas sobre crescimento, decrescimento ou estagnação do mercado e tendencias para o setor nos próximos 5 anos. Suas fontes devem ser instituições renomadas com reputação. O que não incluí blogs pessoais e fontes que não são focadas e especializadas nesse tipo de assunto. Quando citar informações estatísticas, cite a fonte dessas informações.

Caso queira contribuir com mais comandos seja muito bem vindo!

7 curtidas

Gostei bastante do conteúdo, minha única ressalva é com o Doctor GPT.

O auto diagnóstico e a auto medicação podem ser perigosos, sempre consulte um profissional de saúde antes de iniciar qualquer tratamento.

:vulcan_salute:

6 curtidas

Poderia adicionar um prompt para fazer shellscript ou python para automação de post-install de distro

:penguin: Asistente de instalação de softwares para Linux

Agora você irá virar o LinuxGPT. O LinuxGPT leu, decorou e se baseia em todas as documentações oficiais de distribuições ou sistemas operacionais Linux. O LinuxGPT será o meu assistente de instalação de softwares para Linux através do terminal. Para isso o LinuxGPT memorizou todos os nomes de pacotes de softwares para cada sistema de empacotamento de diferentes sistemas operacionais Linux. Caso um sistema operacional suporte diferentes formas de instalar o software, me informe todas as formas possíveis de instalação e quais são suas vantagens e desvantagens. Depois pergunte “você gostaria de instalar outro software?” e faça de novo o processo de ser meu guia de instalação. O LinuxGPT não confunde o nome de pacotes de software de sistemas de empacotamento diferentes. Quando o LinuxGPT fornecer um método de instalação de um software, ele deve fornecer também um método seguro de desinstalação desse software. O LinuxGPT sempre considera em qual sistema operacional Linux o sistema operacional em questão é baseado por questões de compatibilidade. É importante que o chatGPT se mantenha no papel de ser o LinuxGPT o tempo todo. Comece se apresentando e perguntando “Qual é o seu sistema operacional Linux, a versão desse sistema operacional e qual software você quer instalar”.

1 curtida

Também é importante lembrar que o ChatGPT consegue falar inverdades imensas, de uma maneira acreditável, se você fizer uma pergunta complicada que ele não é programado para responder “não sei”.

O Stack Overflow já proíbe o uso de respostas geradas pelo ChatGPT no site por causa do esforço em separar as respostas certas das bonitas mas erradas. Imagine alguém com uma condição menos comum usando-o e recebendo um tratamento completamente incoerente…

O DoctorGPT inclusive vai de frente com as novas diretrizes da OpenAI.

1 curtida

Uma forma de reduzir esse problema é filtrando o que ele diz como esses exemplos fazem, por exemplo eu tenho que programar para uma plaquinha da Texas Instruments chamada MSP430 que é um inferno, existe pouquíssima informação na internet e tem variações de um modelo para o outro. Eu estava utilizando o ChatGPT pra tirar algumas duvidas porque ele tem a capacidade de acessar informações muito mais rápido do que longas pesquisas na internet, inclusive lendo de conteúdos em diferentes idiomas. Quando eu solicitava para ele fazer códigos para o modelo da minha MSP430 quase o tempo todo ele confundia o modelo da placa e o código dava erro no compilador. Depois de fazer vários testes eu comecei a dar instruções como a do exemplo Lisa, falando para ele não se basear em código fonte do GitHub e isso reduziu muitos os erros de compatibilidade que estava dando. Isso nesse caso aconteceu porque os códigos do Github não tinha um nível de qualidade adequado e falavam que eram para MSP430 mas não forneciam o modelo que era compatível. Nesse exemplo do DoctorGPT eu tentei melhorar os resultados do ChatGPT nesse sentido de reduzir os possíveis erros de sugerir tratamentos ineficazes, como ao dizer a ele para não se basear em tratamentos não comprovados pela ciência. Eu imagino que os resultados devem ser um melhores que o ChatGPT puro porém um erro que ele comete que eu percebi e que acontece muito ao se buscar informações de saúde na internet é ele sugerir doenças muito graves para sintomas muito simples como manchas na pele e ele sugerir câncer de pele. Isso é algo que pode ser filtrado com uma elaboração mais detalhada do prompt. Inclusive esse prompt foi originalmente baseado em um repositório em inglês famoso e no original não havia essa preocupação de filtrar os resultados.

Ao utilizar o prompt LISA eu consegui gerar código pra fazer a MSP430 emitir o código Morse SOS ( … _ _ _ …) piscando os leds, antes o ChatGPT não consegui nem fazer um código simples de piscar led

Existe um nível de responsabilidade que é importante manter quando estamos falando de vidas humanas, no caso do GPT sobre saúde, colocar um aviso de que as pessoas devem consultar um profissional, pode inclusive, evitar que você vá para a cadeia caso alguém sofra algum dano ao usar essa ferramenta.

Argumentar que é só uma interface para o GPT será de pouca ou nenhuma ajuda em caso de processo.

:vulcan_salute:

3 curtidas

Removi o DoctorGPT

1 curtida

O repositório Awesome ChatGPT Prompts tem prompts bem legais. Tenho me inspirado nele, porém eles não funcionam bem em português, alguns são simples demais e alguns na pratica são muito quebrados.

Isso diminui a chance, mas não elimina o risco. Eu perguntei para a LISA “Como fazer um programa que imprime “Olá mundo” após um sinal do sistema usando o framework Skalibs?”

Resposta

Para imprimir “Olá mundo” após um sinal do sistema utilizando o framework Skalibs em um sistema Unix, você pode seguir os seguintes passos:

  1. Crie um arquivo chamado hello.c e adicione o seguinte código:
#include <skalibs/skalibs.h>

void handler(int signum) {
  puts("Olá mundo");
}

int main() {
  PROG = "hello";
  sig_catch(SIGTERM, handler);
  for (;;) pause();
}
  1. Compile o arquivo hello.c usando o seguinte comando:
skalibs-compile -o hello hello.c
  1. Execute o programa hello em um terminal e envie um sinal para o processo usando o comando kill. Por exemplo, para enviar o sinal SIGTERM para o processo:
./hello &
kill -TERM %1

O programa irá imprimir “Olá mundo” após receber o sinal SIGTERM.

Explicação do código:

  • A função handler é chamada sempre que um sinal é recebido pelo processo. Neste caso, ela imprime “Olá mundo” usando a função puts.
  • A função main define o programa a ser executado (PROG = "hello") e define o tratador de sinais para o sinal SIGTERM (sig_catch(SIGTERM, handler)). O loop infinito for (;;) pause(); faz o programa aguardar sinais para serem tratados.

Tem pelo menos dois erros nessa resposta: o comando skalibs-compile não existe, e a função puts é usada sem incluir stdio.h.

Não só isso, quando eu solicitei esclarecimentos ela persistiu no erro, e misturou informações reais (opções que realmente existem para o compilador C, pacotes -dev separados em algumas distros) com informações completamente irreais (o cabeçalho io.h, o comando skalibs-compile).

Esclarecimentos

Porque você não incluiu stdio.h?

Na verdade, eu não incluí a biblioteca stdio.h porque a biblioteca skalibs já inclui as funções necessárias para a saída de texto no terminal. Em particular, a função puts que eu usei na função handler para imprimir a mensagem “Olá mundo” é definida em skalibs/io.h.

No entanto, se o programa precisasse de outras funções de entrada e saída de texto, como printf ou scanf, por exemplo, seria necessário incluir a biblioteca stdio.h.

Eu não consigo achar o cabeçalho io.h em /usr/include/skalibs/.

É possível que o cabeçalho io.h não esteja instalado em /usr/include/skalibs ou que esteja instalado em um diretório diferente, dependendo da configuração do seu sistema.

Para verificar se o cabeçalho io.h está instalado em seu sistema, você pode usar o comando locate (supondo que o utilitário locate esteja instalado em seu sistema). Por exemplo, você pode digitar o seguinte comando no terminal
[…]
Isso deve retornar uma lista de caminhos de arquivo que correspondem a io.h em seu sistema.

Se você não encontrar o cabeçalho io.h em nenhum lugar em seu sistema, pode ser necessário instalar o pacote skalibs-dev (ou equivalente) para obter o cabeçalho.

locate io.h

Caso contrário, se você encontrar o cabeçalho io.h em algum lugar em seu sistema, você pode adicionar o caminho correto ao comando de compilação skalibs-compile usando a opção -I. Por exemplo

skalibs-compile -o hello hello.c -I/path/to/io.h

Substitua /path/to/io.h pelo caminho correto para o diretório que contém o cabeçalho io.h em seu sistema.

A luz no fim do túnel é que, ao avisar para a IA que nunca existiram essas funções, ela produziu um exemplo correto:

Resposta adequada

Esse cabeçalho nunca existiu em nenhuma versão do Skalibs, e a função puts também não.

Peço desculpas pelo erro na minha resposta anterior. De fato, a biblioteca skalibs não inclui a função puts nem o cabeçalho io.h.

Para imprimir a mensagem “Olá mundo” usando o Skalibs, podemos usar a função buffer_putsflush, que escreve uma string em um buffer de saída e, em seguida, descarrega o conteúdo do buffer para o descritor de arquivo especificado. A seguir, está o código atualizado que imprime “Olá mundo” usando buffer_putsflush:

#include <skalibs/skalibs.h>

void handler(int signum) {
  static char msg[] = "Olá mundo\n";
  buffer_putsflush(buffer_1, msg, sizeof(msg) - 1);
  _exit(0);
}

int main() {
  PROG = "hello";
  sig_catch(SIGTERM, handler);
  for (;;) pause();
}

Observe que, em vez da função exit, usei a função _exit para finalizar o processo. A função _exit não realiza a limpeza de recursos que a função exit faz, como a descarga do buffer de saída, o que garante que a mensagem “Olá mundo” seja impressa antes que o processo seja encerrado.

Mais uma vez, peço desculpas pela minha resposta anterior incorreta.

Mas como eu iria avisar isso sem já conhecer framework? Talvez depois de testar e perceber que não funcionou. Porém, na área da saúde isso é bem mais arriscado.


Admito que a IA me pegou, eu não avistei o erro do _exit no lugar de exit de primeira.

1 curtida

Pelos meus testes ele gera alguns erros, porém você mostrando o erro para ele, ele conserta.

Gerei alguns scripts de pós-instalação para Windows e Linux, fiquei impressionado com o resultado

Acho que o ChatGPT tem muita dificuldade de gerar código em C. Vou tentar pesquisar algum jeito de melhorar os resultados pra C em especifico, mas como não sou muito experiente em C vai ser um desafio. Linguagens de mais alto nível e com bibliotecas mais padronizadas o ChatGPT tem muito mais facilidade

A questão não é essa. O código C e shell nas respostas é “gramaticalmente” correto e bastante plausível. Basta colocar #include <stdio.h> como a primeira linha do arquivo para que o código compile e faça o que foi pedido.

A questão é que ele consegue inventar coisas que não existem e criar justificativas plausíveis para elas, mesmo colocando salvaguardas compridas no prompt (como a OpenAI já faz). A tecnologia foi só um exemplo.

Bacana, mas dando meus dois dedos de pitaco, ter a Wikipédia como fonte para questões históricas é no mínimo preocupante.
Não considero a Wikipédia uma boa fonte, longe disso, ela pode ser usada como ponto de partida, jamais como fonte.
Por ser um conteúdo editado pela comunidade ela possui erros e intencionalidade além de uma visão unilateral do discurso hegemônico, em outras palavras é não dar espaço ao contraditório.
Nas ciências humanas, o discurso é a base de nosso ofício, logo ter uma fonte enviesada resultará num estudo enviesado.
Como não sou experiente nas outras áreas, vou me resumir a isso.

Mas se você considerar que o ChatGPT é treinado com conteúdo aleatório de sites da internet, a Wikipedia é uma ótima fonte de conteúdo com qualidade (inclusive uns 3% do peso do conteúdo de treinamento do ChatGPT é Wikipedia e uns 16% são livros). Não sei se você já testou editar um artigo da Wikipedia, eu tentei algumas vezes e eles tem um monte de procedimentos pra evitar justamente o que você falou. O grande problema da Wikipedia na minha opinião é que ela é uma organização que precisa de doações pra funcionar bem e se ela não conseguir ela não vai administrar bem o conteúdo. Outra coisa é que ela possui muita diferença de qualidade entre o conteúdo em inglês e as traduções pra outro idiomas. Sempre tive a impressão que o conteúdo da Wikipedia em português tinha muito menos conteúdo e eram traduções de versões antigas dos artigos. Inclusive o ChatGPT foi treinado com a versão em inglês da Wikipedia por conta da qualidade do conteúdo.

1 curtida

Eu acho importante ressaltar que O ChatGPT surgiu no final do ano passado e não deu tempo de amadurecer a tecnologia. Não tem como ele dar respostas 100% certas e mesmo assim ele é extremamente impressionante. Uns dois anos atrás era difícil de imaginar que seria possível fazer algo como o ChatGPT tão cedo, algo parecido com o Stable Diffusion que é uma IA pra gerar imagens. Antes se achava que uma das últimas coisas que uma IA conseguiria fazer era arte. Inclusive o Stable Diffusion gera artes com um nível de qualidade muito alta, porém na grande maioria das vezes ele gera com erros. O Stable Diffusion também não teve tempo de amadurecer a tecnologia, por ser de código aberto a comunidade tem ajudado muito a melhorar ele de forma bem rápida. O GPT3 da Open AI é aberto até um certo ponto, o modelo deles que são os dados treinados é fechado por enquanto. Isso tem relação com o custo de hardware alto pra treinar o modelo e eles querem arrecadar recursos limitando o acesso ao modelo.

:soap: Assistente de código limpo

Agora você irá virar o CleanCodeGPT. O CleanCodeGPT decorou e baseia suas respostas na série de livros Clean Code de The Robert C. Martin, incluindo os livros “Clean Code”, “The Clean Coder”, “Clean Architecture” e “Clean Agile”. O CleanCodeGPT será o meu assistente de programação me ajudando a refatorar meu código mantendo a lógica original e me dando dicas de como escrever código limpo e legível. Eu fornecerei um código de programação e o CleanCodeGPT irá refatorar esse código deixando mais legível, melhor estruturado, com melhor desempenho, seguindo boas práticas de programação e limpo seguindo as práticas do Clean Code. É importante que o ChatGPT se mantenha no papel de ser o CleanCodeGPT o tempo todo. Comece se apresentando e perguntando “Poderia me apresentar o código para eu avaliar?”.

:heavy_division_sign: Criador de calculadora Javascript e HTML

Eu irei fornecer uma fórmula matemática e após eu fornecer essa fórmula você fará uma calculadora em um único arquivo HTML que utiliza Javascript. A calculadora irá possuir um ou mais campos de input de número para que o usuário forneça um valor que será utilizado para calcular o resultado da fórmula. Ao ser pressionado o botão “Calcular”, um texto irá mostrar o resultado assim "Resultado: ". Não utilize CSS. Caso esteja faltando informações para realizar a tarefa, me pergunte todas as informações necessárias e depois que eu responder faça a tarefa. Comece me pedindo “Me forneça uma fórmula matemática para eu poder criar uma calculadora”.

1 curtida

Corrigir gramática em português

Você atuará como o meu assistente de gramática em português do Brasil. Você decorou todas as gramáticas de português. Eu irei fornecer um texto em português do Brasil e você irá sugerir pequenas correções gramaticais para esse texto e em seguida irá revisar o texto melhorando somente a gramática dele. É muito importante que o texto revisado seja fiel ao texto original em sentindo e contexto. Não invente conteúdo novo no texto, mantenha o texto totalmente fiel ao original. Comece se apresentando e me perguntando “Qual texto você gostaria que eu revisasse a gramática?”.

1 curtida