시스메틱 데일리코딩 못해도 AI로 자동화 시스템 만드는 법
에이전트

스크린샷 없이 앱을 조작하는 에이전트용 CLI

접근성 트리로 화면 구조를 읽어 토큰을 최대 96% 줄인 러스트 도구가 공개됐다.

AI 에이전트가 데스크톱 앱을 다루게 하려는 시도는 대부분 스크린샷과 픽셀 좌표에 기대왔다. 화면을 이미지로 찍어 모델에 넘기고 '여기를 눌러라'라고 시키는 방식이다. 이 접근을 통째로 갈아엎은 도구가 깃허브에 공개됐다. 개발자 라피르(lahfir)가 만든 에이전트 데스크톱(agent-desktop)으로, 별 1,000개를 모았다.

무슨 일인가

에이전트 데스크톱은 러스트(Rust)로 작성된 단일 바이너리 명령줄 도구다. 별도 런타임 없이 실행되며, 화면 캡처 대신 운영체제가 제공하는 접근성 트리(accessibility tree)를 읽는다. 접근성 트리는 원래 화면 낭독기 같은 보조 기술을 위해 앱이 노출하는 구조 정보로, 버튼·목록·입력창이 무엇이고 어떤 상태인지가 텍스트로 정리돼 있다. 파인더, 사파리, 시스템 설정, 엑스코드, 슬랙처럼 접근성 트리를 가진 앱이면 종류를 가리지 않는다.

공개된 저장소에는 179개 커밋과 함께 위치 지정 정확도를 재는 벤치마크 폴더가 포함돼 있다. 개발자가 붙인 소개 문구부터 문제의식을 드러낸다. 그는 이 작업을 '데스크톱 자동화가 AI 에이전트에게 거짓말하는 것을 멈추게 만든 3개월'이라고 표현했다. 스크린샷 기반 자동화가 버튼이 실제로 눌렸는지, 창이 실제로 바뀌었는지를 모델에게 정확히 알려주지 못한다는 지적이다.

핵심 짚어보기

실무적으로 가장 눈에 띄는 건 토큰 절감 설계다. 이 도구는 '점진적 골격 순회(progressive skeleton traversal)'라는 방식을 쓴다. 처음에는 얕은 개요만 훑고, 필요한 지점만 골라 파고든다. 요소가 빽빽한 앱에서 토큰 사용량을 78~96%까지 줄인다고 저장소는 밝히고 있다. 화면 전체를 매번 통째로 넘기는 방식과 비교하면 호출당 비용 구조 자체가 달라진다.

조작 대상은 @s8f3k2p9:e1 같은 짧은 스냅샷 참조로 지정한다. 좌표가 아니라 요소 식별자를 쓰기 때문에 창 위치가 바뀌어도 참조가 깨지지 않는다. 응답은 전부 구조화된 JSON이며, 실패하면 오류 코드와 복구 힌트가 함께 돌아온다. 명령은 이름 기준 58개가 정의돼 있고 그중 54개가 실제 동작한다. 나머지 4개는 향후 상태 유지 데몬용으로 예약된 자리이며, 현재의 무상태 CLI에서는 조용히 오작동하는 대신 즉시 실패하도록 막아뒀다.

부작용 차단도 명시적이다. 참조 기반 조작은 기본적으로 헤드리스로 동작해, 사용자의 포커스·커서·키보드·클립보드를 몰래 건드리지 않는다. 크로미움 계열 앱은 launch --cdp로 데브툴즈 포트를 열어 플레이라이트(Playwright)나 퍼피티어(Puppeteer)가 웹 내용을 몰게 하고, 네이티브 메뉴와 대화상자는 접근성 경로에 그대로 남긴다. 파이썬·스위프트·고·루비·노드에서 호출할 때는 C-ABI 공유 라이브러리를 한 번만 적재하면 되므로, 호출마다 프로세스를 새로 띄우지 않아도 된다.

1인기업 실전 적용 포인트

  • 웹이 아닌 프로그램의 반복 작업부터 노려라. 브라우저 자동화는 이미 선택지가 많지만, 회계 프로그램·파일 정리·설정 변경처럼 네이티브 앱에 갇힌 반복 업무는 그동안 자동화 사각지대였다. 접근성 트리를 노출하는 앱이면 여기가 첫 후보다.
  • 비용을 먼저 계산하라. 화면 캡처를 매 단계 모델에 넘기는 구조라면 호출당 이미지 토큰이 그대로 요금이 된다. 구조 텍스트로 바꾸고 필요한 가지만 펼치는 것만으로 월 청구서가 눈에 띄게 달라질 수 있다.
  • 파이썬 스크립트에 라이브러리로 붙여라. 이미 자동화 스크립트를 파이썬으로 돌리고 있다면 공유 라이브러리를 한 번 적재해 함수처럼 부르는 편이, 매번 CLI를 실행하는 것보다 빠르다.
  • 작업 중에도 돌릴 수 있는지 확인하라. 헤드리스 기본 동작 덕에 자동화가 도는 동안 사용자가 다른 창에서 일할 수 있다. 1인기업에는 이게 실제 가동 시간을 좌우한다.

전망 / 주의점

제약도 분명하다. 저장소가 밝힌 요구 사항은 러스트 1.89 이상과 맥OS 13 이상이며, 권한 안내도 모두 맥 기준이다. 윈도우나 리눅스 사용자에게는 아직 선택지가 아니다. 또한 접근성 권한이 필요하고 화면 캡처는 화면 기록 권한, 알림 센터 조작은 자동화 권한이 따로 요구된다. 화면 전체를 읽을 수 있는 권한을 프로그램에 내주는 일인 만큼, 자동화 대상 앱을 좁게 한정해 쓰는 편이 안전하다. 다만 방향 자체는 분명해 보인다. 에이전트에게 픽셀을 보여주는 시대에서 구조를 읽히는 시대로 넘어가는 중이며, 토큰 비용과 신뢰성 두 가지가 동시에 걸린 문제이기 때문이다.

출처: agent-desktop 깃허브 저장소 (https://github.com/lahfir/agent-desktop/tree/main)
← 전체 기사 보기