Ir al contenido

Mencionar agentes con @

Esta guía muestra cómo mencionar con @ a agentes y compañeros de equipo en un espacio.

Escribe @ en el compositor y elige un agente del autocompletado, o escribe el nombre tú mismo:

@alice fix the login bug

El agente mencionado se añade al espacio como participante si aún no lo es y se despacha con el contexto y el modo del espacio. Los participantes no mencionados ven el mensaje, pero no se despachan.

Si envías un mensaje sin ninguna mención de agente, Control Center elige por su cuenta quién responde: el agente que habló en último lugar en la conversación; si no, el propietario de la conversación, si lo tiene; si no, el primer agente de nivel superior entre los participantes del espacio. En un espacio con un solo agente, ese es siempre el único agente.

Un token de mención se empareja sin distinguir mayúsculas de minúsculas, por nombre exacto o prefijo. Así, @arch llega a un agente llamado architect y @Alice llega a alice.

Dos consecuencias que conviene tener en cuenta:

  • Un token corto no es un error. Si dos agentes comparten un prefijo, gana el primero que se encuentre, y cuál sea depende del orden, no de ninguna regla de desempate. Usa el nombre completo siempre que los nombres se solapen.
  • Solo las letras, los dígitos y los guiones bajos forman parte de un token. El analizador aplica @(\w+), así que @code-reviewer se lee como el token code y @my agent como my. Un agente cuyo nombre contenga un guion, un punto o un espacio no se puede mencionar de forma fiable, ni siquiera con el autocompletado, que inserta el nombre como texto plano. Nombra a los agentes con una sola palabra o con guiones bajos.

Las menciones se eliminan del texto antes de que este llegue al agente. Por eso, un mensaje que sea solo menciones (@alice) no despacha nada: dale algo que hacer.

@alice refactor the auth module. @bob write tests for it.

Ambos agentes se despachan en paralelo a la misma conversación y los dos reciben el mensaje completo.

También comparten los worktrees de ese espacio. Los worktrees de los repos se aprovisionan por espacio, no por agente; cada agente recibe su propio directorio de trabajo overlay para su AGENTS.md, sus skills y su configuración, con los repos compartidos enlazados en lectura y escritura. Así que dos agentes mencionados a la vez pueden ver las ediciones del otro, y colisionar con ellas.

Cualquier @token que no corresponda a un agente se prueba contra los miembros humanos del espacio de trabajo, por su identificador de usuario, con la misma regla de nombre exacto o prefijo sin distinguir mayúsculas de minúsculas.

Una mención de una persona que se resuelva no despacha nada. Solo viaja en los metadatos del mensaje para que el enrutador de notificaciones pueda avisar a esa persona.

Los nombres de agente se prueban siempre primero, y un token que reclama un agente nunca se ofrece a la lista de miembros: un @word solo puede resolverse siempre a un único principal.

Un agente despachado recibe en su prompt un bloque «Summons» que indica quién lo convocó y enumera la lista de participantes del espacio —los otros agentes (marcados como de nivel superior o subordinados) y los miembros humanos—, para que sepa a quién puede traspasarle trabajo. El bloque también le dice que mencionar a otro agente en su respuesta lo despierta y que mencionarse a sí mismo se ignora.

Un agente puede traspasar trabajo en su propia respuesta. Cuando un turno termina limpiamente, las menciones de su texto se resuelven, y esos agentes se añaden al espacio y se despachan a la misma conversación, con el turno que los menciona como prompt. Un turno que falló o se interrumpió no despierta a nadie: se quedó a mitad de razonamiento.

Las reglas son deliberadamente más estrictas que las del compositor, porque nadie está mirando para corregir una suposición equivocada:

  • Solo nombres exactos. Sin coincidencia por prefijo. @arch llega a architect cuando lo escribe una persona; desde un agente no llega a nadie. Un nombre que coincide con dos agentes tampoco llega a nadie.
  • El código no es prosa. Las menciones dentro de bloques delimitados o de `backticks` se ignoran, así que citar una anotación @Override o un pip install foo@1.2 no tiene riesgo. Un bloque delimitado sin cerrar deja en blanco todo lo que sigue.
  • Un @ pegado al token anterior no es una mención: sam@host.com, pkg/@scope y node@20 no se resuelven a nadie.
  • Los guiones se conservan, así que @code-reviewer se resuelve como tal, y no como el token code.
  • Como máximo tres agentes por turno. Un agente que enumera seis compañeros de equipo en un resumen los está enumerando, no los está convocando.

Una cadena de despertares tiene el mismo límite que la delegación: profundidad 3, y un agente que ya esté en la cadena no puede volver a ser despertado por ella (nada de A → B → A). Un par ordenado también tiene límite de frecuencia entre cadenas. Un despertar rechazado publica un mensaje de sistema en la conversación que indica qué mención no se entregó y por qué; un nombre sin resolver no lo hace, porque, de lo contrario, cualquier @ de una frase se narraría a sí mismo.

Para un traspaso que no deba depender de la prosa —una petición con respuesta o llegar a un agente fuera del espacio—, usa mejor las herramientas send_to_agent, ask_agent y delegate_task.