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 cuadro de diálogo permanece abierto
  4. De manera opcional, agrega 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 presiona Enter. El agente se despacha y empieza a transmitir su respuesta en streaming.

Si el espacio todavía 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 transmite su turno: segmentos de razonamiento, llamadas a herramientas (lecturas y escrituras de archivos, comandos de shell) y texto de respuesta, todo dentro de un solo 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 en la franja 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 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 con un comando slash siempre se maneja 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 terminaron, el texto se cuela y se envía como un mensaje normal

Cuando un agente llega a 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, de manera opcional, 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, el shell mantiene un panel siempre en primer plano que enumera lo que está en espera, para que puedas desbloquear al agente sin tener que buscar el espacio. La superposición oculta una solicitud en el momento en que la conversación de ese espacio aparece en pantalla, así que nunca respondes dos veces a la misma solicitud.

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 para celular.

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 indica al agente que elija un valor predeterminado razonable y que 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 de forma predeterminada 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 se convierte en un botón de Detener. Vacía el compositor y presiónalo: esto detiene a todos los agentes que se ejecutan en esa conversación.

No hay ningún control de detención en el encabezado 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 encabezado 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 con checkout en este espacio

Las skills de repo llevan la insignia del repo del que provienen, porque un nombre por sí solo no dice las convenciones de qué servicio codifica, y dos repos pueden incluir 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 repositorio. 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 menú desplegable de modo de la barra de herramientas del compositor o Mayús+Tabulador. El agente entonces investiga en solo lectura y entrega un plan tipado que apruebas antes de que empiece cualquier 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 agrega al espacio y se despacha con el contexto de ese espacio. Consulta Mencionar agentes con @ para saber cómo se emparejan los nombres.