프로젝트 로그 #16: 에이전트의 작동을 방해하던 앱 전환 문제를 해결하다
요약
본 글은 에이전트가 여러 앱을 거치는 복잡한 워크플로우를 구현하는 과정에서 발생했던 기술적 문제 해결 과정을 다룹니다. 핵심 개선 사항으로, 앱 전환 시마다 홈 화면 초기화(Home Screen Reset) 로직을 추가하여 안정성을 높였습니다. 다만, OCR 기반 금융 데이터 처리의 신뢰성 부족과 속도 저하 문제가 여전히 남아있어 다음 목표로 설정했습니다.
핵심 포인트
- 앱 간 워크플로우 불안정성 해결을 위해 홈 화면 초기화(Home Screen Reset) 로직 도입
- 에이전트가 여러 앱을 거치는 다중 작업 수행 능력을 입증함
- OCR 기반 금융 데이터는 신뢰성이 낮아 별도의 검증 단계가 필수적임
- 앱 전환 안정성을 높이기 위해 `adb shell input keyevent KEYCODE_HOME` 사용
Day 16. 이제 에이전트는 앱 간에 홈 화면으로 초기화됩니다. 세 개의 앱을 거치는 워크플로우가 작동합니다.
Day 15는 이정표였습니다. 제 에이전트가 첫 번째 다중 앱 작업을 완료했습니다. 은행 잔액을 복사하여 WhatsApp으로 엄마에게 보냈습니다. 두 개의 앱, 하나의 작업입니다.
하지만 내부적으로는 불안정했습니다. 에이전트는 때때로 잘못된 화면의 앱을 열었습니다. 은행 앱은 새로 시작하는 대신 이전에 멈췄던 곳부터 재개되었습니다. 이전 앱의 알림이 새 앱을 가리기도 했습니다. 작업은 작동했지만—가끔만 그랬습니다.
오늘, 저는 기반을 고쳤습니다.
홈 화면 초기화 (The Home Screen Reset)
모든 앱 전환 사이에 에이전트는 이제 먼저 홈 화면으로 돌아갑니다. 간단한 adb shell input keyevent KEYCODE_HOME 명령입니다. 하지만 이것은 일련의 문제를 해결합니다.
초기화 전에는 다음과 같은 일이 발생했습니다:
- 에이전트가 은행 앱을 엽니다. 잔액을 읽습니다. ✅
- 에이전트가 WhatsApp을 엽니다. 하지만 WhatsApp은 이미 다른 채팅에서 백그라운드에서 열려 있었습니다. ❌
- 에이전트는
세 개의 앱. 하나의 작업. 일곱 번의 성공적인 단계.
여전히 문제가 되는 부분 (What Still Breaks)
은행 앱 OCR(광학 문자 인식)은 여전히 신뢰성이 떨어집니다. 10번 중 2번 테스트에서 에이전트가 잔액의 숫자를 잘못 읽었습니다. 한 테스트에서는 '₦15,000'을 '₦15,000'으로, 다른 테스트에서는 '₦15,000'을 '₦15,000'으로 읽었지만—실패한 경우에는 '₦15,000'을 '₦15,000'으로 읽거나 아예 숫자를 놓쳤습니다. 엄마에게 잔액을 보내는 것이라면 오타입니다. 돈을 이체하는 것이라면 재앙입니다.
저는 금융 데이터에 대한 별도의 검증 단계가 필요합니다. 메모리에 저장하기 전에 OCR 출력을 이중으로 확인하는 무언가가요. 이것이 다음 넘어야 할 벽입니다.
홈 화면 초기화는 앱 전환 사이에 약 1.5초를 추가합니다. 3개 앱 작업의 경우, 이는 4.5초의 추가 시간입니다. 치명적인 문제는 아니지만 눈에 띕니다. 저는 홈 리셋 대신 adb shell am force-stop을 사용하는 실험을 하고 있습니다—이것이 더 깔끔하지만 시간이 더 걸립니다.
다음 계획 (Day 17)
- 금융 데이터 검증 단계 추가
- 5개 앱 워크플로우 테스트
- 전체 파이프라인 데모 비디오 제작 시작
저장소 (The Repo)
👉 github.com/Dexter2344/phone-agent
agent.py에 이제 앱 전환 사이에 go_home()이 포함되었습니다. 작업 메모리가 다중 앱 데이터 전송을 처리합니다. README가 업데이트되었습니다.
오늘은 Day 16입니다. 기반은 탄탄합니다. 벽들이 세워지고 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기