Story

AI QA 에이전트가 Mac mini 한 대에서 동작하는 방식

깨진 테스트 1,792개, Mac mini 한 대, 도구 24개를 가진 에이전트. PerfectApps QA 에이전트가 테스트를 고치고, 실패를 분류하고, 릴리스를 승인하는 방법, 그리고 Linux VPS가 아닌 Apple silicon에서 동작하는 이유.

2026-09-15 업데이트

PerfectApps는 노코드 애플리케이션 플랫폼입니다. QA 팀은 Cypress와 Selenium으로 작성된 2,100개가 넘는 자동화 테스트 케이스를 관리합니다. 지금은 그 작업 대부분을 전용 Mac mini 한 대에 상주하는 AI 에이전트가 시작하고, 분석하고, 보고합니다.

이 글은 그 과정과 에이전트가 하는 일, 그리고 하드웨어 선택이 의도적이었던 이유를 다룹니다.

시작은 깨진 테스트 1,792개였습니다

필수 보안 수정으로 PerfectApps 코드베이스 전체에서 Bootstrap이 제거되었습니다. 페이지 구조가 모든 곳에서 한꺼번에 바뀌었고, 제품의 50개가 넘는 영역에서 테스트 케이스 1,792개가 같은 날 깨졌습니다.

수작업 수정은 끝내 손으로 하지 않았기 때문에 아무도 자세히 추정하지 않았습니다. 대략적인 판단은 팀 전원인 4명이 다른 일 없이 최대 두 달을 매달려야 한다는 것이었습니다.

그때 에이전트는 더 이상 아이디어에 머물지 않게 되었습니다.

수정하고, 커버하고, 판정하기

수정. 에이전트는 테스트 1,792개를 하나씩 고치는 대신 근본 원인마다 한 번씩 찾아내 영향받은 모든 spec에 수정을 적용했습니다. 로그인은 하나의 공용 명령으로 옮겨, 한 번의 변경이 모든 테스트에 반영되게 했습니다.

커버. 수정이 제대로 돌아가자 같은 방식으로 테스트한 적 없는 영역을 다뤘습니다. 테스트 스위트는 spec 파일 1,400개에서 1,955개로 늘었습니다. 여기에는 캔버스에 그려지는 비주얼 다이어그램 디자이너도 있었는데, 테스트가 클릭할 요소가 전혀 없습니다. 해법은 캔버스 테스트를 그만두고 저장된 데이터를 확인하는 것이었습니다. 새 spec 51개가 첫 전체 실행에서 모두 통과했습니다.

판정. 회귀 테스트가 끝날 때마다 누군가 실패 결과를 살펴보고 어느 것이 깨진 테스트이고, 어느 것이 실제 버그이며, 어느 것이 노이즈인지 판단해야 했습니다. 릴리스마다 3명이 12시간을 썼습니다. 이제는 에이전트의 일입니다. 한 릴리스에서는 테스트 결과 1,748건을 검토해, 약 300건의 실패 가운데 실제 제품 버그를 정확히 하나 찾았습니다. 나머지는 마이그레이션 부채였습니다.

에이전트가 하는 일

에이전트는 도구 24개를 가지고 있으며, 어떤 도구를 어떤 순서로 호출할지 스스로 결정합니다. 팀은 Microsoft Teams나 웹에서 평범한 영어로 에이전트와 대화합니다.

릴리스 실행은 정해진 파이프라인을 거칩니다:

One release run

  1. 1SanityA smoke test on production. If it fails, everything stops.
  2. 2RegressionMore than 2,100 test cases in five parallel lanes, in about 90 minutes.
  3. 3New testsSpecs for areas without coverage, generated while regression runs.
  4. 4TriageEvery failure classified as a test issue, a real bug, a flaky test or a known blocker.
  5. 5ReportA GO or NO-GO verdict, posted to Teams and to the GitHub pull request.
5단계, 약 90분, 하나의 판정.

달라진 점 몇 가지:

작업수작업에이전트 사용
전체 회귀 테스트 결과 분류12시간, 3명몇 분
Jira 티켓으로 새 테스트 작성건당 2~4시간몇 분
회귀 테스트 후 증거와 함께 버그 등록건당 30~60분자동
핫픽스 릴리스 승인반나절몇 분

가치는 한 줄 한 줄에서 아낀 시간이 아닙니다. 몇 주에 걸친 수작업이 릴리스 주기에서 아예 사라졌다는 점입니다.

Linux 서버가 아니라 Mac mini인 이유

에이전트는 전용 Mac mini에서 네이티브로 동작합니다. Docker도, Kubernetes도, 클러스터도 없습니다. 외부와는 Cloudflare Tunnel로 연결됩니다.

이는 Linux VPS와 비교한 뒤 내린 결정이었습니다:

  • 브라우저가 더 빠릅니다. Apple silicon에서 Chrome과 Cypress는 VPS보다 3배에서 5배 빠르게 실행되었습니다.
  • 에이전트가 실제 저장소에서 작업합니다. 테스트 파일을 직접 읽고 쓰므로 새 spec을 만드는 데 별도의 API 계층이 필요 없습니다.
  • 흉내 낼 것이 없습니다. Mac에는 실제 디스플레이 스택이 있어, 브라우저 하나 열자고 가상 디스플레이 서버를 계속 살려 둘 필요가 없습니다.
  • 로컬 모델을 둘 여유. Mac의 Neural Engine에서 동작하는 소형 모델이 라우팅과 간단한 분류를 맡을 수 있고, 더 큰 클라우드 모델은 그것이 필요한 추론에만 씁니다.

VPS였다면 월 43달러가 덜 들었을 것입니다. 이전하는 데 드는 엔지니어링 하루보다 적은 금액입니다.

에이전트를 만들고 있다면, 이것이 의미하는 바

  • 에이전트에게 전용 머신을 주세요. 에이전트에게는 브라우저, 파일 시스템, 그리고 누군가 로그아웃시키거나 재시동하는 일 없이 몇 시간이고 실행될 자유가 필요합니다.
  • 아무도 원하지 않는 일부터 시작하세요. 병목은 새 기능 작성이 아니라 분류와 테스트 수정이었습니다.
  • 판정은 사람에게 맡기세요. 에이전트는 분류하고 권고합니다. 릴리스를 출시할지는 팀이 결정합니다.
  • 워크로드에 맞는 하드웨어를 고르세요. 에이전트가 브라우저를 조작하거나 Apple 플랫폼용으로 빌드한다면 Apple silicon은 금방 본전을 뽑습니다.

PerfectApps QA 에이전트는 내부용으로 만들어졌으며 MacDuty의 전용 Mac mini에서 동작합니다.

오늘 재고 있음

지금 랙에 있는 Mac입니다. 하나를 골라 구성을 확인하고, 계정은 주문할 때 만드세요.

랙 확인 중

나만의 Mac mini

구성을 고르세요. 재고가 없으면 이메일을 남겨 주세요. 랙에 설치되는 날 연락드립니다.

연 단위: 월 단위 결제보다 최소 19% 저렴

  • 16GB

    통합 메모리, 120 GB/s

    코어
    10 CPU, 10 GPU
    저장 공간
    사용 가능
    재고 있음
  • 가장 많이 선택
    24GB

    통합 메모리, 120 GB/s

    코어
    10 CPU, 10 GPU
    저장 공간
    사용 가능
    재고 있음
  • 32GB

    통합 메모리, 120 GB/s

    코어
    10 CPU, 10 GPU
    저장 공간
    사용 가능
    재고 있음
Visa Mastercard SEPA 계좌이체EUR 기준 가격이며, 해당하는 경우 결제 시 VAT가 추가됩니다. 최소 1개월, 이후 매월 해지 가능.

다음