Kiro e desenvolvimento orientado por especificações: uma atualização rápida

Olá, eu sou Beagleworks. 🐶 De acordo com a discórdia oficial de Kiro, Kiro agora está sequencialmente convidando os usuários de sua lista de espera. Com as pré -visualizações começaram há cerca de três semanas, isso é uma notícia bem -vinda para aqueles que estavam esperando. Se o número de usuários crescer significativamente, a filosofia de desenvolvimento orientada por especificações da Kiro (SDD) poderá se tornar a abordagem convencional na codificação assistida por AI. Neste artigo, fornecerei uma rápida atualização sobre o Kiro e sua abordagem ao desenvolvimento orientado a especificações. O que é Kiro? Kiro é um IDE Integrado da AI-AWS, baseado no VSCode. Descrito como “o AI IDE para o protótipo para a produção”, oferece “codificação de vibração” convencional (semelhante ao cursor) e um recurso inovador: desenvolvimento orientado a especificações. Essa abordagem representa um novo paradigma na codificação assistida por AA. Atualmente, ele utiliza modelos como Claude 4,0 sonetos e Claude 3,7 sonetos. O que é o desenvolvimento orientado por especificações? Como o nome sugere, o SDD é uma metodologia de desenvolvimento que começa com as especificações solidificantes antes de prosseguir para o código. Especificamente, a IA analisa os requisitos humanos e gera três documentos principais – uma definição de requisitos, uma especificação de design e um plano de implementação – antes de qualquer código estar escrito. Durante a codificação assistida por A., esses documentos são referenciados continuamente, o que ajuda a minimizar os erros de implementação que violam as especificações e reduzem o retrabalho. Ao longo da execução da tarefa, a IA mantém um entendimento claro de “o que precisa ser construído e como”. Por outro lado, a tendência atual na codificação de IA geralmente envolve “o desenvolvimento de idéias diretamente, interagindo com a IA para implementação automatizada” – um processo que é essencialmente uma forma avançada de codificação de vibração. No entanto, à medida que o desenvolvimento avança, essa abordagem geralmente leva a desafios, como manter a qualidade do código, consequências negativas da falta de documentação e projetos se tornando excessivamente complexos e se afastando de seu objetivo original. Acredita-se que o desenvolvimento orientado a especificações mitigue significativamente esses problemas. A abordagem de desenvolvimento orientada por especificações da Kiro na metodologia SDD da Kiro, você gera progressivamente documentos chamados especificações por meio de conversas interativas com a IA. Isso inclui: requisitos.md (arquivo de especificação de requisitos) Design.md (arquivo de especificação de design) Tasks.md (arquivo de lista de tarefas) através de um diálogo com o usuário, a IA gera cada documento, faz alterações iterativas com base no feedback e requer a aprovação humana para finalizar a especificação antes de prosseguir para a próxima. Isso garante um fluxo lógico: os documentos de design mantêm consistência com os requisitos e as tarefas são decompostas adequadamente com base no design. Além disso, você pode criar um tipo de documento complementar chamado direção. Você pode escrever regras, restrições e políticas específicas do projeto na linguagem natural, e o agente da IA sempre referenciará as especificações e quaisquer documentos colocados no diretório de direção ao operar. Para projetos existentes, você pode até solicitar ao agente que gere um arquivo de direção inicial. Depois que essa configuração estiver concluída, você poderá instruir o agente de IA a iniciar a implementação. Em tarefas.md, você encontrará seções marcadas com a tarefa ⚡️Start. Clicar nestes inicia a implementação para cada tarefa. Basta prosseguir clicando nessas seções, e o agente da IA lidará com o processo de implementação, concluindo seu aplicativo. Basta prosseguir clicando nessas seções e o agente da IA lidará com o processo de implementação. Isso por si só completará seu aplicativo. No entanto, como o modelo primário é o claude Sonnet, seus recursos de codificação podem ser limitados, dificultando a complexa implementação complexa por conta própria. Além disso, durante o período de visualização, os limites diários de uso são bastante rigorosos e você pode atingir seu limite no meio da tarefa. Dependendo do número e da complexidade das tarefas, a conclusão da implementação pode levar de dois a cinco dias. Outros recursos incluem suporte para servidores de modelos locais e ganchos de agentes orientados a eventos, que podem ajudar o agente da IA em suas operações. A implementação real, pois é bastante direta, vamos criar uma especificação para o jogo clássico Tetris. Para torná -lo mais interessante, adicionaremos estes recursos: monomínios, dominó e triomínios (blocos de tamanho 1, 2 e 3) também cairão. Os jogadores podem pular o próximo bloco. Os pulos são limitados, mas regeneram quando as linhas são limpas. Primeiro, selecione o modo Spec, como mostrado abaixo. Em seguida, insira nossos requisitos. Idealmente, pode -se consultar um LLM para desenvolver especificações preliminares, mas, para esta demonstração, continuaremos simples. Eu quero criar um jogo de tetris que seja executado no navegador. Prepare um documento de requisitos em japonês. Digite o modo de saída do modo de tela cheia (Como sou japonês, solicitei os documentos em japonês.) Após uma breve pausa, requisitos.md são gerados em um formato estruturado com base na notação de ouvidos (abordagem fácil para requisitos). O documento gerado parece cobrir todos os requisitos necessários para o Tetris. Em seguida, inseriremos os requisitos adicionais. (Em um cenário do mundo real, você provavelmente os incluiria no prompt inicial.) – Adicione monomínios, dominó e triominos como blocos de queda. – Implemente um recurso para pular blocos mostrados na visualização. Especificações: os jogadores podem manter até 4 pular e limpar 2 linhas regenera 1 Pule o modo de saída do modo de tela cheia após outra breve pausa, requisitos.md é atualizado para refletir as solicitações adicionais. Desta vez, algumas especificações estavam faltando, então solicitaremos uma correção. Em relação aos blocos de triomino, apenas os em forma de L parecem estar definidos. Adicione também blocos triominos retos com três quadrados. Digite o modo de saída do modo de tela cheia desta vez, as correções foram implementadas corretamente. Depois de confirmar as alterações, o documento de design, design.md, é gerado. Embora eu tenha algumas preocupações menores – por exemplo, prefiro não usar classes JavaScript, e questiono se o algoritmo for ideal – não continuaremos com a codificação real desta vez, então aceitamos como está. Se você tiver preferências para linguagens de programação, tecnologias, bibliotecas ou estruturas, você deve especificá -las durante esta fase de design. Em relação às configurações de regras e políticas de codificação, não tenho certeza se elas devem ser especificadas aqui ou no documento de direção – isso requer uma verificação adicional. Depois de confirmar o design, a lista de tarefas, Tasks.md, é gerada. Pessoalmente, acho a granularidade da tarefa um pouco grosseira, mas decido aceitá -la por enquanto, especialmente considerando os limites de uso diário. Confirmando essas alterações completa o processo. Especificações reais (escritas em japonês) A tendência emergente do desenvolvimento orientado a especificações A influência do SDD está se espalhando para outras ferramentas, incluindo o código Claude do Anthropic. Também me deparei com artigos experimentando o desenvolvimento orientado a especificações usando a CLI e o cursor Gemini. O cursor parece especialmente adequado para isso, pois permite que os usuários instruam explicitamente o agente a seguir uma metodologia SDD. Impressões e resumo sobre o próprio Kiro, embora tenha feito uma estréia impressionante, sua popularidade parecia diminuir com o tempo. Para ser sincero, o período da lista de espera foi muito longo. Sem um fluxo constante de novos usuários, até o inovador desenvolvimento inovador de especificações da Kiro se mostrou insuficiente para manter o momento. Se Kiro se tornar acessível a todos uma vez que a lista de espera for limpa, pode mais uma vez se tornar um tópico quente. A abordagem de desenvolvimento orientada por especificações que a Kiro Campions para a codificação de IA, sem dúvida, tem o potencial de se tornar uma metodologia convencional. Como o vice-presidente da AWS, Marc Brooker, observou no blog Kiro Development: uma especificação é uma espécie de super prompt (controlado por versão, legível por humanos). “A comprehensive document that clearly outlines a project’s objectives in human-readable form can simultaneously serve as both AI instruction and a long-term memory guideline, and of course it also helps humans later review the project.”This captures the essence of Spec-Driven Development.Those who recognize and appreciate this core value – whether adopting it in forms distinct from Kiro’s approach – may ultimately help establish SDD as the de facto standard in AI coding.

Fonte

Publicar comentário

Você pode ter perdido