O Cloud Workstations oferece um ambiente de execução otimizado para agentes de programação de IA autônomos e interativos, como a CLI do Antigravity e o Claude Code. Ao executar fluxos de trabalho de desenvolvimento com agentes, eles costumam realizar tarefas assíncronas de longa duração (como geração de código, refatoração profunda e execução do teste) ou pausar enquanto aguardam entrada e revisão humanas.
Os tempos limite de inatividade padrão da estação de trabalho podem desligar e excluir VMs de estação de trabalho efêmeras durante longos períodos de inatividade, encerrando o contêiner e exigindo a reinicialização do contexto do agente. O desenvolvimento otimizado para agentes resolve esse problema combinando dois recursos principais:
- Suspensão da estação de trabalho (
IdleAction.SUSPEND): esse recurso suspende automaticamente a VM da estação de trabalho quando ela atinge o tempo limite de inatividade, em vez de interrompê-la. A suspensão da estação de trabalho preserva a RAM da máquina virtual, os processos em execução, os arquivos abertos e o contexto do agente ativo no armazenamento permanente, interrompendo os custos de computação de vCPU e memória. - Hooks de manutenção de atividade do ciclo de vida: esses hooks permitem que os agentes de IA executem um
script de manutenção de atividade em segundo plano (
/google/scripts/keep_alive.sh) durante o processamento ativo para evitar tempos limite e encerrar o script ao aguardar a entrada do usuário ou após concluir as tarefas, permitindo que a estação de trabalho entre em um estado inativo e seja suspensa.
Como funciona a otimização de agentes
A otimização do agente garante estado persistente, eficiência de custos e operação perfeita durante tarefas de longa duração:
- Processamento ativo: quando um agente começa a executar instruções do usuário, um hook de ciclo de vida inicia
/google/scripts/keep_alive.shem segundo plano. Esse script envia sinais periódicos de atividade que impedem que o Cloud Workstations marque a estação de trabalho como inativa. - Aguardando a entrada do usuário ou a conclusão da tarefa: quando o agente conclui o trabalho ou pausa para solicitar ao desenvolvedor uma revisão ou entrada adicional, um gancho de evento encerra o processo de keep-alive em segundo plano.
- Suspensão automática: sem sinais de atividade ou tráfego de entrada, o timer de inatividade da estação de trabalho faz uma contagem regressiva até o limite de tempo limite de inatividade configurado. Quando o tempo limite expira, o Cloud Workstations faz a transição da estação de trabalho para
STATE_SUSPENDEDem vez de desligar. - Retomada instantânea: quando o desenvolvedor retorna e se reconecta (pelo console do Google Cloud , um ambiente de desenvolvimento integrado ou SSH), a estação de trabalho é retomada imediatamente do armazenamento permanente com o estado completo do agente, as sessões de terminal e o contexto do espaço de trabalho intactos.
Configurar a suspensão da estação de trabalho
Para ativar a suspensão da estação de trabalho, atualize a configuração dela com
um idleAction definido como SUSPEND e uma duração de idleTimeout em segundos, como
1800s para 30 minutos.
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud , não é necessário configurar a autenticação.
gcloud
No console do Google Cloud , ative o Cloud Shell.
Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a CLI do Google Cloud.
Ao usar um provedor de identidade (IdP) externo, primeiro
faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Console
Para configurar a suspensão em uma configuração de estação de trabalho no console doGoogle Cloud :
No console do Google Cloud , acesse Configurações da estação de trabalho.
Clique em Adicionar Criar ou em uma configuração atual e em Editar Editar.
Preencha a seção Informações básicas e acesse Configurações da máquina.
Em Tempo limite de inatividade, defina a duração do tempo limite de inatividade, como 30 minutos.
No menu suspenso Ação de inatividade, selecione Suspender (ou Suspender estação de trabalho após tempo limite de inatividade).
Conclua as etapas de configuração restantes e clique em Criar ou Salvar.
gcloud
Para criar uma configuração de estação de trabalho com a suspensão ativada, execute o comando
gcloud workstations configs create
com a flag --idle-action=suspend:
gcloud workstations configs create CONFIG_NAME \
--cluster=CLUSTER_NAME \
--region=LOCATION \
--idle-timeout=1800 \
--idle-action=suspend
Para atualizar uma configuração de estação de trabalho atual para usar a suspensão, execute o comando gcloud workstations configs update:
gcloud workstations configs update CONFIG_NAME \
--cluster=CLUSTER_NAME \
--region=LOCATION \
--idle-timeout=1800 \
--idle-action=suspend
Substitua:
CONFIG_NAME: o nome da configuração da estação de trabalho.CLUSTER_NAME: o nome do cluster da estação de trabalho.LOCATION: a região em que o cluster de estação de trabalho está localizado.
REST
Para configurar a suspensão usando a API REST, defina idleAction como SUSPEND e
idleTimeout como a duração escolhida no payload
workstationConfigs:
{
"idleTimeout": "1800s",
"idleAction": "SUSPEND"
}
Configurar agentes com ganchos de keep-alive de amostra
As imagens de base pré-configuradas do Cloud Workstations vêm pré-instaladas com arquivos de configuração de agente de amostra em /google/samples/agents/keepalive/. Esses exemplos
demonstram como configurar agentes de programação de IA para gerenciar o ciclo de vida de manutenção ativa
automaticamente.
Como os hooks de manutenção de atividade do agente funcionam
Os agentes de programação de IA modernos oferecem sistemas de hook de eventos que executam comandos em marcos importantes do ciclo de vida:
- Hook de início da execução: acionado antes de o agente começar a processar a entrada do usuário. O hook inicia
/google/scripts/keep_alive.shem segundo plano e grava o ID de processo em segundo plano (PID) em um arquivo temporário (por exemplo,/tmp/agent_keep_alive.pid). - Hook de espera de entrada do usuário / notificação: acionado quando o agente conclui
a tarefa ou faz uma pausa para pedir informações ao usuário. O hook lê o PID do
arquivo temporário e encerra o processo
keep_alive.shem segundo plano.
Configuração do Claude Code
O Claude Code é compatível com hooks de eventos de ciclo de vida configurados nas definições. Os arquivos de configuração de exemplo para o Claude Code estão localizados em:
/google/samples/agents/keepalive/claude/
No Claude Code, os seguintes hooks de eventos gerenciam o processo de manutenção da conexão:
UserPromptSubmit: o hook é executado quando o usuário envia um comando. Ele inicia o script de manutenção de atividade em segundo plano:/google/scripts/keep_alive.sh & echo $! > /tmp/claude_keep_alive.pidNotification: o hook é executado quando o Claude Code emite uma notificação ou pausa para receber uma entrada do usuário. Ele encerra o processo em segundo plano ativo de sinal de atividade:if [ -f /tmp/claude_keep_alive.pid ]; then kill "$(cat /tmp/claude_keep_alive.pid)" 2>/dev/null || true rm -f /tmp/claude_keep_alive.pid fi
Para aplicar a configuração de exemplo, copie ou mescle os arquivos de exemplo de
/google/samples/agents/keepalive/claude/ no diretório de configuração do Claude (por exemplo, ~/.claude/settings.json ou configuração para envolvidos no projeto).
Configuração da CLI do Antigravity
A CLI do Antigravity é compatível com hooks de eventos de ciclo de vida definidos nas configurações. Os arquivos de configuração de exemplo para a CLI Antigravity estão localizados em:
/google/samples/agents/keepalive/gemini/
Na CLI do Antigravity, os seguintes hooks de eventos gerenciam o processo de manutenção da conexão:
BeforeAgent: o hook é executado antes de a CLI do Antigravity começar a executar ações. Ele inicia o script de manutenção da atividade em segundo plano:/google/scripts/keep_alive.sh & echo $! > /tmp/gemini_keep_alive.pidNotification: o hook é executado quando o agente conclui o turno ou exige feedback do usuário. Ele encerra o processo de sinal de atividade:if [ -f /tmp/gemini_keep_alive.pid ]; then kill "$(cat /tmp/gemini_keep_alive.pid)" 2>/dev/null || true rm -f /tmp/gemini_keep_alive.pid fi
Para aplicar a configuração de exemplo, copie ou mescle os arquivos de exemplo de
/google/samples/agents/keepalive/gemini/ no diretório de configuração da CLI
do Antigravity (por exemplo, ~/.gemini/config.yaml ou configurações do projeto).
Integração de agente personalizado
Se você criar ou usar agentes de IA personalizados, poderá implementar o mesmo padrão de
manutenção ativa iniciando /google/scripts/keep_alive.sh como um processo em segundo plano
durante a execução ativa do agente e encerrando o processo quando o agente entra
em um estado ocioso ou de espera.
Retomar uma estação de trabalho suspensa
Quando uma estação de trabalho está em STATE_SUSPENDED, é possível retomá-la a qualquer momento:
- ConsoleGoogle Cloud : no console Google Cloud , acesse a página Estações de trabalho e clique em Iniciar ou Iniciar ao lado da estação de trabalho suspensa.
CLI
gcloud: execute o comandogcloud workstations start:gcloud workstations start WORKSTATION_NAME \ --cluster=CLUSTER_NAME \ --region=LOCATION \ --config=CONFIG_NAMESubstitua:
WORKSTATION_NAME: o nome da estação de trabalho.CLUSTER_NAME: o nome do cluster de estação de trabalho.LOCATION: a região em que o cluster de estação de trabalho está localizado.CONFIG_NAME: o nome da configuração da estação de trabalho.
Conexão por navegador ou SSH: navegar até o URL da Web da estação de trabalho ou se conectar usando SSH aciona automaticamente a retomada da estação de trabalho.
Depois de retomados, todos os buffers de terminal, o histórico de comandos do agente e os arquivos do espaço de trabalho são restaurados exatamente como você os deixou.
A seguir
- Criar uma configuração da estação de trabalho.
- Saiba mais sobre a programação assistida por agentes de IA com a CLI do Gemini.
- Confira as imagens de base pré-configuradas.
- Saiba como entrar em contato com o suporte do SSH.