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 agrega al espacio como participante si aún no lo es, y se despacha con el contexto y el modo del espacio. Los participantes que no se mencionan ven el mensaje, pero no se despachan.

Si envías un mensaje sin ninguna mención a un agente, Control Center elige por su cuenta quién responde: el agente que habló por última vez en la conversación; si no, el propietario de la conversación cuando lo tiene; y 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 y 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 al planificar:

  • Un token corto no es un error. Si dos agentes comparten un prefijo, gana el primero que se encuentra, y cuál sea ese 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 coincide con @(\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 a través del autocompletado, que inserta el nombre como texto sin formato. Pon a los agentes nombres de una sola palabra, o con guiones bajos.

Las menciones se eliminan del texto antes de que llegue al agente. Por lo tanto, un mensaje que es 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 en la misma conversación y ambos reciben el mensaje completo.

Además, 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 vinculados en lectura y escritura. Así que dos agentes mencionados juntos pueden ver —y entrar en conflicto con— las ediciones del otro.

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

Una mención a una persona que se resuelve no despacha nada. Viaja en los metadatos del mensaje únicamente para que el enrutador de notificaciones pueda avisarle a esa persona.

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

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

Un agente puede ceder trabajo en su propia respuesta. Cuando un turno termina sin problemas, las menciones de su texto se resuelven y esos agentes se agregan al espacio y se despachan en la misma conversación, con el turno que los mencionó como su prompt. Un turno que falló o se interrumpió no despierta a nadie: se detuvo a mitad del razonamiento.

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

  • Solo nombres exactos. Sin coincidencia por prefijo. @arch llega a architect cuando lo escribe una persona; dicho por 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 entre `backticks` se ignoran, así que citar una anotación @Override o un pip install foo@1.2 es seguro. Un bloque sin cerrar anula todo lo que venga después.
  • 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 sí mismo en lugar de 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 convocándolos.

Una cadena de activaciones está acotada de la misma manera que la delegación: profundidad 3, y a un agente que ya está en la cadena no se lo puede volver a despertar por ella (nada de A → B → A). Un par ordenado también tiene límite de frecuencia entre cadenas. Una activación rechazada 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 @ en una oración se narraría a sí mismo.

Para un traspaso que no deba depender de la prosa —una solicitud/respuesta, o llegar a un agente que está fuera del espacio—, usa mejor las herramientas send_to_agent, ask_agent y delegate_task.