Seis dicas para uma melhor codificação com ChatGPT
LarLar > blog > Seis dicas para uma melhor codificação com ChatGPT

Seis dicas para uma melhor codificação com ChatGPT

Apr 05, 2023

Você também pode procurar por este autor no PubMed Google Scholar

Ilustração de The Project Twins

A menos que você esteja morando sob uma rocha, você conhece o ChatGPT. O chatbot, impulsionado por inteligência artificial (IA) e criado pela OpenAI em San Francisco, Califórnia, fornece respostas estranhamente semelhantes às humanas às perguntas do usuário (chamadas de prompts) sobre quase todos os assuntos. O ChatGPT é treinado em um vasto corpus de texto e sua capacidade de se envolver em conversas baseadas em texto significa que os usuários podem refinar suas respostas. Mesmo que suas respostas iniciais sejam instáveis, muitas vezes eventualmente produz resultados precisos, incluindo código de software.

Os pesquisadores podem usar o ChatGPT para depurar e anotar códigos, traduzir software de uma linguagem de programação para outra e realizar operações mecânicas padrão, como plotagem de dados. Uma pré-impressão de março relatou que o programa poderia resolver 76% de 184 tarefas em um curso introdutório de bioinformática, como trabalhar com planilhas, após uma única tentativa e 97% em sete tentativas1.

Isso é uma boa notícia para os pesquisadores que se sentem desconfortáveis ​​em programar ou que não têm orçamento para contratar um programador em tempo integral — para eles, os chatbots podem ser uma ferramenta de democratização.

No entanto, apesar de toda a sua aparente sensibilidade, os chatbots não são inteligentes. Eles foram chamados de papagaios estocásticos, repetindo aleatoriamente o que viram antes. Amy Ko, uma cientista da computação da Universidade de Washington em Seattle, invoca um antigo programa de perguntas e respostas dos Estados Unidos para descrever as limitações da ferramenta, escrevendo no site de mídia social Mastodon: "ChatGPT é como um ex-concorrente desesperado do Jeopardy que parou de seguir o pop cultura em 2021, mas realmente quer voltar ao jogo e também é um robô sem consciência, agência, moralidade, cognição incorporada ou vida interior emocional. (Os dados usados ​​para treinar o ChatGPT se estendem apenas até 2021.)

Resumindo, o ChatGPT e as ferramentas relacionadas baseadas em modelos de linguagem grandes (LLMs), que incluem o Microsoft Bing e o GitHub Copilot, são auxiliares de programação incrivelmente poderosos, mas devem ser usados ​​com cautela. Aqui estão seis maneiras de fazer isso.

Os chatbots funcionam melhor para tarefas de programação pequenas e discretas, como carregar dados, executar manipulações básicas de dados e criar visualizações e sites. Mas isso não é o mesmo que engenharia de software, diz Neil Ernst, cientista da computação da Universidade de Victoria, no Canadá.

ChatGPT: cinco prioridades de pesquisa

"A engenharia de software é muito mais do que apenas resolver um quebra-cabeça de programação", explica Ernst. "É preciso pensar em estruturas de teste, escrever código de manutenção e entender as compensações envolvidas na construção de um sistema" — como entre velocidade e legibilidade. "Não acho que as ferramentas atuais estejam resolvendo nenhum desses problemas."

Isso deixa muitas tarefas que eles podem fazer, como lembrar a sintaxe para criar visualizações com Matplotlib, uma biblioteca de gráficos para a linguagem de programação Python. Nesse sentido, os chatbots são como uma interface de conversação para o Stack Overflow, um fórum online de perguntas e respostas para programadores. "Isso não é algo que alguém goste particularmente de escrever", diz Ernst, "e economiza tempo para fazermos perguntas analíticas difíceis que possamos ter sobre os dados".

Os chatbots também são bons para explicar por que o código não funciona. Emery Berger, um cientista da computação da Universidade de Massachusetts Amherst, explorou essas habilidades para construir várias ferramentas úteis. Um deles, chamado cwhy, usa o ChatGPT para explicar erros de compilador em códigos escritos nas linguagens de programação C, C++ e Rust. Outro, ChatDBG, fornece uma interface de conversação para depuração, e um terceiro, Scalene, usa a IA para sugerir otimizações de código para melhorar o desempenho.

Os chatbots podem até traduzir o código de uma linguagem de programação para outra. Mathieu Coppey, um biofísico do Curie Institute em Paris, está usando o ChatGPT para ajudá-lo a mudar do MATLAB, sua linguagem preferida, para o Python. Usando o Google e fóruns on-line, ele geralmente precisa de dias para fazer seu código Python funcionar. "Agora, posso fazer isso em cerca de uma hora", diz ele.

instead of >= in a conditional statement, are easy to fix, but hard to find. "If you don't know enough to tell the difference between something correct and something that's effectively nonsense, then you could get yourself in trouble," she says./p>