에이전트가 화면을 보고 클릭하는 방식은 이미 널리 알려져 있습니다. 하지만 그 접근에는 근본적인 한계가 있었습니다.

스크린 읽기(Screen Reading)는 에이전트가 픽셀을 보고, UI 요소를 식별하고, 마우스를 움직여야 합니다. 이는 느리고, fragile하며, 접근성 문제를 일으킵니다.

Cua는 이 문제를 Computer-Use 2.0으로 해결합니다. 에이전트가 픽셀을 보는 대신, 네이티브 앱과 직접 통신하게 만드는 인프라입니다.

Computer-Use 1.0 vs 2.0

Computer-Use 1.0 (스크린 기반):

  ┌─────────────┐
  │   Desktop    │ ← 에이전트가 픽셀을 읽음
  └─────────────┘
       ↑↓ 스크린샷
  ┌─────────────┐
  │ Agent Model  │ ← "이 버튼 클릭"
  └─────────────┘
       ↑↓ 마우스 이동
  ┌─────────────┐
  │   Desktop    │ ← 클릭 실행
  └─────────────┘

문제: 느림, fragile, 접근성 불가

Computer-Use 2.0 (네이티브 기반):

  ┌─────────────┐
  │   Agent      │ ← API 호출
  └─────────────┘
       ↑↓ Cua Driver (API)
  ┌─────────────┐
  │ Native Apps  │ ← 직접 조작
  └─────────────┘

장점: 빠름, 안정적, 접근성 지원

Cua의 다섯 가지 구성 요소

Cua는 단일 제품이 아니라 여러 컴포넌트의 조합입니다.

1. Cua Spaces — 에이전트용 데스크톱

에이전트가 작업할 수 있는 전용 데스크톱 환경을 제공합니다.

로컬: macOS VM (Virtualization.Framework)
원격: Linux / Omarchy (Cua가 관리하는 서버)

에이전트는 사용자의 실제 데스크톱을 방해하지 않고, 전용 공간에서 작업합니다. Background Delivery Mode를 사용하면 에이전트가 사용자의 포인터를 움직이지 않고 백그라운드에서 작업을 완료할 수 있습니다.

2. Cua Driver — 네이티브 앱 자동화

macOS, Windows, Linux에서 네이티브 앱을 inspect하고 조작합니다.

Cua Driver가 제공하는 것:
├── UI 요소 tree (Accessibility API)
├── 클릭, 타이핑, 스크롤
├── 메뉴 조작
└── 상태 읽기 (현재 활성화된 앱, 창 제목 등)

스크린샷을 보고 OCR하는 대신, Accessibility API를 통해 UI 요소의 이름, 역할, 상태를 직접 읽습니다. 이는 훨씬 빠르고 정확합니다.

3. Lume — 로컬 가상 머신

Apple Silicon Mac에서 Virtualization.Framework를 사용해 macOS와 Linux VM을 생성합니다.

# Lume로 macOS VM 생성 (간략화)
lume create --os macos --name agent-workspace

# Linux VM 생성
lume create --os ubuntu --name dev-env

VM은 에이전트가 안전하게 테스트할 수 있는 격리된 환경을 제공합니다. Docker 컨테이너보다 무겁지만, GUI 앱 테스트에는 필수적입니다.

4. CUA-S1 — 컴퓨터 사용 전용 모델

일반 LLM은 컴퓨터 조작에 특화되어 있지 않습니다. CUA-S1은 컴퓨터 사용 결정을 위한 작은 전용 모델입니다.

입력: 현재 화면 + 작업 목표
출력: 다음 행동 (클릭, 타이핑, 스크롤 등)

예시:
  화면: Safari에서 Google 검색 결과 페이지
  목표: "React vs Vue 비교 문서 찾기"
  행동: [입력창 클릭] → ["React vs Vue comparison" 입력] → [Enter]

이 모델은 일반 LLM보다 훨씬 빠르고, 컴퓨터 조작에 특화되어 있어 정확도가 높습니다.

5. Cua Bench — 에이전트 평가 도구

에이전트의 컴퓨터 사용 능력을 평가하고, 실행 기록(trajectory)을 내보냅니다.

Cua Bench 평가 항목:
├── Task completion rate (작업 완료율)
├── Step efficiency (단계 효율성)
├── Error recovery (오류 복구 능력)
└── Time to complete (완료 시간)

MCP 통합 — 다양한 에이전트와 연결

Cua는 MCP(Multi-Channel Protocol)를 통해 다양한 에이전트와 연결됩니다.

Claude Code ──┐
Codex    ────┼──▶ MCP Server ──▶ Cua Driver
Cursor ──────┘    (Cua)        ├── macOS 앱 조작
OpenClaw ──────┘               ├── Windows 앱 조작
                               └── Linux 앱 조작

에이전트별로 별도 통합 코드를 작성할 필요가 없습니다. MCP 표준만 준수하면 됩니다.

가격과 라이선스

구성 요소 라이선스 비용
Cua Driver (코드) MIT 무료
Lume (코드) MIT 무료
Cua Spaces (앱) FSL-1.1-MIT 개인 무료, Pro $18/월
CUA-S1 모델 MIT 무료

Cua Spaces 앱은 FSL(Functional Source License)로 배포됩니다. 소스는 공개되어 있지만, 상업적 재배포는 제한됩니다. 코드 자체(MIT)와 앱(FSL)의 라이선스가 다른 점은 주의가 필요합니다.

한계와 고려사항

  1. macOS 우선: Lume는 Apple Silicon의 Virtualization.Framework에 의존합니다. Intel Mac이나 Windows에서는 제한적입니다.
  2. VM 오버헤드: Lume로 생성한 VM은 Docker보다 무겁고 메모리를 많이 사용합니다.
  3. FSL 앱 라이선스: Cua Spaces는 코드와 달리 FSL 라이선스를 따릅니다.
  4. 에이전트 호환성: 20개 이상 에이전트를 지원한다고 하지만, 모든 조합이 완전히 테스트된 것은 아닙니다.

개발자 테이크어웨이

에이전트가 컴퓨터를 "사용"하는 방식은 두 가지로 나뉩니다.

스크린을 보는 에이전트는 인간처럼 보입니다. 하지만 느리고, 깨지기 쉽고, 접근성을 해칩니다.

네이티브 API를 쓰는 에이전트(Cua)는 빠르고, 안정적이며, 접근성 API를 활용합니다.

에이전트를 프로덕션에 올릴 때, 스크린 기반 접근은 피하는 것이 좋습니다. Cua는 이 문제를 인프라 레벨에서 해결합니다.

에이전트가 마우스를 움직이는 것이 아니라, 앱을 직접 조작하게 하세요.