Pular para o conteúdo
gitblog
← Voltar ao blog

SMSDD - Second Mind Spec-Driven Development

3 min de leitura

Se tem preguiça de ler, TL;DR no ChatGPT →

Vocês vão lembrar que eu pregava SDD em tudo quando o negocio é programar utilizando LLMs, mas a verdade que tudo mudou depois deu testar, e testar, e testar mais uma vez metodologias open source, minha metodologia, e sendo objetivo aqui SDD ajuda, mas nem sempre.

O que é SDD?

SDD ou Spec-Driven Develompent é código guia a específicações, e esse é o ponto, as specs (específicações) são tudo nessa metodologia. Sendo assim uma nova feature ganha uma spec, que pode ser alimentada com informações de outra spec da própria codebase, e tudo isso se transforma em uma farofa que você:

image.png

Então você segue essa receita de bolo e tem uma codebase vida, com documentação que cresce com o projeto, né?

A imersão

Antes de falar alguma coisa deixa eu trazer experiência do cotidiano para você conseguir entender minha OPINIÃO sobre o SDD.

Quando eu descobri sobre o SDD, comecei a consumir tudo que dava para me manter atualziado, comecei a aplicar nos meus projetos do trabalho, a escrever sobre de forma acadêmica para publicar, e a estudar como melhorar a produtividade sem consumir muitos tokens. Fiquei assim por uns 2 meses diretos, troquei de projeto no trabalho e continuei usando o SDD, para atualizar aqui o blog continuei usando, e para qualquer projeto estava usando. Porém, nas últimas semanas ouvindo e lendo muito sobre o que o Akita pensa sobre desenvolvimento utilizando IA (LLMs), fiquei refletindo principalmente da palestra dele na Tropical on Rails que ele fala que SDD não funciona, que precisa ficar olhando o passo a passo do LLM para ver se ele está escrevendo código bom ou código ruim. E nessa mesma palestra ele diz sobre pessoas que usam LLMs para criar funções tipo o auto-complete que existe no VSCode, sinceramente fiquei curioso em testar criar um projeto apenas com o modo plan, criando um markdown no final, e configurando um CLAUDE.md/AGENTS.md descente para o projeto.

Então CLAUDE.md é melhor que SDD?

Sim e não, SDD funciona se você utilizar ele com com tempo e focado e resolver problemas pontuais ou adicionar features que precisam de muito contexto sobre a codebase para ter um output interessante e que vale investir. Agora se for querer testar MVPs, correção rápida, adição/aprimoramento de features, configure muito bem um CLAUDE.md/AGENTS.md. Coisas que eu coloco no meu CLAUDE.md é para rodar testes unitários, testes de regressão, e que pelo menos 80% do projeto deve estar sendo coberto por testes, além de explicar e dar contexto sobre o projeto que estamos desenvolvendo se conhecer bem as regras de negócio.

SDD funciona

Sendo assim, SDD vai trazer beneficios, mas um CLAUDE.md/AGENTS.md também pode trazer esses beneficios. Lembre sempre de configurar bem seu ambiente, e que a LLM reflete que a usa, então se vocÊ tem um vasto conheciamnto é bem provável que seus outputs são melhores que a maioria dos desenvolvedores. Foquem em ler livros técnicos e aprender bem a base para tirar vantagem cada vez mais de ferramentas de IA enquanto estão baratas, porque isso pode acabar com os IPOs da Antropic e OpenIA chegando ainda esse ano.

Extra

Sobre os meus artigos de SDD, eu escrevi o SMSDD: Second Mind Spec-Driven Development with Multi-Agent Systems e o Evaluating Spec-Driven Multi-Agent Frameworks: Baselines, Hypotheses, and KPIs for Retrieval-Augmented Software Engineering que nesse momento estou apenas fazendo uma busca bibliografia mais acentuada para ter uma base de argumentos que tragam o meu ponto na minha metodologia e no modo com que se deve avaliar a metodologia SDD no geral. Então se quiserem que eu traga mais sobre essa buscar por bibliografia aguardem os próximos posts.

Comentários

Nenhum comentário ainda. Seja o primeiro!

Deixe um comentário

Relacionados