Agentes de IA com capacidades avançadas de navegação na web
Agentes que navegam na web não funcionam bem apenas com navegação básica de páginas. Empresas que usam a AWS para construir soluções com inteligência artificial relatam necessidades específicas: agentes que mantêm contexto de sessão entre interações, tráfego roteado através de infraestrutura de proxy corporativo, e comportamentos customizados em tempo de execução.
O AgentCore Browser oferece um ambiente de navegação seguro e isolado para agentes interagirem com aplicações web. Até agora, cada sessão começava do zero com configurações padrão e acesso direto à internet, limitando as capacidades de agentes em ambientes corporativos reais.
A AWS anunciou três novas capacidades que mudam esse cenário: configuração de proxy, perfis de navegador, e extensões de navegador. Juntas, essas funcionalidades oferecem controle fino sobre como agentes de IA interagem com a web.
Entendendo as três novas capacidades
Essas capacidades funcionam de forma complementar, oferecendo controle granular sobre como sessões do AgentCore Browser se conectam à internet, que estado retêm e como se comportam:
- Configuração de proxy: Roteia tráfego do navegador através de servidores proxy próprios, garantindo estabilidade de IP e integração com infraestrutura de rede corporativa.
- Perfis de navegador: Persistem cookies e armazenamento local entre sessões, permitindo que agentes retomem fluxos de trabalho autenticados sem repetir login.
- Extensões de navegador: Carregam extensões Chrome em sessões para customizar comportamento do navegador conforme a necessidade — desde bloqueio de anúncios até autenticação auxiliar.
Perfis de navegador persistentes para agentes operacionais
Equipes construindo agentes para testes de e-commerce, fluxos de trabalho autenticados e jornadas multipassos precisam de sessões que “lembram” do estado anterior. Sem perfis persistentes, agentes precisam se reautenticar e reconstruir contexto a cada início de sessão, adicionando latência e fragilidade.
Perfis de navegador resolvem esse problema salvando e restaurando cookies e armazenamento local entre sessões. Um agente que fez login em um portal ontem pode continuar exatamente de onde parou hoje.
Estabilidade de IP é outro requisito comum. Portais de saúde e financeiros validam sessões baseando-se em endereço IP de origem. Endereços IP rotativos da AWS causam ciclos frequentes de reautenticação que quebram fluxos de trabalho de longa duração. Suporte a proxy permite rotear tráfego através de servidores com IPs de saída estáveis, mantendo continuidade de sessão e satisfazendo requisitos de IP allowlisting.
Organizações que rotam tráfego através de proxies corporativos precisam estender essa prática para agentes de IA em sessões de navegador. Configuração de proxy habilita acesso a páginas internas e recursos que requerem conectividade baseada em proxy.
Extensões de navegador permitem customizações como bloqueio de anúncios, auxiliares de autenticação ou outras personalizações em nível de navegador. Quando combinadas com logging de proxy, essas capacidades ajudam a fornecer controle de acesso e evidência de auditoria que podem suportar programas de conformidade como FedRAMP, HITRUST e PCI.
Configuração de proxy para roteamento de tráfego
O AgentCore Browser agora suporta rotear tráfego do navegador através de servidores proxy externos próprios. Ao criar uma sessão de navegador com configuração de proxy, o AgentCore configura o navegador para rotear tráfego HTTP e HTTPS através dos servidores proxy especificados.
Como funciona
Você chama StartBrowserSession com proxyConfiguration especificando seu servidor proxy. Se usar autenticação, o AgentCore recupera credenciais de proxy do AWS Secrets Manager. A sessão de navegador inicia com sua configuração de proxy aplicada, e tráfego do navegador roteia através de seu servidor proxy baseado em regras de roteamento por domínio.
Começando com proxies
Complete os pré-requisitos antes de prosseguir.
Passo 1: Criar um segredo de credenciais (se seu proxy requer autenticação)
import boto3
import json
client = boto3.client('secretsmanager')
client.create_secret(
Name='my-proxy-credentials',
SecretString=json.dumps({
'username': '',
'password': ''
})
)
Passo 2: Criar uma sessão de navegador com configuração de proxy
session_client = boto3.client('bedrock-agentcore', region_name='')
response = session_client.start_browser_session(
browserIdentifier="aws.browser.v1",
name="my-proxy-session",
proxyConfiguration={
"proxies": [{
"externalProxy": {
"server": "",
"port": 8080,
"credentials": {
"basicAuth": {
"secretArn": "arn:aws:secretsmanager:::secret:"
}
}
}
}]
}
)
print(f"Session ID: {response['sessionId']}")
O campo credentials é opcional para proxies sem autenticação.
Roteamento baseado em domínio
Use domainPatterns para rotear domínios específicos através de proxies designados, e bypass.domainPatterns para domínios que devem conectar diretamente:
proxyConfiguration={
"proxies": [
{
"externalProxy": {
"server": "corp-proxy.example.com",
"port": 8080,
"domainPatterns": [".company.com", ".internal.corp"]
}
},
{
"externalProxy": {
"server": "general-proxy.example.com",
"port": 8080
}
}
],
"bypass": {
"domainPatterns": [".amazonaws.com"]
}
}
Com essa configuração, requisições para *.company.com e *.internal.corp rotiam através do proxy corporativo, requisições para *.amazonaws.com contornam todos os proxies, e todo o resto roteia através do proxy geral.
Precedência de roteamento
Quando o AgentCore Browser processa uma requisição de saída, percorre três níveis de regras de roteamento para decidir onde enviar o tráfego. Primeiro verifica a lista de bypass. Se o domínio de destino corresponder a uma entrada em bypass.domainPatterns, a requisição conecta diretamente à internet sem usar proxy algum.
Se o domínio não corresponder a uma regra de bypass, o AgentCore verifica cada domainPatterns de proxy em ordem e roteia a requisição através do primeiro proxy cuja regra corresponde. Se nenhuma regra de proxy corresponder, a requisição cai no proxy padrão — a entrada de proxy que não possui domainPatterns definida.
Teste a nova funcionalidade de proxy com este exemplo de código.
Perfis de navegador para persistência de estado
Perfis de navegador permitem persistir e reutilizar dados de sessão entre múltiplas sessões de navegador, incluindo cookies e armazenamento local. Um agente que se autentica com um portal web em uma sessão pode restaurar esse estado em uma sessão posterior sem fazer login novamente.
Isso é útil para fluxos de trabalho autenticados onde re-login adiciona latência, testes de e-commerce onde carrinhos de compras e dados de formulários precisam sobreviver entre sessões, e jornadas de usuário multipassos que abrangem múltiplas invocações de navegador.
Ciclo de vida do perfil
O ciclo de vida do perfil possui quatro estágios. Você começa chamando create_browser_profile() para criar um perfil nomeado. No final de uma sessão, você chama save_browser_session_profile() para capturar cookies e armazenamento local atuais naquele perfil. Ao iniciar uma nova sessão, você passa o identificador do perfil no parâmetro profileConfiguration de start_browser_session(), que restaura o estado salvo no novo navegador. Quando não precisar mais do perfil, você chama delete_browser_profile() para limpá-lo.
O exemplo a seguir mostra um agente que adiciona itens a um carrinho de compras em uma sessão e verifica se persistem em uma sessão subsequente. Complete os pré-requisitos antes de prosseguir.
import boto3
control_client = boto3.client('bedrock-agentcore-control', region_name='')
session_client = boto3.client('bedrock-agentcore', region_name='')
# Create a browser profile
profile = control_client.create_browser_profile(name="ecommerce_profile")
profile_id = profile['profileId']
# Session 1: Add items to cart
session1 = session_client.start_browser_session(
browserIdentifier="aws.browser.v1",
name="shopping-session-1"
)
# ... agent navigates and adds items to cart ...
# Save session state to profile
session_client.save_browser_session_profile(
sessionId=session1['sessionId'],
browserIdentifier="aws.browser.v1",
profileIdentifier=profile_id
)
session_client.stop_browser_session(sessionId=session1['sessionId'], browserIdentifier="aws.browser.v1")
# Session 2: Resume with saved profile
session2 = session_client.start_browser_session(
browserIdentifier="aws.browser.v1",
name="shopping-session-2",
profileConfiguration={"profileIdentifier": profile_id}
)
# Cart items from Session 1 are now available
Teste a nova funcionalidade de perfil com este exemplo de código.
Extensões de navegador para customização
Extensões de navegador permitem carregar extensões Chrome em sessões do AgentCore Browser para customizar como o navegador se comporta. Você empacota extensões como arquivos ZIP, carrega-as no Amazon Simple Storage Service (Amazon S3), e referencia-as ao iniciar uma sessão de navegador.
Isso oferece acesso a funcionalidades disponíveis através da API de extensão Chrome, de roteamento de proxy e bloqueio de anúncios até auxiliares de autenticação e modificação de conteúdo. Por exemplo, você pode injetar tokens de autenticação para aplicações internas, remover anúncios e rastrear scripts que interferem com navegação de agente, ou modificar conteúdo de página para melhorar como agentes interagem com um site.
Configurando extensões
Sua extensão deve seguir o formato padrão de extensão Chromium e aderir às diretrizes de extensão Chromium. Complete os pré-requisitos antes de prosseguir.
Fazer upload da extensão para Amazon S3:
import boto3
s3 = boto3.client('s3')
s3.upload_file(
'my-extension.zip',
'amzn-s3-demo-bucket-extensions',
'extensions/my-extension.zip'
)
Iniciar uma sessão com a extensão:
import boto3
region = ""
client = boto3.client('bedrock-agentcore', region_name=region)
response = client.start_browser_session(
browserIdentifier="aws.browser.v1",
name="my-session-with-extensions",
sessionTimeoutSeconds=1800,
viewPort={
'height': 1080,
'width': 1920
},
extensions=[
{
"location": {
"s3": {
"bucket": "amzn-s3-demo-bucket-extensions",
"prefix": "extensions/my-extension.zip"
}
}
},
{
"location": {
"s3": {
"bucket": "amzn-s3-demo-bucket-extensions",
"prefix": "extensions/another-extension.zip",
"versionId": "abc123"
}
}
}
]
)
print(f"Session ID: {response['sessionId']}")
print(f"Status: {response['status']}")
print(f"Automation Stream: {response['streams']['automationStream']['streamEndpoint']}")
Teste a nova funcionalidade de extensões com este exemplo de código.
Reunindo tudo: casos de uso práticos
Essas três capacidades — configuração de proxy, perfis de navegador e extensões — permitem casos de uso que antes eram impossíveis:
- Fluxos de trabalho autenticados: Agentes que precisam permanecer autenticados em portais corporativos internos podem usar perfis para manter sessão e proxies para acessar redes restritas.
- Testes de e-commerce: Agentes podem manter carrinhos de compras, preferências e histórico de busca entre sessões, simulando comportamento real de usuários.
- Jornadas complexas: Fluxos que envolvem múltiplas etapas, autenticação e verificação podem agora se completar sem começar do zero.
- Conformidade e auditoria: Proxy logging combinado com extensões oferece visibilidade e controle necessários para programas de conformidade corporativa.
Próximos passos
Para começar, consulte os tutoriais no repositório Amazon Bedrock AgentCore samples e a documentação do AgentCore Browser. Para mais informações sobre preços, visite Amazon Bedrock AgentCore Pricing.
Essas três capacidades — configuração de proxy, perfis de navegador e extensões — oferecem ao AgentCore Browser o roteamento de proxy, persistência de sessão e controles de extensibilidade que empresas precisam para implantar agentes de IA que navegam na web em produção. Você pode rotear tráfego através de infraestrutura de proxy corporativo, manter continuidade de sessão entre interações, e customizar comportamento de navegador com extensões, tudo mantendo credenciais seguras no AWS Secrets Manager.
Fonte
Customize AI agent browsing with proxies, profiles, and extensions in Amazon Bedrock AgentCore Browser (https://aws.amazon.com/blogs/machine-learning/customize-ai-agent-browsing-with-proxies-profiles-and-extensions-in-amazon-bedrock-agentcore-browser/)