GitHub Copilot: primeiras impressões
(vladiliescu.net)- Impressões após algumas semanas de uso
→ "Dentro de 3 a 5 anos, todos nós vamos escrever mais comentários, usar nomes mais descritivos para tudo, escrever muito menos código e fazer inúmeras revisões de código"
- Vantagens
→ Excelente para escrever código boilerplate repetitivo e tedioso
→ Consegue gerar código para fragmentar datasets, treinar e avaliar com contexto mínimo
→ "Agora não preciso mais escrever macros rápidas"
- Desvantagens
→ Para funcionalidades avançadas, a utilidade do Copilot é sutil
→ É preciso ter cuidado ao gerar grandes volumes de código que podem ou não fazer a coisa certa
→ Às vezes recomenda versões antigas de bibliotecas, usa código sintaticamente incorreto e preenche parâmetros de algoritmos de ML que nem existem
→ "É preciso estar sempre atento"
[ Pesquisa ]
O artigo do Codex sobre GPT trouxe insights importantes
- Possibilidades
→ "O Codex pode ser útil de várias formas. Por exemplo, ao integrar usuários a uma nova base de código, reduzir a troca de contexto de programadores experientes, permitir que não desenvolvedores escrevam especificações para que o Codex produza uma implementação inicial, além de ajudar em educação ou exploração"
→ Em outras palavras, se ele aprender a base de código da empresa e recomendar padrões ou módulos usados em toda a organização, poderá ajudar a padronizar patterns e practices (isso não vai acontecer tão cedo)
→ Também é muito empolgante a ideia de não desenvolvedores poderem escrever especificações. Especialmente testadores. Eles talvez não consigam escrever código para testar API ou UI, mas conseguem descrever o que querem fazer; assim, boa parte do código de que precisam é simples o bastante para que o Copilot consiga escrevê-lo, o que pode aumentar muito a produtividade. Isso já é parcialmente possível mesmo com a versão preview atual do Copilot
- Limitações
→ Como o Codex pode sugerir soluções que na prática não executam corretamente a tarefa pretendida, a "revisão de código" é importante
→ Além disso, por causa do "Automation Bias" (viés de automação), quanto melhor o Copilot ficar, menor será a disposição das pessoas para procurar bugs no código gerado, e os bugs nesse código serão sutis e difíceis de identificar
- Pode recomendar código incorreto
1 comentários
Eu também achei que ele fazia recomendações muito melhores do que eu esperava. Parece que a capacidade de escrever bem em (inglês) vai se tornar ainda mais importante. Ainda assim, por enquanto, parece haver uma boa distância entre isso e ajudar não desenvolvedores ou desenvolvedores juniores a escrever código de lógica de negócio com facilidade; por outro lado, parece ajudar bastante desenvolvedores experientes a reduzir o tempo gasto escrevendo código tedioso.
As desvantagens eu senti de forma parecida com o que foi escrito aqui. Principalmente no ponto de que às vezes ele “recomenda código sintaticamente incorreto”. No momento, justamente por as sugestões ainda não serem completas, o uso acaba sendo mais no nível de olhar, pensar “ah, então ele sugeriu isso por esse motivo”, e escrever o código tomando isso como referência; mas acho que, à medida que a qualidade das sugestões melhorar, como foi dito acima, também podem aumentar os bugs causados por usar aquilo diretamente sem revisar.