O cenário de desenvolvimento de software está mudando rapidamente, impulsionado pela proliferação de Ferramentas de inteligência artificial. Essas ferramentas de código de IA se enquadram em duas categorias primárias: geradores, que visam produzir bases de código inteiras a partir de instruções e assistentes, que se integram diretamente ao fluxo de trabalho do desenvolvedor. As diferenças arquitetônicas e filosóficas fundamentais entre essas abordagens remodelam como os desenvolvedores funcionam.
Ivan Liagushkin, desenvolvedor de software com mais de 10 anos de experiência na criação de aplicativos da Web em larga escala, oferece informações sobre esse campo em evolução. Ele é responsável pela engenharia em Doisuma startup de redator de IA apoiada pela Sequoia Capital.
Definindo geradores e assistentes de código de IA
“Ferramentas como v0.dev e github copilot podem parecer semelhantes, mas são fundamentalmente diferentes filosoficamente”, disse Liagushkin. “Os geradores competem principalmente com plataformas sem código e baixo código, direcionando profissionais não desenvolvedores. Assistentes de codificação, por outro lado, visam transformar fluxos de trabalho de codificação diária”.
Geradores como v0.dev da vercel e Bolt.new da Stackblitz são projetados para permitir prototipagem rápida e lançamento de MVP. Eles geralmente são opinativos sobre as tecnologias que usam, promovendo ferramentas e plataformas específicas.
“Esses geradores são altamente opinativos sobre as tecnologias que usam e geralmente promovem ferramentas específicas para os usuários se inscreverem”, disse Liagushkin. “Por exemplo, o Bolt.New e o Lovable promovem a plataforma de desenvolvimento supabase, enquanto o V0.Dev promove naturalmente a hospedagem de vercelos.”
Os assistentes de codificação, por outro lado, concentram -se na integração perfeita nos fluxos de trabalho existentes, na compreensão de bacias de código e no fornecimento de ferramentas universais entre as tecnologias. Eles são projetados para serem úteis para desenvolvedores e equipes individuais.
“Os assistentes de codificação pretendem transformar a codificação cotidiana”, disse Liagushkin. “É vital que eles façam sentido para desenvolvedores e equipes únicas em particular. Editor de Cursor Parece especialmente promissor, fornecendo uma maneira conveniente de compartilhar e dimensionar as instruções do LLM com as chamadas ‘Regras de Cursor’. “
A arquitetura subjacente dessas ferramentas é semelhante, com a diferença primária na interface do usuário e abordagens de aumento de contexto. O componente principal é o grande modelo de linguagem (LLM).
“O componente principal é o próprio LLM”, disse Liagushkin. “Todos os geradores mencionados dependem do Claude 3,5 sonetos da Anthropic, o modelo de codificação de última geração por um longo tempo, superado apenas por seu sucessor Claude 3,7 sonetos. Assistentes de codificação, no entanto, permitem alternar entre os modelos.”
Dentro da arquitetura: como as ferramentas de codificação da IA funcionam
Essas ferramentas normalmente não ajustam os modelos, mas dependem de técnicas avançadas de solicitação. Ferramentas de código aberto como o Bolt.now fornecem informações sobre a arquitetura.
“Graças a Bolt.now ser de código aberto, podemos examinar o que é usado”, disse Liagushkin. “O prompt do sistema principal explica ao LLM seu ambiente de execução e ações disponíveis: criando e editando arquivos, executando comandos do shell, pesquisando bases de código e usando ferramentas externas. Os prompts são bem estruturados com formatação no estilo XML e usar aprendizado único para reduzir alucinações e inconsistências.”
Gerenciar o contexto, especialmente para bases de código grandes, é um desafio significativo. Assistentes indexam bases de código e usam bancos de dados de vetores para pesquisa de texto completo.
“O maior desafio é fornecer ao LLMS o contexto adequado”, disse Liagushkin. “É essencial alimentar as partes certas dos arquivos certos, juntamente com os módulos, documentação e requisitos correspondentes. Os assistentes indexam a base de código, criando estruturas de dados em forma de árvore para monitorar as alterações de arquivos e depois incorporar arquivos em bancos de dados vetoriais para pesquisa de texto completo.”
Os 30% finais
Apesar de seu poder, as ferramentas de codificação de IA têm limitações. O “problema de 70%”, articulado por Addy Osmani, destaca sua luta com os 30% finais do código que exige robustez e manutenção.
“O problema de ‘70% ‘descreve perfeitamente a limitação fundamental de ferramentas de codificação de IA: elas podem gerar código rapidamente que leva 70% do caminho para lá, mas luta com os 30% finais cruciais que tornam a produção de software pronta, sustentável e robusta”, disse Liagushkin.
Abordar essas limitações envolve a melhoria da precisão do modelo, o avanço das arquiteturas agênticas e o aprimoramento das técnicas de promoção.
“Esse problema será resolvido de três maneiras diferentes”, disse Liagushkin. “Primeiro, os modelos se tornarão mais precisos. Em segundo lugar, a arquitetura dos assistentes de codificação avançará através de abordagens agênticas. Por fim, mudaremos. Todos aprenderão técnicas efetivas de solicitação.”
Em Twain, Liagushkin experimentou limitações semelhantes no desenvolvimento de redatores de IA. As estratégias para mitigar isso incluem cache de solicitação de LLM, malabarismo com modelos e pré -processamento imediato.
“A única diferença entre assistentes de codificação e Twain é que os assistentes de codificação produzem código, enquanto Twain produz mensagens personalizadas de qualidade escrita por humanos”, disse Liagushkin. “Os desafios permanecem os mesmos-para serem valiosos, devemos gerar cópias rápidas, econômicas e mantê-las livres de alucinações”.
Antecipando o futuro
Olhando para o futuro, Liagushkin antecipa avanços significativos na qualidade do modelo e na evolução do fluxo de trabalho. No entanto, ele enfatiza que a adoção da tecnologia continua sendo um fator crítico.
“O progresso na qualidade do modelo de IA é surpreendente, e devemos esperar que os modelos se tornem ainda mais precisos, estáveis e econômicos”, disse Liagushkin. “No entanto, acredito que mudanças verdadeiramente transformadoras nos processos de codificação não virão principalmente de engenharia e avanços da IA, mas do fluxo de trabalho e da evolução da mentalidade”.
Considerações éticas, particularmente a segurança dos dados, também são fundamentais. Liagushkin sugere implantar LLMs de codificação nas redes locais e usar ferramentas de restrição de visibilidade.
“Considerações éticas dizem respeito principalmente à segurança dos dados – um problema significativo, mas tecnicamente solucionável,”, disse Liagushkin. “O Coding LLMS pode ser implantado nas redes locais das organizações, com ferramentas de restrição de visibilidade projetadas para isolar seções de código sensível.”
O futuro das ferramentas de codificação de IA depende dos avanços tecnológicos e uma mudança de mentalidade na comunidade de desenvolvimento.