cortex-knowledge-assistant

ADR 0003: LLM Falso en Tests

Estado: Aceptado
Fecha: 2025-12-01

Contexto

Los tests unitarios no deben depender de APIs externas de LLM porque:

Decisión

Implementar un FakeLLM que retorna respuestas predecibles para tests.

class FakeLLM(LLMPort):
    def generate(self, prompt: str) -> str:
        return "[TEST] Respuesta generada por FakeLLM"

Alternativas Consideradas

Alternativa Pros Contras
Mock con unittest.mock Flexible Verbose, acoplado a implementación
FakeLLM (clase) Simple, tipado Menos flexible
VCR/cassettes Reproducible Complejo de mantener
Modelo local pequeño Resultados reales Lento, consume memoria

Consecuencias

Positivas

Negativas