AUTOMATION · DESKTOP APP진행 중
Universal RPA Studio
universal-rpa
특정 업무에 종속된 자동화 스크립트를 만드는 대신, 사용자가 자기 업무를 직접 기록해 재실행할 수 있는 도구를 만들었습니다. 프로그래밍 지식 없이 쓸 수 있게 하는 것이 목표입니다.
개요
앞선 RPA 프로젝트들에서 반복해 깨달은 문제가 있었습니다. 자동화가 필요한 사람은 현업 실무자인데, 자동화를 만들 수 있는 사람은 코드를 쓸 줄 아는 사람뿐이라는 것입니다. 그래서 업무를 한 번 시연하면 기록하고, 그대로 다시 실행하는 도구를 만들고 있습니다.
프로그래밍 지식 없이 쓸 수 있어야 하므로, 실행 파일 하나를 복사해 나눠주면 되는 형태로 배포합니다.
설계 원칙
- 결정론적 동작 — 실행할 때마다 결과가 달라지지 않도록 설계. 런타임 LLM 의존성이 없습니다
- 보안 경계를 넘지 않음 — UAC·MFA·CAPTCHA를 우회하지 않습니다. 사람이 할 수 있는 조작만 대신합니다
- 로컬 전용 — 외부로 데이터를 보내지 않고 사용자 PC 안에서 동작합니다
- 어댑터 구조 — 도메인·애플리케이션·포트·어댑터를 분리해, 새로운 대상 프로그램 지원을 어댑터 추가로 해결합니다
구현 현황
프로그램은 프로젝트 · 기록 · 편집 · 실행 · 보고서 다섯 화면으로 되어 있고, 왼쪽에서 오른쪽으로 순서대로 따라가면 자동화가 완성되는 구조입니다.
- 기록 — 대상 Windows 창을 고르고 평소처럼 업무를 한 번 수행하면 단계가 기록됩니다
- 편집 — 단계마다 실패 처리(중단·재시도), 대기 조건, 결과 검증 기대값을 지정합니다. 선택한 단계만 따로 테스트하거나 반복으로 묶을 수 있고, 기록된 흐름을 JSON으로 직접 볼 수도 있습니다
- 실행 — 사전 검증으로 환경을 먼저 확인한 뒤 실행합니다. 실패한 단계만 재시도하거나 중단 지점부터 이어서 실행할 수 있고, 실행 중 단축키로 즉시 멈출 수 있습니다
- 보고서 — 반복별 성공·실패·건너뜀, 마지막 체크포인트, 실행 환경을 기록합니다
- 실행 변수와 반복 실행, 자격증명 참조로 비밀번호를 안전하게 사용
- 배포용 단일 실행 파일 빌드와 패키징 후 smoke 검증(
packaged_smoke), 자체 점검(self_check) - 비개발자 대상 사용설명서 — 배포 담당자용 0부, 일반 사용자용 1부로 분리해 14장 구성
결과를 믿을 수 있게 만드는 장치
자동화가 "돌았다"와 "제대로 됐다"는 다른 문제입니다. 실행이 끝난 뒤 결과를 검증할 수 있도록 만들었습니다.
- 산출물 해시 — 만들어진 파일의 내용 해시와 머리글 해시를 보고서에 남깁니다. 같은 입력으로 다시 돌렸을 때 결과가 달라졌는지 눈으로 대조할 수 있습니다
- 단계별 결과 검증 — 기대값을 지정해두면 화면 값이 다를 때 그 단계에서 잡힙니다
- 실패 단계 기록 — 어느 단계에서, 몇 번째 반복에서, 몇 번 시도한 뒤 어떤 오류 코드로 멈췄는지 남습니다. 실패를 조용히 넘기지 않습니다
- 체크포인트 — 중단된 지점을 기록해 처음부터 다시 돌리지 않아도 됩니다
코드 품질
RPA는 잘못 동작하면 실제 업무 데이터를 망가뜨리기 때문에, 테스트를 특히 중요하게 다뤘습니다. 전체 Python 소스 217개 파일 중 116개가 테스트 파일입니다.
계층을 분리한 구조(domain / application / ports / adapters / infrastructure)로
Windows 환경에 의존하지 않는 로직을 독립적으로 검증할 수 있게 했습니다.
관련 자료




