Saltar a contenido

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

  1. Lógica de negocio duplicada en el orquestador — rechazada: riesgo de divergencia y alucinaciones.
  2. 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.