ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Playwright를 두고 왜 Ego Lite가 등장했을까: 드라이버에서 에이전틱 브라우저 런타임으로의 진화

    AI 2026. 10. 23. 05:07
    반응형

    Playwright를 두고 왜 Ego Lite가 등장했을까: 드라이버에서 에이전틱 브라우저 런타임으로의 진화

    핵심 요약: Playwright는 오늘날 대다수 AI 에이전트(Playwright MCP, Browser Use, Stagehand)의 핵심 실행 엔진으로 활약합니다. 그럼에도 최근 Ego Lite, Steel, Browserbase 같은 전용 도구가 쏟아져 나옵니다. 원인은 브라우저 조작 주체가 '정적 코드를 작성하는 인간 엔지니어'에서 '실시간 DOM을 추론하는 LLM'으로 바뀌었기 때문입니다. 에이전트가 전통적 자동화 드라이버를 직접 호출할 때 마주치는 4대 병목(프로필 락, 턴 바이 턴 왕복 지연, 포커스 탈취, 시각 토큰 낭비)을 해부하고, 브라우저 애플리케이션 자체가 에이전트 런타임으로 진화하는 기술 흐름을 분석합니다.


    1. 드라이버(Driver)와 런타임(Runtime)의 계층 분화

    Playwright는 웹 브라우저를 프로그래밍 언어로 조작하는 최고의 자동화 드라이버입니다. 브라우저 외부에서 프로세스를 띄우고, 격리된 WebSocket 파이프라인으로 명령을 전달합니다.

    현재 수많은 에이전트 프레임워크가 Playwright 위에 MCP(Model Context Protocol) 도구 래퍼를 씌워 사용합니다. 문제는 브라우저 제어 라이브러리를 그대로 에이전트에 연결했을 때 런타임 차원의 불일치가 발생한다는 점입니다.

    [전통적 자동화 아키텍처]
    개발자 작성 테스트 코드 ──► Playwright 라이브러리 ──► Headless/Headed 브라우저 프로세스 (Clean Slate)
    
    [에이전틱 브라우징 아키텍처]
    LLM 에이전트 (Claude/Cursor) ──► 전용 브라우저 런타임 (Ego Lite) ──► 인간 세션 공유 + 백그라운드 Task Spaces
    

    Playwright가 웹 표준을 정확히 검증하는 '드라이버'라면, Ego Lite는 인간과 에이전트가 한 화면에서 충돌 없이 공존하도록 브라우저 셸(Shell)을 재설계한 '에이전트 전용 브라우저 애플리케이션'입니다.


    2. 에이전트가 Playwright를 직접 쓸 때 마주치는 4대 병목

    에이전트에게 click, fill, screenshot 같은 Playwright API를 직접 쥐어주면 실전 환경에서 네 가지 장벽에 부딪힙니다.

    1) 프로필 락(Profile Lock)과 세션 단절

    현대 업무의 핵심 데이터는 대부분 사내 어드민, 클라우드 콘솔, 협업 SaaS 등 인증 뒤편에 위치합니다.
    - Playwright는 격리성을 위해 매번 쿠키와 스토리지가 빈 임시 컨텍스트를 띄웁니다.
    - 에이전트에게 사용자의 실제 브라우저 세션을 물려주려면 기존 크롬을 강제 종료하고 --remote-debugging-port를 열어야 합니다.
    - 크롬이 켜진 상태에서 동일한 userDataDir에 접근하면 SQLite 데이터베이스 잠금 충돌(Profile Lock Error)을 내며 즉시 튕겨 나갑니다.
    - 결국 에이전트는 2차 인증(MFA)과 캡차(CAPTCHA)의 벽에 가로막혀 작업을 중단합니다.

    2) 턴 바이 턴(Turn-by-turn) LLM 왕복 지연

    Playwright를 도구 호출 인터페이스로 노출하면 모든 단일 동작마다 모델과의 왕복이 강제됩니다.

    에이전트: "로그인 페이지 이동" ──► Playwright 실행 ──► DOM 스냅샷 반환  (1턴 소모, 3~5초)
    에이전트: "아이디 입력란 클릭" ──► Playwright 실행 ──► 결과 반환        (2턴 소모, 3~5초)
    에이전트: "아이디 텍스트 타이핑" ──► Playwright 실행 ──► 결과 반환       (3턴 소모, 3~5초)
    에이전트: "비밀번호 입력란 클릭" ──► Playwright 실행 ──► 결과 반환       (4턴 소모, 3~5초)
    

    인간이 3초 만에 끝낼 폼 입력에 10회 이상의 API 왕복, 1분 이상의 시간, 수만 개의 토큰이 사라집니다.

    3) 화면 주도권 탈취 (Headed vs Headless 딜레마)

    • Headed 모드: 에이전트가 창을 조작하는 순간 포커스를 강제로 가져와 사용자가 타이핑하던 IDE나 메신저 입력을 가로챕니다. 마우스 커서를 통제 불능 상태로 만듭니다.
    • Headless 모드: 백그라운드에서 조용히 돌지만, 캡차나 본인인증이 뜨는 순간 화면이 보이지 않아 사용자가 대신 풀어줄 개입 경로(Human-in-the-loop)가 막힙니다.

    4) 시각 토큰 폭증과 DOM 노이즈

    스크린샷 기반 Computer Use는 1회 캡처당 1,000~2,000 토큰을 소비합니다. 반대로 순수 DOM을 그대로 넘기면 수만 줄의 CSS 클래스와 SVG 태그가 컨텍스트 윈도우를 오염시킵니다.


    3. Ego Lite의 설계 해법: 공존 런타임

    Ego Lite(Citro Labs)는 라이브러리 레벨의 땜질을 멈추고 Chromium 브라우저 자체를 수정해 에이전트 런타임을 구성했습니다.

    ┌────────────────────────────────────────────────────────┐
    │                   Ego Lite 브라우저                     │
    ├──────────────────────────┬─────────────────────────────┤
    │      인간 작업 영역      │       에이전트 작업 영역     │
    │   (Main Browser Window)  │        (Task Spaces)        │
    ├──────────────────────────┼─────────────────────────────┤
    │ - 사용자 일상 웹서핑     │ - 에이전트 전용 격리 탭     │
    │ - 활성 탭 및 포커스 유지 │ - 백그라운드 비동기 실행    │
    │ - 로그인 세션, 쿠키 생성 │ - 세션/확장 프로그램 공유   │
    │                          │ - CDP 기반 다단계 JS 헬퍼   │
    └──────────────────────────┴─────────────────────────────┘
    

    1) 네이티브 세션 상속과 무충돌 프로필 공유

    Ego Lite는 크롬 프로필 데이터를 직접 임포트하여 데스크톱 브라우저로 동작합니다. 사용자가 이미 로그인한 AWS 콘솔, 노션, 지라 세션이 브라우저 메모리에 상주합니다. 에이전트는 별도 로그인 절차 없이 즉시 대상 페이지에 접근합니다.

    2) 독립 작업공간 (Task Spaces)

    사용자가 유튜브를 보거나 코딩을 진행하는 동안, 에이전트는 'Task Space'라는 별도 가상 탭에서 작업을 수행합니다. 창이 깜빡이거나 포커스를 빼앗지 않습니다. 봇 탐지나 2단계 인증이 요구되는 순간에만 해당 탭을 전면으로 띄워 인간 개입을 요청합니다.

    3) 내부 자바스크립트 헬퍼를 통한 일괄 처리

    에이전트가 "A 검색 후 첫 번째 결과의 가격을 추출하라"고 지시하면, 매번 화면을 모델에 돌려보내지 않습니다. 브라우저 내부 런타임에 주입된 고수준 조작 헬퍼가 검색, 대기, 탐색, 추출 과정을 브라우저 프로세스 안에서 연속 처리한 뒤 최종 결과만 에이전트에 반환합니다. LLM 왕복 횟수를 80% 이상 절감합니다.


    4. 구조 비교: Playwright vs Playwright MCP vs Ego Lite

    비교 축 순수 Playwright Playwright MCP 서버 Ego Lite 브라우저
    도구 성격 개발자용 테스트 드라이버 에이전트 연동용 도구 래퍼 에이전트 네이티브 브라우저
    세션 처리 Clean Slate (수동 쿠키 주입) 브라우저 종료 후 포트 연결 일상 브라우징 세션 네이티브 상속
    동작 위치 외부 Node.js 프로세스 외부 프로세스 (JSON-RPC) Chromium 브라우저 런타임 내부
    인간 공존 포커스 강탈 또는 백그라운드 암전 조작 중 작업 방해 빈번 Task Spaces 백그라운드 병렬 분리
    인간 개입 불가능 또는 창 띄우기 필요 복잡한 세션 중계 필요 클릭 한 번으로 즉각 개입
    주요 목적 CI/CD 파이프라인 무인 검증 단발성 웹 탐색 및 크롤링 로컬 상주형 AI 에이전트 실무 대행

    5. 어떤 도구를 선택해야 하는가

    선택 기준은 명확합니다.

    • Playwright를 유지해야 하는 환경
    • GitHub Actions, Jenkins 등 헤드리스 서버 기반의 CI/CD 테스트 파이프라인
    • 불변성과 멱등성이 절대적인 회귀 테스트 스위트 작성
    • 인증 세션이 필요 없는 대규모 공개 웹 데이터 수집

    • Ego Lite 계열 런타임을 도입해야 하는 환경

    • Claude Code, Cursor 등 로컬 개발 환경에서 상주하는 코딩 비서 연동
    • 사내망 SaaS, 개인 계정 기반 웹 서비스에 접근해 일상 업무를 위임할 때
    • 인간의 화면을 방해하지 않으면서 백그라운드 브라우징을 병렬로 맡길 때

    6. 결론: 브라우저는 에이전트의 운영체제로 진화한다

    Playwright의 존재에도 불구하고 유사 도구가 쏟아지는 현상은 단순한 바퀴의 재발명이 아닙니다. 소프트웨어 테스팅을 위해 만들어진 1세대 도구의 한계를 넘어, AI 에이전트가 인간과 자원을 나눠 쓰기 위한 2세대 전용 인프라가 태동하는 과정입니다.

    에이전트 시대의 브라우저는 사람이 웹 문서를 읽는 뷰어에 머물지 않습니다. 에이전트가 격리된 채 자율 동작하는 보안 샌드박스이자 제2의 운영체제로 자리를 옮깁니다.

    반응형
Designed by Tistory.