Ir al contenido

Chatear con un agente

Esta guía muestra cómo trabajar con un agente en un espacio.

  1. Ve a Espacios en la barra lateral
  2. Haz clic en el botón + junto al encabezado Espacios
  3. Escribe un nombre: es obligatorio. Un nombre vacío se rechaza; el diálogo permanece abierto
  4. Opcionalmente, añade agentes del espacio de trabajo
  5. Si el espacio de trabajo tiene algún repo, aparece un selector de repos. Empieza con todos los repos seleccionados; redúcelo (incluida la deselección de un solo repo) a los repos para los que este espacio debe aprovisionar worktrees
  6. Confirma

Control Center abre el espacio y empieza a aprovisionar en segundo plano un worktree copy-on-write por cada repo seleccionado.

Escribe tu mensaje en el compositor y pulsa Intro. El agente se despacha y empieza a emitir su respuesta en streaming.

Si el espacio aún se está aprovisionando, tu mensaje queda en espera en lugar de perderse: el compositor lo retiene y lo envía automáticamente en cuanto los worktrees estén listos.

Mientras el agente trabaja, ves cómo se emite su turno: segmentos de razonamiento, llamadas a herramientas (lecturas y escrituras de archivos, comandos de shell) y texto de respuesta, todo dentro de un único mensaje de turno de agente.

Mientras un agente trabaja, el texto conversacional normal no encola un turno nuevo. Se convierte en una tarjeta de orientación en cola dentro de la franja situada sobre el compositor y se inyecta en la ejecución activa en el siguiente límite de turno. No hay ningún aviso emergente: la propia tarjeta es la respuesta.

Tres cosas cambian ese comportamiento:

  • Un mensaje que contiene una @mención siempre se envía como mensaje, nunca como orientación
  • Un mensaje que empieza por un comando slash siempre se trata como ese comando
  • Un mensaje con un adjunto siempre se envía como mensaje: la cola de orientación es solo de texto
  • Si todas las ejecuciones activas ya han terminado, el texto se cuela y se envía como un mensaje normal

Cuando un agente se topa con una acción que sus barandillas someten a control —un comando destructivo, una herramienta privilegiada—, el servidor bloquea la ejecución y publica una solicitud de aprobación a todos los clientes conectados. Si tienes esa conversación abierta, la solicitud aparece en el chat, encima del compositor, como la misma tarjeta de opciones numeradas que se usa para ask_user (denegar, aprobar y, opcionalmente, aprobar durante ocho horas). No hay opción de omitir: un agente bloqueado está esperando una decisión.

Si estás en otra parte de la aplicación, un panel siempre en primer plano sigue mostrando lo que está en espera, para que puedas desbloquear al agente sin tener que buscar el espacio. La superposición oculta una solicitud en cuanto la conversación de ese espacio aparece en pantalla, así que nunca respondes dos veces a la misma petición.

No hay tiempo de espera: un agente bloqueado espera hasta que alguien decide. La misma solicitud también aparece en la franja de atención de la bandeja de entrada y en el cliente móvil.

Un agente que necesita una preferencia, un requisito que falta o una bifurcación real debe llamar a ask_user. Escribir la pregunta como mensaje de chat termina el turno y tienes que volver a pedírselo. La herramienta muestra una tarjeta numerada en la conversación —opciones, texto libre opcional o ambos— y la ejecución espera tu respuesta.

Toca una sola opción para enviarla (el número final se convierte en una flecha al pasar el cursor por encima). La selección múltiple y las respuestas escritas usan Continuar (⌘↵ / Ctrl↵). Omitir le dice al agente que elija un valor predeterminado razonable y no vuelva a preguntar.

Es un mecanismo distinto de la tarjeta de aprobación anterior: una aprobación es «¿puedo hacer esto?» y una pregunta es «¿cuál de estas querías decir?». Preguntar está disponible en el arnés integrado en todos los modos, incluidos los de solo lectura (no modifica nada), y a propósito no se envuelve en una solicitud de aprobación: un diálogo delante de otro diálogo acabaría denegando por defecto si no hay ningún aprobador conectado. Una ejecución que no tiene ninguna conversación en la que mostrarse simplemente no recibe la herramienta.

Mientras hay ejecuciones activas, el botón de enviar del compositor pasa a ser un botón de Detener. Vacía el compositor y púlsalo: detiene a todos los agentes que se están ejecutando en esa conversación.

No hay ningún control de detención en la cabecera del espacio ni ningún atajo de teclado para ello. Para detener solo una ejecución cuando hay varias activas, abre la pestaña de actividad de esa ejecución: su cabecera incluye una pausa, una reanudación y una detención con alcance de ejecución (la detención te pide confirmación). Observabilidad → En vivo enumera todos los agentes en ejecución del espacio de trabajo con el mismo control.

Una ejecución detenida se marca como detenida. Envía un mensaje nuevo para despachar de nuevo.

Escribe / en el compositor para ver la lista de comandos. Estos son los que cambian cómo se comporta la conversación:

Comando Qué hace
/plan Cambia el espacio al modo plan. Un /plan a secas solo arma el modo; /plan <request> lo arma y envía el resto como tu mensaje
/goal <text> Registra el objetivo de trabajo de la conversación
/loop <text> Itera sobre una tarea hasta que esté completa
/compact Pliega el historial más antiguo en un resumen anclado y continúa sobre el contexto compactado
/todo … Consulta y edita la lista de tareas persistida de esta conversación

Las skills aparecen en la misma lista bajo su propio espacio de nombres skill:, así que nunca chocan con los comandos anteriores: una skill llamada plan o compact sigue siendo accesible:

Comando Qué ejecuta
/skill:<name> Una skill instalada en el espacio de trabajo o asociada al agente
/skill:<repo>:<name> Una skill que aporta uno de los repos clonados en este espacio

Las skills de repo llevan la insignia del repo del que proceden, porque un nombre por sí solo no dice las convenciones de qué servicio codifica, y dos repos pueden aportar cada uno una testing. No hace falta escribir el prefijo para encontrar una: escribir solo el nombre de la skill también coincide con las entradas con espacio de nombres.

Un agente solo lleva las skills del repo en el que está trabajando en ese momento; consulta Skills con alcance de repo. El compositor no tiene ese alcance: puedes invocar la skill de cualquier repo nombrándola.

El cliente intercepta /compact y /todo, y nunca se persisten como mensajes: una línea /compact en la transcripción retrasaría un turno el corte de la siguiente compactación. /plan cambia el modo almacenado del espacio en lugar de viajar como texto. Así que ninguno de los tres es «un mensaje que le envías al agente»; no esperes verlos en el historial.

Antes de un cambio complejo, cambia el espacio al modo plan con /plan, el desplegable de modo de la barra de herramientas del compositor o Mayús+Tabulador. El agente investiga entonces en solo lectura y entrega un plan tipado que apruebas antes de que empiece ningún trabajo. Consulta Usar el modo plan.

No necesitas un espacio por agente. En cualquier espacio:

@alice can you look at the failing tests in src/auth_test.dart?

El agente mencionado se añade al espacio y se despacha con el contexto de ese espacio. Consulta Mencionar agentes con @ para saber cómo se emparejan los nombres.