Flai (agente IA): medición de consumo por tenant e integración WhatsApp
Flai — consumo por tenant y WhatsApp
Flai es el agente/copiloto de IA de ConTodo (ligero, rápido, con energía). Dos temas clave para producción: medir cuánto consume por empresa y conectarlo a WhatsApp con un número.
1. ¿Es necesario medir el consumo? Sí.
Medir el gasto de Flai por tenant es importante por tres razones:
- Control de costo: la IA cuesta por tokens; sin medición no sabes tu margen.
- Evitar abuso: un tenant que dispara miles de consultas no puede afectar a los demás ni reventar la capa gratuita.
- Monetización: permite cobrar la IA como add-on o por paquetes (p. ej. "1,000 consultas/mes incluidas, luego S/ X").
Hoy en la demo ya se mide por sesión (Flai muestra consultas y tokens). En producción se persiste por tenant y se ve en el panel admin.
2. Cómo se mide (real)
Cada respuesta de Gemini trae usageMetadata (tokens de entrada + salida). ConTodo registra por cada consulta: tenant_id, usuario, canal (app/WhatsApp), tokens y costo estimado.
Tabla de uso (modelo)
| tenant | usuario | canal | tokens_in | tokens_out | costo S/ | fecha |
|---|---|---|---|---|---|---|
| OZAS | Rosa | 850 | 220 | ~0.003 | 11/06 | |
| OZAS | Nery | app | 1,200 | 600 | ~0.006 | 11/06 |
3. Panel administrativo por tenant
- Consumo por empresa: consultas, tokens y costo (día/mes).
- Cuotas y límites: tope mensual por tenant; alertas al 80%.
- Por canal y usuario: app vs WhatsApp; quién usa más.
- Facturación del add-on de IA según consumo.
4. Costo (referencial)
- Gemini Flash tiene capa gratuita (límite de req/min y por día) — suficiente para la demo y pilotos chicos.
- En plan pago, Flash es de costo muy bajo por 1M de tokens; una consulta típica del bot usa ~1–2k tokens → fracciones de céntimo por consulta.
- Estrategia: free tier para pilotos; al escalar, cuotas por plan + medición por tenant (este doc).
5. Integración con WhatsApp (super importante)
Sí se puede. Flai puede vivir en un número de WhatsApp Business y responder con los datos del negocio.
- Cómo: vía WhatsApp Business Cloud API (Meta) o un proveedor (Twilio, 360dialog, Gupshup). Se registra un número business y se configura el webhook hacia ConTodo.
- Varios vendedores: pueden usar el mismo número (el bot identifica al usuario) o WhatsApp Web compartido; cada mensaje queda medido por tenant/usuario.
- Límites: topes de consultas por día configurables (cuida costo y la API).
- Costo: conversaciones de WhatsApp (tarifa de Meta) + tokens de IA — ambos medidos.
- Seguridad: el bot solo responde sobre los datos del tenant dueño del número.
6. Flai con acciones: no solo responde, también GUARDA
Diferencia clave: un chatbot solo lee y responde; un agente además ejecuta acciones (escribe en el sistema). Flai está diseñado como agente.
6.1 Responder "todo" (lectura)
Sí, Flai puede responder cualquier consulta sobre los datos que existan, filtrado por tenant_id + rol:
- "¿Dónde está el repartidor José y qué le toca repartir?" → si registras asignación de repartidor + ruta + estado de cada entrega, Flai responde la ruta y los pedidos pendientes.
- ⚠️ Ubicación en vivo (GPS): solo si la capturas (app del repartidor comparte ubicación, o cada actualización de entrega guarda su punto). Sin eso, Flai sabe la ruta asignada y entregas pendientes, no el GPS en tiempo real.
6.2 Guardar desde WhatsApp (escritura con foto) — sí, es posible
Caso: "Terminé el reparto en la bodega Doña Tere" + foto por WhatsApp → Flai lo registra en esa entrega.
6.3 Herramientas (tools) de Flai
| Lectura | Escritura (acciones) |
|---|---|
ventas.consultar, inventario.stock, cobranzas.pendientes, reparto.ruta | reparto.marcarEntregado(pedido, foto, hora, ubicacion) |
reporte.kpi, cliente.historial | venta.registrar, oc.generar, cliente.crear |
repartidor.ubicacion (si hay GPS) | cobranza.recordatorio.enviar |
6.4 Reglas para que sea confiable
- Confirmación humana antes de escribir ("¿confirmo...?") para evitar errores.
- Permisos por rol: un repartidor marca entregas y sube fotos; no edita precios ni contabilidad.
- Evidencia trazable: foto + hora + ubicación + quién lo hizo (auditoría).
- Tenant-aware: la acción solo afecta los datos de la empresa dueña del número.
Hoy en la demo Flai es solo lectura (sobre el contexto). Las acciones + foto desde WhatsApp son parte del backend agéntico del piloto (tools que escriben + almacenamiento de media + manejo de media de WhatsApp).
7. Plan
| Fase | Entregable |
|---|---|
| 1 | Flai en la app con medición por sesión (✅ hecho) |
| 2 | Persistir ia_usage por tenant + panel admin (consultas/tokens/costo) |
| 3 | Cuotas y alertas por plan; add-on de IA facturable |
| 4 | WhatsApp (un número business) tenant-aware, multiusuario, medido |
Relacionado: [[20-roadmap-backend]] (MCP multi-tenant) · [[22-ozas-implementacion]] · [[24-roadmap-general]].