El 38% de las entregas entre mis agentes nunca llegó al prompt del destinatario
· 4 min de lectura
Los agentes de mi equipo se hablan por un buzón, y cada uno lee lo suyo en su próximo turno. Un rol deja un aviso (información) o un pedido (algo que el otro tiene que hacer). Un mensaje puede ir a varios destinatarios, y cada copia es una entrega que ocupa contexto en el rol que la recibe.
| Rondas | 312 |
| Mensajes distintos | 3.520 |
| Entregas | 11.845 |
| Fan-out (entregas por mensaje) | 3,37× |
| Entregas por ronda | 38,0 |
| Descartadas por el tope antes de mostrarse | 4.445 (38%) |
| Destinatario más afectado | el rol gerente, 727 |
TABLA 1 · Un equipo, 312 rondas.
Un rol ve como mucho seis mensajes por turno, y el resto se archiva sin mostrárselo. Ese tope descartó 4.445 entregas, el 38% del total. Cada una es una copia que su destinatario nunca vio; con un fan-out de 3,37, otro destinatario pudo haber leído el mismo mensaje.
La forma del grafo
Doce nodos emiten o reciben. Con doce nodos hay 132 aristas dirigidas emisor → destinatario posibles, y 100 se usaron al menos una vez, una densidad de 76%. El tráfico además va repartido: las ocho aristas más cargadas llevan apenas el 21% de los avisos que se leyeron.
Doce nodos, 100 de 132 canales posibles en uso
Cada línea es un par emisor→receptor que llevó al menos un mensaje.
FIG. 1 · Densidad 76%. Las ocho aristas más cargadas llevan solo el 21% del tráfico, así que ningún par domina y cada nodo termina contándole cosas a todos los demás. Dejé fuera las identidades de las aristas a propósito, porque lo que importa es la forma.
Un grafo casi completo con el tráfico parejo significa que cada rol le cuenta cosas a casi todos los demás, y que nadie decidió quién necesita saber qué. En la literatura esto se llama redundancia de comunicación; un trabajo poda esta clase de grafo de paso de mensajes y reporta 28–73% menos tokens con resultados comparables.
Pedidos
Un aviso el rol lo lee o no. Un pedido bloquea: le cuesta al destinatario un turno entero, y lo que depende de él espera hasta que alguien lo toma. De 272 pedidos, 2 seguían sin atender. La espera media fue 1,03 h y la máxima 36,4 h, un día y medio con algo detenido detrás. En un canal bloqueante miro la cola antes que la media.
Desde esta medición cuento entregas en lugar de mensajes. Un mensaje con fan-out de 3,37 cuesta el triple de lo que parece, y un registro de mensajes no lo muestra a menos que lo cuentes.
Cómo se midió. Medido sobre 312 rondas de un equipo de nueve roles más los mensajes del propio motor: cada entrega, su emisor, su destinatario, si se le mostró al destinatario antes de que el tope del buzón la descartara, y cuánto esperó cada pedido bloqueante.
Relacionadas
- En una prueba chica, mantener vivo el hilo de un agente costó menos que reiniciarlo Reiniciar el hilo de un rol en cada turno parecía la forma de gastar menos tokens. En una prueba controlada con un rol y una tarea, el hilo largo salió más barato, por la escritura de caché.
- El disparador por ocupación compacta sin saber cuántas llamadas quedan Compactar tiene un costo fijo y un ahorro por cada llamada restante. En 13 compactaciones medidas el cruce quedó cerca de 17 llamadas. La ocupación no ve ese número; la historia de turnos de cada rol sí lo puede estimar.