개인 GUI 에이전트의 과거 이력은 검색이 아니라 결정 시점에 활성화해야 쓸모가 있다
Relevance Does Not Imply Applicability: Experience Activation for Personal GUI Agents
무엇인가
개인 GUI 에이전트는 사용자 기기에서 앱을 조작하며, "평소 마시던 커피 주문해줘"처럼 앱도 음료도 가게도 말하지 않는 지시를 과거 상호작용 이력으로 메워야 한다. 기존 방식은 과거 기록 중 과제와 관련 있는 것을 검색해 정책의 컨텍스트에 덧붙인다. 이때 암묵적으로 과제 수준의 관련성이 그 과제 안의 각 결정에서도 유용하다고 가정한다. 이 논문은 그 가정이 틀렸다고 말한다. 관련성은 과제 수준에서 정해지지만 적용 가능성은 결정하는 순간의 상황에 달려 있다는 것이다.
어떻게 동작하나
저자들의 진단은 구체적이다. 검색된 이력은 에피소드의 첫 결정, 즉 에이전트가 어느 앱으로 갈지 정하는 단계를 크게 개선하지만 나머지 90% 단계에서는 지속적인 이득을 거의 주지 못한다. 지시는 고정되어 있는데 화면은 매 단계 바뀌기 때문이다. 검색된 궤적은 어디서 시작할지는 알려주지만 지금 이 화면에 어떤 과거 행동이 맞는지는 알려주지 못한다. 선제적 제안도 같은 문제를 겪는다. 같은 루틴이 오전 8시 집에서도, 저녁 통근길에서도 검색될 수 있지만 적절한 것은 전자뿐이다. 루틴을 시간과 시나리오로 정리하는 방법조차 그 루틴이 지금 적용되는지는 정책이 판단하도록 남겨둔다.
무엇과 다른가
그래서 이 논문은 개인화를 검색 문제가 아니라 경험 활성화 문제로 다시 정의하고, 학습이 필요 없는 프레임워크 ExpActivator를 제안한다. 활성화는 두 층위에서 일어난다. 단계 수준 활성화는 실행 중에 매 화면을 동결된 GUI 백본의 잠재 공간에서 과거 상태와 매칭하고, 그 상태에 연결된 행동을 참조로 제공한다. 매칭은 인터페이스가 바뀔 때마다 다시 계산된다. 과제 수준 활성화는 실행 전에 현재 시간과 시나리오가 충분히 뒷받침할 때만 반복 의도를 활성화하고, 그렇지 않으면 아무 제안도 하지 않는다.
어떻게 쓰나
단계 수준의 절차는 이렇다. 먼저 텍스트 인코더로 지시 q와 과거 목표의 유사도 α_i(q)를 구해 상위 K개 궤적 C_u(q)로 후보를 좁힌다. 이때 목표 문자열에서 선행 앱 이름 구문은 제거해 과제 내용만 남긴다. 화면 표현 φ(s)는 백본의 풀링된 토큰 블록들을 과거 캘리브레이션 이미지 평균으로 중심화하고 L2 정규화한 뒤 1/√B로 이어 붙여 만든다. 호환도는 이 블록별 코사인 유사도의 평균이고, 후보 궤적과 그 안의 국소 상태 전체에 대해 최댓값을 취해 (궤적, 스텝)을 고른다. 선택된 기록 행동은 정책의 참조 형식으로 직렬화되어, 정책은 지시·현재 화면·직전 행동·참조를 함께 보고 행동을 생성한다. 참조는 강제 명령이 아니라 참고일 뿐이며, 후보 궤적 집합은 과제 내에서 고정이지만 선택되는 스텝은 관측마다 다시 계산된다. 과제 수준에서는 의도 임베딩으로 루틴 이웃을 만들고, 시나리오 일치 여부와 24시간 순환 거리에 대한 가우시안으로 지원도 M_j를 계산한다. 지원도가 최소 개수·최소 동일 시나리오 개수·최소 점수 세 조건을 모두 넘는 루틴만 자격을 얻고, 그중 지원도를 발생 횟수로 나눈 값이 가장 높은 루틴을 고른다. 자격을 얻은 루틴이 없으면 침묵한다. 선택된 루틴의 동일 시나리오 기록 중 루틴 전체와 평균적으로 가장 유사한 의도가 제안 생성용 참조로 넘어가며, 이는 과제를 실행하라는 허가가 아니다. 모든 인코더와 정책은 동결되어 있고, 검색 설정과 시각 레이아웃, 임계값은 평가에 쓰지 않은 과거 기록으로 캘리브레이션한다.
전제와 한계
실험은 82명 사용자, 135개 앱, 13개 시나리오 범주를 담은 AndroidIntent에서 이뤄졌다. 각 사용자 기록의 시간순 앞 80%(15,966건)가 이력이고 나머지는 검색에서 배제한 평가 대상이다. 개인화 실행은 앱도 내용도 명시하지 않는 모호한 지시 775개 에피소드, 7,915개 스텝으로 구성되고, 선제 제안은 사용자·시간·시나리오만 주어지는 315개 상태(양성 215, 음성 100)로 평가한다. 백본은 시각 인코더와 GUI 학습이 다른 동결 모델 네 개(Qwen3-VL-8B, MAI-UI-8B, Qwen3.5-9B, GUI-Owl-1.5-8B)이며 상용 QwenVL-Max를 외부 참조로 둔다. 비교 대상은 최신 기록을 주는 Recent, 지시와 유사한 기록을 주는 Retrieve, 오프라인 LLM이 쓴 프로필 LLM-UM, 계층적 의도 메모리 HIM-Agent, 그리고 이력을 쓰지 않는 Base다. 결과적으로 ExpActivator는 네 백본 모두에서 행동 유형 정확도, 단계 성공률, 누적 성공률 전부 1위를 차지한다. 이력이 없는 같은 모델 대비 단계 성공률을 평균 44% 높이고 누적 성공률을 약 두 배로 만들며, 각 블록의 최강 베이스라인보다도 단계 성공률이 평균 약 20%, Qwen3-VL-8B에서는 37% 높다. 모든 오픈 백본이 상용 QwenVL-Max의 누적 성공률을 넘어서며 평균 약 1.6배에 도달한다. 선제 제안에서는 F1이 쓸모없다는 점을 먼저 지적한다. 상태의 68%가 양성이라 항상 제안해도 F1이 81.1%이기 때문이다. 대신 균형 정확도와 매튜 상관계수로 평가했을 때 ExpActivator는 최강 베이스라인의 약 2.3배에 해당하는 매튜 상관계수를 얻고, 균형 정확도를 24% 높이며, 모든 백본에서 가장 높은 정밀도(평균 84%)를 기록한다.
이력이 언제까지 도움이 되는지를 따로 채점한 대목이 이 논문의 핵심 근거다. 775개 시작 결정과 7,140개 이후 행동을 분리해 보면, Qwen3-VL-8B에서 시작 결정 정확도는 이력 없음 28.3%에서 최강 베이스라인 62.3%, ExpActivator 70.1%로 올라간다. 반대로 이후 7,140개 행동에서는 베이스라인 네 개 모두 이력 없음 조건과 구분되지 않고 성공률 차이가 5% 이내에 머문다. 같은 행동들에서 ExpActivator는 이력 없음 대비 45% 상대 향상을 낸다. 백본 전체에서도 베이스라인은 궤적 내부에서 14% 이상을 더하지 못하는 반면 ExpActivator는 평균 28%를 더한다. 비용도 낮다. 스텝마다 행동 참조 하나만 주고 이력 토큰을 144.6개만 쓰는데, 이는 평균 베이스라인의 약 5분의 1, 가장 경제적인 HIM-Agent의 약 3분의 1이다. 이력 분량으로 사용자를 사분위로 나눠도 모든 그룹에서 최강 베이스라인을 상대 단계 성공률 27% 이상 앞서고, 기록이 가장 적은 그룹에서는 37% 앞선다. 절제 실험은 설계 선택을 하나씩 분리한다. 상위 1개 궤적을 통째로 주면 단계 성공률 18.5%로 이력 없음과 비슷하지만, 같은 궤적에서 단계 활성화로 행동 하나를 고르면 23.8%로 29% 상대 향상된다. 매칭 시점도 중요해서 직전 화면에 맞추면 단계 성공률이 15% 상대 하락하고 4스텝마다 갱신하면 13% 하락하며, 참조와 실제 기록 행동의 일치도는 38% 떨어진다. 참조는 실제로 궤적 사이를 옮겨 다닌다. 모든 백본에서 약 92%의 에피소드가 두 개 이상의 과거 궤적에서 참조를 가져오고 평균 3.4개를 쓰며, 연속 스텝의 55%에서 다른 궤적으로 바뀐다. 과제 수준에서는 시간 가중을 빼면 균형 정확도가 5% 상대 하락하고, 시나리오 조건을 빼면 11% 하락하며 오경보가 37%에서 62%로 뛴다. 빈도 정규화는 발동 여부는 바꾸지 않지만 제안의 의미 품질을 4% 상대 개선한다.
실무 관점에서 이 논문이 주는 교훈은 명확하다. 사용자 이력을 검색해 프롬프트에 붙이는 구조를 쓰고 있다면, 그 이력이 첫 결정 이후에도 값을 하는지 단계별로 나눠 측정해야 한다. 개선이 시작 단계에 몰려 있다면 검색 품질을 높이는 대신 결정 시점마다 적용 가능한 조각을 다시 고르는 쪽이 비용 대비 효율이 크다. 화면 임베딩 매칭과 시간·시나리오 게이트는 학습 없이 붙일 수 있는 구성이라는 점도 실무적으로 매력적이다. 다만 저자들이 밝힌 전제를 확인해야 한다. 모든 인코더와 정책은 동결된 상태를 가정하고, 검색 설정과 시각 레이아웃, 그리고 최소 지원 개수·동일 시나리오 개수·지원 점수 임계값과 루틴 유사도 문턱, 시간 가우시안 폭, 후보 궤적 수 같은 하이퍼파라미터를 평가에 쓰지 않은 과거 기록으로 캘리브레이션해 고정한다. 즉 새 백본이나 새 사용자 집단에 그대로 옮기려면 이 캘리브레이션 절차를 다시 밟아야 한다. 평가는 AndroidIntent 단일 데이터셋에서 이뤄졌고 선제 제안 평가는 315개 상태로 작으며, 원문에는 별도의 한계 절이 따로 제시되어 있지 않다. 또한 활성화된 의도는 실행 권한이 아니라 제안 생성용 참조라는 점, 참조된 행동도 정책이 현재 화면을 보고 적용 가능성을 판단해야 하는 참고값이라는 점을 설계에 반영해야 한다.