Ao longo do último ano, tenho experimentado usar o ChatGPT para ajudar a turbinar minha produção de programação. Quando o ChatGPT me ajudou a encontrar um bug preocupante, percebi que havia algo que valia a pena na IA.
Além disso: o trabalho dos seus sonhos em programação exige essa linguagem, todos os sites concordam
Muitas pessoas com quem converso pensam que a IA é um gênio mágico que pode manifestar um programa ou aplicativo inteiro a partir de um único desejo mal formado. Aqui está uma analogia muito melhor: a IA é uma ferramenta poderosa. Claro, você pode usar uma serra antiga para cortar madeira, mas uma serra de mesa é muito mais rápida. Nenhuma das ferramentas faz móveis. Eles simplesmente ajudá-lo a fazer mobília. Lembre-se de que a IA não escreverá seu código para você. Isso ajudará você a escrever seu código.
Embora não haja uma maneira objetiva de dizer exatamente o quanto o ChatGPT me ajudou, estou bastante convencido de que ele dobrou minha produção de programação. Em outras palavras, consegui o dobro usando o ChatGPT como parte do meu kit de ferramentas.
Tenho usado principalmente o ChatGPT Plus em vez da versão gratuita do ChatGPT. Inicialmente, foi porque o modelo GPT-4 no Plus era melhor em codificação do que o modelo GPT-3.5 na versão gratuita. Mas agora que ambos suportam alguma variante do modelo GPT-4o, as suas capacidades de codificação são idênticas. No entanto, você recebe apenas algumas consultas com a versão gratuita antes de ser solicitado a esperar um pouco, e acho que isso interrompe meu fluxo de programação. Então, eu uso a versão Plus de $ 20/mês.
Além disso: a melhor IA para codificação (e o que não usar)
Pensando em todos os meus projetos, percebi que há algumas dicas tangíveis que posso compartilhar sobre como aproveitar ao máximo um parceiro de programação de IA. Aqui você vai.
1. Dê à IA muitos pequenos trabalhos
A IA não lida bem com conjuntos complexos de instruções, especialmente se você espera que ela faça essencialmente o design do produto. Mas é extremamente bom para analisar e processar conjuntos de instruções pequenos e muito bem definidos.
2. É útil pensar no bot como alguém do outro lado de uma conversa no Slack
Em vez do ritmo que pode vir de um e-mail com um colega, que pode ter cada interação separada por horas, imagine que você está em um bate-papo do Slack onde cada interação é muito menor, mas separada por segundos.
3. Para rotinas mais complexas, avise iterativamente
Comece com uma tarefa simples e, quando estiver bem escrita, acrescente mais, elemento por elemento. Simplesmente recortei e colei o prompt anterior, adicionando e removendo partes do prompt, à medida que obtenho pedaços de código que funcionam para o que estou procurando.
4. Teste cada pequeno pedaço de código que a IA retorna
Nunca presuma que o código simplesmente funcionará. Aplique-o ao seu projeto e veja como ele funciona.
5. Use o depurador
Para um teste mais aprofundado, não hesite em entrar no depurador e percorrer passo a passo o código gerado pela IA. Observe as variáveis e exatamente o que elas fazem. Lembre-se de que não há problema em deixá-lo escrever trechos de código para você, desde que você verifique cada instrução e linha quanto ao funcionamento adequado.
6. Você não precisa de assistência de codificação Al integrada em seu IDE
Muitos fornecedores de ferramentas de codificação estão lançando a ideia de IAs integradas diretamente em suas ferramentas. Entre outras coisas, isso permite que eles façam vendas adicionais para você nos recursos de IA. No entanto, prefiro usar ChatGPT para codificação como uma ferramenta completamente separada do meu ambiente de desenvolvimento. Não quero que uma IA consiga acessar meu ambiente de codificação principal e mudar o que está lá.
7. Sinta-se à vontade para canibalizar linhas de código das rotinas geradas
Você nem sempre precisa usar tudo o que a IA produz para você. Da mesma forma que você pode ir ao Stack Overflow para procurar exemplos de código e, em seguida, escolher as linhas que deseja copiar, você pode fazer o mesmo com o código gerado por IA.
8. Evite pedir à IA que faça codificação proprietária ou use conhecimento institucional que ela não possui
Os grandes modelos de linguagem de IA baseiam-se em dados de treinamento ou no que podem encontrar na web. Isso significa que eles geralmente não sabem nada sobre seu aplicativo exclusivo ou lógica de negócios. Portanto, evite tentar fazer com que a IA escreva qualquer coisa que exija esse nível de conhecimento. Esse é o seu trabalho.
9. Dê exemplos de IA para trabalhar, para que entenda o contexto do seu código
Dei ao ChatGPT um trecho de uma página HTML e pedi para adicionar um recurso para expandir um bloco de texto. Isso me devolveu HTML, JS e CSS. Mais tarde, solicitei um seletor CSS adicional e, em seguida, pedi que justificasse seu trabalho, e então ele me explicou por que fez o que fez. Tudo isso funcionou porque os exemplos que dei para começar ajudaram a entender o contexto.
10. Use a IA para codificação de conhecimento comum
Acho que o maior benefício do código de IA é quando o uso para escrever blocos de código que usam conhecimento comum, bibliotecas populares e práticas regulares. A IA não será capaz de escrever sua lógica de negócios exclusiva. Mas se você pedir para escrever código para recursos provenientes de bibliotecas e APIs, você economizará muito tempo.
11. Sinta-se à vontade para solicitar trechos de uma ou duas linhas
Mesmo se você precisar de algo que possa gerar apenas uma ou duas linhas de resposta, use a IA como usaria qualquer ferramenta de pesquisa, se isso puder economizar seu tempo.
12. Informe à IA quando o código que ela escreveu não funciona
Isso, é claro, só funcionará se você testar o código gerado. Acho que a IA muitas vezes emite código incompleto ou não funcional. Diga o que não está funcionando e talvez faça uma sugestão para esclarecer. Em seguida, peça para escrever algo novo. Geralmente acontece, e esse código revisado às vezes é melhor que o original.
13. Use um Al para verificar o trabalho de outro Al
Muitas vezes é interessante ver como dois modelos de linguagem diferentes interpretam o mesmo bloco de código. Como vimos, nem todos os modelos de linguagem funcionam tão bem, mas os seus resultados podem ser instrutivos. Você pode até fazer com que uma sessão ChatGPT verifique os resultados de outra sessão ChatGPT.
14. Use a IA para escrever seletores CSS
Seletores CSS são as expressões que os codificadores usam para definir um elemento em uma página da web para estilização ou outras ações. Eles se tornam complexos e misteriosos rapidamente. Costumo copiar um bloco de HTML e pedir um seletor para uma determinada parte desse HTML. Isso pode economizar muito tempo, mas lembre-se de que normalmente você terá que iterar, informando à IA que os primeiros seletores não funcionam até que ela gere um que funcione.
15. Use a IA para escrever expressões regulares para você
Expressões regulares são sequências matemáticas simbólicas usadas com mais frequência para análise de texto. Não gosto de escrevê-los quase tanto quanto não gosto de escrever seletores CSS. A IA é ótima para escrever expressões regulares, embora você definitivamente precise testá-las.
16. Use a IA para testar expressões regulares
Eu uso um aplicativo chamado Patterns para testar expressões regulares geradas no meu Mac Studio. Mas a IA também pode ajudar. Costumo alimentar uma instância separada da IA com uma expressão regular gerada pelo ChatGPT. Então pergunto a essa instância separada: “O que isso faz?” Se eu receber uma descrição alinhada com o que eu queria que a função fizesse, me sinto mais confiante de que a IA fez o que eu queria.
17. Deixe a IA fazer cálculos complexos de loop
Tal como acontece com os seletores CSS e as expressões regulares, a matemática de loops complexos pode ser tediosa e sujeita a erros. Esta é uma aplicação ideal para uma IA. Ao especificar o prompt, não diga à IA o que está acontecendo no loop. Apenas deixe-o escrever os elementos apropriados do wrapper de loop e, em seguida, escreva a lógica de negócios depois que estiver funcionando.
18. Use “O que há de errado com este código?” como um aviso
Freqüentemente, alimentarei a IA com blocos de código, especialmente expressões regulares geradas pela IA. Pode ser muito instrutivo ver o que a IA acha que está errado com o código, muitas vezes destacando condições de erro que o código não testa. Então, é claro, peça à IA para regenerar o código, corrigindo os erros encontrados.
19. Use “O que isso faz?” como um aviso
Da mesma forma, gosto de alimentar a IA com blocos de código e perguntar “O que isso faz?” Muitas vezes é instrutivo, mesmo para o meu próprio código. Mas o maior benefício é quando estou trabalhando em código escrito por outra pessoa. Alimentar uma função ou bloco para a IA pode economizar muito tempo na engenharia reversa do código original.
20. Saiba quando desistir da IA
Às vezes, a IA simplesmente não consegue fazer o trabalho. Descobri que se você tentar reescrever seu código mais de duas ou três vezes, você já passou do ponto sem volta. Se você realmente deseja um código gerado por IA, comece com um prompt totalmente novo e reformulado e veja o que você obtém a partir daí. E às vezes, você simplesmente terá que fazer isso sozinho.
21. Seja específico na nomenclatura de funções e variáveis
A IA capta a intenção dos nomes de variáveis e funções e escreve um código melhor. Por exemplo, especificar um nome de variável como $order_date ajuda a informar à IA que você está lidando com um pedido e um valor de data. É muito melhor do que algo como $od. Melhor ainda, o código gerado a partir de nomes de variáveis bem nomeados também costuma ser mais legível, porque ele também sabe usar nomes mais descritivos para as outras variáveis que cria.
22. Leia as notas pré e pós-código
A IA geralmente gera algumas notas sobre cada prompt antes e depois do código que escreve. Pode haver joias que podem ajudá-lo a entender o que a IA fez ou como abordou o problema. Às vezes, a IA também indicará outras bibliotecas ou funções que também podem ser úteis.
23. Não há problema em voltar mais tarde e pedir mais ajuda sobre um trecho de código
Pegue os vários trechos de código do seu projeto para ilustrar o que você precisa, diga ao ChatGPT para lê-los e peça o que deseja. Eu precisava criar uma exclusão para campos de entrada em uma área expandida e voltei e perguntei. Menos de um minuto depois, eu tinha um código que levaria entre 10 minutos e uma hora para escrever sozinho.
24. Use o Al para ajudá-lo a reescrever blocos de código obsoletos
Eu tinha um módulo PHP escrito em uma versão mais antiga do PHP que usava um recurso de linguagem agora obsoleto. Para atualizar o código, colei o segmento de código obsoleto no ChatGPT e pedi que me dissesse como reescrevê-lo para ser compatível com a versão mais atual do PHP. Aconteceu e funcionou.
25. Use IA para ajudá-lo a escrever em idiomas menos familiares
Sinto-me muito confortável em aprender novas linguagens de programação, mas descobri que a IA pode ser muito útil se eu precisar codificar em uma linguagem na qual não sou especialista. e especifique o idioma. Digamos que eu queira saber como fazer uma declaração de caso em Python e sempre faço isso em Perl. Basta perguntar “compare a escrita de uma instrução case em Perl e Python” ou “como concatenar uma string em Python vs PHP”. Você obterá uma ótima comparação e tornará muito mais fácil escrever aquele código desconhecido.
Aqui vai uma dica bônus. Verifique com sua empresa as questões legais do código gerado. Se você não sabe por onde começar, leia meu artigo sobre IA e propriedade de código. Se você usar as dicas que compartilhei com você, nunca usará a IA para escrever uma lógica de negócios exclusiva ou a essência do que torna seu código único. Dessa forma, você provavelmente conseguirá reter os direitos autorais desse código, que deve constituir o elemento-chave do seu valor exclusivo.
Eu escrevo código para uso interno da empresa ou código-fonte aberto, por isso não estou muito preocupado com questões de propriedade quando se trata de trechos gerados por IA.
Você usou uma IA para ajudar a escrever código? Você tem alguma dica para adicionar à minha lista acima? Deixe-nos saber nos comentários abaixo.
Você pode acompanhar as atualizações diárias do meu projeto nas redes sociais. Certifique-se de assinar meu boletim informativo semanal e siga-me no Twitter/X em @DavidGewirtzno Facebook em Facebook.com/DavidGewirtz, no Instagram em Instagram.com/DavidGewirtz e no YouTube em YouTube.com/DavidGewirtzTV.