Personalice la navegación de agentes de IA con proxies, perfiles y extensiones en Amazon Bedrock AgentCore Browser

Los agentes de IA que navegan por la web necesitan más que una navegación de página básica. Nuestros clientes nos dicen que necesitan agentes que mantengan el estado de la sesión en todas las interacciones, enruten el tráfico a través de la infraestructura de proxy corporativa y se ejecuten con configuraciones de navegador personalizadas. AgentCore Browser proporciona un entorno de navegador seguro y aislado para que sus agentes interactúen con aplicaciones web. Hasta ahora, en Agent Core Browser, cada sesión del navegador comenzaba desde una pizarra en blanco con configuraciones predeterminadas y acceso directo a Internet, lo que limitaba lo que los agentes podían lograr en entornos empresariales del mundo real.

Hoy anunciamos tres nuevas capacidades que abordan estos requisitos: configuración de proxy, perfiles de navegador y extensiones de navegador. Juntas, estas funciones le brindan un control detallado sobre cómo interactúan sus agentes de IA con la web.

Estas tres capacidades le brindan control sobre cómo se conectan las sesiones del navegador AgentCore a Internet, qué estado conservan y cómo se comportan. La configuración de proxy le permite enrutar el tráfico del navegador a través de sus propios servidores proxy, proporcionando estabilidad de IP e integración con la infraestructura de red corporativa. Los perfiles del navegador conservan las cookies y el almacenamiento local entre sesiones, por lo que los agentes pueden reanudar los flujos de trabajo autenticados sin repetir los flujos de inicio de sesión. Las extensiones del navegador cargan extensiones de Chrome en las sesiones para personalizar el comportamiento del navegador según su caso de uso. Esta publicación analizará cada capacidad con ejemplos de configuración y casos de uso prácticos para ayudarlo a comenzar.

Cómo los perfiles persistentes del navegador mantienen a los agentes de IA funcionando sin problemas

Los clientes que crean agentes para pruebas de comercio electrónico, flujos de trabajo autenticados y recorridos de usuario de varios pasos necesitan sesiones de navegador que recuerden el estado. Sin perfiles persistentes, los agentes deben volver a autenticarse y reconstruir el contexto al inicio de cada sesión, lo que agrega latencia y fragilidad a los flujos de trabajo automatizados. Los perfiles de navegador resuelven esto guardando y restaurando cookies y almacenamiento local entre sesiones, de modo que un agente que inició sesión en un portal ayer pueda continuar donde lo dejó hoy.

La estabilidad de la propiedad intelectual es otro requisito común. Los portales financieros y de atención médica validan las sesiones según la dirección IP de origen, y la rotación de las direcciones IP de AWS provoca frecuentes ciclos de reautenticación que interrumpen los flujos de trabajo de larga duración. La compatibilidad con proxy le permite enrutar el tráfico a través de servidores con direcciones IP de salida estables, manteniendo la continuidad de la sesión y cumpliendo con los requisitos de la lista de direcciones IP permitidas. Las organizaciones que dirigen el tráfico a través de servidores proxy corporativos deben extender esta práctica a los agentes de IA para las sesiones de navegador. La configuración de proxy permite el acceso a páginas web y recursos internos que requieren conectividad basada en proxy.

Las extensiones del navegador permiten configuraciones personalizadas, como bloqueo de anuncios, asistentes de autenticación u otras personalizaciones a nivel del navegador. Cuando se combinan con el registro de proxy, estas capacidades ayudan a proporcionar control de acceso y evidencia de auditoría que pueden cumplir programas como FedRAMP, HITRUST y PCI .  

Característica 1: configuración de proxy

El navegador ahora admite el enrutamiento del tráfico del navegador a través de sus propios servidores proxy externos. Cuando crea una sesión de navegador con configuración de proxy, AgentCore configura el navegador para enrutar el tráfico HTTP y HTTPS a través de sus servidores proxy especificados.

como funciona

Llama a StartBrowserSession con una configuración de proxy que especifica su servidor proxy. Si utiliza autenticación, AgentCore recupera las credenciales de proxy de AWS Secrets Manager. La sesión del navegador comienza con la configuración de su proxy aplicada y el tráfico del navegador se dirige a través de su servidor proxy según las reglas de enrutamiento de su dominio.

Empezando con los proxies

Complete estos requisitos previos antes de continuar.

importar boto3 importar json cliente = boto3.client('secretsmanager') client.create_secret( Name="mis-credenciales-proxy", SecretString=json.dumps({ 'nombre de usuario': '', 'contraseña': '' }) )

Paso 2: cree una sesión de navegador con configuración de proxy  

session_client = boto3.client('bedrock-agentcore', region_name="") respuesta = 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"ID de sesión: {respuesta['sessionId']}")

El campo de credenciales es opcional para servidores proxy sin autenticación.

Enrutamiento basado en dominio

Utilice domainPatterns para enrutar dominios específicos a través de servidores proxy designados y bypass.domainPatterns para dominios que deben conectarse directamente:

proxyConfiguration={ "proxies": [ { "externalProxy": { "servidor": "corp-proxy.example.com", "puerto": 8080, "domainPatterns": [".company.com", ".internal.corp"] } }, { "externalProxy": { "servidor": "general-proxy.example.com", "puerto": 8080 } } ], "bypass": { "patronesdedominio": [".amazonaws.com"] } }

Con esta configuración, las solicitudes a e internal.corp  ruta a través del proxy corporativo, solicitudes a amazonaws.com  omita todos los servidores proxy y todo lo demás se enruta a través del proxy general. Estos campos​​ son solo un ejemplo. Los dominios de omisión pueden coincidir con bypass.domainPatterns para conectarse directamente y con un proxy externo puede ser un proxy válido patrones de dominio ruta a través de ese proxy (la primera coincidencia gana según el orden de la matriz).  

Prioridad de enrutamiento

Cuando AgentCore Browser procesa una solicitud saliente, recorre tres niveles de reglas de enrutamiento para decidir dónde enviar el tráfico. Primero comprueba la lista de omisiones. Si el dominio de destino coincide con una entrada bypass.domainPatterns, la solicitud se conecta directamente a Internet sin utilizar ningún proxy. Si el dominio no coincide con una regla de omisión, AgentCore verifica los patrones de dominio de cada proxy en orden y enruta la solicitud a través del primer proxy cuyo patrón coincide. Si ningún patrón de proxy coincide, la solicitud pasa al proxy predeterminado, que es la entrada de proxy que no tiene domainPatterns definidos.

Pruebe la nueva función de proxy con este ejemplo de código.

Característica 2: perfiles del navegador

Los perfiles del navegador le permiten conservar y reutilizar los datos de la sesión en múltiples sesiones del navegador, incluidas las cookies y el almacenamiento local. Un agente que se autentica en un portal web en una sesión puede restaurar ese estado en una sesión posterior sin volver a iniciar sesión. Esto es útil para flujos de trabajo autenticados donde volver a iniciar sesión agrega latencia, pruebas de comercio electrónico donde los carritos de compras y los datos de formularios deben sobrevivir entre sesiones y recorridos de usuario de varios pasos que abarcan múltiples invocaciones del navegador.

El ciclo de vida del perfil tiene cuatro etapas. Comienza llamando a create_browser_profile() para crear un perfil con nombre. Al final de una sesión, llama a save_browser_session_profile() para capturar las cookies actuales y el almacenamiento local en ese perfil. Cuando inicia una nueva sesión, pasa el identificador del perfil en el parámetro perfilConfiguración de start_browser_session(), que restaura el estado guardado en el nuevo navegador. Cuando ya no necesites el perfil, llamas a delete_browser_profile() para limpiarlo.

El siguiente ejemplo muestra un agente que agrega artículos a un carrito de compras en una sesión y verifica que persistan en una sesión posterior.

Complete estos requisitos previos antes de continuar.

importar boto3 control_client = boto3.client('bedrock-agentcore-control', region_name="") # reemplazar por su región session_client = boto3.client('bedrock-agentcore', region_name="") # reemplazar por su región # Crear un perfil de navegador perfil = control_client.create_browser_profile(name="ecommerce_profile") perfil_id = perfil['profileId'] # Sesión 1: Agregar elementos a carrito session1 = session_client.start_browser_session( browserIdentifier=”aws.browser.v1”, name="shopping-session-1" ) # … el agente navega y agrega artículos al carrito… # Guarda el estado de la sesión en el perfil session_client.save_browser_session_profile( sessionId=session1['sessionId'], browserIdentifier=”aws.browser.v1”, perfilIdentifier=profile_id ) session_client.stop_browser_session(sessionId=session1['sessionId'], browserIdentifier="aws.browser.v1") # Sesión 2: reanudar con el perfil guardado session2 = session_client.start_browser_session( browserIdentifier=”aws.browser.v1”, name="shopping-session-2", perfilConfiguration={"profileIdentifier": perfil_id} ) # Los artículos del carrito de la sesión 1 ya están disponibles

Pruebe la nueva característica de perfil con este ejemplo de código.

Característica 3: extensiones del navegador

Las extensiones del navegador le permiten cargar extensiones de Chrome en las sesiones del navegador AgentCore para personalizar el comportamiento del navegador. Usted empaqueta las extensiones como archivos ZIP, las carga en Amazon Simple Storage Service (Amazon S3) y hace referencia a ellas al iniciar una sesión del navegador. Esto proporciona acceso a la funcionalidad disponible a través de la API de extensión de Chrome, desde enrutamiento de proxy y bloqueo de anuncios hasta asistentes de autenticación y modificación de contenido. Por ejemplo, puede inyectar tokens de autenticación para aplicaciones internas, eliminar anuncios y realizar un seguimiento de los scripts que interfieren con la navegación de los agentes, o modificar el contenido de la página para mejorar la forma en que los agentes interactúan con un sitio.

Su extensión debe seguir el formato de extensión estándar de Chromium y cumplir con las pautas de extensión de Chromium.

Complete estos requisitos previos antes de continuar.

Cargue la extensión a Amazon S3:

# Cargar extensión a S3 importar boto3 s3 = boto3.client('s3') s3.upload_file( 'my-extension.zip', 'amzn-s3-demo-bucket-extensions', 'extensions/my-extension.zip' )

Luego, inicie una sesión con la extensión, apuntando al depósito de Amazon S3 donde cargó el archivo zip:

importar boto3 región = "" # reemplazar por su región cliente = boto3.client('bedrock-agentcore', nombre_región=región) respuesta = client.start_browser_session( browserIdentifier="aws.browser.v1", nombre="mi-sesión-con-extensiones", sessionTimeoutSeconds=1800, viewPort={ 'alto': 1080, 'ancho': 1920 }, extensiones=[ { "ubicación": { "s3": { "bucket": "amzn-s3-demo-bucket-extensions", "prefix": "extensiones/mi-extensión.zip" } } }, { "ubicación": { "s3": { "bucket": "amzn-s3-demo-bucket-extensions", "prefix": "extensiones/otra-extensión.zip", "versionId": "abc123" # Opcional – para depósitos S3 versionados } } } ] ) print(f"ID de sesión: {respuesta['sessionId']}") print(f"Estado: {respuesta['status']}") print(f"Secuencia de automatización: {respuesta['streams']['automationStream']['streamEndpoint']}")

Pruebe la nueva función de extensiones con este ejemplo de código.

Conclusión

La configuración de proxy, los perfiles del navegador y las extensiones del navegador brindan a AgentCore Browser el enrutamiento del proxy, la persistencia de la sesión y los controles de extensibilidad que los clientes necesitan para implementar agentes de IA que navegan por la web en producción. Puede enrutar el tráfico a través de su infraestructura de proxy corporativa, mantener la continuidad de la sesión en todas las interacciones y personalizar el comportamiento del navegador con extensiones, todo mientras mantiene las credenciales seguras en AWS Secrets Manager. Los clientes pueden transportar información y contexto de comercio electrónico entre sesiones, crear su propia extensión y probarla en un entorno seguro antes del lanzamiento y, también, hacer que el navegador se conecte a su red a través de servidores proxy. 

Para comenzar, consulte los tutoriales en el repositorio de muestras de Amazon Bedrock AgentCore y la documentación del navegador Amazon Bedrock AgentCore . Para obtener más información sobre los precios, visite Precios de Amazon Bedrock AgentCore . 

Acerca de los autores

Josué Samuel

Joshua Samuel es un arquitecto senior de soluciones especializado en IA/ML en AWS que acelera la transformación empresarial a través de IA/ML y soluciones de IA generativa, con sede en Melbourne, Australia. Un apasionado disruptor, se especializa en IA agente y técnicas de codificación: cualquier cosa que haga que los constructores sean más rápidos y felices. Fuera del trabajo, juguetea con proyectos de automatización del hogar y codificación de IA, y disfruta de la vida con su esposa, sus hijos y su perro.

Evandro Franco

Evandro Franco es un científico de datos senior que trabaja en Amazon Web Services. Es parte del equipo Global GTM que ayuda a los clientes de AWS a superar los desafíos comerciales relacionados con AI/ML en AWS, principalmente en Amazon Bedrock AgentCore y Strands Agents. Tiene más de 18 años de experiencia trabajando con tecnología, desde desarrollo de software, infraestructura, serverless hasta aprendizaje automático. En su tiempo libre, a Evandro le gusta jugar con su hijo, principalmente construir divertidos ladrillos Lego.

Kosti Vasilakakis

Kosti Vasilakakis es PM principal en AWS en el equipo de Agentic AI, donde ha dirigido el diseño y desarrollo de varios servicios Bedrock AgentCore desde cero, incluidos Runtime, Browser, Code Interpreter e Identity. Anteriormente trabajó en Amazon SageMaker desde sus inicios, lanzando capacidades de IA/ML que ahora utilizan miles de empresas en todo el mundo. Al principio de su carrera, Kosti fue científico de datos. Fuera del trabajo, crea automatizaciones de productividad personal, juega tenis y disfruta de la vida con su esposa e hijos.

Yan Marim

Yan Marim es arquitecto senior de soluciones especializado en GenAI en Amazon Web Services, con sede en Brasil. Como parte del equipo de especialistas de LATAM, guía a los clientes a través de su viaje de adopción de IA generativa, enfocándose en Amazon Bedrock y soluciones de IA agente. En su tiempo libre, Yan disfruta pasar tiempo de calidad con su esposa y su perro, y ver partidos de fútbol.

Kevin Orellana

Kevin Orellana es ingeniero de desarrollo de software en Amazon Web Services en el equipo Bedrock AgentCore, con sede en Seattle. Construye y opera la infraestructura central que impulsa las capacidades de IA agente, incluidos el navegador, el intérprete de código y el tiempo de ejecución. Al principio de su carrera, Kevin trabajó en el equipo de inferencia de Bedrock que albergaba modelos de frontera. En su tiempo libre, le gusta caminar con su Goldendoodle, experimentar con simulaciones de múltiples agentes y trabajar para crear un asistente personal de inteligencia artificial que hable inglés, español y mandarín.