Featured image of post ¿Qué son EARS y BDD? Spec-Driven Development (SDD) para que la IA entienda tus necesidades al instante en Vibe Coding

¿Qué son EARS y BDD? Spec-Driven Development (SDD) para que la IA entienda tus necesidades al instante en Vibe Coding

¿Sigues luchando para comunicarte con la IA? Este artículo te enseña cómo combinar la sintaxis de requisitos EARS y el desarrollo guiado por comportamiento BDD para crear 'Prompts Rigurosos', permitiendo a la IA producir código de alta calidad con precisión.

¿Alguna vez has descubierto durante el proceso de desarrollo de Vibe Coding que el código producido por la IA está lleno de lagunas lógicas, haciéndote dudar de tu vida mientras lo arreglas?

En el desarrollo tradicional, Spec es justicia. Pero cuando colaboramos con la IA, somos más como “directores”.

Para hacer que ese actor de IA talentoso pero ocasionalmente “loco” haga un buen espectáculo, necesitas dos herramientas poderosas: EARS (Lógica del Guión) y BDD (Fotogramas de Aceptación).

EARS: Convirtiendo Requisitos en “Bloques Lógicos”

Seguro que has conocido a este tipo de PM, escribiendo requisitos como: “El sistema necesita ser más fácil de usar”, “La velocidad de procesamiento debe ser rápida”. Esto es un desastre al escribir código.

EARS (Easy Approach to Requirements Syntax) en pocas palabras, es transformar estos “adjetivos vagos” en “instrucciones precisas”.

EARS es como Prompt Engineering de primer nivel, obligándote a hablar en lógica cerrada. Los 5 patrones de oraciones principales te permiten “bloquear” los límites de los requisitos en cualquier momento:

Tipo Descripción
Ubiquitous (General) El sistema debe... (Como respirar, debe obedecerse en todo momento).
Event-driven (Impulsado por eventos) Cuando [ocurre un evento], el sistema debe....
Unwanted Behavior (Comportamiento no deseado) Si [pasa algo malo], el sistema debe... (Esta es el alma del Manejo de Errores).
State-driven (Impulsado por estado) Mientras [en un estado específico], el sistema debe....
Optional Feature (Característica opcional) Donde [se incluye la característica], el sistema debe....

EARS te ayuda a establecer reglas estrictas

Haciendo imposible que la IA “hable tonterías con cara seria” lógicamente.

BDD: Convirtiendo Pruebas en “Guiones de Película”

Si EARS es un contrato riguroso, entonces BDD (Behavior Driven Development) es una “historia de carne y hueso”. No prueba a == b, prueba “lo que el usuario siente que ha sucedido”.

La sintaxis utilizada por BDD se llama Gherkin (Pepinillo, ¡debe ser crujiente y refrescante!), y la trilogía central es la siguiente:

Sintaxis Descripción
🎬 Given (Fondo) Estableciendo la escena antes de rodar (ej.: Tener 100 dólares en el bolsillo).
⚡ When (Acción) El momento en que el director grita Acción (ej.: Pidió un calamar picante).
✅ Then (Resultado) El final visto por la audiencia (ej.: Recibió un calamar fragante, la billetera tiene 60 dólares menos).

A través de este método de “narración”, incluso los no ingenieros pueden comunicarse con nosotros, y la IA también puede entender tu verdadera intención a través de estos “ejemplos reales”.

¿Cuál es la diferencia entre EARS vs BDD?

Estos dos realizan sus propios deberes, y combinarlos es verdaderamente “invencible”.

Característica EARS (Sintaxis de Requisito) BDD (Guiado por Comportamiento)
Espíritu Central Definición Precisa (Eliminar Ambigüedad) Consenso y Verificación (Narración)
Como escribir… Cláusulas Legales Guiones de Película
Audiencia Principal PM, Arquitecto, Creador de Reglas Ingeniero, QA, Asistente de IA
Punto de Dolor Resuelto “¡Lo que hiciste no es lo que pensé!” “¡La lógica es correcta, pero es inutilizable!”

Simplemente: EARS te ayuda a establecer las reglas, BDD te ayuda a verificar los resultados.

Aplicación Avanzada de EARS: Vibe Coding en Acción

Metemos directamente las reglas EARS y los guiones BDD en el Prompt para que la IA desarrolle.

Puedes intentar dar instrucciones como esta al desarrollar “Deducción de Monedero Electrónico”:

# Tarea: Por favor ayúdame a implementar la API de deducción

## Lógica EARS (Por favor seguir estrictamente):
- [Event-driven]: Cuando se recibe una solicitud, el saldo debe ser verificado.
- [Unwanted]: Si el saldo es insuficiente, devolver el código de error 400 'INSUFFICIENT_FUNDS'.
- [State-driven]: Mientras la billetera está en estado 'Frozen', rechazar toda deducción.

## Guión de Aceptación BDD (Para pruebas Jest):
Scenario: Deducción fallida debido a fondos insuficientes
  Given El saldo del usuario es 50 dólares
  When Se recibe solicitud para deducir 100 dólares
  Then La API debería devolver HTTP 400
  And El código de error debería ser 'INSUFFICIENT_FUNDS'

¡Intenta lanzar esto a la IA, y el Código generado no se desviará demasiado del objetivo!

Conclusión

Ya sea en el desarrollo diario o en Vibe Coding, EARS y BDD son artefactos para mejorar la eficiencia.

EARS te ayuda a establecer reglas estrictas, BDD te ayuda a confirmar los resultados de la actuación.

All rights reserved,未經允許不得隨意轉載
Creado con Hugo
Tema Stack diseñado por Jimmy