Voltar ao blog

Múltiplos navegadores para AI Agents: três necessidades de isolamento e custo de recursos

Um Agent em uma única janela basta para uma demonstração. Em produção, dezenas de tarefas simultâneas precisam de ambientes separados; caso contrário, sessões se contaminam, abas disputam recursos e falhas ficam difíceis de diagnosticar.

Uma única janela do navegador basta para demonstrar o que um AI Agent consegue fazer. Quando ele entra em um fluxo de trabalho real, a necessidade rapidamente vira dezenas de janelas que não podem interferir umas nas outras. O motivo não está no próprio Agent, mas no navegador que serve de base para ele.

Que problemas surgem ao compartilhar um único ambiente

O problema mais evidente é a contaminação entre cookies e estados de login. Dentro do mesmo diretório de dados do navegador, duas tarefas que entram sucessivamente em contas diferentes podem sobrescrever as sessões uma da outra. Se uma tarefa limpar o cache, o estado de página de outra também pode desaparecer.

Depois vem a disputa por recursos. Em uma única instância do navegador, abas, foco, diretório de downloads e pop-ups são recursos compartilhados. Se duas tarefas abrirem novas abas ao mesmo tempo, deixa de ficar claro qual tarefa está operando qual página. Uma caixa de diálogo aberta por uma tarefa pode travar o script da outra. Conflitos de login, sobrescrita de dados e interferência entre operações são quase inevitáveis em cenários concorrentes.

O terceiro problema aparece depois de uma falha. Fica difícil saber se a lógica do script estava errada ou se outra tarefa alterou o ambiente em algum passo. Quando várias tarefas compartilham o mesmo processo e o mesmo log, os sintomas de falha também podem variar, multiplicando o custo de diagnóstico.

Há ainda um risco menos óbvio: várias identidades rodando por longos períodos no mesmo ambiente deixam sinais de correlação. Parâmetros do dispositivo, estado de armazenamento e saída de rede ficam iguais, de modo que uma plataforma pode interpretá-los facilmente como operações em lote a partir do mesmo dispositivo. Se uma conta for considerada anormal, outras também podem ser afetadas.

Abrir várias janelas não é o mesmo que isolar

A primeira reação de muita gente é abrir várias janelas manualmente. Elas parecem separadas, mas na prática compartilham o mesmo perfil do navegador: os mesmos cookies, o mesmo armazenamento local e as mesmas informações de dispositivo. Uma janela pode enxergar o estado de login de outra, e uma ação em uma pode afetar as demais.

O isolamento real precisa chegar ao diretório de dados e aos parâmetros do ambiente. Cada ambiente deve ter seu próprio diretório de armazenamento, seus próprios parâmetros de dispositivo — resolução, idioma, fuso horário, fontes, Canvas, WebGL e outros — e sua própria saída de rede. Se faltar qualquer um desses três elementos, o isolamento fica incompleto. Mesmo com ambientes separados, uma saída compartilhada ainda pode acionar correlações.

并发 Agent 任务一一映射到独立浏览器环境,并由环境调度器管理状态和资源开销

O custo do isolamento e o que ele entrega em troca

Isolamento não é gratuito. Por trás de cada ambiente há um processo de navegador independente e um diretório de dados próprio. Conforme a quantidade de ambientes aumenta, memória e CPU sentem a pressão primeiro. Para executar dezenas de ambientes em uma única máquina, normalmente é melhor calcular com antecedência a capacidade restante do que esperar uma falha para reagir.

Há alguns pontos de equilíbrio possíveis: reciclar ambientes pouco usados e iniciá-los novamente sob demanda; distribuir tarefas por carga entre várias máquinas em vez de concentrar tudo em uma só; e definir ciclos de vida claros para os ambientes, evitando deixar centenas deles ativos indefinidamente. A própria estrutura das tarefas também importa. Tarefas sequenciais na mesma conta não precisam de ambientes distintos; separá-las apenas desperdiça recursos.

Do outro lado está o ganho. Quando o isolamento é implementado corretamente, os sintomas de falha ficam estáveis: o problema pertence àquele ambiente específico, e não a algo inexplicável. Em escala, essa previsibilidade vale muito mais do que a pequena economia de recursos obtida ao compartilhar ambientes.

Três capacidades que precisam ficar na camada de ambiente em escala

A primeira é o agendamento em lote. Os ambientes devem poder ser solicitados e liberados como recursos de computação, com criação sob demanda, inicialização em lote, controle de concorrência, repetição após falhas e reciclagem automática, em vez de serem criados e encerrados um por um dentro dos scripts.

A segunda é uma saída de rede independente. Cada ambiente deve estar vinculado à sua própria saída, e a região dessa saída precisa corresponder aos parâmetros geográficos do ambiente. Esse item é fácil de ignorar, mas é um pré-requisito para que o isolamento como um todo funcione.

A terceira é um estado consultável. Deve ser possível saber a qualquer momento quais ambientes estão rodando, quais estão livres e quais apresentam anomalias. Agents funcionam sem supervisão; se o estado não puder ser consultado, investigar problemas vira adivinhação.

Essas três capacidades são difíceis de manter dentro de scripts. Elas exigem armazenamento, configuração e agendamento no nível do ambiente. Algumas ferramentas de gerenciamento de múltiplos ambientes atuam exatamente nessa camada. PurpleMark é uma delas e transforma ambientes de navegador em recursos isoláveis, programáveis em lote e acessíveis por interfaces.

Quando vários ambientes não são necessários

Se um Agent usa apenas uma conta e roda com pouca frequência, um navegador comum realmente é suficiente, e o isolamento adicional apenas aumenta a manutenção. Mas, se qualquer uma destas situações aparecer, a camada de ambiente deve ser separada: tarefas precisam rodar em paralelo, várias identidades precisam acessar a mesma plataforma, o estado de login precisa ser mantido por longos períodos ou a concorrência ainda vai crescer.

Esses casos têm algo em comum: a questão não é se o Agent é inteligente o bastante, mas se o ambiente sob ele está limpo e separado o suficiente.

Limites

Independentemente da solução escolhida, os limites das regras não mudam: respeite os termos de serviço e as regras robots de cada plataforma, não use informações de identidade falsas, não contorne medidas técnicas de proteção, controle a frequência das solicitações e não prejudique o funcionamento normal do serviço de terceiros.