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가 제어를 인수하기 전의 결정론적 설정 단계로 실행할 수 있습니다. |
일반적인 워크플로우
- 장치 연결 – 실제 장치 또는 에뮬레이터를 연결하고 Arbigent UI에서 AI 제공자 API 키를 입력합니다.
- 시나리오 생성 – 자연어 목표를 입력하거나 기존 Maestro YAML 또는 Android Journeys 파일을 가져옵니다.
- 옵션 훅 추가 – 사용자 정의 초기화/정리 코드, MCP 서버 호출, 재사용 가능한 시나리오 호출.
- 실행 – UI에서 Run을 클릭하거나 CLI를 호출(
arbigent run --project-file myproj.yml).
- 검토 – 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 앱을 테스트할 수 있도록 설계된 목적 지향 프레임워크로, 시각적 시나리오 작성과 코드 우선 실행의 조합을 제공하며, 커스텀 툴링 및 기존 결정론적 테스트 자산에 대한 훅을 노출합니다.
관련
- 프로젝트
plurai-ai/intellagent수천 개의 현실적인 엣지 케이스 상호작용을 시뮬레이션하여 대화형 AI 에이전트를 스트레스 테스트하고, 실패 지점을 찾아 성능을 최적화하는 멀티 에이전트 프레임워크.
- 프로젝트
wecode-ai/Wegent로컬 데스크탑 워크벤치와 클라우드 에이전트, 원격 머신을 통합한 오픈소스 AI 작업 시스템으로, 협업형 AI 기반 코딩과 작업 실행을 가능하게 합니다.
- 프로젝트
Core-Mate/OpenGUI실기기에서 작동하는 안드로이드용 모바일 GUI 에이전트 프레임워크로, AI 에이전트가 앱 인터페이스를 인식하고 조작하여 장시간 지속되는 자동화 워크플로우를 가능하게 합니다.
- 프로젝트
microsoft/autogenAutoGen은 레이어드되고 확장 가능한 아키텍처를 통해 에이전트가 자율적으로 동작하거나 인간과 협업할 수 있는 멀티 에이전트 AI 애플리케이션을 만들기 위한 프레임워크입니다.
- 프로젝트
google/adk-webAI 에이전트의 구축, 디버깅 및 오케스트레이션을 간소화하는 Google Agent Development Kit용 개발자 UI입니다.