Una conversación, muchos agentes
No existe una «sala multiagente» distinta. Existe la conversación de siempre, cuyo conjunto de participantes puede crecer.
La primera solución era razonable
Cuando varias entidades participan en un diálogo, parece natural crear una «sesión de grupo»: un nuevo tipo de sesión, una API propia, una ruta de turno y una interfaz específica.
Esa solución separa claramente el caso 1:1 del caso 1:n. También crea una segunda plataforma conversacional. En la experiencia de ALLAN, la separación duplicaba responsabilidades y dejaba el canal nuevo por detrás del chat ordinario: adjuntos, streaming, sugerencias, ejecución duradera, HITL, memoria y actividad necesitaban reintegrarse uno por uno.
La arquitectura era limpia en abstracto y más débil como producto.
La decisión: ampliar el canal existente
Una conversación empieza con una persona y un agente. Si se agrega otro agente, la conversación no cambia de naturaleza. Conserva:
- su historial;
- sus adjuntos y artefactos;
- el stream de tokens y eventos;
- las pausas para aclaración o aprobación;
- la memoria individual de cada participante;
- el título, la actividad y la reanudación;
- las reglas de acceso asociadas a la sesión.
Solo cambia el roster: el conjunto de interlocutores capaces de intervenir.
Extracto. La mejor reutilización no consistió en compartir utilidades entre dos rutas. Consistió en reconocer que solo había un concepto de producto y, por tanto, debía existir una única ruta de turno.
Una ronda, no una conversación descontrolada
Cuando llega un mensaje de la persona, el sistema abre una ronda acotada. Un gestor de conversación decide qué participante puede aportar valor. Cada agente seleccionado recibe el mismo historial con atribución explícita de hablantes y responde mediante la ruta conversacional ordinaria.
La ronda conserva tres propiedades:
- Serialización por conversación. Dos mensajes concurrentes no deben intercalar respuestas sobre el mismo estado compartido.
- Atribución. Cada turno conserva quién habló y con qué versión del agente.
- Presupuesto. El número de intervenciones está acotado; agotado el tramo, el control vuelve a la persona.
Los agentes pueden mencionarse entre sí y encadenar una respuesta, pero ese encadenamiento no convierte la conversación en un bucle sin límites.
Toma de turnos en tres etapas
1. Menciones deterministas
Una mención explícita a un participante tiene prioridad. Si la persona llama a un agente, la nominación es obligatoria. Si un agente invita a otro, la invitación puede declinarse.
2. Moderación ligera
Sin una mención resoluble, un modelo rápido puede actuar como moderador y nominar un conjunto pequeño de participantes con una razón declarada. El moderador decide quién debería responder; no ejecuta el trabajo de esos agentes.
3. El silencio es una respuesta válida
Un agente nominado puede declarar que no tiene una aportación útil. Esa abstención no se guarda como contenido del diálogo ni consume el presupuesto de respuestas reales.
Esta válvula evita la cortesía infinita: agentes que repiten, confirman o comentan únicamente porque han recibido turno. En una conversación empresarial, no intervenir puede ser la conducta más informativa.
Identidad y anti-suplantación
La atribución no puede depender del texto escrito por el agente. El motor construye la identidad del hablante y neutraliza cualquier intento de fabricar las etiquetas reservadas del historial.
Cada participante recibe además un marco explícito: quién habla, quién es la persona raíz y qué tipo de intervención se espera. Un agente no puede presentarse como humano ni satisfacer una aprobación reservada a la persona.
Este principio es más general que el chat 1:n: la identidad debe viajar en el protocolo, no en la prosa.
HITL sin un segundo mecanismo
Si un participante necesita una aclaración, la ronda se pausa mediante el mismo contrato utilizado en una conversación 1:1. La siguiente respuesta humana reanuda al agente que preguntó y continúa la ronda.
No hay un HITL «de grupo». Hay una ejecución suspendida, una persona responsable y un participante concreto que necesita información. Reutilizar el contrato evita que las conversaciones multiagente pierdan las garantías del canal principal.
Memoria individual dentro de un diálogo común
Compartir historial no implica compartir toda la memoria. Cada agente procesa la conversación desde su identidad y conserva su espacio de nombres de memoria. El historial común actúa como contexto de coordinación; los recuerdos privados y las fuentes autorizadas siguen separados.
Esta distinción permite que agentes especializados colaboren sin convertirse en una única personalidad colectiva ni recibir automáticamente el contexto privado de los demás.
Qué se aprendió al eliminar código
La decisión no consistió en simplificar por preferencia estética. Recuperó por construcción capacidades que el canal paralelo debía replicar y eliminó una divergencia futura.
La lección puede formularse así:
- si el usuario percibe un único objeto, conviene cuestionar las abstracciones técnicas que lo dividen;
- un nuevo tipo de sesión tiene un coste permanente sobre cada capacidad transversal;
- compartir almacenamiento no basta si el flujo de ejecución sigue duplicado;
- retirar una implementación completa puede ser una mejora arquitectónica.
Límites
Una única conversación no resuelve por sí sola la coordinación de equipos de agentes. Siguen siendo necesarios selección de participantes, límites de ronda, atribución, política, coste y tratamiento de fallos parciales.
La literatura sobre conversaciones multiagente documenta sistemas en los que los agentes se coordinan mediante diálogo, pero no establece que añadir más agentes mejore siempre el resultado. La topología debe justificarse por el trabajo, no por la disponibilidad de participantes.
Referencias
Fuente editorial de ALLAN
Platform Server/docs/group-sessions-design.md, arquitectura final y registro de la eliminación del diseño paralelo anterior.Platform Server/docs/agent-communication-design.md, marco de identidad y conversación entre agentes.
Fuentes externas
- Wu, Q. et al., AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation, preprint de 2023; versión revisada por pares en COLM 2024.
- Li, G. et al., CAMEL: Communicative Agents for “Mind” Exploration of Large Language Model Society, NeurIPS 2023.
- FIPA, ACL Message Structure Specification y Communicative Act Library, especificaciones oficiales.