05
Los agentes y sus herramientas
Seis agentes con responsabilidades acotadas. Cada herramienta es una función que
programamos y testeamos: el modelo elige cuál usar, nunca qué hace por dentro.
Zona pública · un solo agente atiende toda la conversación
Un distribuidor no separa sus temas por área: en el mismo mensaje pregunta el saldo y pide
mercadería. Por eso la conversación la lleva un solo agente de punta a punta,
con un solo hilo y una sola memoria. No hay derivaciones internas ni "te paso con el otro
sector", que es justo lo que la gente detesta de los sistemas automáticos.
A1 · Agente de atención
Pedidos, cobranzas, seguimiento y postventa, sin cortar el hilo
Interpreta "20 cajas de 1 kg y 10 de medio", lo resuelve a productos reales,
valida crédito y stock, confirma con el cliente y encomienda la creación. En la misma charla
responde el saldo, entrega el CVU, recibe el comprobante, informa dónde está el envío y abre
un reclamo con fotos si algo llegó mal.
Todas sus herramientas son de solo lectura y todas reciben el cliente inyectado
por el runtime. Lo que tiene efecto se encomienda a la zona interna.
- buscar_producto(texto)
- consultar_stock(sku)
- consultar_precio(sku)
- consultar_saldo()
- consultar_facturas(estado)
- consultar_pedidos(estado)
- consultar_envio(pedido)
- preparar_pedido(items)
- guardar_evidencia(archivo)
- abrir_reclamo(pedido, tipo)
- solicitar_humano(motivo)
- encomendar(confirmar_pedido)
- encomendar(generar_cvu)
- encomendar(analizar_pago)
- encomendar(elevar_reclamo)
Cómo se sostiene sin engordar
Un prompt con núcleo fijo y un bloque contextual
El riesgo real de un agente que hace todo no es la seguridad (todas estas herramientas
tienen exactamente los mismos permisos): es que el prompt se infle y que un cambio en una
parte rompa otra.
Se resuelve con un núcleo estable (identidad, tono, reglas duras, que además queda
cacheado y por lo tanto es barato) más un bloque contextual que cambia según en qué
está la conversación: armando un pedido, esperando un pago, con un reclamo abierto. Es el
mismo agente con la guía enfocada, no otro agente.
Hay además un clasificador barato que no maneja la conversación: solo etiqueta cada
mensaje para métricas y para elegir el bloque contextual. Nunca le contesta al cliente ni
toma el control.
Sobre el tamaño del catálogo. Quince herramientas están cómodamente dentro de
lo que un modelo actual maneja sin perder precisión al elegir. Si en el futuro el catálogo
pasa de unas treinta, activamos carga dinámica de herramientas: el agente busca la que
necesita en vez de tenerlas todas cargadas. Es una palanca que dejamos documentada y no
construimos antes de tiempo, porque suma un salto más y su propia forma de fallar.
Por qué los agentes internos sí están separados. Porque no conversan:
ejecutan tareas de un solo tiro. No hay hilo que perder, y separarlos por tarea les deja
prompts chicos, pruebas enfocadas y fallas acotadas. Dividir una conversación por área
es malo; dividir un trabajo por tarea es bueno.
Zona del equipo · el Cebador
La puerta de entrada del equipo de Baldo al sistema no es una pantalla más: es un agente al
que se le pregunta, desde el celular, y que responde con los permisos de quien pregunta.
Se llama el Cebador por lo que hace un cebador en la ronda: prepara, sirve a
cada uno lo suyo, mantiene el orden y no hay que pedírselo dos veces. Es exactamente el rol
que cumple para el equipo.
C1 · El Cebador
Le preguntás y resuelve, con tus permisos
"¿Cuánto nos debe La Yerbatera?", "¿por qué se frenó el pedido 4587?",
"pasame los pagos sin conciliar de esta semana", "liberá el pedido de Gómez,
me confirmó que paga mañana", "aprobá la nota de crédito del reclamo 88".
Es el mismo patrón que el Cebador que ya operamos en Sinfonix: una sola puerta
conversacional para todo el equipo, en vez de que cada área aprenda una pantalla distinta.
- buscar_cliente(texto)
- estado_de_cuenta(cliente)
- explicar_pedido(numero)
- listar_bandeja(area, filtro)
- reporte(tipo, periodo)
- buscar_conversacion(cliente)
- liberar_pedido(numero, motivo)
- imputar_pago(pago, facturas)
- aprobar_nota_credito(reclamo)
- reemitir_guia(pedido)
- abrir_en_consola(caso)
El control que lo hace posible
Los permisos se aplican en la herramienta, nunca en el prompt
El Cebador sabe quién le está hablando porque el borde resuelve la identidad del
empleado igual que la del cliente, y esa identidad viaja sellada. Antes de ejecutar
cualquier cosa, el código verifica el rol contra la acción pedida. No hay una
instrucción en el prompt diciendo "solo hacelo si es de Administración": hay una
validación que corta.
Si alguien de Depósito pide imputar un pago, el Cebador no es que se niegue por
educación: la herramienta le devuelve un rechazo y le ofrece derivarlo a quien
corresponde.
| Rol | Puede leer | Puede escribir |
| Ventas |
cuenta corriente, pedidos, stock, conversaciones de sus clientes |
liberar pedidos frenados por crédito hasta un umbral, tomar una conversación |
| Administración |
todo lo financiero: pagos, imputaciones, facturas, movimientos, diferencias |
imputar y desimputar pagos, aprobar notas de crédito, cambiar reglas de crédito |
| Depósito y Logística |
pedidos a despachar, guías, estados de envío, reclamos con foto |
reemitir guías, corregir datos de envío, marcar preparado |
| Dirección |
todo, más los reportes agregados y el registro de auditoría |
autorizar excepciones sobre umbral y cambios de configuración |
Una decisión a tomar en la F0: por dónde habla el Cebador.
Con Telegram el canal se levanta en horas, los avisos proactivos son gratis e
ilimitados, y no hace falta ningún trámite. Con una segunda línea de WhatsApp el equipo
no instala nada nuevo, pero implica otra verificación de Meta, otro juego de plantillas
aprobadas y costo por cada aviso proactivo, porque son mensajes que inicia la empresa.
Recomendamos Telegram para el canal interno y dejar WhatsApp exclusivamente para los
clientes. Las horas del plan están calculadas sobre esa opción; la otra suma trabajo y demora.
- Toda escritura se confirma antes de ejecutarse. El Cebador dice exactamente qué
va a hacer y con qué números, y espera un sí. "Voy a imputar $340.000 del movimiento del
12/09 a la factura A-0001-00012345. ¿Confirmo?"
- Lo grave lleva doble aprobación: notas de crédito sobre cierto monto, liberar a un
cliente bloqueado, anular un pedido ya despachado.
- Cada acción queda firmada con el nombre de quien la pidió. Hoy, cuando alguien
libera un pedido por excepción, no queda registro de quién ni por qué. Con el Cebador sí, y
eso solo ya ordena la operación.
- El Cebador también avisa sin que le pregunten: pagos sin conciliar hace más de
48 horas, pedidos frenados hace días, un reclamo sin respuesta. Es mejor que depender de que
alguien se acuerde de mirar un tablero.
Qué trabajo es y cuánto pesa
El Cebador no es un agregado menor: es un módulo con su propio canal, su modelo de permisos y
su batería de pruebas. Vale la pena que se vea el desglose, porque explica una parte del
esfuerzo total.
| Componente | Horas | Fase |
| Canal interno propio: bot, webhook, ruteo y sesiones | 4 | F2 |
| Identidad del empleado y modelo de roles | 5 | F2 |
| Verificación de permisos en el runtime de cada herramienta | 7 | F2 |
| Herramientas de lectura sobre cualquier cliente (no se reusan las del agente público: ese está acotado a un solo cliente sellado) | 9 | F2 |
| Máquina de confirmación previa y doble aprobación | 5 | F2 |
| Herramientas de escritura que envuelven a los agentes internos | 7 | F3 a F5 |
| Capa de reportes conversacionales sobre las consultas de la consola | 4 | F3 |
| Alertas proactivas: chequeos programados y envío | 5 | F6 |
| Enlaces profundos a la consola | 2 | F3 |
| Suite de pruebas de la matriz rol por acción | 6 | F3 y F6 |
| Juego de evaluación propio del agente de equipo | 3 | F3 |
| Menos lo que la consola ya no necesita construir | -6 | F2 y F6 |
| Neto atribuible al Cebador | 47 h | repartido |
Zona interna · ejecutan y razonan
No hablan con nadie de afuera. Reciben comandos tipados, tienen credenciales de
escritura y corren con el modelo más capaz cuando la tarea lo justifica.
B1 · Ejecutor
Escribe en Odoo y en los terceros
La única pieza con permiso de escritura. Cada acción lleva clave de idempotencia y
deja asiento de auditoría. Reverifica pertenencia y permisos antes de tocar nada. Cuando crea
un pedido lo confirma en el acto, salvo que una regla mande lo contrario.
- confirmar_pedido(items)
- imputar_pago(pago, facturas)
- generar_cvu(pedido, monto)
- crear_guia(pedido)
- emitir_nota_credito(reclamo)
B2 · Conciliador
Razona sobre lo que el motor no cerró
El matching determinístico resuelve la mayoría. Lo que queda (pago de un tercero,
retención, importe partido raro) lo analiza este agente y propone una imputación con
su justificación, para que Administración apruebe con un clic.
- leer_movimientos(rango)
- leer_comprobante(evidencia)
- buscar_facturas_candidatas()
- proponer_imputacion()
- escalar_a_humano(caso)
B3 · Analista de excepciones
Prepara el caso para la persona
Cuando algo sale de lo normal, junta la evidencia, resume qué pasó, propone dos o
tres acciones y arma la ficha de la bandeja. El humano decide en segundos, no en
veinte minutos de investigación.
- reunir_contexto(caso)
- resumir_conversacion()
- proponer_acciones()
- priorizar_bandeja()
B4 · Supervisor
Audita al resto, fuera de línea
Revisa muestras de conversaciones y de acciones ejecutadas buscando anomalías:
respuestas incorrectas, imputaciones dudosas, intentos de manipulación. Corre de
noche y reporta a la consola.
- muestrear_conversaciones()
- verificar_accion(id)
- detectar_anomalias()
- reportar(hallazgos)
Las tres formas de entrar al sistema
Nadie pierde acceso a nada. El equipo sigue entrando a Odoo como siempre,
para su área y para las que le interesen. Lo que se suma es una vía más rápida de preguntar,
y una pantalla nueva solo para lo que hoy no existe en ningún lado.
1 · Odoo · sigue igual
El lugar del dato formal
Contabilidad, inventario, facturación, listas de precios, reportes contables. Quien
trabaja en Odoo hoy sigue trabajando en Odoo mañana, con los mismos permisos y las mismas
pantallas.
No reconstruimos nada que Odoo ya haga. Si existe una pantalla en Odoo, la
usamos; no la copiamos.
2 · Cebador · lo nuevo
La vía rápida, desde el celular
Preguntar por un cliente, entender por qué algo está frenado, pedir un reporte, aprobar
una excepción. Sin abrir la computadora y sin buscar en qué menú estaba.
Es un atajo, no un reemplazo: lo que devuelve sale de Odoo y coincide con lo que se ve
en Odoo.
3 · Consola · lo que falta
Solo lo que hoy no existe
Tres cosas, y ninguna está en Odoo hoy: la bandeja de excepciones con dueño y
plazo, la conciliación asistida (el comprobante y los movimientos candidatos lado a
lado) y las conversaciones con su traza de decisiones.
Eso hoy vive en una planilla, en un chat o en la cabeza de alguien.
Dicho de otra forma: el trabajo repetitivo de cargar pedidos y cruzar
comprobantes desaparece. El trabajo de decidir se puede hacer preguntándole al Cebador desde
el celular, o entrando a la consola si hace falta ver una tabla, o directamente en Odoo si es
donde la persona está cómoda. Las tres puertas llevan al mismo dato.
Por qué esta división y no un agente grande que haga todo. Un solo
agente con todas las herramientas es cómodo de programar y muy difícil de defender: si
alguien logra torcer su comportamiento, tiene acceso a todo. Agentes con permisos
chicos hacen que el peor escenario posible siga siendo chico.