Lo que encontré
Las 20 preguntas, medidas una por una, sin adivinar:
Pensalo así. El camino largo es mandar un cadete a preguntar. Va, pregunta, vuelve, consulta de nuevo porque le faltó un dato, vuelve a ir. Cada viaje cuesta nafta y tiempo. El camino corto es levantar el teléfono y llamar directo al que sabe: una sola llamada, sin cadete.
Pregunta por pregunta
| Pregunta | Largo (s) | Pasos | Corto (s) | Qué hizo el corto | Veces | Vía |
|---|---|---|---|---|---|---|
| cuántas obras hay cargadas | 3.17 | 2 | 0.25 | obras | ×12.7 | reglas |
| cómo va la caja de Casa Gerardo | 4.31 | 2 | 0.25 | caja Casa Gerardo | ×17.2 | reglas |
| cuánto llevamos cobrado de Casa Gerardo | 3.66 | 2 | 0.25 | caja Casa Gerardo | ×14.6 | reglas |
| qué rubros tiene Casa Gerardo y cuánto pesa cada uno | 4.07 | 2 | 0.25 | rubros Casa Gerardo | ×16.3 | reglas |
| cuánto cemento lleva la mampostería de Casa Gerardo | 4.62 | 2 | 0.45 | material Casa Gerardo cemento mampostería | ×10.3 | reglas |
| cuántas bolsas de cal lleva el revoque exterior | 3.84 | 2 | 0.32 | material Casa Gerardo cal revoque | ×12.0 | reglas |
| cuándo empieza y cuándo termina la obra Casa Gerardo | 3.27 | 2 | 0.34 | plan Casa Gerardo | ×9.6 | reglas |
| cuántas tareas tiene la planificación de Casa Gerardo | 3.17 | 2 | 0.32 | plan Casa Gerardo | ×9.9 | reglas |
| cuánto hierro del 12 lleva la losa | 4.37 | 2 | 0.29 | material Casa Gerardo hierro losa | ×15.1 | reglas |
| cuánta arena lleva el contrapiso | 3.08 | 2 | 0.27 | material Casa Gerardo arena contrapiso | ×11.4 | reglas |
| qué presupuestos tiene Casa Gerardo | 3.32 | 2 | 0.26 | resumen Casa Gerardo | ×12.8 | reglas |
| cuánto es el total de venta del presupuesto de materiales y mano de obra | 6.9 | 3 | 0.24 | resumen Casa Gerardo | ×28.8 | reglas |
| cuánto es el costo total del presupuesto de mano de obra | 3.48 | 2 | 0.25 | resumen Casa Gerardo | ×13.9 | reglas |
| qué insumos usa la tarea de revoque interior | 16.41 | 8 | 1.0 | material Casa Gerardo revoque | ×16.4 | clasificador |
| cuántos ladrillos huecos del 18 lleva la mampostería | 4.28 | 2 | 0.4 | material Casa Gerardo ladrillo mampostería | ×10.7 | reglas |
| cuánto gastamos en la obra Casa Gerardo | 3.86 | 2 | 0.22 | lista gastos 10 | ×17.5 | reglas |
| qué subcontratos tiene la obra | 3.66 | 2 | 0.99 | obras | ×3.7 | clasificador |
| cuál es la tarea más cara de Casa Gerardo | 3.06 | 2 | 1.36 | lista tareas 5 | ×2.2 | clasificador |
| cuántas tareas hay en total en el catálogo maestro | 3.57 | 2 | 0.45 | lista tareas 5 | ×7.9 | reglas |
| qué obras tiene el cliente Gerardo | 3.59 | 2 | 0.26 | obras | ×13.8 | reglas |
«Pasos» es la cantidad de veces que el camino largo tuvo que ir y volver antes de contestar. En una de las preguntas fueron 8 vueltas: 16 segundos para un dato que estaba a un tirón.
Por qué el largo tarda tanto
En cada vuelta, el camino largo le manda al modelo 19.949 tokens de instrucciones antes de la pregunta. Es como ir al almacén y, cada vez, leerle al almacenero el reglamento completo antes de pedirle pan.
Sumado: en las 20 preguntas se gastaron 947,058 tokens. El camino corto gastó cero, porque en 17 de 20 casos ni consulta al modelo: reconoce la pregunta y va derecho.
Qué construí
- Carril rápido (
latencia/fase1/rapido.py): tres escalones. Primero reglas escritas a mano, que resuelven la pregunta sin modelo. Si no reconoce, un clasificador chico elige entre diez intenciones cerradas. Si tampoco, deriva al camino largo en vez de inventar. - Regla de oro del clasificador: no escribe comandos, elige una intención de una lista. Así no puede inventar parámetros ni mandar una obra vacía.
- Comando nuevo
cajaen el gestor: antes, preguntar «cómo va la caja» devolvía cajas octogonales de la lista de insumos. - Dos arreglos de datos: la lista de obras mostraba una obra sin nombre (ya se saltea) y el hierro del 12 ahora se busca por diámetro.
Dos cosas que hay que arreglar, y no las toqué.
1. En el gestor hay una obra cargada sin nombre (id 190fedbb…). Ahora la salteo al listar, pero conviene borrarla o ponerle nombre.
2. La caja completa (cobros menos gastos) no tiene una puerta propia en el gestor: el camino corto informa lo cobrado y la venta, pero el gasto hay que sacarlo de la pantalla de control. Para que responda «te quedan 8,2 millones» hace falta un endpoint de caja.
Lo que falta de la Fase 1
- Streaming en el chat: que la primera palabra aparezca en menos de un segundo en vez de esperar la respuesta entera.
- Tope de contexto en 40.000 tokens con resumen automático de lo viejo: hoy la conversación crece sin freno y cada paso arrastra todo.
- Orden fijo del prompt para que el caché pegue siempre: mismas instrucciones, mismas herramientas, misma documentación, siempre en el mismo orden.
- Conectar el carril rápido al agente: que QM lo use solo antes de armar el camino largo, en vez de que yo lo llame a mano.
Próximo paso
- Probá tres preguntas tuyas en el carril rápido y decime si las respuestas te sirven tal cual.
- Si te sirven, sigo con el tope de contexto y el streaming, que es lo que hace que el chat se sienta instantáneo aunque el modelo tarde.
- Si no te sirven, ajusto las reglas: cada pregunta que falla se convierte en una regla nueva y no vuelve a fallar.
Cómo se prueba
python3 /home/agent/workspace/latencia/fase1/rapido.py "cuánto cemento lleva el contrapiso" python3 /home/agent/workspace/latencia/fase1/rapido.py --test (las 20 de referencia)
MEDICIÓN FASE 1 — GESTOR OBRA 20 preguntas reales. medidas el 4/11/2026. Camino lento (agente con herramientas. 19.949 tokens fijos por paso): media 4.48 s · mediana 3.66 s · p95 6.90 s · peor 16.41 s Camino rápido (reglas + un clasificador chico): media 0.42 s · mediana 0.28 s · p95 1.00 s · peor 1.36 s Ganancia: 10.7 veces más rápido en promedio. Tokens de modelo gastados: 947.058 contra 0.