Featured image of post O que são EARS e BDD? Spec-Driven Development (SDD) para que a IA entenda suas necessidades instantaneamente no Vibe Coding

O que são EARS e BDD? Spec-Driven Development (SDD) para que a IA entenda suas necessidades instantaneamente no Vibe Coding

Ainda lutando para se comunicar com a IA? Este artigo ensina como combinar a sintaxe de requisitos EARS e o desenvolvimento orientado por comportamento BDD para criar 'Prompts Rigorosos', permitindo que a IA produza código de alta qualidade com precisão!

Você já descobriu durante o processo de desenvolvimento do Vibe Coding que o código produzido pela IA está cheio de brechas lógicas, fazendo você duvidar da sua vida enquanto o conserta?

No desenvolvimento tradicional, Spec é justiça. Mas ao colaborar com a IA, somos mais como “diretores”.

Para fazer aquele ator de IA talentoso, mas ocasionalmente “louco”, dar um bom show, você precisa de duas ferramentas poderosas: EARS (Lógica do Roteiro) e BDD (Fotogramas de Aceitação).

EARS: Transformando Requisitos em “Blocos Lógicos”

Você deve ter conhecido esse tipo de PM, escrevendo requisitos como: “O sistema precisa ser mais fácil de usar”, “A velocidade de processamento precisa ser rápida”. Isso é um desastre ao escrever código.

EARS (Easy Approach to Requirements Syntax) simplificando, é transformar esses “adjetivos vagos” em “instruções precisas”.

EARS é como Prompt Engineering de alto nível, forçando você a falar em lógica fechada. Os 5 principais padrões de frases permitem que você “tranque” os limites dos requisitos a qualquer momento:

Tipo Descrição
Ubiquitous (Onipresente) O sistema deve... (Como respirar, deve ser obedecido o tempo todo).
Event-driven (Orientado a eventos) Quando [evento acontece], o sistema deve....
Unwanted Behavior (Comportamento indesejado) Se [coisa ruim acontecer], o sistema deve... (Esta é a alma do Tratamento de Erros).
State-driven (Orientado a estado) Enquanto [em um estado específico], o sistema deve....
Optional Feature (Recurso opcional) Onde [o recurso está incluído], o sistema deve....

EARS ajuda você a definir regras estritas

Tornando impossível para a IA “falar bobagens com uma cara séria” logicamente.

BDD: Transformando Testes em “Roteiros de Filme”

Se EARS é um contrato rigoroso, então BDD (Behavior Driven Development) é uma “história de carne e osso”. Não testa a == b, testa “o que o usuário sente que aconteceu”.

A sintaxe usada pelo BDD é chamada Gherkin (Picles, deve ser crocante e refrescante!), e a trilogia principal é a seguinte:

Sintaxe Descrição
🎬 Given (Fundo) Definindo a cena antes de filmar (ex: Ter 100 dólares no bolso).
⚡ When (Ação) O momento em que o diretor grita Ação (ex: Pediu uma lula apimentada).
✅ Then (Resultado) O final visto pelo público (ex: Recebeu lula perfumada, carteira tem 60 dólares a menos).

Através deste método de “contação de histórias”, mesmo não engenheiros podem se comunicar conosco, e a IA também pode entender sua verdadeira intenção através desses “exemplos reais”.

Qual é a diferença entre EARS vs BDD?

Esses dois cumprem seus próprios deveres, e combiná-los é verdadeiramente “invencível”.

Recurso EARS (Sintaxe de Requisito) BDD (Orientado ao Comportamento)
Espírito Central Definição Precisa (Eliminar Ambiguidade) Consenso e Verificação (Contação de Histórias)
Como escrever… Cláusulas Legais Roteiros de Filme
Público Principal PM, Arquiteto, Criador de Regras Engenheiro, QA, Assistente de IA
Ponto de Dor Resolvido “O que você fez não é o que eu pensei!” “A lógica está certa, mas é inutilizável!”

Simplesmente: EARS ajuda você a definir as regras, BDD ajuda você a verificar os resultados.

Aplicação Avançada do EARS: Vibe Coding em Ação

Nós inserimos diretamente as regras EARS e roteiros BDD no Prompt para a IA desenvolver.

Você pode tentar dar instruções como esta ao desenvolver “Dedução de Carteira Eletrônica”:

# Tarefa: Por favor, ajude-me a implementar a API de dedução

## Lógica EARS (Por favor, siga rigorosamente):
- [Event-driven]: Quando uma solicitação é recebida, o saldo deve ser verificado.
- [Unwanted]: Se o saldo for insuficiente, retorne o código de erro 400 'INSUFFICIENT_FUNDS'.
- [State-driven]: Enquanto a carteira estiver no estado 'Frozen', rejeite todas as deduções.

## Roteiro de Aceitação BDD (Para testes Jest):
Scenario: Dedução falhou devido a fundos insuficientes
  Given O saldo do usuário é 50 dólares
  When Recebido pedido para deduzir 100 dólares
  Then A API deve retornar HTTP 400
  And O código de erro deve ser 'INSUFFICIENT_FUNDS'

Tente jogar isso para a IA, e o Código gerado não se desviará muito do objetivo!

Conclusão

Seja no desenvolvimento diário ou no Vibe Coding, EARS e BDD são artefatos para melhorar a eficiência.

EARS ajuda você a definir regras estritas, BDD ajuda você a confirmar os resultados da atuação.

All rights reserved,未經允許不得隨意轉載
Criado com Hugo
Tema Stack desenvolvido por Jimmy