Alguien bifurcó el proyecto de código abierto Chromium, que tiene decenas de millones de líneas de código, para crear una infraestructura de navegador para agentes de IA. (@browserbase) Antecedentes y motivación: ¿Por qué son insuficientes los navegadores existentes? • Limitaciones del diseño tradicional: Los navegadores fueron diseñados originalmente para uso personal en máquinas locales y, para fines antispam y antifraude, generalmente están diseñados para bloquear o combatir el comportamiento automatizado. • Nuevas demandas en la era de la IA: los agentes de IA actuales son "usuarios automatizados legítimos" que necesitan ejecutarse en servidores durante períodos prolongados y realizar tareas en páginas web en nombre de los humanos. Conclusión: simplemente arreglar las cosas a nivel de JavaScript ya no es suficiente; debemos profundizar en las capas subyacentes y modificar el comportamiento central del navegador. Estrategia principal: Bifurcación de Chromium Para que el navegador automatizado pareciera completamente idéntico al navegador Chrome normal, Browserbase decidió bifurcar Chromium. Si bien fue un camino difícil, les permitió controlar todo el sistema desde el nivel básico de C++. Avances tecnológicos clave ("destrucción y reconstrucción deliberadas") El equipo eliminó las características "automáticas" del navegador modificando el código subyacente, haciéndolo comportarse más como un usuario real. Se enumeraron tres modificaciones técnicas clave: 1. Elimine la etiqueta navigator.webdriver: • Estado original: al utilizar herramientas como Puppeteer, Chromium establece automáticamente esta bandera como verdadera, revelando directamente "Soy un robot". • Modificación: Se forzó su estado a falso a nivel de código fuente. Esto es más exhaustivo que una simple inyección de JavaScript, ya que evita la exposición en una compleja transferencia de estado interna. 2. Reemplazar la identidad del agente de usuario: • Estado original: En modo sin cabeza, el navegador lo identificará automáticamente como "HeadlessChrome". • Modificación: La lógica de generación del Agente de Usuario ha sido modificada profundamente para garantizar que, ya sea el proceso principal, el trabajador o el iframe, se reportará uniformemente como el "Chrome" estándar, ocultando completamente la identidad del navegador sin cabeza. 3. Admite sesiones de conexión de larga duración (Keep-Alive): • El estado original: En Linux, el proceso del navegador suele finalizar al cerrar todas las ventanas. Esto es fatal para los agentes de IA que necesitan mantener un estado de inicio de sesión (cookies, estado de memoria) durante periodos prolongados. • Modificación: Se ha habilitado el mecanismo kBrowserAliveWithNoWindows, lo que le otorga al navegador sin cabeza un "corazón" para que pueda seguir ejecutándose incluso cuando no hay una ventana visible, lo que garantiza la estabilidad de las tareas de ejecución prolongada. Desafíos de ingeniería: construir en el caos: un laberinto de código: la base de código de Chromium es extremadamente grande y compleja; una propiedad simple puede involucrar múltiples motores de renderizado y pilas de red, lo que hace que sea extremadamente difícil de modificar. • Tiempo de compilación: Una compilación completa típica toma de 3 a 4 días. El equipo construyó una infraestructura de compilación dedicada para reducir el tiempo a aproximadamente 1 hora. • Iteración rápida de versiones: Chromium se actualiza cada seis semanas y el equipo debe realizar un seguimiento continuo del código original y readaptar los parches. Blog oficial
Cargando el detalle del hilo
Obteniendo los tweets originales de X para ofrecer una lectura limpia.
Esto suele tardar solo unos segundos.
