
속도는 ego(lite)가 2배 빨랐습니다. 그런데 Aside를 지우진 않았어요. 둘은 잘하는 게 다릅니다.
요즘 "에이전트가 내 로그인된 브라우저를 쓰게 해주는" 도구가 하나둘 나오고 있습니다. 저는 Aside를 쓰고 있었는데, 이번에 ego(lite)를 새로 설치했어요.
둘 다 Claude Code에서 CLI로 부를 수 있습니다. 그럼 자연스럽게 궁금해지죠. 어느 쪽이 더 빠를까?
감으로 말하기엔 애매해서 herdr에서 직접 재봤습니다. 그리고 재보고 나니 속도만으로는 설명이 안 되는 부분도 보였어요.
🧰 비교한 도구
먼저 두 도구를 간단히 소개하면 이렇습니다.
- Aside (aside.com): AI 에이전트가 내장된 브라우저. 로그인된 사이트에서 일을 대신 해주고, 쓸수록 나에 대한 맥락을 메모리로 쌓아둡니다.
- ego(lite) (lite.ego.app): Claude Code, Codex 같은 에이전트에게 내 로그인된 브라우저를 빌려주는 데 집중한 Chromium 브라우저. 무료이고 오픈소스(MIT)입니다.
| ego(lite) | Aside | |
|---|---|---|
| 정체 | 사람과 AI가 같이 쓰는 Chromium 브라우저 | AI 에이전트가 내장된 브라우저 |
| 에이전트 연동 | ego-browser nodejs 로 Node 스크립트 실행 |
aside repl (Playwright 호환 REPL) / aside exec (자체 에이전트에 위임) |
| 탭 관리 | TaskSpace 단위로 묶어서 관리 | openTab() / closeTab() |
| 테스트 버전 | 0.5.1.13 (Chromium 152) | CLI 1.26.1010.1739 |
같은 조건으로 비교하려고 Aside는 repl 모드만 썼습니다. exec는 Aside 자체 에이전트(다른 모델)가 일을 해서, Claude Code가 직접 조작하는 ego와 같은 조건이 아니거든요.
🧪 어떻게 쟀나
측정은 터미널 멀티플렉서 herdr에서 했습니다. pane 두 개를 띄워서 위는 bench-ego, 아래는 bench-aside로 나눴어요.

원칙은 두 가지였습니다.
- 두 단계로 분리: 브라우저 자체 속도와, 에이전트가 썼을 때 속도를 따로 측정
- 반복 측정: 한 번 돌린 결과는 노이즈가 커서 믿지 않기
Layer 1 — 브라우저만 (LLM 없음)
같은 시나리오를 양쪽 API로 각각 짜서 직접 실행했습니다.
| 시나리오 | 내용 |
|---|---|
| S1 단순 읽기 | 위키백과 문서 열기 → 제목·첫 문단 추출 |
| S2 상호작용 | 검색창 입력 → Enter → 첫 결과 클릭 → 문서 도착 |
| S3 대형 페이지 | '대한민국' 문서 열기 → 스냅샷 (기본 + 전체) |
S2를 예로 들면 이렇게 생겼어요. 거의 같은 코드지만 API가 조금씩 다릅니다.
// ego-browser
await page.fill("#ooui-php-1", "리눅스");
await page.press("#ooui-php-1", "Enter");
await page.waitForSelector(".mw-search-result-heading a");
await page.click(".mw-search-result-heading a >> nth=0");
// Aside repl
await t.fill("#ooui-php-1", "리눅스");
await t.locator("#ooui-php-1").press("Enter"); // page.press 없음
await t.waitForSelector(".mw-search-result-heading a");
await t.locator(".mw-search-result-heading a").first().click();
워밍업 1회는 버리고, 도구 순서를 라운드마다 바꿔가며 순차로 5회씩 돌렸습니다.
Layer 2 — Claude Code 에이전트가 실제로 수행
같은 프롬프트를 헤드리스 Claude Code에 던지고, 쓸 수 있는 브라우저만 다르게 제한했어요.
claude -p "[브라우저 벤치마크] 브라우저는 반드시 ego-browser만 사용해 ... 작업: ..." \
--output-format stream-json --verbose \
--allowedTools Skill Bash Read \
--disallowedTools "Bash(aside:*)" WebFetch WebSearch
stream-json 결과에 총 시간, API 시간, 턴 수, 토큰, 비용이 다 들어 있어서 측정이 편합니다. 태스크는 두 개입니다.
- T1: 위키백과 검색창으로 '리눅스' 검색 → 첫 문단 요약 + 커널 최초 출시 연도
- T2: Hacker News 1위 글 제목·점수·댓글 수 → 댓글 페이지 이동 → 최상단 댓글 요약
두 pane에서 동시에 시작해서 태스크당 3회씩 돌렸어요.
📊 결과 1 — 브라우저 조작 자체
| 시나리오 | ego | Aside |
|---|---|---|
| S1 단순 읽기 | 1.05s | 1.83s |
| S2 상호작용 | 3.86s | 4.05s (5회 중 1회 실패) |
| S3 대형 페이지 스냅샷 | 28.5s | 3.48s |
중앙값 기준
S1, S2는 큰 차이가 없습니다. ego가 페이지 이동에서 조금 빠른 정도예요.
눈에 띄는 건 S3입니다. 스냅샷 크기를 따로 보면 이유가 보여요.
| 기본 스냅샷 | 전체 스냅샷 | 전체 스냅샷 시간 | |
|---|---|---|---|
| ego | 2만 자 (화면에 보이는 영역만) | 87만 자 | 26.7s |
| Aside | 17.6만 자 (화면 밖 포함, 상호작용 요소만) | 20만 자 | 0.9s |
ego의 전체 페이지 스냅샷은 느리고 큽니다. 대신 기본 스냅샷은 ego가 9배 가볍습니다. 화면에 보이는 부분만 읽거든요.
이 차이가 Layer 2에서 그대로 드러났습니다.
📊 결과 2 — 에이전트에 붙였을 때
| 태스크 | 도구 | 총 시간 | LLM 시간 | 첫 브라우저 조작 | 턴 | 도구 결과 크기 | 비용 |
|---|---|---|---|---|---|---|---|
| T1 위키백과 | ego | 36s | 30s | 8.8s | 10 | 1.4만 자 | $0.36 |
| Aside | 63s | 49s | 16.0s | 13 | 3.2만 자 | $0.47 | |
| T2 HN | ego | 24s | 19s | 9.2s | 8 | 0.15만 자 | $0.27 |
| Aside | 48s | 40s | 20.9s | 12 | 1.9만 자 | $0.35 |
중앙값 기준. 모델은 Claude Opus 5.5
실사용에서는 ego가 약 1.72배 빨랐고, 비용도 적었습니다. 정답률은 둘 다 100%였어요.
🔍 왜 2배 차이가 났나
표를 다시 보면 시간 대부분이 LLM 시간입니다. 브라우저 명령 실행 자체는 몇 초 차이밖에 안 나요.
그럼 LLM 시간은 왜 차이가 났을까요. 원인은 두 가지였습니다.
1. 준비 호출
Aside 스킬은 "실제 사용법은 aside guide로 읽어라, 항상 --update 먼저 해라" 방식의 진입점입니다. 그래서 에이전트가 매번 이렇게 시작해요.
Skill aside-browser
Bash aside guide
Bash aside guide repl
Bash aside repl --help
Bash aside repl "..." ← 여기서부터 실제 조작
ego는 스킬 문서 하나에 사용법이 다 들어 있어서 로드 1번이면 끝입니다. 첫 브라우저 조작까지 걸린 시간이 9초 vs 16~21초로 벌어진 이유예요.
2. 스냅샷 크기
Aside의 기본 스냅샷은 화면 밖 요소까지 포함합니다. 스크롤할 필요가 없다는 장점이 있지만, 에이전트 입장에선 읽을 양이 많아요.
도구 결과 크기가 T1에서 2.4배, T2에서 약 12배 차이가 났습니다. 컨텍스트가 커지면 토큰이 늘고, 다음 응답이 느려지고, 턴도 늘어납니다.
결국 에이전트용 브라우저의 속도는 엔진보다 "에이전트에게 얼마나 적게, 정확하게 보여주느냐"가 결정한다는 게 제 결론이에요.
🧠 속도가 전부는 아니다 - Aside는 쌓인다
여기까지만 보면 "그럼 ego만 쓰면 되겠네"로 끝납니다. 그런데 저는 Aside를 지우지 않았어요.
이번 벤치마크엔 함정이 하나 있습니다. Aside의 제일 큰 무기를 일부러 빼고 쟀어요. 공정하게 비교하려고, 그리고 개인정보가 안 나오게 하려고 프롬프트에 "사용자 메모리 조회 금지"를 넣었고, exec 위임도 막았거든요.
Aside는 쓸수록 나에 대한 맥락이 쌓입니다. 내가 누구인지, 자주 같이 일하는 사람, 진행 중인 프로젝트, 자주 가는 사이트, 선호하는 방식 같은 걸 마크다운 메모리로 정리해서 들고 있어요.
aside memory search "블로그" --json # 쌓인 맥락 조회
aside "티스토리에 이 글 임시저장해줘" # 맥락을 아는 에이전트에게 통째로 위임
그래서 "지난번처럼 해줘", "그 프로젝트 관련해서" 같은 말이 통합니다. Slack, Gmail, Notion, Google Docs 같은 서비스는 내장 스킬도 있고요. 실행 중에 steer로 방향을 틀 수도 있습니다.
이건 초 단위로 잴 수 있는 장점이 아닙니다. 매번 맥락을 다시 설명하지 않아도 된다는 사용성의 장점이에요. 제가 느끼기엔 Aside의 진짜 강점은 속도가 아니라 이쪽입니다.
ego(lite)는 반대입니다. 맥락을 쌓아두기보다는, 지금 시킨 일을 가볍고 빠르게 처리하는 쪽에 강해요.
👍 좋은 점 / 👎 아쉬운 점
ego(lite)
- 👍 준비 호출이 거의 없음
- 👍 화면에 보이는 영역만 읽는 기본 스냅샷이 가벼워서 토큰을 아낌
- 👍 페이지 이동이 조금 더 빠름
- 👎
full_page스냅샷이 대형 페이지에서 27초·87만 자. 큰 페이지 전체 구조가 필요하면 부담 - 👎 TaskSpace, 페이지 라벨 같은 자체 개념을 익혀야 함
Aside
- 👍 쓸수록 쌓이는 사용자 메모리. 맥락을 다시 설명할 필요가 줄어듦
- 👍
exec위임 +steer/queue로 일을 통째로 맡기고 중간에 말로 조정 가능 - 👍 전체 스냅샷이 빠르고 압축적 (0.9초에 20만 자)
- 👍 Playwright 문법이라 익숙함
- 👎 매 세션 guide·update·help 호출로 시작이 느림
- 👎 기본 스냅샷이 커서 에이전트 토큰을 많이 씀
- 👎 Playwright 호환이라지만
page.press,waitForFunction은 없음. Layer 1에서 websocket 에러로 1회 실패
🙋 그래서 뭘 써야 하나 — 용도별로 나눠 쓰기
둘 중 하나를 고르기보다, 각자 유니크한 강점에 맞춰 나눠 쓰는 게 낫다고 봅니다.
| 이럴 때 | 추천 | 이유 |
|---|---|---|
| Claude Code가 웹을 잠깐 확인·조작해야 할 때 | ego(lite) | 준비 호출 적고 스냅샷 가벼움. 2배 빠르고 쌈 |
| QA, 스크래핑처럼 같은 작업을 반복할 때 | ego(lite) | 턴·토큰이 적어서 반복할수록 차이가 벌어짐 |
| 내 맥락이 필요한 일 (메일, 메신저, 업무 도구) | Aside | 쌓인 메모리와 내장 스킬이 맥락을 채워줌 |
| 브라우저 작업을 통째로 맡기고 지켜볼 때 | Aside exec |
위임 후 steer로 말로 조정 |
| 큰 페이지 구조를 한 번에 뽑아야 할 때 | Aside | 전체 스냅샷이 빠르고 압축적 |
한 줄로 줄이면 이렇습니다. 빠르게 시킬 일은 ego, 나를 알아야 하는 일은 Aside.
정리하며
속도 싸움은 ego(lite)가 이겼습니다. 하지만 에이전트 브라우저를 고를 때 속도만 보면 절반만 보는 거예요. 얼마나 빨리 하느냐만큼, 얼마나 나를 알고 하느냐도 중요합니다.
잘 된 점: 브라우저 자체 속도와 에이전트 속도를 나눠서 재니까 "왜 빠른지"가 보였습니다. 둘을 섞어서 쟀으면 그냥 "ego가 빠르다"로 끝났을 거예요.
아쉬운 점: 표본이 적습니다 (Layer 1 5회, Layer 2 3회). M1 Pro 32GB 한 대, Claude Opus 5.5 하나로만 쟀고, Layer 2는 두 도구를 동시에 돌려서 리소스를 나눠 썼어요. 그리고 Aside의 메모리 강점은 이번 측정에서 일부러 뺐습니다.
다음에 시도할 것: 메모리를 켠 상태의 Aside exec와 비교하기. 맥락이 필요한 작업에서는 결과가 뒤집힐 수도 있어요.
🔗 링크
- Aside: https://aside.com
- ego(lite): https://lite.ego.app
- ego(lite) GitHub: https://github.com/citrolabs/ego-lite
'개발 지식 > AI' 카테고리의 다른 글
| Computer Use로 하던 자동화를 Aside CLI로 옮긴 이유 (0) | 2026.09.20 |
|---|---|
| 담당자를 잘못 찾는 문의, Jev로 줄일 수 있을까 (1) | 2026.09.19 |
| MCP란 무엇인가? 직접 만들어보며 알게 된 MCP와 Agent Skills 차이 (0) | 2026.07.26 |
| 병렬 에이전트 시대의 작업대, Orca를 써봤다 (0) | 2026.07.18 |
| Claude Code 워크플로우 (3) | Boris Cherny "Why Coding Is Solved" 강연 후기 (0) | 2026.05.05 |