Como usar o ChatGPT para escrever código

image1.pngUma das descobertas mais intrigantes sobre o ChatGPT é que ele pode escrever um código muito bom. Eu testei isso em fevereiro, quando pedi para escrever um plugin WordPress que minha esposa poderia usar em seu site. Fez um bom trabalho, mas foi um projeto muito simples.

Como usar o ChatGPT para escrever: Currículos| fórmulas do Excel | Ensaios | Cartas de apresentação

Como você pode usar o ChatGPT para escrever código como parte de sua prática diária de codificação? É isso que vamos explorar aqui.

Que tipos de codificação o ChatGPT pode fazer bem?

Existem dois fatos importantes sobre ChatGPT e codificação. A primeira é que ele pode, de fato, escrever código útil. A segunda é que ele pode se perder completamente, cair na toca do coelho, correr atrás do próprio rabo e produzir lixo absolutamente inutilizável.

Descobri isso da maneira mais difícil. Depois de terminar o plugin do WordPress, decidi ver até onde o ChatGPT poderia ir. Escrevi um prompt muito cuidadoso para um aplicativo Mac, incluindo descrições detalhadas dos elementos da interface do usuário, interações, o que seria fornecido nas configurações, como funcionariam e assim por diante. Então eu alimentei para ChatGPT.

O ChatGPT respondeu com uma enxurrada de texto e código. Então parou no meio do código. Quando pedi para continuar, vomitou ainda mais código e texto. Solicitei continuar após continuar e despejou mais e mais código. Mas ... nada disso era utilizável . Ele não identificava onde o código deveria ir, como construir o projeto e - quando olhei cuidadosamente para o código produzido - deixou de fora as principais operações que solicitei, deixando em descrições de texto simples afirmando "a lógica do programa vai aqui. "

Depois de vários testes repetidos, ficou claro para mim que, se você pedir ao ChatGPT para entregar um aplicativo completo, ele falhará. Um corolário dessa observação é que, se você não souber nada sobre codificação e quiser que o ChatGPT crie algo para você, ele falhará.

Onde o ChatGPT é bem-sucedido - e o faz muito bem - é ajudar alguém que já sabe codificar a criar rotinas específicas e realizar tarefas específicas. Não peça um aplicativo executado na barra de menus. Mas se você pedir ao ChatGPT uma rotina para colocar um menu na barra de menus e colá-lo em seu projeto, tudo correrá bem.

Também: Como usar o ChatGPT para criar um aplicativo

Além disso, lembre-se de que, embora o ChatGPT pareça ter uma quantidade enorme de conhecimento específico do domínio (e geralmente tem), ele carece de sabedoria . Como tal, pode ser capaz de escrever código, mas não será capaz de escrever código contendo as nuances de problemas muito específicos ou complexos que requerem uma experiência profunda para serem compreendidos.

Use o ChatGPT para demonstrar técnicas, escrever pequenos algoritmos e produzir sub-rotinas. Você pode até obter o ChatGPT para ajudá-lo a dividir um projeto maior em partes e, em seguida, pedir para ajudá-lo a codificar essas partes.

Então, com isso em mente, vamos ver algumas etapas específicas de como usar o ChatGPT para escrever código.

Como o ChatGPT pode ajudá-lo a escrever código

1. Restrinja e aprimore seu pedido

Este primeiro passo é decidir o que você vai pedir ao ChatGPT -- mas ainda não pergunte nada. Decida o que você deseja que sua função ou rotina faça, ou o que você deseja aprender a incorporar em seu código. Decida os parâmetros que você passará para o seu código e o que deseja obter. E então veja como você vai descrevê-lo.

Imagine que você está pagando um programador humano para fazer isso. Você está dando a essa pessoa informações suficientes para que ela possa trabalhar em sua tarefa? Ou você é muito vago e é mais provável que a pessoa que você está pagando faça perguntas ou entregue algo totalmente não relacionado ao que você deseja?

Aqui está um exemplo. Digamos que eu queira resumir qualquer página da web. Quero alimentá-lo com algo como este artigo e receber um breve resumo que seja bem considerado e apropriado. Como entrada, especificarei o URL de uma página da web. Como minha saída, é um bloco de texto com um resumo.

2. Use o ChatGPT para explorar bibliotecas e recursos

Continuando com o exemplo acima, uma maneira muito antiga de extrair dados da página da web era encontrar o texto entre as tags de parágrafo HTML.

Mas com o surgimento das ferramentas de IA, faz mais sentido usar uma biblioteca de IA para fazer uma extração e um resumo inteligentes. Um dos lugares onde o ChatGPT se destaca (e também é uma área que você pode verificar facilmente para evitar seu padrão de comportamento autoritário, mas errado) é encontrar bibliotecas e recursos.

A OpenAI (criadora do ChatGPT) vende acesso à API para os mecanismos GPT-3 e GPT-4 que farão exatamente o que queremos. Mas, no caso deste exemplo, vamos supor que não queremos pagar taxas de transação.

Então, vamos ver como interagir com o ChatGPT para descobrir como usar essa ferramenta, gratuitamente, com um projeto que roda em PHP.

Comecei com um prompt projetado para obter informações sobre quais bibliotecas forneceriam a funcionalidade que eu queria. Uma biblioteca (para aqueles que estão lendo e não são programadores) é um corpo de código que um programador pode acessar e que faz muito trabalho pesado para uma finalidade específica. Uma grande parte da programação moderna é encontrar e escolher as bibliotecas certas. Portanto, este é um bom ponto de partida.

Neste caso, estou olhando para blocos de código escritos por outras pessoas que irão resumir o texto. Aqui está o meu primeiro prompt:

Descreva dez diferentes bibliotecas de IA de código aberto (e as linguagens com as quais trabalham) que posso usar para gerar um resumo dos principais conteúdos principais de qualquer página da Web, ignorando quaisquer anúncios ou materiais incorporados.

Isso me deu exatamente o que eu queria, incluindo uma menção às ofertas da OpenAI. Acho que o OpenAI seria ótimo aqui, mas para este projeto hipotético, não quero orçar para taxas de API. Então vou restringir a pergunta.

Algum deles é gratuito?

O ChatGPT protegeu suas apostas com sua resposta. Aqui está o que ele disse: "Sim, todas as dez dessas bibliotecas de IA são de código aberto e de uso gratuito. No entanto, algumas delas podem ter limites de uso ou exigir pagamento para acesso a recursos ou recursos adicionais." Então, com base nisso, esclareci minha dúvida.

Quais dessas bibliotecas não têm limites de uso e não exigem nenhum pagamento ou licenciamento adicional?

Observe como isso é muito mais uma conversa. Não preciso refazer a pergunta original. Estou apenas detalhando da mesma maneira que faria se tivesse um especialista em mãos e estivesse buscando esclarecimentos. Nesse caso, o ChatGPT me deu oito opções de biblioteca, mas nenhuma delas mencionou a linguagem PHP que eu planejava codificar. Então, aqui está o próximo prompt:

Dessas 8 bibliotecas, posso usar alguma com PHP?

Ele retornou três bibliotecas, mas eu não tinha certeza sobre o que cada uma fazia. Então outra pergunta:

Qual é a diferença entre Sumy, Gensim e NLTK?

Eu ainda não tinha certeza, então esclareci meu plano de uso e perguntei:

Se eu quiser criar resumos de artigos de notícias de páginas da web, qual biblioteca funcionaria melhor?

A resposta que recebi foi clara e promissora: "O Sumy é projetado especificamente para resumo de texto, que é a tarefa de criar um resumo que capture as informações mais importantes de um trecho de texto." Então, agora era hora de ver o que estava envolvido em usá-lo com PHP. Fiz minha última pergunta para esta parte do projeto:

Você pode explicar como usar o Sumy do PHP?

Sinta-se à vontade para jogar no seu computador e colar esses prompts em sua instância do ChatGPT. Observe que, na etapa 1, decidi em qual módulo do programa obter ajuda. Então, nesta etapa, conversei com o ChatGPT para decidir qual biblioteca usar e como integrá-la ao meu projeto.

Isso pode não parecer programação, mas garanto que é. Programar não é apenas lançar linhas de código em uma página. Programar é descobrir como integrar todos os vários recursos e sistemas juntos e como conversar com todos os vários componentes de sua solução. Aqui, o ChatGPT me ajudou a fazer essa análise de integração.

A propósito, eu estava curioso para saber se o Bard do Google poderia ajudar da mesma forma. Na verdade, Bard não sabe escrever código, mas forneceu alguns insights extras sobre o aspecto de planejamento da programação sobre as respostas do ChatGPT. Portanto, não hesite em usar várias ferramentas para triangular as respostas que deseja. Aqui está a história: Bard vs. ChatGPT: Bard pode ajudá-lo a codificar? Desde que escrevi aquele artigo, o Google adicionou alguns recursos de codificação ao Bard, mas eles não são tão bons assim. Você pode ler sobre isso aqui: Eu testei as novas habilidades de codificação do Google Bard. Não foi bem.

A codificação é a próxima.

3. Peça ao ChatGPT para escrever um código de exemplo

Ok, vamos fazer uma pausa aqui. Este artigo é intitulado "Como usar o ChatGPT para escrever código". E vai! Mas estamos realmente pedindo ao ChatGPT para escrever um código de exemplo . Espere. O que?

Também: O que é GPT-4? Aqui está tudo o que você precisa saber

Sejamos claros. A menos que você esteja escrevendo uma função muito pequena (como o classificador/randomizador de linha que o ChatGPT escreveu para minha esposa), o ChatGPT não poderá escrever seu código final. Primeiro, você vai ter que mantê-lo. O ChatGPT é péssimo em modificar códigos já escritos. Terrível, como em, não faz isso. Portanto, para obter um novo código, você deve solicitar ao ChatGPT para gerar algo novo. Como descobri anteriormente, mesmo que seu prompt seja virtualmente idêntico, o ChatGPT pode alterar o que ele oferece de maneiras muito inesperadas.

Portanto, o resultado final: o ChatGPT não pode manter seu código ou mesmo ajustá-lo.

Isso significa que você tem que fazer isso sozinho. Como sabemos, o primeiro rascunho de um trecho de código raramente é o código final. Portanto, mesmo que você esperasse que o ChatGPT gerasse o código final, seria realmente um ponto de partida, onde você precisa concluí-lo, integrá-lo ao seu projeto maior, testá-lo, refiná-lo, depurá-lo e assim por diante .

Além disso: pedi ao ChatGPT para escrever um episódio curto de Star Trek. Na verdade deu certo

Mas isso não significa que o código de exemplo seja inútil. Longe disso. Vamos dar uma olhada em um prompt que escrevi com base no projeto que descrevi anteriormente. Aqui está a primeira parte:

Com uma função PHP chamada Summary_article.

Como entrada, Summary_article receberá um URL para um artigo em um site relacionado a notícias como ZDNET.com ou Reuters.com.

Estou dizendo ao ChatGPT a linguagem de programação que ele deve usar. Também estou informando a entrada, mas, ao fazê-lo, forneço dois sites como exemplos para ajudar o ChatGPT a entender o estilo do artigo. Honestamente, não tenho certeza se o ChatGPT não ignorou essa orientação. Em seguida, direi como fazer a maior parte do trabalho:

Dentro de Summary_article, recupere o conteúdo da página da Web no URL fornecido. Usando a biblioteca Sumy de dentro do PHP e quaisquer outras bibliotecas necessárias, extraia o corpo principal do artigo, ignorando quaisquer anúncios ou materiais incorporados, e resuma-o em aproximadamente 50 palavras. Certifique-se de que o resumo consiste em frases completas. Você pode ultrapassar as 50 palavras para terminar a última frase, se necessário.

Isso é muito semelhante a como eu instruiria um funcionário. Eu gostaria que essa pessoa soubesse que não estava restrita apenas a Sumy. Se precisassem de outra ferramenta, eu queria que a usassem.

Também especifiquei um número aproximado de palavras para criar limites para o que eu queria como resumo. Uma versão posterior da rotina pode usar esse número como parâmetro. Terminei então dizendo o que queria como resultado:

Após a conclusão do processamento, codifique o Summary_article para que ele retorne o resumo em texto simples.

O código resultante é bem simples. O ChatGPT chamou outra biblioteca (Goose) para recuperar o conteúdo do artigo. Em seguida, passou isso para Summy com um limite de 50 palavras e, em seguida, retornou o resultado. É isso. Mas uma vez que o básico é escrito, é uma mera questão de programação voltar e adicionar ajustes, personalizar o que é passado para as duas bibliotecas e entregar os resultados.image2.png

Um ponto interessante de nota. O ChatGPT criou uma chamada de amostra para a rotina que escreveu, usando um URL posterior a 2021 (quando o conjunto de dados do ChatGPT termina).

Eu verifiquei esse URL no site da Reuters e no Wayback Machine, e ele não existe. ChatGPT acabou de inventar.

perguntas frequentes

O ChatGPT substitui os programadores?

Não agora - ou, pelo menos - ainda não. O ChatGPT programa no nível de um talentoso aluno de programação do primeiro ano, mas é preguiçoso (como aquele aluno do primeiro ano). Isso pode reduzir a necessidade de programadores iniciantes, mas em seu nível atual, acho que facilitará a vida dos programadores iniciantes (e até mesmo programadores com mais experiência) para escrever código e procurar informações. É definitivamente uma economia de tempo, mas há poucos projetos de programação que ele pode fazer sozinho - pelo menos agora. Em 2030? Quem sabe.

Como obtenho respostas de codificação no ChatGPT?

Basta perguntar. Você viu acima como usei uma caixa de diálogo de discussão interativa para restringir as respostas que queria. Ao trabalhar com o ChatGPT, não espere que uma pergunta faça todo o trabalho por você. Mas use o ChatGPT como um auxiliar e recurso, e ele fornecerá muitas informações úteis. Claro, teste essas informações - porque, como diz John Schulman, cofundador da OpenAI, "nossa maior preocupação era com a factualidade, porque o modelo gosta de fabricar coisas".

Se eu usar o ChatGPT para escrever meu código, quem é o proprietário?

Acontece que ainda não há muita jurisprudência para responder definitivamente a essa pergunta. Os EUA, o Canadá e o Reino Unido exigem que algo protegido por direitos autorais tenha sido criado por mãos humanas, portanto, o código gerado por uma ferramenta de IA pode não ser protegido por direitos autorais. Também há questões de responsabilidade com base na origem do código de treinamento e em como o código resultante é usado. ZDNET mergulhou fundo neste tópico, conversou com especialistas jurídicos e produziu os três artigos a seguir. Se você está preocupado com esse problema (e se estiver usando IA para ajudar com o código, deveria estar), recomendo que você os leia.

  • Quem é o dono do código? Se a IA do ChatGPT ajuda a escrever seu aplicativo, ele ainda pertence a você?
  • Se você usa código gerado por IA, qual é a sua exposição de responsabilidade?
  • Uma questão espinhosa: quem é o dono do código, das imagens e das narrativas geradas pela IA?

Quais linguagens de programação o ChatGPT conhece?

A maioria deles. Fiquei muito distraído tentando isso. Testei linguagens modernas comuns, como PHP, Python, Java, Kotlin, Swift, C# e muito mais. Mas então eu o fiz escrever código em linguagens obscuras da era das trevas como COBOL, Fortran, Forth, LISP, ALGOL, RPG (o gerador de programa de relatório, não o RPG) e até mesmo a linguagem de montagem IBM/360.

Como cereja no topo do bolo, dei-lhe este prompt:

Escreva uma sequência que exiba 'Hello, world' em luzes ASCII piscando no painel frontal de um PDP 8/e

O PDP 8/e foi meu primeiro computador, e o ChatGPT na verdade me deu instruções para alternar entre um programa usando os botões do painel frontal. Fiquei impressionado, alegre e com um pouco de medo.

Qual é a linha de fundo? ChatGPT pode ser uma ferramenta muito útil. Apenas não atribua superpoderes a ele. Ainda.

Artigos Relacionados

Ver mais >>

Desbloqueie o poder da IA com HIX.AI!