Skip to content

perf: fast-path de bienvenida + instrumentación de latencia (fase 0 + 1.1) - #11

Merged
vgpastor merged 1 commit into
mainfrom
perf/latency-fastpath-instrumentation
Jul 7, 2026
Merged

perf: fast-path de bienvenida + instrumentación de latencia (fase 0 + 1.1)#11
vgpastor merged 1 commit into
mainfrom
perf/latency-fastpath-instrumentation

Conversation

@vgpastor

@vgpastor vgpastor commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Primer paso del plan de latencia (incluido en el PR).

Fase 0 — Instrumentación

El log de cada turno ahora incluye tools (nº de tool-calls del agente) y fastPath. Permite ver qué turnos son model-bound (0 tools y aun así lentos) vs tool-bound, para priorizar con datos.

Fase 1.1 — Fast-path de bienvenida 🔥

Si un usuario nuevo (sesión vacía) solo saluda (hola/buenas/hi/hello/buenos días/start), ConversationService responde con una bienvenida precomputada + botones sin invocar al modelo. Elimina el peor caso de latencia (un "Hola" tardó 16 s → ahora <1 s), que era la causa nº1 de abandono (5/9 sesiones de un solo mensaje).

  • Detección estricta (saludo puro) y solo en conversación nueva → no pierde contexto en curso.
  • Bienvenida es/en según el idioma del saludo; ids de botón (buscar_ayuda…) iguales a los que ya maneja el agente.

Verificación

  • tsc limpio · Tests 90→93 (detección de saludo, fast-path activo, y que NO se activa con historial).
  • Incluye el documento del plan completo en docs/.

Pendiente de la Fase 1

  • 1.2 (modelo más rápido): es un cambio de env en el server (OPENAI_MODEL) — se decide y aplica aparte para poder medir su efecto con la instrumentación de esta PR.
  • 1.3 (cache emergencyId): siguiente.

… 1.1)

Fase 0 (instrumentar): el log de turno ahora incluye 'tools' (nº de tool-calls
del agente) y 'fastPath', para ver qué turnos son model-bound vs tool-bound.

Fase 1.1 (fast-path de saludos): si un usuario NUEVO (sesión vacía) solo saluda
(hola/buenas/hi/hello/buenos días/start), ConversationService responde con una
bienvenida precomputada + botones SIN invocar al modelo. Elimina el peor caso
de latencia (un 'Hola' llegó a tardar 16 s -> ahora <1 s). Detección estricta
(saludo puro) y solo en conversación nueva, para no perder contexto en curso.

Tests 90->93 (detectGreeting, fast-path activo, fast-path NO en sesión con historial).
@vgpastor
vgpastor merged commit c99ef64 into main Jul 7, 2026
2 checks passed
@vgpastor
vgpastor deleted the perf/latency-fastpath-instrumentation branch July 7, 2026 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant