Conversar com um agente
Este guia mostra-lhe como trabalhar com um agente num espaço.
Criar um espaço
Secção intitulada “Criar um espaço”- Navegue até Espaços na barra lateral
- Clique no botão + junto ao título Espaços
- Escreva um nome — é obrigatório. Um nome vazio é recusado; a caixa de diálogo mantém-se aberta
- Opcionalmente, adicione agentes do espaço de trabalho
- Se o espaço de trabalho tiver algum repo, aparece um seletor de repos. Começa com todos os repos selecionados; restrinja-o (incluindo desmarcar um único repo) aos repos para os quais este espaço deve aprovisionar worktrees
- Confirme
O Control Center abre o espaço e começa a aprovisionar em segundo plano um worktree copy-on-write por cada repo selecionado.
Enviar a primeira mensagem
Secção intitulada “Enviar a primeira mensagem”Escreva a sua mensagem no compositor e prima Enter. O agente é despachado e começa a transmitir a resposta em fluxo.
Se o espaço ainda estiver a ser aprovisionado, a sua mensagem fica em espera em vez de se perder — o compositor guarda-a e envia-a automaticamente assim que os worktrees estiverem prontos.
À medida que o agente trabalha, vê o turno a chegar em fluxo: segmentos de raciocínio, chamadas de ferramentas (leituras e escritas de ficheiros, comandos de shell) e texto de resposta, tudo dentro de uma única mensagem de turno do agente.
Orientar um agente em execução
Secção intitulada “Orientar um agente em execução”Enquanto um agente está a trabalhar, o texto de conversa simples não coloca um novo turno em fila. Transforma-se num cartão de orientação em fila, na faixa acima do compositor, e é injetado na execução em curso no limite do turno seguinte. Não há nenhuma notificação temporária — o cartão é o feedback.
Há três coisas que alteram este comportamento:
- Uma mensagem que contenha uma menção com @ é sempre enviada como mensagem, nunca como orientação
- Uma mensagem que comece com um comando slash é sempre tratada como esse comando
- Uma mensagem com um anexo é sempre enviada como mensagem — a fila de orientação é só de texto
- Se todas as execuções em curso já tiverem terminado, o texto segue o caminho normal e é enviado como mensagem normal
Aprovar uma ação bloqueada
Secção intitulada “Aprovar uma ação bloqueada”Quando um agente encontra uma ação que as suas barreiras intercetam — um comando
destrutivo, uma ferramenta com privilégios —, o servidor bloqueia a execução e
publica um pedido de aprovação para todos os clientes ligados. Se tiver essa
conversa aberta, o pedido aparece no chat, acima do compositor, como o mesmo
cartão de opções numeradas usado para ask_user (negar, aprovar e, opcionalmente,
aprovar durante oito horas). Não é possível ignorar: um agente bloqueado está à
espera de uma decisão.
Se estiver noutro ponto da aplicação, um painel sempre no topo, no shell da aplicação, continua a listar o que está à espera, para que possa desbloquear o agente sem andar à procura do espaço. A sobreposição esconde um pedido no momento em que a conversa desse espaço está no ecrã, para que nunca responda duas vezes ao mesmo pedido.
Não há limite de tempo: um agente bloqueado espera até que alguém decida. O mesmo pedido também aparece na faixa de atenção da caixa de entrada e no cliente de telemóvel.
Responder à pergunta de um agente
Secção intitulada “Responder à pergunta de um agente”Um agente que precise de uma preferência, de um requisito em falta ou de uma
bifurcação genuína tem de chamar ask_user. Escrever a pergunta como mensagem
de chat termina o turno e obriga a voltar a pedir. A ferramenta apresenta um cartão
numerado na conversa — opções, texto livre opcional, ou ambos — e a execução fica
à espera da sua resposta.
Toque numa única opção para a enviar (o número no fim transforma-se numa seta ao
passar o cursor). As respostas de seleção múltipla e as respostas escritas usam
Continuar (⌘↵ / Ctrl↵). Saltar indica ao agente que escolha uma
predefinição razoável e que não volte a perguntar.
É um mecanismo separado do cartão de aprovação acima: uma aprovação é «posso fazer isto?», uma pergunta é «qual destas quis dizer?». Perguntar está disponível no harness integrado em todos os modos, incluindo os só de leitura (não altera nada), e é deliberadamente não envolvido num pedido de aprovação — uma caixa de diálogo à frente de outra caixa de diálogo fecharia em caso de falha sem nenhum aprovador ligado. Uma execução sem conversa onde apresentar o cartão simplesmente não recebe a ferramenta.
Parar um agente
Secção intitulada “Parar um agente”Enquanto houver execuções em curso, o botão de enviar do compositor passa a ser um botão de parar. Limpe o compositor e prima-o — isto para todos os agentes em execução nessa conversa.
Não existe nenhum controlo de paragem no cabeçalho do espaço nem nenhum atalho de teclado para isso. Para parar apenas uma execução quando há várias em curso, abra o separador de atividade dessa execução — o respetivo cabeçalho tem uma pausa/retoma e uma paragem com o âmbito da execução (a paragem pede confirmação). Observabilidade → Ao vivo lista todos os agentes em execução no espaço de trabalho com o mesmo controlo.
Uma execução parada fica marcada como parada. Envie uma nova mensagem para voltar a despachar.
Usar comandos slash
Secção intitulada “Usar comandos slash”Escreva / no compositor para ver a lista de comandos. Estes são os que alteram o
comportamento da conversa:
| Comando | O que faz |
|---|---|
/plan |
Coloca o espaço em modo plano. Um /plan isolado apenas ativa o modo; /plan <request> ativa-o e envia o resto como a sua mensagem |
/goal <text> |
Regista o objetivo de trabalho da conversa |
/loop <text> |
Itera uma tarefa até estar concluída |
/compact |
Dobra o histórico mais antigo num resumo ancorado e continua sobre o contexto compactado |
/todo … |
Vê e edita a lista de tarefas persistida desta conversa |
As skills aparecem na mesma lista sob o seu próprio espaço de nomes skill:, para
que nunca colidam com os comandos acima — uma skill chamada plan ou compact
continua acessível:
| Comando | O que executa |
|---|---|
/skill:<name> |
Uma skill instalada no espaço de trabalho ou associada ao agente |
/skill:<repo>:<name> |
Uma skill fornecida por um dos repos com checkout neste espaço |
As skills de repo ostentam um distintivo com o repo de origem, porque um nome por
si só não diz as convenções de que serviço codifica e dois repos podem ambos
fornecer uma skill testing. Não é preciso escrever o prefixo para encontrar uma:
escrever apenas o nome da skill também corresponde às entradas com espaço de nomes.
Um agente transporta apenas as skills do repo em que está a trabalhar no momento — consulte Skills com âmbito de repo. O compositor não tem esse âmbito: pode invocar a skill de qualquer repo nomeando-a.
O /compact e o /todo são intercetados pelo cliente e nunca são persistidos como
mensagens — uma linha /compact na transcrição faria o corte da compactação
seguinte recuar um turno. O /plan alterna o modo guardado do espaço em vez de
viajar como texto. Por isso, nenhum dos três é «uma mensagem que envia ao agente»;
não conte com eles no histórico.
Pedir primeiro um plano
Secção intitulada “Pedir primeiro um plano”Antes de uma alteração complexa, coloque o espaço em modo plano com /plan, com a
lista pendente de modos na barra de ferramentas do compositor ou com Shift+Tab. O
agente investiga então só de leitura e apresenta um plano tipado que aprova antes
de começar qualquer trabalho. Consulte
Usar o modo plano.
Alcançar um agente sem um espaço dedicado
Secção intitulada “Alcançar um agente sem um espaço dedicado”Não precisa de um espaço por agente. Em qualquer espaço:
@alice can you look at the failing tests in src/auth_test.dart?O agente mencionado é adicionado ao espaço e despachado com o contexto desse espaço. Consulte Mencionar agentes com @ para saber como os nomes são emparelhados.
Guias relacionados
Secção intitulada “Guias relacionados”- Usar espaços
- Mencionar agentes com @
- Usar o modo plano
- Configurar a integração com o Slack para fazer o mesmo a partir do Slack