AI바라기의 인공지능
agent : 논문 리뷰 : AppAgent: Multimodal Agents as Smartphone Users 본문
AppAgent: Multimodal Agents as Smartphone Users 논문 정리 노트
Purpose of the Paper
기존의 large language models (LLMs) 은 주로 text-based 정보에 의존하여 smartphone 앱을 제어하는 데 한계가 있었습니다. 예를 들어, Siri 와 같은 intelligent phone assistants는 system back-end access 및 function calls를 통해 작동하기 때문에, universal applicability가 부족하고 deep system integration으로 인한 security 및 privacy 문제가 발생할 수 있습니다. 이 논문은 multimodal agent framework를 제시하여 LLM이 마치 사람처럼 tapping 및 swiping과 같은 human-like interactions을 통해 smartphone 앱을 직접 조작하도록 하는 것이 목적입니다. 이를 통해 system back-end access 없이도 다양한 앱에 적용될 수 있는 agent를 개발하고, security와 privacy를 강화하며, app interface 변화에도 유연하게 대응할 수 있는 agent를 구현하고자 합니다.
Key Contributions
- Open-source multimodal agent framework: Smartphone 앱 조작에 특화된 action space를 갖춘 multimodal agent framework를 open-source로 공개합니다.
- Innovative exploration strategy: Agent가 새로운 앱을 스스로 학습할 수 있는 혁신적인 exploration strategy를 제안합니다.
- Extensive experiments: 다양한 앱을 대상으로 한 광범위한 실험을 통해 framework의 장점을 검증하고 AI-assisted smartphone app operation 분야에서의 잠재력을 입증합니다.
Novelty
- Human-like interaction: LLM 기반 agent가 system back-end access 없이 tapping, swiping 등 human-like 방식으로 smartphone 앱을 직접 조작합니다.
- Autonomous exploration & human demonstration: Agent는 autonomous exploration 또는 human demonstration observation을 통해 새로운 앱의 interface와 functionality를 학습합니다.
- No parameter adaptation: Pre-trained LLM의 parameter를 fine-tuning하거나 각 앱에 대한 방대한 training data를 수집할 필요 없이, exploration을 통해 생성된 document를 기반으로 앱을 조작합니다.
Experimental Highlights
- Diverse app benchmark: Google Maps, Twitter, Telegram, YouTube, Spotify, Yelp, Gmail, TEMU, Clock, Lightroom 등 10개의 다양한 앱을 포함하는 benchmark를 구축했습니다.
- State-of-the-art multimodal LLM (GPT-4): 실험에 interleaved image-and-text inputs를 효과적으로 처리할 수 있는 GPT-4를 활용했습니다.
- Quantitative & qualitative evaluation: Successful Rate (SR), Reward, Average Steps 등의 지표를 사용한 정량적 평가와 agent의 execution process를 보여주는 정성적 평가를 함께 진행했습니다.
- In-depth case study (Adobe Lightroom): Agent의 visual task 처리 능력을 평가하기 위해 Adobe Lightroom을 이용한 심층 case study를 진행했습니다.
- User study: Image editing 결과에 대한 user study를 통해 agent의 성능을 GPT-4 baseline과 비교했습니다.
Limitations
- Simplified action space: Multi-touch, irregular gestures와 같은 복잡한 조작은 지원하지 않습니다.
- Dependency on visual information: Agent의 성능이 screenshot 품질과 UI element detection 정확도에 영향을 받을 수 있습니다.
Future Work
- Advanced action space: Multi-touch, irregular gestures를 포함한 advanced action space를 개발하여 agent의 적용 범위를 확장할 계획입니다.
- Robustness improvement: Screenshot 품질 저하, UI element detection 오류 등 robustness를 저해하는 요소에 대한 agent의 내성을 강화할 예정입니다.
- Generalization ability: 더 많은 앱과 unseen tasks에 대한 agent의 일반화 능력을 향상시킬 계획입니다.
- Personalization: 사용자 preference와 usage pattern을 고려한 personalized agent를 개발할 수 있습니다.

Figure 1: 스마트폰 App 조작을 위한 multimodal agent framework의 다양한 application. 우리는 10개의 다른 App에 걸쳐 50개의 task에 대한 우리 agent model의 효율성을 평가하여, 실제 상황에서의 적응성과 효율성을 강조합니다.
Abstract
최근 large language models (LLMs)의 발전은 복잡한 작업을 수행할 수 있는 지능형 agent의 생성을 이끌었습니다. 본 논문은 스마트폰 application을 조작하도록 설계된 새로운 LLM 기반 multimodal agent framework를 소개합니다. 우리 framework는 agent가 탭핑 및 스와이핑과 같은 인간과 유사한 상호 작용을 모방하여 단순화된 action space를 통해 스마트폰 application을 조작할 수 있도록 합니다. 이 새로운 접근 방식은 시스템 백엔드 접근에 대한 필요성을 우회하여 다양한 application에 대한 적용 가능성을 넓힙니다.
우리 agent 기능의 핵심은 혁신적인 학습 방법입니다. agent는 자율적인 탐색이나 인간의 시연을 관찰하여 새로운 application을 탐색하고 사용하는 방법을 배웁니다. 이 프로세스는 agent가 다양한 application에서 복잡한 작업을 실행하기 위해 참조하는 knowledge base를 생성합니다. 우리 agent의 실용성을 입증하기 위해, 우리는 소셜 미디어, 이메일, 지도, 쇼핑, 그리고 정교한 이미지 편집 도구를 포함한 10개의 서로 다른 application에서 50개 이상의 task에 대한 광범위한 테스트를 수행했습니다. 그 결과는 우리 agent가 다양한 범위의 high-level task를 처리하는 데 능숙함을 보여줍니다.
1 Introduction
ChatGPT (OpenAI, 2021) 및 GPT-4 (OpenAI, 2023)와 같은 large language models (LLMs)의 등장은 artificial intelligence 및 natural language 처리 분야에서 중요한 이정표를 세웠습니다. 이러한 advanced models은 기계가 인간의 언어를 이해하고 생성하는 방식의 근본적인 변화를 나타내며 이전에는 달성할 수 없었던 수준의 정교함과 다재다능함을 보여줍니다. 이 분야에서 가장 흥미로운 발전 중 하나는 LLMs이 단순한 language processors가 아니라 복잡한 작업을 수행할 수 있는 agents로 기능할 수 있다는 것입니다. 이러한 발전은 AutoGPT (Yang et al., 2023a) 및 MetaGPT (Hong et al., 2023)와 같은 이니셔티브에서 분명하게 나타나며, reasoning, planning 및 collaboration과 같은 고급 인지 기능이 필요한 작업에서 LLMs의 실질적인 application을 보여줍니다. 이러한 발전의 중요성은 아무리 강조해도 지나치지 않습니다. 그 이유는 LLMs의 유용성을 단순한 언어 작업을 넘어 기술과 일상 생활의 다양한 측면을 혁신하기 때문입니다.
그러나 이러한 LLM-based agents의 주요 한계는 텍스트 기반 정보에만 의존한다는 것입니다. 이러한 제약은 역사적으로 환경과의 인식과 상호 작용을 제한했습니다. 최신 버전의 GPT-4와 같이 vision 기능을 갖춘 models의 도입은 중추적인 돌파구를 마련했습니다. visual information을 처리하고 해석하는 능력을 통합함으로써 이러한 models은 이제 텍스트만으로는 전달하기 어렵거나 불가능한 주변 환경의 측면을 이해할 수 있습니다. 이 확장된 기능을 통해 LLMs은 컨텍스트를 해석하고, 패턴을 인식하고, visual cues에 응답할 수 있으므로 세계와 보다 총체적이고 상호 작용적인 경험을 제공합니다.
본 연구에서는 multimodal large language models의 vision capabilities을 활용하여 텍스트 전용 agent로는 이전에 달성할 수 없었던 작업을 수행하는 multimodal agent를 구축하는 데 중점을 둡니다. 특히, 모바일 운영 체제에서 모든 스마트폰 application (App)을 조작하는 agent를 구축하는 흥미롭지만 도전적인 application을 탐구합니다. 우리의 접근 방식은 시스템 백엔드 접근 및 기능 호출을 통해 작동하는 Siri와 같은 기존의 지능형 전화 assistant와는 크게 다릅니다. 대신, 우리 agent는 graphical user interface (GUI)에서 탭핑 및 스와이핑과 같은 low-level operation을 사용하여 인간과 유사한 방식으로 스마트폰 app과 상호 작용합니다. 제안된 agent는 여러 가지 이점을 제공합니다. 첫째, 시스템 백엔드 접근의 필요성을 없애므로 우리 agent는 다양한 application에서 보편적으로 적용 가능합니다. 또한 이 접근 방식은 agent가 심층 시스템 통합을 필요로 하지 않기 때문에 보안 및 개인 정보를 향상시킵니다. 또한, GUI 수준에서 작동함으로써 우리 agent는 app interfaces 및 업데이트의 변화에 적응하여 장기적인 적용 가능성과 유연성을 보장할 수 있습니다.
그러나 다양한 스마트폰 app을 조작할 수 있는 multimodal agent를 만드는 것은 중대한 과제를 제시합니다. 기존 연구에 따르면 embodied tasks를 위해 현재 models을 조정하려면 광범위한 training data가 필요하며, 훈련을 위한 대규모 app 시연 datasets을 수집하는 것은 엄청난 일입니다. 게다가, 서로 다른 app은 고유한 GUI와 다양한 아이콘 의미 및 작동 논리를 가지고 있으며, 이러한 조정된 models이 보이지 않는 app에 효과적으로 generalize할 수 있는지는 불확실합니다.
본 논문에서는 인간 사용자와 같이 모든 스마트폰 app을 조작하는 것을 목표로 하는 multimodal agent framework를 소개합니다. 우리 framework의 학습은 agent가 미리 정의된 actions 집합을 통해 app과 자율적으로 상호 작용하고 그 결과로부터 배우는 탐색 단계를 포함합니다. 이러한 상호 작용은 문서화되어 agent가 app을 탐색하고 조작하는 데 도움이 됩니다. 이 학습 과정은 몇 가지 인간의 시연을 관찰함으로써 가속화될 수 있습니다. 이 탐색 단계를 거치면 agent는 현재 상태를 기반으로 구성된 문서를 참조하여 app을 조작할 수 있으므로 LLMs의 parameters를 조정하거나 각 app에 대한 광범위한 training data를 수집할 필요가 없습니다.
그 효율성을 검증하기 위해, 우리는 소셜 미디어 및 메시징에서 이메일, 지도, 쇼핑, 심지어 복잡한 이미지 편집 app에 이르기까지 10개의 서로 다른 app에서 50개의 task에 대해 우리 agent를 테스트했습니다. 정량적 결과와 사용자 연구 모두 우리 디자인의 이점, 특히 광범위한 application에 대한 적응성, 사용자 친화성, 효율적인 학습 및 조작 기능을 강조합니다. 이는 스마트폰 app 조작 영역에서 다재다능하고 효과적인 도구로서 우리 agent의 잠재력을 강조합니다.
요약하면, 이 논문은 다음과 같은 기여를 합니다:
- 우리는 개발된 action space를 사용하여 스마트폰 application을 조작하는 데 중점을 둔 multimodal agent framework를 open-source화합니다.
- 우리는 agent가 새로운 app을 사용하는 방법을 배울 수 있도록 하는 혁신적인 탐색 전략을 제안합니다.
- 여러 app에 걸친 광범위한 실험을 통해, 우리는 우리 framework의 이점을 검증하여 AI 지원 스마트폰 app 조작 영역에서 그 잠재력을 입증합니다.
1 Introduction 정리 노트 (AI 연구자 대상)
핵심: LLM 기반 multimodal agent를 이용한 스마트폰 App 자동화
기존 LLM agent의 한계:
- 대부분 텍스트 기반 정보에만 의존하여, 환경 인식 및 상호 작용에 한계가 있었음.
- 최근 vision capabilities를 갖춘 models (e.g., GPT-4)의 등장은 이러한 한계를 극복할 가능성을 보여줌.
본 논문에서 제시하는 새로운 접근 방식:
- Multimodal agent framework:
- Vision capabilities를 활용하여, 텍스트 전용 agent로는 불가능했던 작업 수행.
- 스마트폰 App 자동화: agent가 스마트폰 App을 인간처럼 조작하도록 하는, 흥미롭지만 도전적인 application에 초점.
- 인간과 유사한 interaction 방식:
- Siri와 같은 기존 assistant와 달리, 시스템 백엔드 접근 방식이 아님.
- GUI 상에서 탭핑, 스와이핑과 같은 low-level operation을 사용하여, 인간과 유사하게 App과 상호 작용.
- 주요 이점:
- 범용성: 시스템 백엔드 접근이 필요 없으므로, 다양한 App에 적용 가능.
- 보안 및 개인 정보 보호 강화: agent가 시스템에 깊게 통합될 필요가 없음.
- 유연성: GUI 수준에서 작동하기 때문에, App 인터페이스 변화 및 업데이트에 적응 가능.
학습 방식:
- 탐색(exploration) 단계:
- Agent가 미리 정의된 actions 집합을 통해 App과 자율적으로 상호 작용하며, 그 결과로부터 학습.
- 이러한 상호 작용은 문서화되어, agent가 App을 탐색하고 조작하는 데 도움을 줌.
- 인간의 시연을 관찰함으로써 학습 과정 가속화 가능.
- App 조작:
- 탐색 단계 이후, agent는 현재 상태를 기반으로 구성된 문서를 참조하여 App을 조작.
- LLMs의 parameters를 조정하거나, 각 App에 대한 광범위한 training data를 수집할 필요가 없음.
검증:
- 10개의 App에서 50개의 task를 통해 agent 성능 검증.
- 적응성, 사용자 친화성, 효율적인 학습 및 조작 능력을 실험을 통해 입증.
기여:
- 스마트폰 App 조작에 중점을 둔 multimodal agent framework를 open-source화.
- 새로운 App 사용법을 학습할 수 있는 혁신적인 탐색 전략 제안.
결론:
- 본 연구는 LLM 기반 multimodal agent를 활용하여 스마트폰 App을 자동화하는 새로운 framework를 제안함.
- 기존 방식과 달리, 시스템 백엔드 접근 없이, 인간과 유사한 방식으로 App과 상호 작용하며, 범용성, 보안성, 유연성 측면에서 강점을 가짐.
- 실험을 통해, 다양한 App에서 효과적으로 작동함을 입증함.
- AI 기반 스마트폰 App 자동화 분야에 기여할 것으로 기대됨.
2 Related Work
2.1 Large language models
ChatGPT (OpenAI, 2021) 및 GPT-4 (OpenAI, 2023)의 개발은 natural language processing 분야에서 중대한 진전을 보여줍니다. 이전의 large language models (LLMs)과 달리, 이 새로운 models (Touvron et al., 2023a,b; Zeng et al., 2022; Taori et al., 2023; Zheng et al., 2023)은 multi-round conversations을 가능하게 하고 복잡한 지시를 따르는 인상적인 능력을 가지고 있습니다. GPT-4V (Yang et al., 2023b)에 vision capabilities를 통합한 것은 또 다른 이정표이며, language model이 visual data를 처리하고 해석할 수 있도록 합니다. 이러한 추가는 AI application의 잠재적인 범위를 넓혀 GPT-4가 문제 해결, 논리적 추론, 도구 사용, API 호출 및 코딩과 같은 다양한 작업을 수행할 수 있도록 합니다. 최근 연구(Yang et al., 2023c; Yan et al., 2023)에 따르면 GPT-4V는 인기 있는 스마트폰 app의 간단한 user interfaces (UIs)를 포함한 다양한 유형의 이미지를 이해할 수 있습니다. 그러나 app이 새롭고 UIs가 덜 일반적일 때 문제가 발생하며, 이는 우리 연구가 해결하고자 하는 주요 문제입니다. 산업계와 연구계의 open-source 노력 중에서 LLaMA 시리즈(Touvron et al., 2023a,b)가 가장 인기 있는 동등한 제품이며 ChatGPT (Taori et al., 2023; Zheng et al., 2023)와 유사한 decoder-only architecture를 사용하여 대화 능력을 습득하도록 fine-tuned 되었습니다. LLaMA를 기반으로 LLaVA (Liu et al., 2023b,a), ChartLlama (Han et al., 2023), StableLLaVA (Li et al., 2023)와 같은 많은 multimodal LLMs도 GPT-4V와 유사한 vision 이해 능력을 보여줍니다. 그럼에도 불구하고 이러한 open-source models과 GPT-4V 사이에는 성능 격차가 여전히 존재하며, 이는 추가 개발의 잠재적인 영역을 시사합니다.
2.2 LLMs as agents
복잡한 task를 실행하기 위한 agents로서의 LLMs의 사용이 점점 더 주목을 받고 있습니다. AutoGPT (Yang et al., 2023a), HuggingGPT (Shen et al., 2023), MetaGPT (Hong et al., 2023)와 같은 프로젝트는 이러한 경향을 보여주며, 많은 프로젝트가 단순한 language tasks를 넘어 소프트웨어 개발 (Qian et al., 2023; Chen et al., 2021) 및 게임 (FAIR et al., 2022; Park et al., 2023; Xu et al., 2023)과 같이 더 높은 인지 기능을 요구하는 활동에 참여하는 인상적인 능력을 보여줍니다. 이러한 맥락에서 Yao et al.(Yao et al., 2023)은 LLMs의 reasoning과 acting을 synergize하는 혁신적인 접근 방식을 도입하여 의사 결정 및 대화형 능력을 크게 향상시킵니다. LLM-based agents는 LLMs의 고급 언어 및 reasoning skills을 활용하여 환경(Liu et al., 2023c; Gur et al., 2023; Xie et al., 2023)과 상호 작용하고 조작하도록 설계되었습니다. 여기에는 컨텍스트를 이해하고, 결정을 내리고, 상호 작용(Xi et al., 2023; Hu and Shu, 2023)으로부터 학습해야 하는 task를 수행하는 것이 포함됩니다. 이러한 agents는 인간과 같은 인지 능력이 필수적인 application에서 중추적인 역할을 합니다.
텍스트, 이미지, 오디오, 비디오를 포함한 다양한 입력을 처리할 수 있는 multimodal LLM agents (Wang et al., 2023; Furuta et al., 2023; Brohan et al., 2022, 2023; Reed et al., 2022)의 등장은 LLM applications의 범위를 더욱 넓혔습니다. 이러한 다재다능함은 LLM-based agents에게 특히 유익하며, 물리적 세계에서 가사 작업을 완료(Ahn et al., 2022)하거나, 절차적 도구 사용을 통해 3D 자산을 생성(Sun et al., 2023)하거나, 동시에 서로 다른 domains에서 600개 이상의 task를 마스터(Reed et al., 2022)하는 등 환경과 보다 효과적으로 상호 작용하고 더 복잡한 task를 완료할 수 있도록 합니다. 우리의 연구는 스마트폰 application을 조작하도록 설계된 agent에 중점을 두어 이 분야에 기여합니다. 운영 체제에서 스크린샷을 해석하는 이 agent의 능력은 유연성과 적응성을 보여주며 광범위한 application에서 유용한 도구로 만듭니다.

Figure 2: 스마트폰 application을 조작하도록 설계된 multimodal agent framework의 개요. 이 그림은 우리 framework의 2단계 접근 방식을 보여줍니다. 탐색(exploration) 단계에서 agent는 스마트폰 application과 상호 작용하고 그 결과로부터 학습하여 포괄적인 참조 문서를 생성합니다. 배포(deployment) 단계에서 agent는 이 문서에 수집된 정보를 활용하여 app을 효과적으로 조작하고 탐색합니다.
2 Related Work 정리 노트 (AI 연구자 대상)
핵심: LLMs as agents 연구 동향 및 본 논문과의 차별성
2.1 Large Language Models:
- 최근 동향:
- Multi-round conversation 및 복잡한 지시를 따를 수 있는 LLMs (e.g., ChatGPT, GPT-4) 등장.
- GPT-4V는 vision capabilities를 통합하여, visual data 처리 및 해석 가능. 이를 통해 AI applications 범위 확장.
- Open-source LLMs:
- LLaMA 시리즈는 ChatGPT와 유사한 decoder-only architecture를 사용하며, conversational abilities를 갖도록 fine-tuned됨.
- LLaMA 기반 multimodal LLMs (e.g., LLaVA, ChartLlama, StableLLaVA)은 vision understanding capabilities를 보임.
- 한계: Open-source models은 GPT-4V 대비 성능 격차 존재.
- 본 논문과의 연관성:
- GPT-4V는 일반적인 UI는 이해 가능하나, 새롭고 덜 일반적인 UI는 이해에 어려움을 겪음.
- 본 논문은 이러한 한계를 해결하고자 함.
2.2 LLMs as Agents:
- 최근 동향:
- LLMs를 복잡한 task를 실행하는 agents로 활용하는 연구 증가 (e.g., AutoGPT, HuggingGPT, MetaGPT).
- LLMs의 reasoning 및 acting 능력을 결합하여, 의사 결정 및 대화형 능력 향상에 대한 연구 진행.
- Multimodal LLM agents 등장:
- 텍스트, 이미지, 오디오, 비디오 등 다양한 입력을 처리 가능.
- 환경과 효과적으로 상호 작용하고, 더 복잡한 task 수행 가능 (e.g., 가사 작업, 3D 자산 생성, 다양한 domains의 task 숙달).
- 본 논문과의 차별성:
- 본 논문은 스마트폰 App 조작에 특화된 agent에 집중.
- 운영 체제의 스크린샷을 해석하여, 유연성과 적응성을 갖춘 agent를 개발.
- 기존 연구들이 LLMs의 일반적인 agent화에 초점을 맞춘 반면, 본 논문은 스마트폰 App 조작이라는 구체적이고 실용적인 application에 집중.
결론:
- 본 논문은 LLMs as agents 연구의 연장선에 있으나, 스마트폰 App 조작에 특화된 multimodal agent를 제안한다는 점에서 차별성을 가짐.
- 특히, 새롭고 덜 일반적인 UI를 가진 App도 조작 가능하도록 하는 데 중점을 둠.
- 시스템 백엔드 접근 없이, 스크린샷 해석을 통해 App을 조작하는 유연하고 적응성 있는 agent를 개발하고자 함.
3 Method
이 섹션에서는 우리의 혁신적인 multimodal agent framework의 기반이 되는 방법론에 대해 자세히 설명합니다. 이 framework는 agent가 인간의 행동과 유사한 방식으로 smartphone application과 상호 작용할 수 있도록 합니다. 먼저 시스템의 기본 요소인 실험 환경과 action space에 대해 설명합니다. 다음으로, agent가 자율적인 상호 작용을 통해 또는 인간의 시연을 관찰함으로써 app 기능을 학습하는 탐색(exploration) 단계에 대해 설명합니다. 마지막으로, agent가 획득한 지식을 적용하여 high-level tasks를 실행하는 방법을 설명하는 배포(deployment) 단계를 간략하게 설명합니다.
3.1 Environment and Action Space
Experimental Environment: 우리의 실험 환경은 agent가 smartphone app과 상호 작용할 수 있도록 하는 command-line interface (CLI)를 기반으로 합니다. 우리는 실험을 위해 Android 운영 체제를 선택했습니다. agent는 두 가지 주요 입력을 받습니다: app의 interface를 보여주는 실시간 스크린샷과 상호 작용 가능한 요소를 자세히 설명하는 XML 파일입니다. 이러한 요소를 원활하게 식별하고 상호 작용하는 agent의 능력을 향상시키기 위해, 각 요소에 고유 식별자를 할당합니다. 이러한 식별자는 XML 파일의 resource ID에서 가져오거나(제공된 경우) 요소의 class name, size 및 content를 결합하여 구성됩니다. 이러한 요소는 스크린샷에 반투명 숫자로 오버레이됩니다. 이를 통해 agent는 화면의 정확한 위치를 지정할 필요 없이 정확하게 상호 작용할 수 있으며, 전화기를 제어하는 agent의 정밀도를 향상시킵니다.
Action Space: 우리 agent의 action space는 스마트폰과의 일반적인 인간 상호 작용을 반영합니다: 탭과 스와이프. 우리는 네 가지 기본 기능을 설계했습니다:
- Tap(element : int) : 화면에 번호가 매겨진 UI 요소를 탭하는 것을 시뮬레이션합니다. 예를 들어, tap(5)는 '5'로 표시된 요소를 탭합니다.
- Long_press(element : int) : UI 요소를 길게 누르는 것(1초 동안)을 에뮬레이트합니다.
- Swipe ( element : int, direction : str, dist : str): agent가 지정된 방향(위, 아래, 왼쪽, 오른쪽)과 거리(짧게, 중간, 길게)로 요소를 스와이프할 수 있도록 합니다. 예를 들어, swipe(21, “up”, “medium”)은 '21' 요소를 중간 거리만큼 위로 스와이프합니다.
- Text(text : str) : 비효율적인 가상 키보드 타이핑을 우회하기 위해, 이 기능은 가상 키보드가 보일 때 입력 필드에 텍스트를 직접 입력합니다. 예를 들어, text(“Hello, world!”)는 "Hello, world!"라는 문자열을 입력합니다.
- Back() : agent가 이전 UI 페이지로 돌아갈 수 있도록 돕는 시스템 수준 기능으로, 특히 관련 없는 페이지를 종료하는 데 유용합니다.
- Exit() : 프로세스를 종료하는 데 사용되는 특수 기능으로, 일반적으로 작업이 성공적으로 완료되면 호출됩니다.
이러한 predefined actions은 특히 language models가 정확하게 예측하는 데 어려움을 겪을 수 있는 정확한 화면 좌표의 필요성을 제거하여 agent의 상호 작용을 단순화하도록 설계되었습니다.
3.2 Exploration Phase
Exploring by autonomous interactions: Exploration Phase는 우리 framework의 핵심입니다. 여기서 agent는 시행착오를 통해 smartphone app의 기능과 특징에 대해 학습합니다. 이 단계에서 agent는 task를 할당받고 UI 요소와 자율적으로 상호 작용하기 시작합니다. 다양한 action을 사용하고 app interface의 결과적인 변화를 관찰하여 작동 방식을 이해합니다. large language model에 의해 구동되는 agent는 각 action 전후의 스크린샷을 분석하여 UI 요소의 기능과 특정 action의 효과를 파악하려고 시도합니다. 이 정보는 다양한 요소에 적용된 action의 효과를 기록하는 문서로 컴파일됩니다. UI 요소를 여러 번 조작하면 agent는 품질을 개선하기 위해 과거 문서와 현재 관찰을 기반으로 문서를 업데이트합니다. 탐색을 보다 효율적으로 만들기 위해, agent는 현재 UI 페이지가 광고 페이지와 같이 app의 주요 task와 관련이 없는 것으로 보이면 UI 요소 탐색을 더 이상 진행하지 않습니다. 이러한 경우 Android 시스템의 Back() 기능을 사용하여 이전 UI 페이지로 돌아갑니다. Depth-First Search 및 Breadth-First Search와 같은 무작위 탐색과 비교할 때, 이러한 goal-oriented exploration 접근 방식은 agent가 app의 효과적인 작동에 중요한 요소에 집중하도록 합니다. agent는 또한 탐색 효율성을 개선하기 위해 LLM의 user interfaces에 대한 기존 지식을 활용합니다. agent가 할당된 task를 완료하면 탐색이 중지됩니다.
Exploring by watching demos: 대안적이며 종종 더 효과적인 탐색 방법은 agent가 인간의 시연을 관찰하는 것입니다. 이러한 시연은 agent에게 효율적인 app 사용의 예를 제공하며, 특히 자율적인 상호 작용을 통해 발견하기 어려울 수 있는 복잡한 기능을 이해하는 데 유용합니다. 이 방법에서 인간 사용자는 app을 조작하고 agent는 인간이 사용하는 요소와 action만 기록합니다. 이 전략은 탐색 공간을 좁히고 agent가 관련 없는 app 페이지에 참여하는 것을 방지하여 자율적인 상호 작용에 비해 보다 간소화되고 효율적인 접근 방식을 만듭니다.
3.3 Deployment Phase
탐색(exploration) 단계를 거친 후, agent는 축적된 경험을 바탕으로 복잡한 task를 실행할 준비가 잘 되어 있습니다. agent는 task가 주어지면 단계별 접근 방식을 따르며, 각 단계는 현재 UI의 스크린샷과 UI 요소의 기능 및 현재 UI 페이지에 대한 action의 효과를 자세히 설명하는 동적으로 생성된 문서에 대한 접근을 포함합니다. prompts는 또한 사용 가능한 모든 action에 대한 자세한 설명을 제공합니다. 각 단계에서 agent는 먼저 현재 UI에 대한 관찰을 제공한 다음 task 및 현재 관찰에 관한 사고 과정을 명확히 표현해야 합니다. 그 후 agent는 사용 가능한 기능을 호출하여 action을 실행합니다. 각 action 후 agent는 상호 작용 기록과 현재 단계에서 수행된 action을 요약합니다. 이 정보는 agent에게 일종의 memory를 제공하는 다음 prompt에 통합됩니다. 이 꼼꼼한 접근 방식은 agent의 action에 대한 신뢰성과 해석 가능성을 향상시켜 보다 정보에 입각한 의사 결정을 용이하게 합니다. 배포(deployment) 단계는 agent가 task가 완료되었다고 판단하면 중지되며, 이 시점에서 agent는 Exit() action을 취하여 프로세스를 종료할 수 있습니다.
핵심: Human-like interaction을 통한 Multimodal Agent의 스마트폰 App 조작 Framework
3.1 Environment and Action Space:
- 실험 환경:
- CLI 기반 Android 환경: Agent는 CLI를 통해 스마트폰 App과 상호 작용.
- 입력:
- 실시간 스크린샷: App interface 시각 정보 제공.
- XML 파일: 상호 작용 가능한 요소 (e.g., 버튼, 텍스트 필드)에 대한 정보 제공.
- 고유 식별자: 각 UI 요소에 고유 ID 할당 (XML의 resource ID 또는 class name, size, content 조합)하여, 정확한 interaction 지원.
- 시각적 보조: 스크린샷 위에 UI 요소 ID를 반투명 숫자로 오버레이하여, agent의 정밀한 interaction 보조.
- Action Space:
- 인간의 스마트폰 interaction 모방: Tap, Long press, Swipe, Text 입력, Back, Exit 등 6가지 기본 action 정의.
- 좌표 불필요: UI 요소의 ID를 기반으로 action을 수행하므로, 정확한 화면 좌표 예측 불필요 (이는 LLMs에게 어려운 task).
- Text() 함수: 가상 키보드를 통한 입력 대신, 직접 텍스트 입력을 제공하여 효율성 향상.
- Back() 함수: 이전 UI로 돌아갈 수 있도록 시스템 레벨 함수 제공.
- Exit() 함수: 프로세스 종료 기능.
3.2 Exploration Phase (핵심)
- 목표: Agent가 새로운 App의 기능과 조작 방법을 자율적으로 학습하여, "Doc for App" (지식 베이스) 을 구축.
- 두 가지 탐색 방식:
- Autonomous Exploration:
- Trial-and-error: Agent가 다양한 action을 시도하고, 그 결과 (UI 변화)를 관찰하여 App 작동 방식 학습.
- Large Language Model (LLM) 기반: Action 전후 스크린샷을 분석하여, UI 요소의 기능과 action의 효과 추론.
- Goal-oriented: 단순 무작위 탐색 (e.g., DFS, BFS) 대신, App의 주요 task와 관련된 UI 요소에 집중.
- LLM의 UI에 대한 사전 지식 활용: 탐색 효율성 향상.
- Dynamic Document Update: UI 요소에 대한 action 결과 기록을 지속적으로 "Doc for App"에 업데이트.
- Back()을 이용한 탐색 범위 제한: 광고 페이지와 같이 주요 task와 관련 없는 UI 페이지는 추가 탐색 중지.
- Task 완료 시 탐색 종료.
- Exploration by Watching Demonstrations:
- Human demonstration 관찰: Agent가 인간 사용자의 App 사용을 관찰하며 학습.
- 효율성: Agent는 인간이 사용하는 UI 요소와 action만 기록하므로, 탐색 공간이 줄어들어 더 효율적.
- 복잡한 기능 학습에 유리: 자율 탐색으로 파악하기 어려운 기능 학습에 효과적.
- Autonomous Exploration:
3.3 Deployment Phase:
- "Doc for App" 활용: Exploration 단계에서 구축한 "Doc for App"을 기반으로, 사용자 task 수행.
- 단계별 접근 방식:
- Observe: 현재 UI 스크린샷 관찰.
- Think: "Doc for App"을 참조하여, 현재 UI와 task에 맞는 action 계획.
- Act: 계획된 action 수행.
- Summarize: 수행 결과 요약 및 "Doc for App" 업데이트 (필요 시).
- Prompt에 정보 제공: 각 단계마다 현재 UI 스크린샷, "Doc for App" (동적 생성), 사용 가능한 action 설명 등을 prompt에 포함.
- Memory: 이전 단계의 요약 정보를 다음 prompt에 통합하여, agent에게 일종의 memory 제공.
- Interpretability: 단계별 접근 및 상세한 prompt 제공으로, agent의 action에 대한 신뢰성과 해석 가능성 향상.
- Task 완료: Agent가 task 완료를 판단하면, Exit() action을 통해 프로세스 종료.
결론:
- 본 논문은 인간과 유사한 interaction (Tap, Swipe 등)을 통해, 스마트폰 App을 조작하는 multimodal agent framework를 제안.
- Autonomous Exploration 또는 Human Demonstration 관찰을 통해, 새로운 App의 기능과 조작 방법을 학습하는 Exploration Phase가 핵심.
- 학습된 정보는 "Doc for App" 에 저장되며, Deployment Phase에서 RAG와 유사하게 활용되어 사용자 task를 수행.
- 좌표 기반 interaction의 한계를 극복하고, 단계별 접근 방식을 통해 agent의 action에 대한 신뢰성과 해석 가능성을 높임.
