Autor: Bie Xiang
Ao entrar em 2024, a popularidade da IA continua a aumentar. Lendo os artigos na área de ciência e tecnologia, pode-se dizer que IA são doze volumes de livros militares, cada um com seu próprio nome. Um relatório de pesquisa recente da McKinsey mostra que a engenharia de software é um dos campos com maior impacto da IA e se tornou uma obrigação para a engenharia de software. Alguns estudos também dizem que os desenvolvedores podem ser responsáveis por cerca de 70% de seu trabalho transacional diário. escrita unilateral. Espere, e esta parte é o que a IA faz bem. Permitir que modelos grandes ajudem os engenheiros a acelerar a codificação e melhorar a qualidade permite-nos concentrar-nos mais nos 30% restantes de negócios e inovação técnica.
No trabalho diário, frequentemente ouvimos algumas reclamações e pontos problemáticos dos engenheiros. Por exemplo, escrever testes unitários é demorado; assumir uma nova base de código, alguns códigos ancestrais são relativamente caros para entender, a solução de problemas requer acesso a alguns navegadores para encontrar informações e é difícil encontrar respostas apropriadas, o que faz você se sentir; sobrecarregado. Como um pesquisador e desenvolvedor de codificação inteligente, desta vez finalmente consegui aplicar uma injeção intravenosa em Hua Tuo e o médico se curou.
Resumindo, os desenvolvedores têm três demandas principais: 1) Codificação rápida, resolução rápida de problemas e conclusão rápida de requisitos. 2) Reduza os pop-ups do IDE e aproveite o fluxo envolvente. 3) Reduza a codificação repetida e elimine as restrições de idioma.
Por exemplo, se eu quiser fazer uma página web, embora não conheça o front-end, com a ajuda de modelos grandes, isso pode me ajudar a escrever código HTML e JS, para que eu possa me concentrar mais na implementação do negócio e inovação. Resumindo, os desenvolvedores só vêm ao IDE para fazer três coisas: escrever código, escrever código ou escrever código, ajudando os desenvolvedores a melhorar a qualidade e a eficiência na forma de um assistente de codificação.
As funções principais do Tongyi Lingma incluem continuação automática em nível de linha/nível de função, codificação de linguagem natural, geração de comentários, geração de teste de unidade, explicação de código, otimização de código, relatório de exceções, solução de problemas inteligente, pesquisa de documentos técnicos, etc. Ao mesmo tempo, também fornece recursos específicos da empresa, como exibição de relatórios e diversas formas de implantação de nuvens privadas.
Tongyi Lingma oferece suporte a mais de 200 linguagens de programação convencionais, como Java, Python e Go. Atualmente está disponível no mercado de plug-ins de VS Code e JetBrains Family Bucket Visual Studio, que é altamente solicitado por todos. , também será lançado no próximo mês, e os modos de desenvolvimento remoto desses IDEs também são suportados, como Remoto, SSH, WSL, etc.
De modo geral, Tongyi Lingma é desenvolvido com base no grande modelo Tongyi, combinado com enorme conhecimento de código aberto e Document SDK da Alibaba Cloud, tendo assim os principais recursos de conclusão de código de nível superior e pesquisa e desenvolvimento de perguntas e respostas. O nível superior é o nosso lado de engenharia, como reconhecimento de intenção de perguntas e respostas, aprendizado de hábitos do usuário, engenharia imediata, aprendizado de arquivos cruzados, etc. Do modelo básico ao modelo no campo vertical e, em seguida, à construção simultânea geral de recursos essenciais no lado final, podemos usar o produto Tongyi Lingma no IDE.
Demonstração da habilidade Tongyi Lingma
Alguns colegas vão perguntar, mas o que você aprende no papel é superficial, você pode fazer alguma prática prática?
01/ Crie um novo projeto usando Spring Boot
A seguir, usaremos o Spring Boot para criar um novo projeto como um caso para mostrar a todos os recursos do Tongyi Lingma. Primeiro, perguntamos ao Lingma: Como escrever um programa Web para fazer upload e download de fotos através do Spring Boot? O código espiritual reagirá imediatamente e começará a ser gerado. Primeiro, escreva o arquivo XML do Spring Boot e alguns arquivos de configuração da estrutura de dados e, em seguida, escreva a camada do controlador, a interface de serviço e a classe de implementação de serviço. a escrita do código é muito rápida e a ideia é muito clara, sabendo quais arquivos e etapas são necessários e como implantar o serviço Web.
Podemos interagir com o Lingma por meio de perguntas e respostas a qualquer hora e em qualquer lugar. Se você não estiver satisfeito com a resposta de alguma forma, ou quiser que o Lingma expanda alguns códigos mais gerais e deixe-o continuar escrevendo, ou se encontrar algum tipo de erro ou solicitação especial para encontrar uma solução, etc., você pode comunicar-se ainda mais com Lingma fazendo perguntas. Lingma terá prazer em ajudá-lo durante o processo de perguntas e respostas.
Por exemplo, perguntei se há algum exemplo de armazenamento por meio de banco de dados de memória em vez de usar banco de dados mysql. Lingma pode entender o que quero dizer e fornecer uma solução redis para esse armazenamento.
02/ Manter base de código do sistema legado
Outro cenário comum é que, como engenheiros, muitas vezes mantemos um sistema antigo deixado por outros, que também pode conter algum código ancestral . Então a capacidade do Lingma de prever a tarefa de interpretar códigos pode ser melhor refletida.
Por exemplo, existe um trecho de código como este. Existem muitos if elses e é bastante confuso. Podemos clicar em um atalho acima do método e deixar o Lingma explicar. Temos um design aqui, ou seja, Lingma primeiro dará uma explicação relativamente curta de alto nível para ajudar os desenvolvedores a entender o significado deste código mais rapidamente. Se os desenvolvedores quiserem uma explicação mais específica, eles podem usar o botão de pergunta abaixo para obter uma resposta mais detalhada. O sistema em inglês é chamado em detalhes e o Lingma dará uma explicação mais específica.
O teste unitário também é um tópico comum Todo mundo sabe que o teste unitário é bom, mas poucos conseguem realmente fazê-lo. O teste de unidade pode melhorar a capacidade de manutenção do código, torná-lo mais robusto e pode ser melhor mantido quando outros assumirem o controle, mas as necessidades diárias de desenvolvimento dos engenheiros serão maiores.
Falando objetivamente, o teste único é definitivamente algo relativamente demorado no curto prazo, mas muitos desenvolvedores tendem a buscar a conveniência no curto prazo e abandonar os benefícios no longo prazo. Lingma pode ajudar os engenheiros a escrever testes unitários mais rapidamente, melhorar a cobertura dos testes unitários e melhorar a capacidade de manutenção da base de código.
A otimização de código também é um cenário de alta frequência. Houve muitas solicitações de usuários no passado, na esperança de ter tal capacidade. Os usuários podem clicar com o botão direito na caixa ou clicar na entrada de atalho acima do método para acionar a otimização do código. Mas, falando objetivamente, otimização de código é um termo muito amplo. Ele projeta otimização de estilo, reparo de defeitos, reconstrução de programa, otimização de segurança, etc. Portanto, também estamos fazendo o possível para melhorar os recursos do modelo de otimização de código para que os desenvolvedores possam ter maior qualidade de código.
Por fim, vamos apresentar nossos recursos de solução de problemas de erros de depuração em execução. Quando o IDE encontrar alguns erros de tempo de execução, o Lingma fornecerá uma função de solução de problemas com um clique na pilha de erros. Depois de clicar no botão de solução de problemas com um clique, o Lingma coletará automaticamente a pilha de erros e localizará o contexto do código de erro gerado pelos usuários. um prompt para relatório de erros para fazer perguntas sobre o modelo e buscar soluções. Esta função está atualmente lançada em IDEA e Java e será lançada em vários terminais e linguagens no futuro.
Destaques do produto e vantagens do Tongyi Lingma
Em primeiro lugar, os produtos Tongyi Lingma prestam atenção especial à experiência dos desenvolvedores, e os desenvolvedores são nossos usuários. Fizemos muitos esforços em design de interação para que os visuais nativos do IDE se adaptassem aos hábitos de uso dos desenvolvedores. Ao mesmo tempo, durante o processo de codificação, o tempo de acionamento da conclusão, a seleção do comprimento, a velocidade do modelo e outros aspectos foram processados para ajudar os desenvolvedores a ter uma experiência de fluxo de codificação.
O Sr. Zhu Xi disse uma vez que existem três maneiras de ler, nomeadamente do coração aos olhos e à boca. Para o código espiritual, para gerá-lo com precisão, você precisa de:
- A primeira é cultivar habilidades internas, construir modelos poderosos e aprender mais dados de alta qualidade, como alguns SDKs e OpenAPIs do próprio Alibaba Cloud.
- O segundo é o projeto de palavras de alerta, que usa palavras de alerta cuidadosamente elaboradas para cooperar com o treinamento do modelo e duplicar o efeito gerado.
- A terceira é examinar seis maneiras. Por exemplo, se um desenvolvedor real quiser escrever a próxima linha de código corretamente, ele não apenas precisará examinar o contexto do arquivo atual, mas também conhecer algumas informações entre arquivos. , como chamar um método em outro arquivo, o que pode reduzir algumas ilusões.
O mais importante são os fatores de segurança e controláveis com os quais os desenvolvedores estão mais preocupados. Durante o processo de geração do grande modelo de Tongyi Lingma, todos os dados do código serão usados apenas para inferência do modelo, e nenhum armazenamento será feito no meio, muito menos treinamento. Ao mesmo tempo, também oferecemos dois modelos, um é um modelo de nuvem grande e o outro é um modelo pequeno que funciona puramente localmente, sem acesso à Internet e com alta velocidade. Esses dois modelos suportam comutação com um clique para atender às nossas necessidades de codificação em diferentes ambientes de rede e diferentes requisitos de resistência de conclusão.
Clique aqui para experimentar rapidamente o Tongyi Lingma
A equipe da Google Python Foundation foi demitida. O Google confirmou as demissões, e as equipes envolvidas em Flutter, Dart e Python correram para a lista de favoritos do GitHub - Como as linguagens e estruturas de programação de código aberto podem ser tão fofas? Xshell 8 abre teste beta: suporta protocolo RDP e pode se conectar remotamente ao Windows 10/11 Quando os passageiros se conectam ao WiFi ferroviário de alta velocidade , a "maldição de 35 anos" dos codificadores chineses surge quando eles se conectam à alta velocidade. rail WiFi. A primeira ferramenta de pesquisa de IA do MySQL com suporte de longo prazo versão 8.4 GA Perplexica : Completamente de código aberto e gratuito, uma alternativa de código aberto ao Perplexity Os executivos da Huawei avaliam o valor do código aberto Hongmeng: Ele ainda tem seu próprio sistema operacional, apesar da supressão contínua. por países estrangeiros. A empresa alemã de software automotivo Elektrobit abriu o código-fonte de uma solução de sistema operacional automotivo baseada no Ubuntu.