takahirom/arbigent

AI Agent for testing Android, iOS, and Web apps. Get Started in 5 Minutes. Arbigent's intuitive UI and powerful code interface make it accessible to everyone, while its scenario breakdown feature ensures scalability for even the most complex tasks.

Arbigent (Arbiter-Agent) – AI 에이전트 테스팅 프레임워크

무엇인가요 – AI 에이전트를 사용하여 모바일, 웹, TV 앱의 UI 레벨 테스트를 작성하고 실행하며 관리할 수 있는 데스크톱 애플리케이션(클라이언트 래퍼 포함). 고수준 목표(예: "튜토리얼 완료")를 종속적인 시나리오 체인으로 분해하고, 비프로그래머도 시각적 UI에서 시나리오를 생성할 수 있으며, 엔지니어는 YAML 파일에서 프로그래밍 방식으로 실행할 수 있습니다.


핵심 아이디어

아이디어 왜 중요한가
시나리오 종속성 복잡한 흐름(로그인 → 검색 → 구매)을 작은 재사용 가능한 단계로 표현하여 테스트 유지보수가 쉬워집니다.
하이브리드 UI + 코드 워크플로우 QA 엔지니어는 UI에서 드래그 앤 드롭으로 시나리오를 만들 수 있고, 개발자는 CI 파이프라인에서 동일한 YAML을 호출할 수 있습니다.
크로스플랫폼 지원 iOS, Android, 웹, TV(다운패드 네비게이션 포함)에서 실행 가능합니다.
AI 기반 상호작용 에이전트는 필터링된 UI 트리와 접근성 레이블에 포함된 선택적 AI 힌트를 읽고, 탭/스크롤할 항목을 결정합니다.
모델 유연성 기본값은 gpt-4.1이지만, 더 저렴한 모델인 gpt-4o-mini로 전환 가능합니다.
이미지 기반 확인 및 멈춤 화면 감지 Roborazzi의 AI 기반 이미지 확인 기능을 사용하여 에이전트의 동작이 올바른지 검증하고, 멈춘 경우 복구할 수 있습니다.
MCP(Model Context Protocol) 지원 외부 도구(예: 앱 설치, 로그 가져오기)는 JSON 구성된 서버를 통해 시나리오에서 호출할 수 있습니다.
재사용 가능한 시나리오 GitHub Actions와 유사한 라이브러리 스타일의 "함수"로, 매개변수를 전달해 호출 가능하여 중복을 줄입니다.
Maestro YAML 통합 기존 Maestro 테스트 흐름은 AI가 제어를 인수하기 전의 결정론적 설정 단계로 실행할 수 있습니다.

일반적인 워크플로우

  1. 장치 연결 – 실제 장치 또는 에뮬레이터를 연결하고 Arbigent UI에서 AI 제공자 API 키를 입력합니다.
  2. 시나리오 생성 – 자연어 목표를 입력하거나 기존 Maestro YAML 또는 Android Journeys 파일을 가져옵니다.
  3. 옵션 훅 추가 – 사용자 정의 초기화/정리 코드, MCP 서버 호출, 재사용 가능한 시나리오 호출.
  4. 실행 – UI에서 Run을 클릭하거나 CLI를 호출(arbigent run --project-file myproj.yml).
  5. 검토 – UI는 UI 트리, 스크린샷, AI 생성 액션을 표시하며, 실패는 이미지 확인을 통해 확인할 수 있습니다.

설치 방법

플랫폼 단계
macOS (바이너리) Releases 페이지에서 UI 바이너리를 다운로드. macOS가 차단할 경우 Apple의 "항상 열기" 지침을 따르세요.
CLI brew tap takahirom/homebrew-repo && brew install takahirom/repo/arbigent (Java 17+ 필요).
래퍼 스크립트 버전 고정 래퍼(arbigent wrapper)를 생성하여 첫 실행 시 올바른 릴리스를 다운로드 – CI에서 글로벌 설치 없이 유용합니다.

누구에게 적합한가

역할 이점
QA 엔지니어 코딩 없이 UI 테스트를 작성 가능하며, 자연어로 테스트를 유지보수할 수 있습니다.
개발자 / DevOps CI에서 프로그래밍 실행, 병렬 분할, AI 결과 캐싱, 기존 Maestro/YAML 자산 재사용.
제품 팀 저수준 UI 스크립트를 작성하지 않고도 실제 장치에서 엔드투엔드 흐름을 빠르게 프로토타이핑할 수 있습니다.

강점과 약점 (작가의 설명)

항목 평가 (1–5) 설명
속도 1 LLM 지연과 실제 장치 상호작용으로 제한됨. --shard 병렬 처리와 결과 캐싱으로 완화 가능.
유지보수성 4 자연어 목표와 시나리오 분해로 UI 변경에도 강건함. 재사용 가능한 시나리오로 중복 감소.
활용도 (비용) 1 장치 리소스와 유료 LLM 호출 필요 (GPT-4o 기준 약 $0.005/스텝, $0.02/작업). 재실행 + 백업으로 반복 비용 절감 가능.
신뢰성 3 내장 대기, 대화상자 처리, 재시도 기능 있음. 그러나 에뮬레이터의 불안정성은 실행에 영향.
정밀도 5 실제/에뮬레이터 장치에서 실행 가능하며, 동영상 재생과 같은 시각적 측면도 검증 가능.

라이선스 및 커뮤니티

  • 오픈소스 – 무료로 사용, 수정, 배포 가능. 기여를 환영하며, 재사용 가능한 시나리오를 위한 사양 파일 제공.
  • 지원 – 작가는 스팸 계정이 프로젝트를 위조하고 있다고 경고. 공식 업데이트는 X 계정 @_takahirom_@new_runnable에서 제공.

빠른 시작 예제 (CLI)

# CLI 설치 (Homebrew)
brew tap takahirom/homebrew-repo
brew install takahirom/repo/arbigent

# 저장된 프로젝트 파일 실행
arbigent run --project-file myproject.yml \
    --scenario-ids="login-and-play"

결론 – Arbigent는 LLM 기반 에이전트로 현대의 모바일/웹/TV 앱을 테스트할 수 있도록 설계된 목적 지향 프레임워크로, 시각적 시나리오 작성과 코드 우선 실행의 조합을 제공하며, 커스텀 툴링 및 기존 결정론적 테스트 자산에 대한 훅을 노출합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트