왜 중요한가
운영체제 데스크톱은 수십 년간 사람 중심의 시각적 UI를 최적화해 왔고, 그 결과 AI 에이전트는 종종 스크린샷·OCR·비전 모델에 의존해 불필요한 인식 비용과 좌표 불확실성에 직면했다. LUMOS는 운영체제와 브라우저가 이미 제공하는 접근성·DOM 메타데이터를 기계 판독 가능한 블루프린트로 압축해 LLM이 직접 의미 있는 상태와 조작 가능한 타깃을 받게 한다. 이 접근은 스크린샷 중심 파이프라인보다 관찰 크기와 토큰 사용을 줄이고, 액션 그라운딩을 명확하게 만들어 실패 복구와 안전 검증을 쉽게 한다.
핵심 기여
운영체제 접근성·DOM을 기계판독 블루프린트로 전환한 레이어
LUMOS는 UIA와 브라우저 접근성 트리에서 role, name, value, bounds, supported actions 같은 속성을 추출해 각 요소에 안정적 식별자를 할당하고 이 정보를 압축한 semantic blueprint를 생성한다. 이 블루프린트는 시각적 장식 없이 LLM이 계획을 세울 수 있는 구조적 상태를 제공하며 관찰 데이터의 크기를 크게 줄인다. 블루프린트는 애플리케이션별 스크립트를 요구하지 않고 가시적 UI 조작만으로 실행 가능하도록 설계됐다.
포인터 기반 실시간 시맨틱 그라운딩
LUMOS는 포인터 좌표를 ElementFromPoint 스타일의 운영체제 쿼리로 매핑해 커서 아래 또는 근처의 실제 접근성 요소 식별자와 속성을 반환한다. 이 방식은 커서 주변을 잘라 OCR로 추정하는 대신 정확한 요소 역할과 값 제공자를 직접 얻어 클릭·타입 동작을 안전하게 정의하게 한다. 포인터 그라운딩은 블루프린트가 크거나 요소가 모호할 때 모델이 정확한 타깃을 확인하도록 돕는다.
접근성에 기반한 관찰–행동 루프와 보편적 액션 스키마
시스템은 observe, click, double_click, drag, type_text, set_text, press_key, finish 같은 가시적 UI 프리미티브를 노출하고 LLM은 블루프린트와 메모리를 입력으로 단일 JSON 액션을 반환한다. 단일 액션 규율은 장황한 환상적 스크립트를 방지하고 각 액션 후 재관찰을 강제해 상태 불일치를 줄인다. 런타임은 스키마 검증, 안전 허용목록, 실패 복구 로직을 통해 위험한 작업에는 명시적 확인을 요구한다.
프로토타입 구현 및 평가 설계
프로토타입은 Windows에서 Python을 사용해 네이티브 UIA 쿼리와 브라우저 DOM 추출을 수행하고 LLM 백엔드와 연동되도록 구현됐다. 구현에는 텍스트 대체·완료 추적·Windows Search 핸드오프 같은 보조 경로와 회귀 테스트가 포함되어 있으며, 코드 저장소가 공개되어 재현 가능성을 확보한다. 평가 계획은 스크린샷+OCR 파이프라인 대비 성공률, 지연, 토큰 수, 블루프린트 압축률, 포인터 지연 비교 등을 포함한다.
핵심 아이디어 이해하기
기존 문제의 출발점은 데스크톱 UI가 사람을 위해 픽셀·아이콘·레이아웃 중심으로 설계되어 AI에게는 높은 엔트로피의 시각 표현만을 제공한다는 점이다. LLM은 어떤 컨트롤이 텍스트를 받는지, 현재 값이 무엇인지, 특정 동작이 허용되는지를 알기 위해 픽셀을 해석하고 좌표를 추정해야 하며, 이 과정은 토큰과 계산 비용을 크게 증가시키고 오류 가능성을 높였다. 따라서 데스크톱 제어 문제는 인식 문제와 계획 문제를 동시에 풀어야 하는 비효율적 구조를 갖고 있다.
방법론
전체 접근 방식은 운영체제 접근성 API와 브라우저 DOM에서 구조화된 상태를 읽어 semantic blueprint를 구성하고, LLM을 planner로 사용해 블루프린트와 작업 메모리를 입력으로 단일 JSON 액션을 생성하게 한 다음 런타임이 가시적 UI 프리미티브로 실행하는 observe–plan–act 파이프라인으로 구성된다. 관찰 계층은 foreground window의 UIA 트리 또는 브라우저의 accessibility tree를 쿼리해 요소 식별자, role, accessible name, current value, bounding rectangle, 윈도우 제목·URL과 같은 필드를 표준화한다. 포인터 그라운딩은 (x,y) 좌표를 운영체제의 ElementFromPoint 스타일 히트 테스트로 변환해 해당 좌표에 매핑되는 접근성 요소의 식별자와 속성을 반환한다. 플래너는 블루프린트와 최근 메모리, 사용자 목표를 받아 단일 유효 액션을 산출하고 런타임은 스키마 검증, 안전 정책 적용, 실행 후 재관찰을 수행해 상태 불일치를 감지하고 필요시 복구 루틴을 실행한다.
주요 결과
논문은 구현된 프로토타입과 회귀 테스트 세트를 통해 아키텍처적 주장의 재현 가능성을 다루며, Notepad 텍스트 입력, Windows Search 핸드오프, 텍스트 대체 및 완료 추적 같은 동작에서 진단 로그와 교정 동작을 기록했다. 정량적 벤치마크는 본문에 제시되지 않았고, 대신 향후 비교 실험으로 screenshot+OCR+LLM 대비 blueprint+LLM의 성공률, 지연, 토큰 수, 블루프린트 압축률, 포인터 지연, 다단계 작업 완수율 등을 제안했다. 논문은 현재의 증거로서 프로토타입 회귀 테스트와 진단 카운트를 제시하며 광범위한 사용자·벤치마크 평가는 향후 작업으로 남겨뒀다.
기술 상세
전체 아키텍처는 관찰(Perception) 계층, 플래너(LLM) 계층, 실행자(Executor) 및 메모리와 안전 계층으로 구획된다. 관찰 계층은 Windows UI Automation과 브라우저 접근성 트리에서 요소를 추출해 ID 맵과 compact blueprint를 생성하며, 각 요소는 role, name, value, bounds와 supported patterns를 포함한다. 포인터 그라운딩은 화면 좌표를 운영체제의 히트 테스트로 변환해 해당 좌표의 접근성 요소를 직접 식별하고 그 속성들을 반환함으로써 시각적 크롭·OCR 단계를 생략한다. 실행 계층은 보편적 액션 스키마(observe, click, type_text, set_text, press_key, finish 등)를 노출하고 런타임에서 JSON 액션을 검증한 후 가시적 조작을 수행하며, 위험 작업은 허용목록과 사용자 확인 정책으로 제한된다. 메모리 계층은 최근 액션, 입력된 텍스트, pending queries 같은 상태를 추적해 반복 입력, append 대신 교체 등 모델의 반복 실수를 자동으로 보정한다. 구현 세부사항으로 프로토타입은 Python 기반으로 Windows에서 UIA를 쿼리하고 브라우저 세션을 유지하며, 옵션 환경변수 LUMOS_FAST_PATHS=1을 통해 선택적 결정론적 보조 경로를 제공한다.
한계점
LUMOS의 효과는 운영체제와 애플리케이션이 노출하는 접근성 메타데이터의 품질에 크게 의존한다. 일부 애플리케이션은 접근성 트리가 불완전하거나 사용자 지정 렌더링으로 인해 의미적 속성이 누락되거나 중복 제어가 발생할 수 있다. 런타임과 모델 사이 상태 변화, LLM의 잘못된 액션 선택, 그리고 민감한 시스템 설정에 대한 보안·권한 문제는 여전히 해결 과제로 남아 있으며 논문은 보다 광범위한 벤치마크와 복원력 향상을 향후 작업으로 명시한다.
실무 활용
프로토타입은 Windows 환경에서 네이티브 접근성 API와 브라우저 DOM을 이용해 데스크톱 작업을 더 적은 토큰과 더 명확한 그라운딩으로 수행할 가능성을 보여준다. 실무 도입은 접근성 품질, 애플리케이션의 접근성 준수 수준, 그리고 보안 정책 설계에 따라 성패가 좌우된다. 저장소가 공개되어 있어 실무자가 프로토타입을 검토하고 특정 데스크톱 자동화 워크플로우에 통합할 수 있는 기반을 제공한다.
- 데스크톱 기반의 반복적 문서 편집 및 텍스트 생성 작업 자동화
- 애플리케이션 런치와 검색 핸드오프를 포함한 멀티앱 워크플로우 자동화
- 접근성 정보를 활용한 UI 테스트 및 회귀 검증 자동화
코드 공개 여부: 공개
코드 저장소 보기키워드
용어 해설
- 접근성 트리(Accessibility Tree)
- — 애플리케이션 또는 브라우저가 시각적 요소를 기계가 읽을 수 있는 노드 트리로 노출하는 구조로, 각 노드는 role, name, value, bounds와 같은 속성을 갖고 외부 프로그램이 인터랙션을 수행할 수 있게 한다.
- 의미적 블루프린트(Semantic Blueprint)
- — 운영체제 접근성 메타데이터와 DOM 정보를 압축해 element ID, role, name, value, bounds, action affordance 등으로 정형화한 기계 판독 가능한 상태 표현으로, LLM에 전송해 계획·실행을 수행하게 한다.
- 시맨틱 포인터 그라운딩(Semantic Pointer Grounding)
- — 커서 좌표나 포인터 위치를 운영체제의 ElementFromPoint 스타일 쿼리로 매핑해 화면의 픽셀 대신 해당 좌표에 대응하는 접근성 요소 식별자와 속성을 반환하는 방법으로, 시각적 OCR 과정 없이 대상 요소를 정확히 지목하게 한다.
- 가시적 UI 프리미티브(Visible-UI Primitive)
- — 앱별 스크립트를 사용하지 않고도 모든 애플리케이션에서 공통으로 수행할 수 있도록 정의한 관찰·클릭·타이프·세트텍스트·키프레스 등의 단일 액션 단위로, LLM이 블루프린트상 요소에 적용할 수 있다.
- 요소 식별자(Element Identifier)
- — 각 접근성 또는 DOM 요소에 할당된 안정적 참조 ID로, LLM이 블루프린트 내에서 특정 타깃을 지목하고 이후 관찰-실행 루프에서 반복적·안정적으로 조작할 수 있게 만든다.
- 에이전트 인터페이스 평면(Agent Interface Plane)
- — 사람을 위한 시각적 UI 평면과 병렬로 존재하는 기계 판독 평면으로, 운영체제가 노출하는 구조화된 상태와 가시적 조작 원 primitives를 통해 AI 에이전트가 안전하고 가시적으로 작업하도록 만든 개념적 층이다.
코드 예제
{"action":"type_text","target_id":"A2", "text":"Hello from LUMOS"}LLM이 특정 요소 식별자 A2에 텍스트를 입력하도록 지시하는 JSON 액션 예시
{"action":"open_windows_search", "text":"outlook"}모델이 Windows Search를 열고 'outlook'을 입력하도록 지시하는 런치-핸드오프 예시
LUMOS_FAST_PATHS=1프로토타입에서 선택적 결정론적 보조 동작을 활성화하는 환경변수 예시
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.



