1. 초록
MAI-UI는 Tongyi-MAI(통이 연구소)에서 오픈소스로 만든 범용 GUI 에이전트 베이스이자 지원 코드로, "화면을 보고, 지시를 이해하며, 인터페이스를 조작하는 자동화된 작업을 목표로 합니다." 이 프로젝트는 실제 배포에 필요한 세 가지 기능을 강조합니다: 사용자와의 적극적 명확화 상호작용(ask_user), MCP를 통한 외부 도구 호출(mcp_call), 그리고 디바이스-클라우드 협업 실행 아키텍처(프라이버시 및 비용 제약 하에서 온프레미스/클라우드 추론의 동적 선택). 공식 기술 보고서는 동시에 공개되었고, MAI-UI-2B 및 MAI-UI-8B 가중치는 오픈 소스로 제공되어 개발자들이 Tell Zhishi 형태의 OpenAI 호환 API에 더 쉽게 접근할 수 있도록 했습니다.
2. 핵심 특징
- GUI 접지: 자연어 명령을 화면 타겟 제어 좌표에 매핑하며, 이는 "어디를 클릭하거나 어떤 버튼을 찾을지"라는 기본 기능에 사용됩니다.
- 모바일 GUI 내비게이션: 클릭, long_press, 타이핑, 스와이프, 드래그, system_button, 대기, 종료, 응답 등 다양한 작업 공간을 지원하며, 다단계 작업 실행을 지원합니다.
- 네이티브 사용자 상호작용: 명령어에 정보가 부족하거나 모호성이 있을 때, 에이전트는 객체, 시간, 계정, 확인 권한 등 주요 제약 조건을 완료하기 위해 적극적으로 질문할 수 있습니다.
- MCP 도구 개선: "순수 UI 작업" 외에도, 지도, 검색, 시스템 기능 등 단계 길이와 취약성을 줄이기 위한 도구/API 기능을 도입합니다.
- 디바이스-클라우드 협업 및 프라이버시: 작업의 상태와 민감한 정보 판단을 통해 성능, 비용, 프라이버시 위험을 고려하여 로컬 간 실행을 라우팅합니다.
3. 설치
1. 클론 코드: git clone https://github.com/Tongyi-MAI/MAI-UI.git && cd MAI-UI
2. 모델 서비스 시작 (vLLM 권장): vllm>=0.11.0 및 transformers>=4.57.0을 설치하고, OpenAI 호환 API를 사용해 서비스를 시작합니다(예시 참조: 저장소 README 참조).
3. 설치 프로젝트 의존성: pip install -r requirements.txt
4. 노트북 실행: cookbook/에 가서 grounding.ipynb(위치 예시)와 run_agent.ipynb(내비게이션 에이전트 예시)를 사용해 vLLM 서비스 주소를 가리키llm_base_url.
4. 일반적인 사용 사례
- "티켓 확인-그룹화-일정 변경-@同事确认" 및 기타 장거리 다중 애플리케이션 협업 작업과 같은 크로스 앱 거래 자동화.
- 모바일 어시스턴트: 안드로이드 환경에서 "설정, 검색, 채우기, 제출"과 같은 다단계 프로세스를 수행합니다.
- 제품 및 운영 품질 검사: 앱의 핵심 경로(버튼 도달 가능성, 경로가 끊어졌는지 여부)의 자동 회귀 및 작동성 감지.
- 도구 강화 작업: UI와 도구(내비게이션/POI/일정 설정 등)를 혼합하여 순수 클릭으로 인한 누적 오류를 줄입니다.
- 장치 측 우선순위 시나리오: 약한 네트워크/높은 프라이버시 작업은 먼저 로컬에서 실행되고, 필요 시 복잡한 단계를 처리하기 위해 클라우드로 전환합니다.
5. 생태와 경쟁 제품
- 생태 벤치마크: MAI-UI 평가 및 논의는 종종 ScreenSpot-Pro, OSWorld, AndroidWorld 같은 벤치마크와 연관되어 있습니다. 팀은 또한 MobileWorld를 오픈소스화했는데, 이는 더 현실적인 영역(크로스 앱, 사용자 상호작용, MCP 향상 작업 포함)입니다.
- 인접 방향: UI-TARS, UI-INS, GUI-ACTOR, OS-Atlas 등도 GUI 위치 선정과 운영에 집중하지만, "상호작용 명확화, 도구 호출, 장치-클라우드 협업" 같은 착지 요소의 통합 방법은 다릅니다. 선택 권고는 환경(모바일/데스크톱/웹), 사용 가능한 도구, 개인정보 보호 준수, 비용 예산을 기준으로 합니다.
6. 제한 및 주의사항
- SOTA/지표 출처: 공개 등급은 보통 논문이나 보고서에서 설정된 평가와 설정에서 나오며, 애플리케이션/프로세스로 이전할 때도 검증이 필요합니다.
- 긴 링크 오류 누적: UI 작업 단계가 길수록 더 취약하므로, 도구 호출, 제약 조건 명확화, "핵심 단계 확인"에 우선순위를 두는 것이 권장됩니다.
- 환경 의존성: 해상도, 테마, 언어, 애니메이션, 팝업 등이 위치 선정과 실행 안정성에 큰 영향을 미칩니다.
- 권한 및 준수: 계정, 결제, 개인정보 보호와 관련된 작업은 명시적으로 승인되어야 하며, 자동화된 과잉 사용을 방지하기 위해 로그를 감사해야 합니다.
- 연산 능력과 지연 시간: 2B/8B는 개발 및 엣지 추론에 더 적합합니다; 보고서에서 언급한 대형 모델과 같은 대형 포맷은 더 많은 컴퓨팅 파워와 더 복잡한 배포가 필요합니다.
7. 프로젝트 주소
https://github.com/Tongyi-MAI/MAI-UI
8. 자주 묻는 질문
Q: MAI-UI-2B와 MAI-UI-8B 중 어떻게 선택하나요?
A: 2B는 더 가볍고 빠른 검증 기능을 제공합니다; 8B는 보통 복잡한 지시 이해와 다단계 작업에 더 안정적이며, 실제로 기기와 작업 성공률 테스트를 기반으로 합니다.
Q: MAI-UI는 어떻게 vLLM을 사용해 OpenAI 호환 인터페이스로 배포하나요?
A: 저장소 README를 눌러 vllm.entrypoints.openai.api_server를 실행하고, --model, --served-model-name, 포트, 병렬 매개변수를 설정한 후 노트북/앱에서 주소를 가리키llm_base_url 있습니다.
Q: MAI-UI가 MCP 툴 호출(mcp_call)을 지원하나요?
A: 프로젝트는 확장 작업의 일부로 MCP를 사용합니다; MCP 서버를 자체 스택에 배포/구성하고, 에이전트가 실행 중일 때 해당 기능을 활성화해야 합니다.
Q: 왜 MAI-UI가 ask_user 필요한가요? (사전 질문 명확화)
A: 실제 명령어는 종종 주요 제약 조건(객체, 범위, 확인 단계)이 없으며, 적극적인 명확화는 실수를 줄이고 작업 완료율을 높일 수 있습니다.
Q: MAI-UI를 오프라인에서 사용할 수 있고 최종 측에서 실행할 수 있나요?
A: 추론 서비스는 로컬에서 시작해 오프라인으로 실행할 수 있지만, 장치 측 기능은 모델 크기, 장치 컴퓨팅 성능, 작업 복잡성에 따라 달라집니다. 민감한 정보가 관련될 경우, 최종 실행 우선순위를 두고 권한 제어에 가입하는 것이 권장됩니다.