모바일 디바이스에서의 멀티모달 에이젼트의 적용은 더욱더 주목도가 오르고 있다.
일단 모바일 디바이스에서의 실행은 다단계 순차적의 과정인데(multi-step sequential processing)
process 과정의 2가지 과제가 존재한다
1. 지금까지의 과정(operation history)로부터 현재 과정(current task progress)을 이끌어져야(navigate)한다
e.g)현재 화면으로부터 instruction이 다 진행될 때까지 일련의 연속된 실행이 수행되야한다
2. process 중의 몇몇 실행은 지금까지의 스크린안에(history screen) task와 관련된 정보를 사용해야 할 수도 있다
-> 이를 focus content로 정의하고 이 또한 이끌어져야한다.
간단하게 요약하자면 모바일 디바이스에서의 operation task에는 두가지 주요한 navigation 문제가 존재한다는말로
task progress navigation
focus content navigation
이는 주로 긴 시퀸스, 또한 멀티모달(이미지-텍스트 포맷)에서의 성능의 저하로 인한것인데 이를 위해 멀티에이젼트를 통해 이를 해결하고자한다
아키텍쳐(3개의 에이젼트)
planning agent - GPT-4
decision agent - GPT-4V
reflection agent - GPT-4V
"오늘의 날씨를 확인하고 노트앱을 켜서 드레스 가이드를 적어달라는 프롬프트 처리과정
0. 시각 인식 모듈 visual perception module
성능이 뛰어난 MLLM을 사용하더라도 end-to-end 방식으로 처리할 때 화면 인식은 여전히 어려운 과제인데따라서 우리는 화면 인식 능력을 향상시키기 위해 VPM을 통합했다. 이 모듈에서는 세 가지 도구를 활용한다
1. 텍스트 인식 도구 - ConvNextViT-document from ModelScope
2. 아이콘 인식 도구 - GroundingDINO
3. 아이콘 설명 - Qwen-VL-Int4
이 모듈에 스크린샷을 입력하면 최종적으로 화면에 있는 텍스트와 아이콘 정보, 그리고 그들의 각 좌표를 얻게 된다.
1.planning agent
긴 이미지-텍스트 실행 과정(history operation)과 스크린에 대한 요약을 100% 텍스트과정으로 변환해 decision agent에 전달한다. (컨텍스트 길이 줄이기) - task progress navigation를 쉽게만듦
2. decision agent
2.1 메모리 유닛(memory unit)
decision agent가 진행상황에 따라 업데이트함에 따라 중요한 컨텐츠(focus content)에 대한 정보를 유지하기 위해 이에 대한 메모리유닛이 존재한다
오퍼레이션 O를 생성해내고 이를 디바이스에서 실행시킨다. 이와 함께 메모리 유닛 업데이트
Operation space
실행 복잡도를 줄이기 위해 실행공간을 정의해서 오퍼레이션에 이 선택지 안에서만 실행하도록 제한했다
- 앱 열기 (앱 이름). 현재 페이지가 홈 페이지인 경우, 이 작업을 사용하여 "앱 이름"이라는 앱을 열 수 있다.
- 탭하기 (x, y). 이 작업은 좌표 (x, y)의 위치를 탭하는 데 사용된다.
- 스와이프 (x1, y1), (x2, y2). 이 작업은 좌표 (x1, y1)의 위치에서 좌표 (x2, y2)의 위치로 스와이프하는 데 사용된다.
- 입력 (텍스트). 현재 키보드가 활성 상태인 경우, 이 작업을 사용하여 입력란에 "텍스트" 내용을 입력할 수 있다.
- 홈. 이 작업은 어떤 페이지에서든 홈 페이지로 돌아가는 데 사용된다.
- 정지. decision 에이전트가 모든 요구 사항이 충족되었다고 판단하면, 이 작업을 사용하여 전체 작업 과정을 종료할 수 있다.
3. reflection agent
실행에 오류가 있는지를 점검하는데 각각의 실행결과를 관찰하고 에러를 수정한다. (할루시네이션을 줄이기 위함)
3가지 종류의 결과를 생성해낼수있다 R로
- erroneous operation은 기기가 작업과 관련 없는 페이지로 진입하게 만드는 작업을 말합니다. 예를 들어, 에이전트가 메시징 앱에서 연락처 A와 대화하려고 했지만, 실수로 연락처 B의 채팅 페이지를 열게 되는 경우입니다.
- ineffective operation은 현재 페이지에 어떠한 변화도 일으키지 않는 작업을 말합니다. 예를 들어, 에이전트가 아이콘을 탭하려고 했지만, 대신 아이콘 옆의 빈 공간을 탭하게 되는 경우입니다.
- correct operation은 decision 에이전트의 기대에 부합하며 사용자 지시의 요구사항을 충족시키는 단계 역할을 하는 작업을 말합니다.
erroneous operation의 경우, 페이지는 작업 이전 상태로 되돌아간다. ineffective operation의 경우, 페이지는 현재 상태를 유지한다. 에이전트가 이러한 작업들을 따르는 것을 방지하기 위해 오류,비효율적 operation 모두 작업 기록에 기록되지 않는다. correct oepration의 경우, 작업은 작업 기록에 업데이트되고 페이지는 현재 상태로 업데이트된다
결과
mobile agent v2는 단일 에이젼트인 mobile agent v1에 비해 30% 증가된 성능을 보였다.
whatsapp의 안읽은 메시지에 대해 답장을 해줘에 대한 프롬프트에 대한 실행을 수행
유튜브나 틱톡에 특정 검색어로 서칭한 다음 관련 동영상에 코멘트 달기