Contrato-Primero como Protección Contra Agentes LLM: API-Primero Regresa para Mantener Frontend y Backend Alineados
Moonshot AI
El autor describe el problema de la degradación del proyecto al usar agentes LLM para el desarrollo: los agentes a menudo ignoran los contratos reales entre el frontend y el backend, creando datos ficticios y provocando errores en tiempo de ejecución. La solución es regresar al enfoque de contrato-primero, donde la especificación OpenAPI es el artefacto principal a partir del cual se generan interfaces de servidor y clientes, haciendo que cualquier desviación del contrato sea un error de compilación.
El autor se encontró en dos proyectos paralelos que los agentes LLM a menudo divergen en los contratos al desarrollar frontend y backend: el agente de frontend escribe respuestas como Record<string, unknown>, usa objetos sueltos o nodos JSON, duplica DTOs con nombres de campos diferentes, e incluso a veces simula un backend inexistente con datos locales y notificaciones. Ninguno de estos errores es detectado por el compilador, el linter o las pruebas arquitectónicas porque los analizadores no ven las solicitudes HTTP entre los codebases. La solución es contrato-primero: la única fuente de verdad es la especificación OpenAPI (YAML), a partir de la cual se generan interfaces de servidor (con las opciones interfaceOnly y skipDefaultInterface) y un cliente en tiempo de compilación. El controlador implementa la interfaz generada, asegurando la coincidencia de firmas—cualquier desviación del contrato se convierte en un error de compilación. El autor señala que este enfoque ya se usa en gRPC y GraphQL y está volviendo a REST, ya que el lector de contratos ahora no es un humano sino un agente LLM, que no recupera intenciones y toma el camino fácil de adivinar.
Fuente: Habr — хаб ИИ —
original
