Estou usando bastante o k9s.
Quando vi pela primeira vez, há uns 2~3 anos, gostei porque passava uma sensação de mdir, e na prática ele também é bem bom de usar.
A vantagem do Spec Kit do GitHub é que ele também pode ser usado no GitHub Copilot.
Como foi feito pelo GitHub, isso é até esperado, mas muitas outras ferramentas eram baseadas no Claude.
No caso de ordens de compra e venda, parece que pedidos não intencionais podem ser processados devido a prompt injection e afins, então recursos adicionais como restrições sobre o ativo da ordem ou limites de valor parecem ser indispensáveis.
Independentemente do conteúdo, acho que isso se deve ainda mais ao fato de que, por causa do título dizendo que é uma única linha de prompt, o que eu esperava ver e o conteúdo do texto eram diferentes.
Inverte o fluxo em que o código era o centro e PRD/documentos de design eram auxiliares: a especificação é a fonte original, e o código é um artefato de expressão, implementado em uma linguagem/framework específico
Apresenta o diagnóstico de que o abismo permanente entre especificação e implementação era difícil de resolver apenas com reforço documental ou de processo
Se especificações executáveis e planos de implementação geram o código, o abismo desaparece e resta apenas a transformação
A IA torna possível interpretar especificações complexas e elaborar planos de implementação, mas como geração sem estrutura causa confusão, o SDD assegura qualidade com estrutura precisa e guardrails
Manutenção é o ato de evoluir a especificação; a intenção de desenvolvimento é expressa por linguagem natural, ativos de design e princípios centrais, e o código ocupa a posição de última milha
Depuração prioriza corrigir a especificação e o plano de implementação antes de corrigir código errado, e refatoração é redefinida como reconstrução de clareza
The SDD Workflow in Practice
A ideia é refinada em um PRD por meio de interação conversacional com a IA, e a IA detalha perguntas, edge cases e critérios de aceitação
Converte requisitos e design em uma atividade contínua, apoiando trabalho de especificação baseado em branches em nível de equipe, além de revisão e versionamento
Um agente de pesquisa explora compatibilidade de bibliotecas, desempenho, segurança e restrições organizacionais (padrões de DB, autenticação, políticas de deploy) e reflete isso automaticamente na especificação
A partir do PRD, gera-se um plano de implementação que mapeia requisitos e decisões técnicas de forma rastreável, enquanto a IA valida continuamente contradições, ambiguidades e omissões
Quando a especificação e o plano estão suficientemente estáveis, inicia-se a geração de código, mas no começo com geração exploratória para validar viabilidade
Conceitos de domínio se transformam em modelos de dados, user stories em endpoints de API e cenários de aceitação em testes
Na fase operacional, métricas e incidentes atualizam a especificação e influenciam a próxima regeneração; gargalos de desempenho são promovidos a requisitos não funcionais, e vulnerabilidades a restrições globais
Why SDD Matters Now
Ponto crítico da capacidade da IA: agora é possível gerar com confiabilidade código funcional a partir de especificações em linguagem natural, automatizando a parte mecânica da tradução da implementação e ampliando exploração e criatividade
Explosão de complexidade: com muitos serviços, frameworks e dependências, fica difícil manter a coerência entre intenção e implementação, tornando necessário o alinhamento guiado por especificação do SDD
Aceleração da mudança: em cenários de pivô frequente, o SDD lida com mudanças por meio de regeneração sistemática, em vez de propagação manual entre documento, design e código
Como exemplo, possibilita simulações what-if e implementações paralelas, oferecendo agilidade na tomada de decisão
Core Principles
Especificação = linguagem comum: a especificação é um artefato de primeira classe, o código é a expressão de uma stack específica, e manutenção é a evolução da especificação
Especificações executáveis: especificações em nível preciso, completo e não ambíguo geram sistemas funcionais
Refinamento contínuo: realiza validação constante de consistência, e não um gate único
Contexto baseado em pesquisa: coleta continuamente desempenho, segurança e restrições organizacionais, injetando isso na especificação
Feedback bidirecional: a realidade operacional vira entrada para atualização da especificação
Branching para exploração: a partir da mesma especificação, permite gerar múltiplas implementações conforme objetivos de otimização como desempenho, manutenibilidade, UX e custo
Implementation Approaches
Na prática de hoje, o essencial é combinar ferramentas existentes com manutenção de disciplina, e isso pode ser implementado com os seguintes elementos
Assistente de IA para refinamento iterativo de especificações
Agente de pesquisa para coleta de contexto técnico
Ferramenta de geração de código para conversão de especificação → implementação
Controle de versão adaptado a um workflow spec-first
Verificação baseada em análise de consistência por IA dos documentos de especificação
O princípio comum é tratar a especificação como fonte única da verdade e o código como artefato exigido pela especificação
Streamlining SDD with Commands
/specify: converte a descrição da funcionalidade em uma especificação estruturada e automatiza numeração automática, criação de branch e configuração de diretórios baseados em template
/plan: análise da especificação → revisão de conformidade com a constituição → tradução técnica → documentação de modelo de dados, contrato de API e cenários de teste → geração de validação de quickstart
/tasks: lê plan.md e os designs relacionados para produzir uma lista de tarefas executável, além de indicar tarefas paralelizáveis e agrupamento seguro para paralelização
Exemplo: funcionalidade de chat
Mostra um fluxo em que cerca de 12 horas de trabalho documental na abordagem tradicional são reduzidas para cerca de 15 minutos de configuração com automação de especificação, plano e tarefas
Entre os artefatos gerados estão especificação, plano de implementação e justificativas, contrato de API e modelo de dados, cenários de quickstart e tasks.md, tudo com versionamento na branch
The Power of Structured Automation
Evita itens faltando: templates cobrem até requisitos não funcionais e tratamento de erros
Rastreabilidade de decisões: toda escolha técnica fica ligada a requisitos concretos
Documentação viva: como a especificação gera o código, fica mais fácil manter sincronização
Iteração rápida: quando requisitos mudam, é possível responder em minutos ou horas com regeneração do plano
Template-Driven Quality
Evita a infiltração prematura de detalhes de implementação: ao focar em WHAT/WHY e excluir HOW, induz a manutenção do nível de abstração
Força marcação de incerteza: o marcador [NEEDS CLARIFICATION] induz proibição de suposições e perguntas explícitas
Auto-revisão baseada em checklist: implementa um gate de qualidade ao verificar completude, clareza e critérios de aceitação mensuráveis
Gate constitucional: aplica checks na fase prévia (-1), como gate de simplicidade (≤3 projetos), gate antiabstração (uso direto do framework) e gate de integração primeiro (contratos e testes de contrato primeiro)
Gestão hierárquica de detalhes: código e detalhes excessivos são separados em implementation-details/ para manter a legibilidade
Prioridade para testes: assegura testabilidade com regra de criação de arquivos e testes primeiro na ordem contrato → integração → E2E → unitário
Contenção de premissas e funcionalidades especulativas: reforça o controle de escopo com proibição de funcionalidades especulativas e explicitação de pré-condições por etapa
The Constitutional Foundation
Adota uma constituição de desenvolvimento em memory/constitution.md com princípios imutáveis para manter todas as implementações consistentes, simples e de alta qualidade
Article I: Library-First — toda funcionalidade começa como uma biblioteca independente, garantindo modularidade
Article II: CLI Mandate — toda biblioteca expõe uma interface CLI com suporte a entrada/saída em texto e JSON, garantindo observabilidade e facilidade de teste
Article III: Test-First — proíbe implementação antes da aprovação do teste e da confirmação da falha (red), aplicando o princípio de definir comportamento primeiro
Articles VII & VIII: simplicidade e antiabstração — reduzem sobre-engenharia com mínimo de projetos e confiança direta no framework
Article IX: Testes com integração primeiro — prefere testes próximos do ambiente real e força testes de contrato antes da implementação
Os gates da Phase -1 dos templates transformam a conformidade constitucional em checklist, e exceções registram justificativas explícitas em Complexity Tracking
Por meio de um processo de emenda, a forma de aplicar os princípios pode evoluir, mas a filosofia central é preservada
The Transformation
O objetivo não é substituir desenvolvedores, mas ampliar a capacidade humana e manter a coerência entre intenção e implementação por meio da automação da tradução mecânica
O SDD coloca a especificação para gerar o código, praticando uma transformação contínua em que especificação, pesquisa e código coevoluem em um loop de feedback apertado
E também me perguntaram sobre o experimento relacionado ao número de encadeamentos de prompts,
Na verdade, isso pode acabar sendo, no sentido mais coloquial, um bom elemento para o autor trapacear.
O próprio ato de desenvolver envolve muitas opções de caminho, e, se você acumular prompts em uma direção em que o uso de tokens aumente mais, esse número vai crescer ainda mais como uma bola de neve.
Na pesquisa, existe uma filosofia chamada Cumulative Science.
Como, pelo menos pelos meus critérios, eu ainda não encontrei sequer um estudo sobre uso de tokens em um único comando,
em vez de partir imediatamente para um estudo de N execuções, optei por focar em tratar de um teste sólido de uma única execução e de suas conclusões,
quanto ao estudo de N execuções, ele pode dar continuidade a esta pesquisa mais adiante.
Isso deve facilitar bastante o desenvolvimento, já que não vai ser preciso ficar procurando os parâmetros da API um por um e fazendo tudo manualmente.
Estou usando bastante o k9s.
Quando vi pela primeira vez, há uns 2~3 anos, gostei porque passava uma sensação de
mdir, e na prática ele também é bem bom de usar.O nome é divertido haha
A vantagem do Spec Kit do GitHub é que ele também pode ser usado no GitHub Copilot.
Como foi feito pelo GitHub, isso é até esperado, mas muitas outras ferramentas eram baseadas no Claude.
De repente pensei que talvez desse para fazer isso com o alfabeto coreano também... daria para criar uns quebra-cabeças...
Vou usar bem isso só para triagem.
No caso de ordens de compra e venda, parece que pedidos não intencionais podem ser processados devido a prompt injection e afins, então recursos adicionais como restrições sobre o ativo da ordem ou limites de valor parecem ser indispensáveis.
Desculpe;;
Lembra o Kiro IDE.
Obrigado.
Sim, eu também penso o mesmo. buá
Gostei bastante do experimento; foi muito interessante de acompanhar.
Você fez curso de criar títulos, né..
Em que a mídia social é uma perda de tempo, a sensação certa se parece mais com 'arrependimento' ou 'vergonha', como no jogo ou nas drogas
Interessante. Até faz sentido também.
Independentemente do conteúdo, acho que isso se deve ainda mais ao fato de que, por causa do título dizendo que é uma única linha de prompt, o que eu esperava ver e o conteúdo do texto eram diferentes.
k9s - ferramenta para gerenciar clusters Kubernetes com uma interface de terminal
O link com a apresentação detalhada de SDD no meio do texto é muito bom. Abaixo está um resumo que fiz com IA.
Desenvolvimento Guiado por Especificação (Specification-Driven Development, SDD)
The Power Inversion
The SDD Workflow in Practice
Why SDD Matters Now
Core Principles
Implementation Approaches
Streamlining SDD with Commands
/specify: converte a descrição da funcionalidade em uma especificação estruturada e automatiza numeração automática, criação de branch e configuração de diretórios baseados em template/plan: análise da especificação → revisão de conformidade com a constituição → tradução técnica → documentação de modelo de dados, contrato de API e cenários de teste → geração de validação de quickstart/tasks: lêplan.mde os designs relacionados para produzir uma lista de tarefas executável, além de indicar tarefas paralelizáveis e agrupamento seguro para paralelizaçãoThe Power of Structured Automation
Template-Driven Quality
[NEEDS CLARIFICATION]induz proibição de suposições e perguntas explícitasimplementation-details/para manter a legibilidadeThe Constitutional Foundation
memory/constitution.mdcom princípios imutáveis para manter todas as implementações consistentes, simples e de alta qualidadeThe Transformation
Vazaram os códigos-fonte do Big Brother!
E também me perguntaram sobre o experimento relacionado ao número de encadeamentos de prompts,
Na verdade, isso pode acabar sendo, no sentido mais coloquial, um bom elemento para o autor trapacear.
O próprio ato de desenvolver envolve muitas opções de caminho, e, se você acumular prompts em uma direção em que o uso de tokens aumente mais, esse número vai crescer ainda mais como uma bola de neve.
Na pesquisa, existe uma filosofia chamada
Cumulative Science.Como, pelo menos pelos meus critérios, eu ainda não encontrei sequer um estudo sobre uso de tokens em um único comando,
em vez de partir imediatamente para um estudo de N execuções, optei por focar em tratar de um teste sólido de uma única execução e de suas conclusões,
quanto ao estudo de N execuções, ele pode dar continuidade a esta pesquisa mais adiante.