Notícias
GitHub Copilot agora pode informar aos desenvolvedores quando suas sugestões correspondem ao código em um repositório público.


O GitHub Copilot é uma ferramenta que mudou a maneira como os desenvolvedores escrevem seu código. No entanto, ela também pode criar problemas quando gera código semelhante ao que já está disponível em outro repositório público. Em 2022, o GitHub lançou um recurso que permitia aos usuários bloquear automaticamente sugestões de código correspondente ao que já existe publicamente. De acordo com um porta-voz do GitHub, esse sistema acionaria menos de 1% do tempo. Mas, às vezes, os desenvolvedores podem querer ver essas partes de código – seja para usá-las (dentro das restrições de licenciamento estabelecidas por suas empresas) ou até mesmo usar a biblioteca completa de onde esse trecho de código veio.
Portanto, para encontrar um meio-termo, o GitHub lançou hoje uma versão beta privada de um recurso de referenciamento de código para o GitHub Copilot que dará aos desenvolvedores essa escolha. Com o referenciamento de código ativado, o Copilot não bloqueará automaticamente nenhum código correspondente que ele gerar, mas, em vez disso, mostrará aos desenvolvedores em uma barra lateral e permitirá que eles decidam o que fazer com ele. Com o tempo, esse recurso também estará disponível no Copilot Chat.
O GitHub já havia apresentado uma prévia desse recurso em novembro passado, mas claramente demorou um pouco para lançá-lo.
Conforme o CEO do GitHub, Thomas Dohmke, me disse, a Microsoft, o GitHub e a maioria dos clientes corporativos do Copilot estavam usando o recurso de bloqueio original, mas ele também observou que é um pouco rudimentar. “Ele oferece pouco controle para decidir por si mesmo se você realmente deseja pegar aquele código e atribuí-lo a uma licença de código aberto. Ele realmente não permite que você descubra que pode haver uma biblioteca que você poderia usar em vez de sintetizar código”, ele me disse. “Ele impede que você explore essas bibliotecas e envie solicitações de pull. Você pode estar reproduzindo tudo o que já existe em algum repositório de código aberto.”
Dohmke apontou que isso geralmente se aplica a algoritmos computacionais comuns, como classificação, que tendem a existir em vários lugares diferentes. Agora, os desenvolvedores podem rejeitar o código, usá-lo diretamente – desde que a biblioteca permita – ou fazer com que o Copilot reescreva o código para que não corresponda mais ao código original.
Atualmente, não é possível ver apenas resultados que correspondem a licenças específicas, mas a equipe está buscando ativamente feedback para ver se esse é um recurso que os usuários estão solicitando.
“Estamos permitindo que as pessoas entendam a correspondência e depois sigam em frente e explorem ou tomem a decisão certa”, disse Dohmke. “Acho que preenche a lacuna que a solução original tinha.”
O recurso de referenciamento de código também é acionado com mais frequência quando não há muito contexto para o Copilot trabalhar. Quando o Copilot pode visualizar muito contexto do código existente em que você está trabalhando, é improvável que ele produza uma sugestão que corresponda ao código público. Mas quando você está apenas começando, é significativamente mais provável que ele gere código correspondente.
No centro disso está um mecanismo de busca muito rápido (o GitHub diz que deseja manter a latência em 10-20ms) que pode encontrar rapidamente o código correspondente e sua licença. Atualmente, os trechos de código correspondentes são listados na ordem em que o mecanismo de busca os encontra. Em seu anúncio original do ano passado, o GitHub afirmou que os desenvolvedores devem ter a “possibilidade de classificar esse inventário por licença do repositório, data de commit, etc.”, então espero que eles adicionem essa funcionalidade mais tarde.

