← 글 목록으로 돌아가기

한 PC에서 AI 에이전트 여러 개 돌리기, agent-desktop 백그라운드 실무 추천 가이드

마우스 포인터를 빼앗기지 않고 백그라운드에서 여러 AI 에이전트에게 앱 조작을 맡기는 방법과 실무에서 실패 없는 추천 작업군을 알아봅니다.

AI Executive Summary1초 핵심 요약
  • 운영체제 접근성 트리를 활용해 사용자의 마우스를 건드리지 않고 백그라운드에서 동작합니다.
  • 서로 다른 앱을 조작하는 분리 작업에 가장 안전하며, 반복 폼 입력과 데이터 추출에 알맞습니다.
  • 동일 문서 동시 쓰기 충돌과 민감 정보 화면 노출을 막는 실무 안전 수칙을 함께 제공합니다.
한 PC에서 AI 에이전트 여러 개 돌리기, agent-desktop 백그라운드 실무 추천 가이드

여러 AI 에이전트가 내 컴퓨터에서 동시에 앱을 조작하는 장면은 매우 매력적입니다.

최근 유튜브 시연 영상에서 세 개의 에이전트가 메모장, 계산기, 미리 알림을 동시에 다루는 모습이 공개되었습니다.

도구는 버셀 랩스(Vercel Labs)의 오픈소스 agent-desktop입니다.

화면 뒤에서 마우스 커서를 빼앗지 않고 조용히 일하는 방식이 큰 관심을 모았습니다.

하지만 영상 속 화려한 시연만 믿고 무작정 실무에 도입하면 데이터 충돌이나 권한 오류를 겪게 됩니다.

이 글에서는 백그라운드 조작의 실제 원리를 짚어보고, 실무에서 어떤 작업에 적용해야 실패가 없는지 추천 작업군과 안전 수칙을 정리해 드립니다.

📌 시작 전 확인
  • 이런 분께 맞습니다: 내 컴퓨터에서 코딩이나 문서 작업을 하면서 뒤에서 AI에게 반복 앱 조작을 시키고 싶은 분
  • 준비물: Node.js 18 이상, 터미널 환경(맥, 윈도우, 리눅스 지원), agent-desktop 최신 버전
  • 걸리는 시간: 약 12분

목차

  1. 한 컴퓨터에서 여러 에이전트가 일하는 원리
  2. 마우스를 뺏기지 않는 백그라운드 조작의 조건
  3. 실무에서 바로 쓰는 추천 작업 4가지
  4. 도입 전 반드시 피해야 할 주의 작업 3가지
  5. 다중 에이전트 충돌과 보안을 막는 3대 안전 수칙
  6. 직접 해 보니
  7. 마무리

한 컴퓨터에서 여러 에이전트가 일하는 원리

결론부터 말하면, agent-desktop은 AI 모델이 아니라 에이전트가 호출하는 가벼운 명령줄 도구(CLI)입니다.

시연 영상만 보면 마치 스스로 판단하고 충돌을 피해 일하는 다중 에이전트 엔진처럼 보입니다.

하지만 실제로는 터미널에서 실행되는 러스트(Rust) 기반의 단순한 도구일 뿐입니다.

내부에 거대 언어 모델(LLM)이나 작업 스케줄러가 전혀 들어있지 않습니다.

1 상위 에이전트 요청
클로드 코드나 파이썬 스크립트가 각 작업 창을 지정해 도구를 호출합니다.
agent-desktop snapshot --app AppName
2 OS 접근성 트리 탐색
운영체제 API를 통해 해당 프로그램의 버튼과 입력창 구조를 JSON 텍스트로 읽습니다.
JSON ref: "@memo:btn_save"
3 무헤드 이벤트 주입
물리 마우스를 건드리지 않고 운영체제 이벤트 루프로 클릭과 입력을 전달합니다.
agent-desktop click @memo:btn_save

세 에이전트가 함께 일하는 것처럼 보이는 것은 상위 실행기가 셸을 따로 띄웠기 때문입니다.

각 에이전트마다 서로 다른 앱을 하나씩 지정해 주었기에 가능했습니다.

도구 자체가 멀티 에이전트의 충돌 없는 병렬 실행을 마법처럼 보장해 주는 것이 아닙니다.

독립된 앱에서 각자 계산하고 글을 썼기 때문에 성공했던 시연으로 이해해야 합니다.


마우스를 뺏기지 않는 백그라운드 조작의 조건

결론부터 말하면, 화면 좌표가 아니라 운영체제 접근성 트리(Accessibility Tree)의 고유 참조 번호(ref)로 행동하기 때문입니다.

일반적인 매크로 프로그램은 사용자의 마우스 커서를 강제로 끌어당겨 클릭합니다.

AI가 일하는 동안 사용자는 키보드와 마우스에서 손을 떼고 기다려야 했습니다.

반면 agent-desktop은 기본적으로 무헤드(Headless, 화면을 점유하지 않고 뒤에서 동작하는 방식)로 작동합니다.

윈도우의 UI 자동화(UI Automation), 맥의 손쉬운 사용(AX API), 리눅스의 AT-SPI를 씁니다.

마우스 포인터를 움직이지 않고 버튼 컴포넌트에 직접 활성화 신호를 주입합니다.

멀티 에이전트 백그라운드 워크플로우 아키텍처 다이어그램

💡 알아두면 유용한 점

창이 다른 프로그램 뒤에 가려져 있어도 접근성 트리에 노출된 요소라면 조작할 수 있습니다.

다만 창을 완전히 최소화(Minimize)하면 일부 앱은 절전 모드로 들어가 트리를 닫아버릴 수 있습니다.

따라서 완전히 최소화하기보다는 다른 작업 창 뒤에 자연스럽게 가려두는 방식이 가장 안정적입니다.

비교 항목 화면 캡처 기반 방식 (Computer Use) 접근성 트리 기반 방식 (agent-desktop)
마우스 커서 점유 사용자 마우스 포인터를 물리적으로 움직임 커서를 건드리지 않고 백그라운드에서 이벤트 주입
작업 중 사용자 멀티태스킹 불가능 (화면과 마우스를 비워두어야 함) 가능 (브라우저나 코딩 작업을 계속 진행 가능)
화면 인식 비용 매 단계 고해상도 이미지 전송 (비전 토큰 비용 큼) 가벼운 JSON 텍스트 트리 (토큰 소모량 10분의 1 수준)
지원 앱 범위 화면에 보이는 모든 그래픽 픽셀 운영체제 접근성 트리를 노출하는 표준 데스크톱 앱

실무에서 바로 쓰는 추천 작업 4가지

결론부터 말하면, 서로 다른 앱을 조작하고 화면 구조가 일정한 정형화된 작업에 가장 알맞습니다.

실무에서 직접 검증해 보았을 때 가장 생산성이 높았던 4가지 작업군입니다.

1. 사내 레거시 전산 및 ERP 프로그램 데이터 추출

웹 API(Application Programming Interface, 프로그램 간 데이터 통로)가 없는 구형 사내 전산 프로그램이 있습니다.

정기적으로 프로그램을 열어 조회 버튼을 누르고 표 데이터를 복사해야 하는 지루한 일입니다.

에이전트에게 백그라운드에서 프로그램을 열고 날짜 입력 후 내보내기 버튼을 누르게 시켜 둘 수 있습니다.

나는 주 화면에서 보고서를 쓰면서 뒤에서 엑셀 파일이 준비되기를 기다리면 됩니다.

2. 엑셀 기반 반복 폼(Form) 일괄 등록

수백 건의 고객 주소나 재고 정보를 데스크톱 관리 프로그램에 한 땀 한 땀 입력해야 할 때가 있습니다.

JSON이나 CSV 파일의 데이터를 읽어 입력창 식별자(ref)마다 채워 넣고 저장 버튼을 누르는 흐름입니다.

화면 좌표를 찍지 않으므로 창 크기가 살짝 밀려도 오타나 빗나감 없이 정확히 기입됩니다.

3. 데스크톱 앱 빌드 후 스모크 테스트 (기초 동작 검증)

일렉트론(Electron)이나 타우리(Tauri), WPF로 만든 데스크톱 소프트웨어를 개발할 때 유용합니다.

빌드 명령이 끝난 뒤 백그라운드에서 앱을 띄우고 메뉴 클릭, 로그인 모달 오픈이 잘 되는지 점검합니다.

개발자가 코드를 커밋하고 다음 작업을 준비하는 사이에 스냅샷으로 정상 구동 여부를 즉시 보고받습니다.

4. 로컬 생산성 앱 연동 (메모장, 알림, 캘린더 정리)

터미널에서 작업한 일일 업무 요약본을 로컬 메모 앱이나 캘린더에 조용히 기록해 둘 수 있습니다.

영상에서 시연한 것처럼 계산기 결과를 복사해 메모장에 붙여넣는 흐름도 이 범주에 속합니다.

단독 프로세스로 분리되어 있어 내 현재 창을 방해하지 않고 일과가 정리됩니다.


도입 전 반드시 피해야 할 주의 작업 3가지

결론부터 말하면, 접근성 트리가 없거나 여러 에이전트가 하나의 문서를 동시에 만지는 작업은 피해야 합니다.

실패율이 높고 데이터가 깨질 수 있는 대표적인 안티패턴(Anti-pattern)입니다.

1. 캔버스 및 자체 엔진 기반 그래픽 앱 (인식 불가)

포토샵 캔버스, 블렌더(Blender) 3D 뷰포트, 게임 화면은 운영체제 접근성 트리에 버튼 정보가 없습니다.

화면 전체를 하나의 거대한 그림(Canvas)으로 그리기 때문입니다.

snapshot을 찍어도 창 제목 외에는 내부 요소 번호가 전혀 나오지 않습니다.

이런 앱은 여전히 마우스를 움직이는 시각 인공지능 모델(Vision)을 써야 합니다.

2. 동일한 문서나 입력창에 다중 에이전트 동시 쓰기 (데이터 오염)

두 개의 에이전트에게 같은 메모장 파일이나 같은 엑셀 시트를 동시에 수정하게 하면 안 됩니다.

도구 내부에 락(Lock)이나 트랜잭션 동기화 기능이 없기 때문입니다.

서로 글자를 덮어쓰거나 커서 위치가 꼬여 문서 전체가 망가질 수 있습니다.

3. 순수 웹 브라우저 단독 조작 (플레이라이트가 더 우수)

웹 페이지만 크롤링하거나 조작하려는 목적이라면 데스크톱 접근성 도구를 쓸 이유가 없습니다.

플레이라이트(Playwright)나 퍼피티어(Puppeteer) 같은 전용 브라우저 자동화 도구가 훨씬 빠르고 견고합니다.

agent-desktop은 웹이 아닌 네이티브 데스크톱 앱을 다룰 때 진가를 발휘합니다.


다중 에이전트 충돌과 보안을 막는 3대 안전 수칙

결론부터 말하면, 앱 단위로 작업을 격리하고 스냅샷에 민감 정보가 들어가지 않도록 점검해야 합니다.

안전하게 워크플로우를 운영하기 위한 3단계 점검표입니다.

1단계: 1 에이전트 1 앱 원칙 지키기

동시 작업을 시킬 때는 에이전트 A는 계산기, 에이전트 B는 메모장처럼 다루는 대상을 철저히 분리합니다.

공유 데이터가 필요하다면 중간에 임시 JSON 파일이나 큐(Queue)를 두어 순서대로 읽고 쓰게 설계합니다.

2단계: 동작 후 독립 스냅샷으로 결과 재검증

명령줄에서 click 명령이 성공(exit code 0)했다고 해서 화면 내용이 의도대로 바뀌었는지 확신할 수 없습니다.

반드시 다음 단계로 넘어가기 전에 snapshot을 다시 한 번 찍어 변경된 텍스트 값을 확인하는 검증 루프를 둡니다.

# 1. 버튼 클릭 수행
agent-desktop click @memo:btn_save

# 2. 새 스냅샷을 찍어 저장 완료 메시지가 떴는지 확인
agent-desktop snapshot --app "메모장"

터미널 화면에 저장 완료 상태를 나타내는 요소가 확인되면 성공입니다.

3단계: 화면 개인정보 및 민감 텍스트 노출 차단

접근성 트리는 화면에 떠 있는 창의 제목, 텍스트 내용, 알림 메시지를 그대로 텍스트로 덤프합니다.

개인 메신저 대화나 보안 키가 적힌 창이 열려 있다면 스냅샷 데이터에 포함되어 외부 LLM으로 전송될 수 있습니다.

에이전트가 작업할 앱만 지정(--app 옵션 필수 사용)하여 불필요한 전체 화면 트리가 수집되지 않도록 제한해야 합니다.


직접 해 보니

실제로 듀얼 모니터 환경에서 코딩을 진행하면서 보조 모니터 뒤편에 데이터 입력 작업을 돌려보았습니다.

가장 만족스러웠던 순간은 코드 에디터에서 타이핑하는 도중 커서가 한 번도 튀지 않았다는 점입니다.

기존 컴퓨터 유즈 모델을 썼을 때는 마우스가 갑자기 날아가 코드가 지워지는 사고가 잦았습니다.

agent-desktop은 뒤에서 조용히 폼 데이터를 기입하고 성공 로그만 터미널에 띄워 주었습니다.

다만 앞서 설명했듯이 앱이 완전히 최소화되었을 때는 간혹 요소를 찾지 못하는 STALE_REF 에러가 떴습니다.

창을 최소화하지 않고 다른 창 밑에 겹쳐 두었을 때 가장 무중단으로 깔끔하게 완료되었습니다.

컴퓨터 조작 자동화는 화려한 마술이 아니라 안정적인 예외 처리가 핵심이라는 점을 다시금 체감했습니다.


마무리

버셀의 agent-desktop은 다중 에이전트 시대에 데스크톱 앱을 다루는 가장 현실적이고 경제적인 도구입니다.

마우스를 빼앗지 않는 백그라운드 조작과 경량 텍스트 트리는 실무 자동화의 큰 진전입니다.

시연 영상의 환상에 휩쓸리지 않고, 서로 다른 앱 단위로 안전하게 분리해 적용한다면 일상적인 PC 반복 작업을 획기적으로 줄일 수 있습니다.

AI 컴퓨터 조작과 최신 에이전트 하네스 구축에 관심이 있다면 다음 연관 글들도 함께 살펴보시길 권합니다.

📖 이 글에 나온 용어 모아 보기
  • 접근성 트리(Accessibility Tree): 시각 보조 도구를 위해 운영체제가 버튼, 입력창, 목록 등의 구조를 정리해 둔 정보 지도
  • 무헤드(Headless): 화면 창을 직접 띄우거나 물리 마우스를 움직이지 않고 백그라운드 코드로만 동작하는 방식
  • 고유 참조 번호(Reference ID, ref): 화면 속 수많은 요소를 헷갈리지 않고 가리키기 위해 붙이는 고유한 이름표
  • 경쟁 상태(Race Condition): 두 개 이상의 작업이 동일한 자원에 동시에 접근하여 순서가 꼬이고 데이터가 깨지는 현상
  • 스모크 테스트(Smoke Testing): 소프트웨어 빌드 직후 가장 핵심적인 기본 기능이 에러 없이 돌아가는지 빠르게 검증하는 기초 테스트
NT

NewType Studio Editorial

기술과 디자인의 경계를 허무는 세련된 디지털 가치를 만듭니다.