Ai Dev: testando Kiro – Comunidade de Dev

Kiro é mais um garfo do VSCode (assim como o cursor ou o windsurf) que integra recursos de codificação de IA. O que chamou minha atenção foi a disciplina de “desenvolvimento orientado por especificações”> faz sentido propondo uma abordagem estruturada ao Dev (em oposição à “codificação da vibração”). Recebi meu convite e, no fim de semana, testei Kiro. Decidi recriar uma referência de desempenho de disco de plataforma cruzada que eu construí em 2018 usando o .NET. Desta vez, escolhi ferrugem e usei ai. Minhas expectativas eram baixas, mas fiquei impressionado com um bom sentido, construí um aplicativo de trabalho com uma cobertura de teste sólido! Às vezes, Kiro trabalhava por longos períodos de tempo após o plano que mantém a coerência – que mais me impressionou. O resultado não é perfeito, existem algumas coisas que não funcionam (ou seja, CI/CD está quebrado e Deus sabe como é necessário o tempo para recuperá -lo), no entanto, parte da culpa é comigo, eu poderia ter pedido menos e estar mais atento às especificações. Ao longo do meu experimento, documentei extensivamente o processo. Estas notas foram usadas para criar a postagem do blog abaixo usando o Grok 4. Ei, pessoal, é o máximo aqui-com outro mergulho no mundo selvagem da codificação assistida por IA. Se você leu minha peça sobre continuação.dev, sabe que eu sou tudo sobre testar essas ferramentas nas trincheiras, verrugas e tudo. Desta vez, passei um domingo preguiçoso (bem, “preguiçoso” se você ignorar o bacalhau ocasional: a guerra moderna 3 pausas) experimentando Kiro, um novo IDE nativo da IA ​​que promete “desenvolvimento orientado a especificações”. Spoiler: Ele transformou um prompt vago em um aplicativo de ferrugem totalmente funcional de plataforma cruzada, mas não sem alguns desvios hilariantes e perguntas existenciais sobre meu papel como desenvolvedor. Em 2018, eu criei o CrossplAtformDiskTest (CPDT), um testador de velocidade de armazenamento baseado em .NET que acumulou 500k Downloads no Android. Ele mediu leituras/gravações sequenciais/aleatórias, cópias de memória e muito mais – nada chique, mas arranhou uma coceira para as unidades de benchmarking em plataformas. Avanço rápido para 2024: Decidi recriá-lo em ferrugem (um idioma que mal me lembro de um curso de 2021 LinkedIn) usando Kiro. Não há codificação prática de mim-apenas solicitações, críticas e orquestração de IA. O resultado? Um repo chamou CPDT2 com 72 arquivos, 13k linhas de código, 246 testes e até ações do GitHub para CI/CD. Mas vamos quebrar a jornada, porque isso não era apenas codificação-foi codificante de vibração enquanto a AI fez o trabalho pesado. A configuração: do prompt para planejar o Big Hook de Kiro é seu fluxo de trabalho estruturado: SPEC> Design> Tarefas, tudo em Markdown. É como se forçar a pensar antes de você codificar, o que é honestamente uma lufada de ar fresco em comparação com o caos “rápido e opray” de outras ferramentas. Iniciei as coisas com este prompt: quero criar um utilitário de teste de velocidade de disco de plataforma cruzada. Deve ser compilável como uma ferramenta de linha de comando para macOS, Windows e Linux. Ele deve ter uma biblioteca/componente isolada que execute os testes de velocidade e que eu possa me integrar posteriormente a outros aplicativos não-CLI (por exemplo, GUI). Os testes devem incluir medições de leitura e gravação sequenciais e aleatórias com tamanhos de bloco de 4 MB para seqüencial e 4KB para aleatório (o padrão pode ser substituído), ele deve criar um arquivo de teste em um determinado dispositivo (a CLI deve fornecer uma lista de dispositivos disponíveis no sistema, para unidades do sistema utilizam instalações para obter a pasta de aplicativos com redação). O aplicativo deve mitigar os efeitos de leituras em buffer e gravações em cache (por padrão, desativando -as). As estatísticas coletadas devem incluir velocidades MIN, Max e AVG. Além disso, o aplicativo deve implementar um quinto teste – cópia de memória. Digite o modo de saída de tela cheia de tela cheia Kiro (alimentado por Claude 3.5 ou 4 – fiquei com 4) a desenvolvei em requisitos, acrescentando sutilezas como unidades MB/s e indicadores de progresso e até sugeriu o suporte para Android/iOS quando o inserisse. Ele gerou um documento de design, dividiu tudo em 23 tarefas rastreáveis ​​(por exemplo, configuração da biblioteca principal, implementações específicas da plataforma, CLI args, testes) e a filmou. Kiro ui? Limpe e intuitivo-cantos, bate-papos com guias e um painel de conteúdo que parece um código de salto vs. Uma peculiaridade: use # em vez de @ para contexto em bate -papos. Eu tropecei lá uma vez, mas no geral, foi uma navegação suave. A construção: ai pega o volante, eu jogo bacalhau com tarefas na fila, Kiro começou a se afastar. Ele lidou com tudo, desde o Project Setup (Cargo.toml, Build.rs) até código específico da plataforma para Windows, MacOS, Linux, Android e iOS. Eu “supervisionei” revisando o DIFFS no cursor (usando o GPT-5 no modo de alto raciocínio) e ocasionalmente corrigindo avisos do linter ou testes lentos. Destaques (e Lowlights): vitórias iniciais: as tarefas 1-5 voaram por-configuração, rastreamento de progresso, estatísticas. Kiro até adicionou testes de unidade quando solicitei. Uma revisão rápida do cursor confirmou que era sólida, embora eu tivesse que instalar a ferrugem manualmente após um soluço do terminal. Shenanigans da plataforma (Tarefas 6-8): Implementando E/S não buffer entre os sistemas operacionais? Kiro acertou em que os avisos de Linter se acumularam em arquivos não relacionados. Eu copio erros colados no bate-papo; Kiro corrigiu a maioria, mas às vezes “alucinou” cheques. Ainda assim, melhor do que os LLMs mais antigos que apenas geraram BS. Testando o drama (Tarefas 9-17): A primeira execução real foi a tarefa 9. Os testes levaram para sempre (47 segundos inicialmente) por causa de arquivos de grandes dimensões como manequins de 2 GB. Eu os cronometei manualmente no Explorer de teste do VS Code e solicitei as correções – com 13 segundos. Uma suíte de teste pendurou por 10 a 20 minutos; Kiro finalmente depurou. Eu até criei regras de cursor para “verificações de tempo de execução” (construir, testar, executar o aplicativo), mas tive que lembrar a IA para usá -las. A grande fila (Tarefas 18-23): Eu larguei o resto de uma só vez. Kiro levou ~ 1 hora, fazendo uma pausa duas vezes para as aprovações da CLI. Ele adicionou mais de 120 testes, rastreamento de cobertura de código, documentos (como testing.md) e até ações do GitHub para CI/CD – além de um script de liberação para Crates.io. Leitura da mente? Eu estava pensando em CI/CD, e Poof, lá estava. Enquanto isso, mudei de guias para salvar o Urzikstan no COD MW3. Codificação de vibração no seu melhor: a IA constrói enquanto eu fico com bandidos. Mas as rachaduras apareceram-os testes de integração pareciam inconsistentes, e eu tive que reverter/reiniciar uma vez devido a posicionamentos de arquivos bagunçados (os testes de unidade idiomática da RURT me interromperam, dado meu conhecimento de ferrugem enferrujado). Usei o Cursor e o GPT -5 entre as tarefas Kiro para revisar o GIT Diffs – não muitos valores, a maioria dos reveses onde “OK” e o restante do DOC que eu não queria ler. Resultado final? O aplicativo é executado! Escolha um caminho, execute benchmarks, obtenha estatísticas. Ele até lista dispositivos e lida com o cache, conforme especificado. Mas OOPS – um Req original (seleção de dispositivos interativos para unidades do sistema) se perdeu no shuffle. E 35 problemas de Linter permaneceram, além de ações do GitHub. Fixável, mas um lembrete de que a IA não é perfeita. Estatísticas de código: inchaço ou brilho? Compare CPDT2 com minha versão de 2018 .NET: CPDT2 (Rust + AI): 72 arquivos, 13K loc, 1,9k comentários, 3,5k em branco. Inclui bancos, documentos, scripts e testes pesados/IC. 2018 CPDT (.NET): 23 arquivos, 1,8k loc. Mais magro, mas sem automação. A IA inflou a base de código (graças aos testes e infra), mas funciona entre plataforma cruzada sem que eu escrevi uma linha. Em 2018, isso levou uma semana da minha vida; Este foi um domingo. Reflexões: É esse o futuro da codificação? Kiro aplica a disciplina – pense antes da codificação – que se alinha com as melhores práticas de engenharia. Não é apenas “Prompt> Code”; É um arnês para o trabalho coerente e de longo horizonte. O agente permaneceu na tarefa por horas, quebrando a complexidade sem perder o contexto. Mas aqui está o problema: codifiquei cegamente, mal olhando para o código. Eu sou mais um desenvolvedor? Parecia pressionar os botões enquanto a AI dirigia – Fun, mas perdi o contato com a base de código. Manutenção? Sem pista. E sem o meu conhecimento prévio do CPDT, eu seria perdido de maneira eficaz. Pessoal de não tecnologia? Esqueça; Isso ainda precisa de experiência no domínio. Pensamentos laterais: As línguas de alto nível estão se tornando montagem? Eu não gosto de ferramentas de ferrugem, mas preciso? A rejeição da IA ​​de Dumb pede (por exemplo, fixar código inexistente) é uma vitória sobre os modelos mais antigos. No entanto, a execução de um contêiner desde o início teria evitado a lixo em disco em potencial dos arquivos de teste. No geral, Kiro é uma ferramenta promissora – como uma faca suíça que corta principalmente, mas ocasionalmente precisa de nitidez. Ele transformou meu experimento em um aplicativo de trabalho, aprimorou minhas habilidades de “orquestração da AI” e me deixou pensando: se a IA construir enquanto eu jogo, o que resta para os seres humanos? Mergulhe, tente e deixe -me saber seus pensamentos nos comentários! Se você estiver curioso, confira o CPDT2 no Github. E sim, vou consertar esses avisos do Linter … eventualmente.

Fonte

Você pode ter perdido