삼성 갤럭시 노트 8(2017년형)에서 Qwen3-0.6B(400MB) 모델로 데스크톱 크롬 제어하기
Qwen3-0.6B (400 MB) on a Samsung Note 8 (2017) phone drives a real desktop Chrome
핵심 요약
2017년형 갤럭시 노트 8에서 경량 LLM을 구동해 데스크톱 크롬 브라우저를 성공적으로 제어한 실험 사례입니다.
- 경량 모델 성능 — 0.6B 파라미터 모델로도 웹 탐색 및 데이터 추출 작업 100% 성공함
- 구조적 인식 — HTML 전체가 아닌 페이지의 구조적 표현만 모델에 전달하여 효율성 극대화
- 하드웨어 제약 — 2017년형 기기에서 llama.cpp를 활용해 로컬 모델을 구동함
- 실험적 검증 — 12개 모델을 대상으로 동일한 작업 환경에서 성능 비교 테스트 수행

먼저 밝히자면, 여기 사용된 페이지 인식 레이어를 만든 사람 중 한 명이다. 처음엔 작은 로컬 모델들로 테스트를 시작했는데, 결과가 원래 생각했던 것보다 훨씬 흥미롭게 나왔다. 12개의 작은 모델, 3개의 검증 가능한 작업, 로그, 그리고 오프라인 리플레이까지 다 해봤다.
세팅: 갤럭시 노트 8 (2017년형, 안드로이드 9, 6GB 램), Termux에서 llama.cpp 구동, Qwen3-0.6B Q4_K_M 모델 사용. 크롬이 켜져 있는 노트북을 썼고 헤드리스 모드는 아니다. 폰이 우리 릴레이를 통해 브라우저를 조작하는 방식이다.
모델이 하는 일: 페이지의 구조화된 표현(여기서는 대략 10개 정도의 이름 붙은 링크나 필드, 약 200 토큰 분량)을 받아서, 이름으로 하나를 고르고 마지막에 주어진 정보를 JSON으로 복사한다. 나머지(페이지 구조 캡처, 후보 선택, 클릭, 정보 읽기, 결과 검증 등)는 주변 스택이 다 알아서 한다. 모델은 HTML, 스크린샷, URL 같은 건 구경도 못 한다.
작업 내용:
-
샌드박스, books.toscrape.com - 카테고리, 책, 가격/평점/재고 확인;
-
실제 위키피디아 - 관련 없는 사이트에서 갤럭시 노트 시리즈 페이지로 이동, 약 760개의 인터랙티브 노드가 있는 페이지에서 "Note 8.0", "Samsung Galaxy Note 8.0", "Galaxy Note 8.0", "Note FE" 같은 비슷한 이름들 사이에서 "Note 8"을 골라내고, 인포박스에서 출시일을 가져오기;
-
테이블에 있는 UPC를 포함한 5개 필드 채우기.
각 작업마다 10번씩 돌려서 고정된 정답값과 비교했다.
작업 1에 대한 12개 모델 결과 (같은 스크립트, 같은 프롬프트):
Model Params Task 1 Note
Qwen3-0.6B 0.6B 10/10
Qwen2.5-1.5B 1.5B 10/10
GLM-Edge-1.5B 1.5B 10/10 평점을 숫자로 출력
Gemma-2-2B 2.6B 10/10
Llama-3.2-3B 3B 10/10
MiniCPM5-2B 2B 9/10 "£"를 "$"로 한 번 바꿈
Qwen2.5-0.5B 0.5B 6/10
LFM2.5-1.2B 1.2B 0/10 플레이스홀더만 출력
Llama-3.2-1B 1B 0/10 의사코드 출력
Gemma-3-1B 1B 0/10 플레이스홀더만 출력
LFM2-350M 0.35B 0/10 무작위 클릭
Gemma-3-270M 0.27B 0/10 플레이스홀더만 출력
위키피디아 작업에서 Qwen3-0.6B는 10/10, 5개 필드 작업에서도 10/10을 찍었다.
대조군:
나머지는 다 똑같이 하고 구조화된 브라우저 인식 대신 원본 HTML을 썼을 때: 샌드박스에서는 5번 중 4번 성공했지만, 작업당 토큰은 12k, 시간은 22분이나 걸렸다(구조화된 방식은 500 토큰, 80초). 위키피디아의 경우 페이지 HTML이 467k 문자인데, 16k 컨텍스트에 9%밖에 안 들어가서 모델이 그 9% 안에서 링크를 못 찾더라. 0/3 결과 나옴.


