rdp-cli
API 없이 레거시 Windows 애플리케이션을 자동화하는 방법
레거시 Windows 소프트웨어에서 API 자동화가 실패하는 이유
API 없이도 레거시 Windows 애플리케이션을 자동화할 수 있지만, 일반적인 API 자동화로는 해결할 수 없습니다. 회계 프로그램, ERP, 창고 관리 도구와 사내 유틸리티 중에는 API, SDK 또는 스크립트 기능이 없는 경우가 많습니다. 중요한 작업이 버튼, 양식, 메뉴와 팝업 안에만 존재하기 때문입니다.
실용적인 대안은 GUI Computer Use입니다. AI Agent가 RDP 또는 VNC로 실제 데스크톱에 연결하고, 현재 화면을 읽고, 제어된 작업을 하나 수행한 뒤 결과를 확인합니다.
AI Agent + RDP/VNC 실제 작업 흐름
rdp-cli를 사용하면 Agent가 대상 애플리케이션이 설치된 기존 RDP 또는 VNC 데스크톱에 연결할 수 있습니다. 빠른 시작 가이드로 연결한 뒤 반환된 세션 ID를 저장하세요.
신뢰할 수 있는 반복 과정은 다음과 같습니다.
- 현재 화면을 캡처합니다.
- 다음 입력란, 버튼 또는 대화 상자를 찾습니다.
- 작은 작업 하나를 실행합니다.
- 화면을 다시 캡처합니다.
- 실제 결과를 확인한 뒤 계속합니다.
예를 들어 Agent는 다음과 같이 원격 Windows 애플리케이션을 확인할 수 있습니다.
rdp-cli screenshot --session SESSION --out before.png
rdp-cli click --session SESSION --desktop \
--x X --y Y --observation OBSERVATION
rdp-cli screenshot --session SESSION --out focused.png
rdp-cli type --session SESSION \
--text "Remote task completed." \
--observation NEW_OBSERVATION
rdp-cli screenshot --session SESSION --out after.png
좌표와 observation 값은 최신 스크린샷에서 가져와야 합니다. 클릭 명령이 성공했다는 것은 입력이 전송되었다는 뜻일 뿐, 애플리케이션이 작업을 수락했다는 의미는 아닙니다.
파일 처리와 사람의 검토
일반적인 작업은 스프레드시트를 원격 작업 공간에 업로드하고, 레거시 보고서 프로그램에서 열고, 기간을 선택하고, PDF로 내보낸 뒤 완성된 파일을 다운로드하는 방식입니다. 서버에서 드라이브 리디렉션을 허용하면 RDP 세션에서 파일과 폴더를 주고받을 수 있습니다. VNC는 기존 데스크톱을 제어하는 데 사용할 수 있지만, 파일 전송과 기타 기능은 프로토콜 및 서버 설정에 따라 달라집니다.
예상하지 못한 대화 상자가 나타나거나 승인이 필요할 때는 사람이 같은 세션을 보고 Agent 입력을 일시 중지한 뒤, 네이티브 창이나 권한이 있는 브라우저에서 제어를 가져올 수 있습니다. 검토가 끝나면 같은 세션을 Agent에게 다시 넘기면 됩니다.
GUI 자동화 실패를 줄이는 규칙
- 긴 클릭 시퀀스 대신 작고 검증 가능한 작업을 사용합니다.
- 중요한 작업 후에는 새 스크린샷을 캡처합니다.
- 로딩 화면과 대화 상자가 나타날 때까지 기다립니다.
- 예상하지 못한 로그인 화면, 경고 또는 오류가 나타나면 중지합니다.
- 프롬프트나 글 내용에 비밀번호와 API 키를 넣지 않습니다.
- 신뢰할 수 있는 네트워크 또는 VPN을 사용하고 필요한 권한만 부여합니다.
안정적인 API가 있다면 API를 우선 사용하세요. GUI 자동화는 그래픽 중심이거나 오래되었거나 통합이 불가능한 애플리케이션에 가장 적합합니다. 소프트웨어를 다시 만들지 않고도 AI Agent가 이미 사용 중인 Windows 프로그램을 조작할 수 있게 해 줍니다.
자세한 설정은 rdp-cli의 RDP 및 VNC 기능을 참고하세요.