AI 에이전트를 위한 가벼운 헤드리스 브라우저, Moli 살펴보기

이제 AI를 위한 브라우져도 등장하네요. 기존 브라우져보다는 훨씬 높은 성능을 보이는 구조라서, AI를 이용할 때 확실히 유용해보입니다. AI가 점점 더 똑똑해져서. 내년초에는 이런 기술을 사람이 적용해주지 않아도 AI스스로 찾아서 적용하는 것이 바이브코딩처럼 일반화되지 않을까 싶네요.

쉬운 설명

AI한테 인터넷 화면을 보여주려면 보통 눈에는 안 보이는 브라우저(헤드리스 브라우저)를 하나 몰래 켜놓고 그 안에서 페이지를 열어보는데요, 문제는 이 브라우저가 화면에 그림을 그리는 작업까지 계속 붙잡고 있어서 컴퓨터 메모리를 엄청 많이 먹는다는 거예요. Moli는 '진짜 필요할 때만 화면을 그리자'는 아이디어로 만들어진 브라우저인데요, 텍스트나 페이지 구조만 필요할 땐 그림 그리는 작업을 생략해서 훨씬 가볍고 빠르게 동작합니다. 쉽게 말하면, 방 안 조명을 항상 켜두는 대신 누가 실제로 방에 들어와서 뭔가를 봐야 할 때만 불을 켜는 방식이라고 생각하면 됩니다.

요약

요즘 AI 에이전트들이 웹을 직접 돌아다니면서 정보를 찾고 자동으로 작업을 처리하는 경우가 많아졌는데요, 이때 크롬 같은 헤드리스 브라우저를 띄우면 자바스크립트로 그려지는 동적인 페이지까지 잘 가져올 수 있다는 장점이 있습니다. 다만 그 대신 페이지 하나 열 때마다 수백 MiB의 메모리와 여러 개의 프로세스가 필요하고, 에이전트 여러 개가 동시에 여러 페이지를 열면 이 부담이 그대로 곱셈으로 커진다는 단점이 있죠. Moli는 이 문제를 해결하려고 나온 프로젝트로, 러스트(Rust)라는 언어로 처음부터 새로 만든 독립적인 브라우저 엔진입니다. 크롬을 감싸서 만든 게 아니라 자체적인 DOM, CSS, 자바스크립트 실행기(V8), 네트워크, 저장소를 갖춘 완전한 웹 런타임이면서도, 레이아웃(요소 배치 계산)과 페인트(화면에 그림 그리기)는 실제로 필요한 요청이 들어올 때만 수행합니다.

이게 중요한 이유는, 크롤링이나 웹 검색, 강화학습 환경, 평가 파이프라인처럼 '텍스트나 구조만 있으면 되는' 작업에서는 화면을 계속 그려줄 필요가 전혀 없다는 점이에요. Moli는 이런 상황에 맞춰 첫 번째로 위치 정보(geometry)를 요청할 때만 한 번 계산해서 그 결과를 고정된 형태로 저장해두고, 이후 웬만한 조회는 이 저장된 값을 재사용합니다. 대신 스크린샷이나 화면 녹화처럼 진짜 최신 화면이 필요한 작업에서는 다시 새로 계산하도록 만들어서, 정확성과 가벼움을 동시에 챙기는 구조입니다. 또한 CLI, CDP(크롬 개발자 도구 프로토콜), WebDriver 등 여러 방식으로 접근할 수 있어서 플레이라이트(Playwright) 같은 기존 자동화 도구와도 바로 연결할 수 있습니다.

활용 포인트

예를 들어 여러 개의 AI 에이전트가 동시에 뉴스 기사나 상품 페이지를 긁어와서 요약하는 파이프라인을 만든다고 하면, 기존 헤드리스 크롬으로는 서버 자원이 금방 바닥나기 쉬운데요, Moli를 쓰면 같은 서버에서 훨씬 많은 인스턴스를 동시에 띄울 수 있습니다. 실제로는 fetch 명령으로 페이지를 마크다운으로 변환해서 가져오거나, 모델이 이해하기 쉬운 압축된 시맨틱 트리(semantic tree) 형태로 바로 받아볼 수도 있어서, 크롤링한 결과를 곧바로 LLM(거대언어모델) 프롬프트에 넣기 좋습니다. 스크린샷이나 PDF가 필요한 경우에는 '온디맨드 레이아웃'을 켜는 옵션을 명시적으로 켜야만 실행되기 때문에, 평소에는 가볍게 텍스트만 가져오다가 필요한 순간에만 시각적 결과물을 뽑는 식으로 운영할 수 있습니다.

또한 Moli는 오픈소스로 로컬이나 자체 서버에서 그냥 설치해서 쓸 수도 있고, 이를 만든 회사 Lexmount가 제공하는 클라우드 서비스인 Lexmount Browser를 통해 브라우저 인스턴스를 필요할 때마다 만들고 없애고 모니터링하는 관리형 환경으로도 쓸 수 있습니다. 개인 프로젝트나 소규모 크롤러는 오픈소스 Moli만으로 충분하고, 여러 팀이 동시에 대량의 웹 작업을 돌리면서 진행 상황을 화면으로 지켜보거나 나중에 다시 리플레이해서 문제를 찾아야 하는 조직 환경이라면 Lexmount Browser 쪽 관제 기능이 도움이 될 수 있습니다.

주의 사항

Moli는 아직 활발히 개발 중인 프로젝트라서 크롬 헤드리스 대비 웹 표준 호환성이나 특정 사이트에서의 렌더링 결과가 완전히 동일하지 않을 수 있고, 복잡한 자바스크립트 애플리케이션이나 최신 웹 표준을 100% 지원하는지는 실제로 직접 테스트해보는 것이 안전합니다. 또한 Lexmount Browser 같은 클라우드 서비스는 별도 기업 제품이라 가격 정책이나 무료 제공 범위가 시점에 따라 바뀔 수 있으니, 도입 전에 공식 문서나 GitHub 저장소에서 최신 정보를 다시 확인하는 걸 권장합니다.

자체 검증

원문 자료들을 종합해보면, Moli가 러스트로 만든 독립적인 브라우저 커널이며 크롬 래퍼가 아니라는 점, 레이아웃과 페인트를 필요할 때만 계산하는 '온디맨드' 방식이라는 점, CLI·CDP·WebDriver Classic·WebDriver BiDi를 모두 지원하고 플레이라이트와 CDP로 연결 가능하다는 점은 GitHub 저장소 설명과 정확히 일치합니다. 다만 실제 메모리 절감 폭이 구체적으로 몇 퍼센트인지, 혹은 어떤 벤치마크로 측정했는지에 대한 정량적 수치는 원문에 명시되어 있지 않아서, 이 글에서도 '수백 MiB' 같은 정성적 표현 정도로만 다뤘습니다. Lexmount Browser는 Moli를 기반으로 한 관리형 클라우드 서비스라는 관계도 원문 그대로이며, 별도로 확인되지 않은 성능 수치나 가격 정보는 추가하지 않았습니다.

태그

#AI #헤드리스브라우저 #웹크롤링 #AI에이전트 #Rust #자동화

원문

https://discuss.pytorch.kr/t/moli-chrome-headless-ai/11643

https://browser.lexmount.com

https://github.com/lexmount/moli

참고자료

lexmount/moli GitHub 저장소

Chrome DevTools Protocol (CDP) 공식 문서

WebDriver BiDi 표준 (W3C)

Playwright 공식 문서

← 새정보 전체 보기