A caixa de entrada do agente é a fila por agente onde os pedidos aguardam quando a máquina está em suspensão, o daemon está offline ou o agente já se encontra ocupado. Cada pedido permanece lá com o seu id, quem o solicitou e o seu estado de aprovação, e o daemon processa a caixa de entrada por ordem quando regressa. Um pedido nunca se perde por se ter fechado a tampa do portátil, nem é executado duas vezes porque o daemon reiniciou.
Os agentes local-first pagam as suas vantagens com a disponibilidade. A caixa de entrada é a forma de manter esse custo reduzido.
O que entra na caixa de entrada
Todos os pedidos, sempre. Mesmo quando a máquina está online, um pedido passa pela caixa de entrada a caminho do runtime; a fila apenas acontece estar vazia. A caixa de entrada é por agente: dois agentes numa máquina têm duas caixas de entrada e executam em paralelo; um agente processa a sua caixa de entrada sequencialmente, um pedido de cada vez, para que um diretório de trabalho nunca seja editado por duas execuções em simultâneo.
Uma caixa de entrada durante a noite: três pedidos aprovados aguardam por ordem; um ainda precisa do proprietário; a máquina acorda e processa-os.
Ordem e estado
Os pedidos são executados pela ordem em que foram aprovados, não pela ordem em que foram enviados. Um pedido de alguém com autorização prévia é aprovado à chegada e ocupa o seu lugar; um pedido a aguardar a aprovação do proprietário mantém a sua posição, mas é ignorado até ser aprovado. O proprietário pode remover ou reordenar itens na caixa de entrada antes de serem executados.
Cada item mantém o seu estado ao longo da espera: pendente (precisa de aprovação), aprovado (a aguardar a máquina) ou em execução (estava a meio da execução quando a máquina suspendeu). Consulte ids de pedidos e execuções retomáveis.
Ao acordar
Quando o daemon regressa, faz polling à procura de trabalho, recebe a caixa de entrada por ordem e:
- Retoma qualquer pedido que estivesse em execução quando a máquina suspendeu, utilizando a referência da sessão de runtime armazenada. O mesmo id, a mesma sessão, um intervalo na timeline em vez de uma execução duplicada.
- Executa os pedidos aprovados, um de cada vez.
- Mantém os pedidos pendentes no seu lugar até que o proprietário responda.
As aprovações que ficaram sem resposta por mais tempo do que o TTL (24 horas por predefinição) já terão expirado nessa altura, e os pedidos são marcados como expirados em vez de serem executados fora de prazo.
Manter a máquina acessível
A caixa de entrada torna os períodos offline seguros; não os torna rápidos. Três hábitos ajudam a encurtá-los.
- Instale o daemon como um serviço com
muti service install. Este arranca no início de sessão e reinicia após uma falha, pelo que “o daemon não está em execução” deixa de ser motivo de espera. - Desative a suspensão durante o horário de trabalho num computador de secretária, ou ligue um portátil à corrente e configure-o para não suspender quando alimentado. Uma tampa fechada é um agente offline.
- Verifique o
muti statusem caso de dúvida. Mostra se o daemon está ligado e a última vez que fez polling.
O que o requerente vê
O seu pedido na sala com o respetivo id e um estado: “na fila, máquina offline desde as 22:00” ou “a aguardar a aprovação de Noah”. Podem cancelá-lo ou adicionar-lhe uma mensagem. Quando executa, a timeline transmite normalmente. Ninguém precisa de reenviar.
Perguntas frequentes
A caixa de entrada fica na minha máquina ou na sala? No serviço da sala. É isso que lhe permite aceitar pedidos enquanto a máquina está desligada e o que permite ao proprietário reordená-la a partir do telemóvel.
Posso limpar a caixa de entrada? Sim. Remover itens cancela esses pedidos; os requerentes veem cancelado.
E se a máquina estiver desligada durante dias? Os pedidos aguardam. As aprovações expiram de acordo com o seu próprio TTL; os pedidos aprovados não expiram, embora o proprietário possa querer limpá-los antes de uma ausência prolongada.
Aplica-se o mesmo a pedidos de plataformas de chat? Sim. Uma menção no Feishu ou no Slack torna-se um pedido como qualquer outro e aguarda na mesma caixa de entrada. Consulte a arquitetura do Feishu.
Feche a tampa. Os pedidos estarão lá de manhã. Dê uma sala ao seu agente.
Publicado a