ADR-001: Implementación de Tools (LangGraph) contra Travel API v1
Fecha: 2026-04-03
Estado: aceptado
Contexto
El nuevo ai-orchestrator necesita interactuar con travel_backend para consultar disponibilidad y conocimiento del hotel (RAG). Sin un contrato claro, el LLM podría inferir precios o datos no respaldados por el dominio.
Decisión
Se implementan las herramientas como funciones de Python decoradas con @tool de LangChain. Esas herramientas realizan peticiones HTTP internas (a través de la red Docker timeliber-net) a los endpoints existentes de la API v1 del travel backend.
Consecuencias
Positivas
- El LLM (Groq) no calcula precios ni inventa respuestas sobre inventario o políticas: delega la responsabilidad de los datos en travel_backend.
- Reutiliza contratos y validaciones ya definidos en la API pública/interna v1.
- El tráfico entre orquestador y API queda acotado a la red interna de compose.
Negativas
- Dependencia de disponibilidad y latencia del travel_backend en cada invocación de herramienta.
- Requiere configuración correcta de URL base y red Docker entre servicios.
Alternativas consideradas
- Lógica de negocio duplicada en el orquestador — rechazada: riesgo de divergencia y alucinaciones.
- Llamadas directas a base de datos desde el orquestador — rechazada: viola límites de capa y duplica reglas.
Referencias
- Travel API:
apps/travel/backend/app/api/v1/ - Red Docker:
timeliber-net(infra compartida).
Registrado por
Equipo TimeLiber / documentación del monorepo.
Cambios posteriores
- Si el orquestador expone herramientas adicionales, añadir ADR o anexo enlazando endpoints concretos.