Apresentamos o Amazon CodeWhisperer, o PlatoBlockchain Data Intelligence, companheiro de codificação baseado em ML. Pesquisa vertical. Ai.

Apresentamos o Amazon CodeWhisperer, o companheiro de codificação com tecnologia de ML

Estamos felizes em anunciar Sussurrador de Código da Amazon, um serviço baseado em aprendizado de máquina (ML) que ajuda a melhorar a produtividade do desenvolvedor fornecendo recomendações de código com base nos comentários naturais dos desenvolvedores e no código anterior. Com o CodeWhisperer, os desenvolvedores podem simplesmente escrever um comentário que descreva uma tarefa específica em inglês simples, como “carregar um arquivo para o S3”. Com base nisso, o CodeWhisperer determina automaticamente quais serviços de nuvem e bibliotecas públicas são mais adequados para a tarefa especificada, cria o código específico rapidamente e recomenda os trechos de código gerados diretamente no IDE.

Embora a nuvem tenha democratizado o desenvolvimento de aplicativos ao fornecer acesso sob demanda a computação, armazenamento, banco de dados, análise e ML, o processo tradicional de criação de aplicativos de software ainda exige que os desenvolvedores gastem muito tempo escrevendo seções de código padrão que não são diretamente relacionado ao problema central que eles estão tentando resolver. Mesmo os desenvolvedores mais experientes acham difícil acompanhar várias linguagens de programação, estruturas e bibliotecas de software, garantindo que estejam seguindo a sintaxe de programação correta e as melhores práticas de codificação. Como resultado, os desenvolvedores gastam uma quantidade significativa de tempo pesquisando e personalizando trechos de código da web. Com o CodeWhisperer, os desenvolvedores podem manter o foco no IDE e aproveitar as recomendações contextuais em tempo real, que já estão personalizadas e prontas para uso. Menos distrações longe do IDE e recomendações prontas para uso em tempo real ajudam você a concluir suas tarefas de codificação mais rapidamente e aumentam a produtividade.

Neste post, discutimos os benefícios do CodeWhisperer e como começar.

Trazendo o poder do ML ao alcance dos dedos do desenvolvedor

O CodeWhisperer está disponível como parte da extensão AWS Toolkit para os principais IDEs, incluindo JetBrains, Visual Studio Code e Nuvem AWS9. No AWS Lambda console, o CodeWhisperer está disponível como um recurso de sugestão de código nativo. Na inicialização, você pode usar o CodeWhisperer para gerar recomendações de código para Python, Java e JavaScript. Você pode instalar o AWS Toolkit acessando a tela de plug-in ou extensão do seu IDE e pesquisando o AWS Toolkit.

Apresentamos o Amazon CodeWhisperer, o PlatoBlockchain Data Intelligence, companheiro de codificação baseado em ML. Pesquisa vertical. Ai.

Depois que o CodeWhisperer é habilitado, você começa automaticamente a receber recomendações de código em seu IDE à medida que começa a escrever seu código ou comentários. Ao encontrar os desenvolvedores onde você estiver, estamos tornando o CodeWhisperer fácil de usar e experimentar. Você pode começar em poucos minutos e começar a aproveitar os benefícios de produtividade imediatamente.

Muito mais do que o preenchimento automático tradicional

As ferramentas tradicionais de preenchimento automático fornecem completações de uma única palavra, por exemplo, uma lista de propriedades ou métodos para um objeto. O CodeWhisperer fornece um aumento de produtividade muito melhor ao gerar funções inteiras e blocos de código lógicos de uma só vez. Além disso, o CodeWhisperer entende a intenção do desenvolvedor expressa por meio de comentários em inglês simples. O exemplo a seguir mostra como o CodeWhisperer gera toda a função para converter um arquivo JSON em um arquivo CSV, considerando a intenção do desenvolvedor de usar as chaves no arquivo JSON como os cabeçalhos do arquivo CSV.

Apresentamos o Amazon CodeWhisperer, o PlatoBlockchain Data Intelligence, companheiro de codificação baseado em ML. Pesquisa vertical. Ai.

Criar aplicativos na AWS ficou mais fácil

O CodeWhisperer facilita para os desenvolvedores o uso dos serviços da AWS fornecendo recomendações de código para interfaces de programação de aplicativos (APIs) da AWS nos serviços mais populares, incluindo Amazon Elastic Compute Nuvem (Amazon EC2), Lambda e Serviço de armazenamento simples da Amazon (Amazônia S3). À medida que você escreve o código em seu IDE, o CodeWhisperer analisa automaticamente o comentário, monta o código usando os serviços de nuvem relevantes e bibliotecas de software público para a funcionalidade desejada e recomenda trechos de código e até funções inteiras diretamente no IDE que atendem às melhores práticas. O exemplo a seguir mostra como o CodeWhisperer pode gerar toda a função para fazer upload de um arquivo para o Amazon S3 usando a criptografia do lado do servidor.

Apresentamos o Amazon CodeWhisperer, o PlatoBlockchain Data Intelligence, companheiro de codificação baseado em ML. Pesquisa vertical. Ai.

Aproveitando o poder da IA ​​com responsabilidade

Treinamos o modelo CodeWhisperer em grandes quantidades de código disponível publicamente para melhorar a precisão das recomendações. Simplificando, a precisão do modelo é diretamente proporcional ao tamanho dos dados de treinamento. E embora isso tenha nos ajudado em termos de precisão, esses tipos de modelos também podem aprender alguns padrões indesejados. Acreditamos que, embora a IA possa, sem dúvida, aumentar a produtividade, temos que aproveitar esse poder de maneira responsável. Existem alguns recursos de destaque que tornam o CodeWhisperer único neste espaço.

Na AWS, gostamos de dizer que segurança é tarefa zero. É por isso que o CodeWhisperer também oferece a capacidade de executar varreduras em seu código (gerado pelo CodeWhisperer e escrito por você) para detectar vulnerabilidades de segurança. A captura de tela a seguir ilustra a funcionalidade de verificação de segurança do CodeWhisperer. Incluímos um snippet de código que pode causar vazamento de recursos. Quando você escolhe Executar verificação de segurança, o CodeWhisperer detecta essa vulnerabilidade e exibe o problema.

Apresentamos o Amazon CodeWhisperer, o PlatoBlockchain Data Intelligence, companheiro de codificação baseado em ML. Pesquisa vertical. Ai.

Em segundo lugar, estamos fornecendo um rastreador de referência que pode detectar quando as saídas geradas podem ser semelhantes a dados de treinamento específicos. Embora o modelo tenha aprendido a escrever código e gere código completamente novo com base no aprendizado, em casos muito raros, uma recomendação de código gerada independentemente pode se assemelhar a um trecho de código exclusivo nos dados de treinamento. Ao notificá-lo quando isso acontecer e fornecer a você o repositório e as informações de licenciamento, o CodeWhisperer facilita a decisão de usar o código em seu projeto e fazer as atribuições de código-fonte relevantes como achar melhor.

O CodeWhisperer informa em tempo real que a recomendação de código atual que você está vendo pode ser semelhante a um código de referência, mostrando uma notificação no pop-up de recomendações. Na captura de tela a seguir, o código gerado é semelhante a um código de referência que está sob a licença do MIT. Se o desenvolvedor aceitar a recomendação, o CodeWhisperer registra a aceitação e as informações de licenciamento correspondentes. Você pode então visualizar o log de referência escolhendo Open CodeWhisperer Reference Panel no nó CodeWhisperer.

Apresentamos o Amazon CodeWhisperer, o PlatoBlockchain Data Intelligence, companheiro de codificação baseado em ML. Pesquisa vertical. Ai.

Por fim, estamos implementando técnicas para detectar preconceitos com base em estereótipos comuns. Implementamos filtros que detectam tendências óbvias no código gerado e removem recomendações de código que podem ser consideradas tendenciosas e injustas. Por exemplo, imagine um software de recrutamento que ajuda os gerentes de contratação selecionando automaticamente os candidatos. Em caso de empate, o software depende de uma lógica de desempate. Ao gerar uma recomendação para esse cenário, é possível que um modelo de IA gere um código que favoreça os candidatos com base em parâmetros inadequados. O CodeWhisperer pode detectar tendências em suas recomendações e filtrá-las antes mesmo de mostrar recomendações ao desenvolvedor.

Desbloqueando ganhos de produtividade com CodeWhisperer

“Distrações são um desafio constante durante a codificação, especialmente quando é necessário alternar o contexto para procurar amostras de código e documentação na web. O Amazon CodeWhisperer me mantém focado no código oferecendo automaticamente sugestões úteis quando preciso delas, para que nunca precise sair do meu editor.”

– Ryan Grove, engenheiro de software da equipe da SmugMug.

“Estamos empolgados em trabalhar com a AWS para trazer o Amazon CodeWhisperer para a plataforma IntelliJ. Na JetBrains, nosso objetivo é tornar o desenvolvimento de software uma experiência tranquila e agradável. A disponibilidade do plug-in para nossas ferramentas ajudará os desenvolvedores a manter o foco em seu IDE e reduzir a necessidade de pesquisar e personalizar trechos de código da web. A partir de hoje, os usuários do IntelliJ IDEA, PyCharm e WebStorm podem começar a trabalhar com o Amazon CodeWhisperer diretamente em seu IDE, com mais IDEs a serem suportados em um futuro próximo.”

– Max Shafirov, CEO da JetBrains.

Iniciando

Durante o período de visualização, o CodeWhisperer está disponível gratuitamente para todos os desenvolvedores em todo o mundo. Para acessar o serviço em pré-visualização, entre na lista de espera inscrever-se. Para mais informações sobre o serviço, acesse Sussurrador de Código da Amazon.


Sobre os autores

Apresentamos o Amazon CodeWhisperer, o PlatoBlockchain Data Intelligence, companheiro de codificação baseado em ML. Pesquisa vertical. Ai.Ankur Desai é um gerente de produto principal da equipe de serviços de IA da AWS.

Apresentamos o Amazon CodeWhisperer, o PlatoBlockchain Data Intelligence, companheiro de codificação baseado em ML. Pesquisa vertical. Ai.Atul Deo é diretor de gerenciamento de produtos da equipe de serviços de IA da AWS.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS