포스트

SKILLMIGRATOR: 전이 가능한 상호작용 패턴으로 도메인을 넘어 웹 스킬 재사용하기

목차

  1. 개요
  2. 방법론
  3. 주요 결과
  4. 한계와 주의사항
  5. 결론
  6. Reference

개요

대규모 언어 모델(LLM) 기반 웹 에이전트는 보통 도구 호출자(tool caller)로 배포된다. 매 턴마다 모델은 새 페이지 관측을 읽고 하나의 구조화된 도구 액션을 출력한다. 모든 액션이 저수준 프리미티브(click, fill 등)일 때 작업 호라이즌은 빠르게 늘어나고, 정책을 담당하는 LLM 호출 수도 함께 증가한다. 이 LLM 호출이 Mind2Web, WebArena 같은 벤치마크에서 지연시간과 비용을 지배한다.

최근 시스템들은 반복되는 상호작용 조각을 웹 스킬(web skill)로 감싼다. 성공한 궤적이나 유도된 프로그램으로부터 만든 호출 가능한 도구로, 한 번의 호출이 여러 프리미티브를 대체한다. 그러나 기존 스킬 라이브러리는 주로 명령어 유사도나 거친 사이트 메타데이터로만 트리거된다. 이 때문에 처음 보는 사이트에서 스킬 재사용률이 낮고, 잠재적인 단계 및 토큰 절감 효과를 충분히 살리지 못한다.

이 논문은 SKILLMIGRATOR를 제안한다. 재사용 가능한 웹 스킬을 학습하고, 특정 요소 참조가 아니라 레이아웃 구조를 매칭해 사이트 간에 스킬을 전이한다. 유도된 각 스킬은 전이 가능한 상호작용 패턴(Transferable Interaction Pattern, TIP)으로 저장된다. TIP은 스킬과 유도 시점 스냅샷의 구조적 스케치를 짝지어 보관한다.

테스트 시점에 SKILLMIGRATOR는 레이아웃 유사도로 TIP을 검색하고, 실제 페이지에서 참조를 그라운딩한다. 나머지 스택은 표준적이다. 안정적인 참조를 가진 접근성 스냅샷(accessibility snapshot) 관측, 그리고 프리미티브와 스킬 호출에 대한 고정된 도구 호출 방식을 그대로 쓴다. 최신 SOTA 접근법과 비교했을 때, SKILLMIGRATOR는 동일한 성공률에서 WebArena와 Mind2Web 양쪽 모두 성공 궤적의 평균 LLM 액션 수를 8~10% 줄인다.

방법론

문제 정의와 동기

웹 에이전트는 사용자의 자연어 목표를 검색, 클릭, 입력, 폼 제출 같은 브라우저 액션 시퀀스로 변환한다. WebShop, Mind2Web, WebArena 같은 벤치마크는 전자상거래, 오픈 도메인 웹사이트, 현실적인 자체 호스팅 환경을 다룬다. 대부분의 기존 웹 에이전트는 ReAct 같은 추론-행동 패러다임을 따라 LLM을 반복적으로 질의하는 의사결정 루프에 의존한다. 이 설계는 유연하지만 배포 시 비용이 크다. 각 작업이 다수의 순차적 LLM 호출을 요구하고, 궤적의 길이와 수에 따라 비용과 지연시간이 증가하기 때문이다.

기존 스킬 재사용 방법은 두 유형으로 나뉜다. 하나는 같은 웹사이트 안에서 스킬을 재사용하는 방식으로, 스킬이 특정 사이트와 인터페이스에 특화된다. 다른 하나는 같은 도메인 안에서 재사용하는 방식으로, 쇼핑, 지도, 포럼, 코드 저장소처럼 유사한 작업 구조를 공유하는 사이트 간에 스킬을 전이한다.

같은 웹사이트 방식은 재사용률이 낮다. 각 스킬이 학습된 사이트의 특정 인터페이스, DOM 구조, 상호작용 패턴에 묶여 있기 때문이다. 같은 도메인 방식인 PolySkill은 공유 스킬 인터페이스와 사이트별 구현을 분리하는 다형적 추상화로 도메인 내 재사용을 가능케 한다. 그러나 여전히 단일 도메인으로 재사용을 한정하며, 서로 다른 도메인의 사이트들이 강한 상호작용 패턴을 공유한다는 사실을 놓친다.

Shopify(전자상거래), GitLab(개발자 도구), Postmill(온라인 포럼)이라는 매우 다른 세 도메인을 보자. 세 사이트는 페이지 레이아웃, 필드 어휘, 제출 버튼 레이블이 모두 다르다. 그러나 “새 제품 추가”, “새 이슈 열기”, “새 포럼 만들기”라는 세 하위 작업은 동일한 프로그램 패턴으로 환원된다. 몇 개의 레이블된 입력을 채우고, 단일 제출 버튼을 클릭하는 것이다. SKILLMIGRATOR는 이 하나의 TIP을 저장해 세 페이지 모두에 재사용한다.

핵심 도전은 신뢰할 수 없는 스킬 검색이다. 기존 방법은 명령어 유사도, 의도 레이블, 웹사이트 메타데이터로 후보를 검색한다. 그러나 이 신호들은 도메인 간 전이에 불충분하다. 표현이 다른 두 작업이 같은 상호작용 프로그램을 필요로 할 수 있고, 텍스트가 비슷한 두 작업이 서로 다른 DOM 수준 제어 흐름을 요구할 수도 있다. 60개 Mind2Web 부분집합을 GPT-4.1로 평가한 동기 실험에서, ASI, SkillWeaver, PolySkill의 스킬 재사용률은 cross-task에서 cross-website, cross-domain으로 갈수록 급격히 떨어졌고, 평균 성공 단계 비용은 그에 맞춰 상승했다.

문제는 다음과 같이 형식화된다. 명령어 q가 주어지면 플래너는 이를 하위 작업 시퀀스로 분해한다. N(s, o)는 정책 LLM이 관측 o에서 하위 작업 s를 완수하기 위해 새로 생성하는 프리미티브 액션 수다. 하위 작업이 검색된 스킬로 완전히 커버되면 N은 0이고, 아니면 에이전트는 정책으로 폴백하여 N은 폴백 궤적 길이 n이 된다. 목표는 작업 전반에 걸친 LLM 생성 프리미티브 액션의 기대값을 최소화하는 컴팩트한 스킬 라이브러리를 구성하는 것이며, 라이브러리 비용 항에 가중치 람다를 곱해 액션 절감과 라이브러리 크기를 절충한다.

TIP 스킬 레코드와 검색

관측 o_t는 Playwright 접근성 스냅샷이다. 에이전트가 볼 수 있는 접근성 트리를 YAML 형태로 직렬화한 것이다. 각 노드는 시맨틱 역할(textbox, button, link, heading 등), 접근 가능한 이름, 그리고 프리미티브 액션이 타깃으로 쓰는 안정적인 참조(ref)를 노출한다. 결정론적 규칙이 스냅샷을 한 번 스캔하여, 페이지 헤딩과 주 폼의 레이블된 컨트롤, 주요 버튼 레이블을 나열하는 한 줄 페이지 요약을 만들고, 모든 상호작용 노드의 역할과 이름 목록을 만든다.

문자 그대로의 액션 레시피를 저장하면 새 사이트에서 레이블이 바뀔 때 살아남지 못한다. 그래서 유도된 각 스킬은 TIP 튜플로 저장된다. TIP은 의도 ι, 연산 템플릿 σ, 슬롯 스키마 Φ, 트리 스켈레톤 τ로 구성된다.

구성 요소설명
의도 ι스킬의 목적을 담은 한 문장 자연어 의도
연산 템플릿 σ오프라인에서 액션 모양 기준으로 학습 궤적을 클러스터링해 마이닝한 템플릿 집합에서 선택
슬롯 스키마 Φ키, 한 줄 설명자, 동의어 집합을 가진 슬롯들의 집합
트리 스켈레톤 τ유도 시점 스냅샷의 정제된 접근성 트리 스켈레톤, 레이아웃 신호에 사용

각 슬롯 ξ는 키(예: post_title), 한 줄 설명자(예: “새 항목의 헤드라인”), 그리고 동시 클러스터링된 학습 궤적에서 마이닝한 작은 동의어 집합을 저장한다. 예를 들어 title 슬롯의 동의어는 title, headline, subject, name, summary, topic 등이다. 레코드는 ref 식별자를 전혀 포함하지 않는다. ref는 테스트 시점 실제 페이지의 속성이기 때문이다. 각 연산 템플릿 σ에는 Φ가 바인딩되면 fill, click, press 프리미티브를 호출하는 고정된 결정론적 플랜이 딸려 있다. 같은 템플릿을 여러 사이트에 재사용하는 것이 스킬을 궤적별 재생이 아닌 도메인 횡단형으로 만든다.

검색은 텍스트 신호와 레이아웃 신호를 결합해 각 스킬을 점수화한다. 텍스트 신호는 어떤 종류의 하위 작업을 시도하는지를 포착한다. 레이아웃 신호는 에이전트가 어떤 종류의 페이지에 있는지를 포착한다. 점수 식은 텍스트 신호에 가중치 α를, 레이아웃 신호에 (1-α)를 곱해 더한다.

텍스트 신호는 동결된 문장 인코더로, 하위 작업과 페이지 요약을 풍부한 설명자와 비교한다. 풍부한 설명자는 스킬의 의도와 모든 슬롯 설명자 및 동의어를 이어 붙인 것이라, 사이트 간 패러프레이즈된 하위 작업도 임베딩 공간에서 가깝게 유지된다. 레이아웃 신호는 실제 접근성 트리 구조를 사용한다. 트리 편집 거리(Tree Edit Distance, TED) 항을 APTED로 작은 트리에 계산하며, 1에서 정규화된 TED를 뺀 값으로 구한다. 이 레이아웃 신호는 출처 사이트와 타깃 사이트가 구조적으로 유사한 폼에 서로 다른 레이블을 쓸 때 지배적인 신호가 된다.

게이트도 중요하다. 최상위 스킬의 점수가 임계값 β 이상일 때만 스킬 모드를 연다. 그렇지 않으면 에이전트는 react 모드에 머문다. 모든 테스트 하위 작업이 라이브러리 안에 전이 가능한 대응물을 갖지는 않으며, 무관한 페이지에 약하게 매칭된 스킬을 강제하면 궤적이 조용히 손상되기 때문이다. α와 β는 held-out 학습 궤적에서 튜닝한다.

슬롯 바인딩과 실행

최상위 스킬이 선택되면 에이전트는 각 슬롯을 구체적인 값 문자열과 연결한 뒤, 페이지의 컨트롤에 바인딩해야 한다. 슬롯은 학습 시점 키가 아니라 자연어 설명자 d_ξ와 동의어 풀 T_ξ로 식별된다. 따라서 테스트 측의 처음 보는 어휘가 매칭을 깨뜨리지 않는다.

Stage A는 명령어에서 슬롯 값을 파싱한다. 플래너는 각 하위 작업이 작업 명세 안에 인스턴스화 딕셔너리 D를 노출하도록 강제한다. D는 키와 값의 쌍 집합이다. 모든 후보 쌍을 동의어 풀 임베딩과 키 임베딩의 유사도에 리터럴 보너스를 더해 점수화하고, 헝가리안 알고리즘으로 1대1 할당을 푼다. 리터럴 보너스는 키가 이미 동의어 풀 안에 그대로 등장할 때 매칭을 거의 확실하게 만드는, 슬롯 필링에서 오래 쓰인 메커니즘이다. D가 비어 있거나 필요한 슬롯보다 적게 커버하면, 고정된 단서 문법(따옴표 문자열, 리스트 리터럴, 날짜, URL, from X to Y, titled X, named X, 대문자 고유명사 구 등)으로 명령어 텍스트에서 직접 후보 스팬을 추출한다.

Stage B는 각 슬롯을 페이지의 컨트롤에 바인딩한다. 모든 상호작용 노드에 대해 역할과 이름을 이어 붙인 결정론적 컨트롤 설명자를 만든다. 모든 (슬롯, 컨트롤) 쌍을 임베딩 유사도로 점수화하고, 호환되는 역할(채울 수 있는 슬롯에는 textbox류)로 제한한 뒤 두 번째 헝가리안 풀이를 실행한다. 할당은 유사도 임계값 이상일 때만 수락된다. 그 아래면 슬롯을 미바인딩으로 선언하고 해당 슬롯에 대해 정책으로 폴백한다.

이 단계의 결정적 효과는 실제 페이지에 발행되는 fill 수가 출처 궤적의 액션 수가 아니라 실제 페이지와 매칭된 슬롯에 의해 결정된다는 것이다. 이름, 제목, 설명, 사이드바, 태그라는 5필드 폼에서 인스턴스화 딕셔너리가 값을 3개만 공급하면 매칭되는 3개의 textbox만 채우고 나머지 둘은 비워 둔다. 제목, 설명이라는 2필드 폼에서는 같은 스킬이 fill 2개만 발행한다. 이렇게 가변 항수 문제를 저장된 스킬 레코드를 건드리지 않고 처리한다.

각 연산 템플릿에는 바인딩된 슬롯을 키로 하는 고정된 플랜이 있다. search 템플릿은 검색 입력에 fill 하나와 제출 버튼에 click 하나를 발행하거나, 바인딩되는 제출 버튼이 없으면 Enter를 누른다. fill-and-submit 템플릿은 선언 순서대로 바인딩된 슬롯마다 fill 하나씩을 발행한 뒤, 학습에서 마이닝한 전역 제출 키워드 풀(create, submit, post, send, save, update, publish)과 레이블이 매칭되는 버튼을 클릭한다. click-by-text 템플릿은 이름이 타깃 값과 가장 잘 매칭되는 링크나 셀에 단일 click을 발행한다. 미바인딩된 필수 슬롯은 정책으로 에스컬레이션된다.

주요 결과

WebArena와 Mind2Web 메인 결과

평가는 Eq.(1)의 LLM 액션 수 N에 초점을 둔다. 이는 선행 연구의 평균 성공 도구 단계 지표에 대응한다. 주 지표는 성공 궤적에서의 평균 LLM 액션 수로, 프리미티브 도구 액션마다 LLM 호출 1회, 검색된 스킬마다 0회로 센다. 성공률(SR), 스킬 재사용률, 라이브러리 크기도 함께 보고한다. 기본 설정은 텍스트와 레이아웃 혼합 가중치 α를 0.6, 게이트 임계값 β를 0.20으로 두며, 둘 다 테스트셋과 겹치지 않는 학습 궤적의 10% 부분집합에서 선택했다.

WebArena는 쇼핑, 쇼핑-관리, 레딧, 깃랩, 지도, 멀티사이트 6개 컬럼에 걸친 812개 실행 가능 작업이다. 다음 표는 도메인별 성공률과 성공 궤적 평균 LLM 액션 수를 정리한 것이다.

방법AVG. SR (%)AVG. 평균 액션 수
ReAct38.56.5
SkillWeaver43.66.1
ASI46.56.2
PolySkill49.35.9
SKILLMIGRATOR45.75.4

WebArena 집계 SR은 PolySkill 대비 3.6점 이내이지만 평균 액션 수는 5.9에서 5.4로 떨어진다. 이는 정책 LLM 호출의 8.5% 절감이며, ReAct 기준 6.5 대비로는 16.9% 절감이다.

Mind2Web은 137개 웹사이트, 31개 도메인을 cross-task, cross-website, cross-domain 세 split으로 나눈다. 각 방법은 static 라이브러리(평가 전 고정)와 +Update(평가 중 온라인 유도) 두 체제로 보고된다. 다음 표는 cross-domain split 결과를 정리한 것이다.

방법cross-domain SR (%)평균 액션 수라이브러리 크기재사용률 (%)
ReAct62.38.0--
ASI57.37.63317.4
PolySkill60.17.23622.7
SKILLMIGRATOR59.46.63128.1
ASI (+Update)62.17.46623.6
PolySkill (+Update)63.46.95631.0
SKILLMIGRATOR (+Update)63.06.24935.4

같은 트레이드오프가 Mind2Web에서도 나타난다. SKILLMIGRATOR (+Update)는 cross-domain에서 평균 액션 수 6.2로 63.0% SR을 달성한다. 이는 PolySkill (+Update)의 63.4% SR, 6.9 액션 수에 견준다. cross-domain 재사용률은 35.4%로 PolySkill의 31%를 넘고, 라이브러리 크기는 일관되게 더 작다. 종합하면 SKILLMIGRATOR는 정확도의 유의미한 하락 없이 성공 궤적당 LLM 호출을 줄이고 처음 보는 도메인에서 스킬 재사용을 개선한다.

직교성과 어블레이션

RQ2는 SKILLMIGRATOR가 베이스라인과 경쟁하는지 합성되는지를 묻는다. 게이트가 폴백할 때 에이전트는 순수 ReAct로 되돌아갈 필요가 없다. 제어를 다른 방법이 학습한 보조 라이브러리에 넘길 수 있다.

구성SR (%)평균 액션 수
ASI 단독46.56.2
PolySkill 단독49.35.9
SKILLMIGRATOR 단독 (게이트→ReAct)45.75.4
SKILLMIGRATOR + ASI47.25.3
SKILLMIGRATOR + PolySkill47.75.3

SKILLMIGRATOR + PolySkill 조합은 표에서 가장 낮은 평균 액션 수 5.3을 달성하고, SR 47.7%는 두 단독 수치(45.7과 49.3) 사이에 위치한다. 두 라이브러리는 테스트셋의 서로 다른 부분을 커버한다. 레이아웃 매칭이 존재하면 레이아웃 신호가 SKILLMIGRATOR 스킬을 트리거하고, 그런 매칭이 없으면 제어가 아래의 PolySkill로 라우팅된다. 즉 SKILLMIGRATOR는 기존 스킬 유도 시스템과 경쟁하기보다 그 위에 얹히는 검색 레이어로 동작할 수 있다.

RQ3의 어블레이션은 세 요소를 분리한다. 레이아웃 신호 L(text only는 α를 1로 밀어 올림), 슬롯 동의어 풀 T_ξ(no synonyms는 패러프레이즈 커버리지 제거), 게이트(no gate는 β를 0으로 설정)다.

변형WA AVG. SR (%)WA AVG. 평균 액션 수M2W CD SR (%)M2W CD 평균 액션 수
Full SKILLMIGRATOR45.75.459.46.6
text only (α=1)39.25.755.87.3
no synonyms45.45.457.07.1
no gate (β=0)45.34.757.86.3

가장 큰 변화는 WebArena 평균 SR이다. 레이아웃 신호 L을 제거하면 6.5점이 떨어져(45.7에서 39.2) 스킬 없는 베이스라인 38.5%에 거의 닿는다. 명령어 텍스트만으로는 같은 표현, 다른 구조의 페이지를 구분할 수 없기 때문이다. Mind2Web cross-domain에서 같은 어블레이션은 3.6점(59.4에서 55.8), no synonyms는 추가로 2.4점(59.4에서 57.0)을 잃는다. 패러프레이즈 커버리지는 타깃 사이트가 레이블 이름을 바꿀 때 가장 중요하다. 게이트 비활성화는 평균 액션 수를 낮추는 유일한 어블레이션이다(WebArena 5.4에서 4.7, Mind2Web 6.6에서 6.3). SR 비용은 거의 없으므로(WebArena -0.4), 기본 β=0.20은 보수적인 쪽이며 더 많은 스킬 트리거를 허용하는 배포는 추가 LLM 호출 절감을 노릴 수 있다.

민감도 분석에서 SR은 α가 0.0에서 0.6 사이일 때 본질적으로 평평하고(기본값 45.7%에서 0.6점 이내), α=1.0에서 39.3%로 무너진다. 레이아웃 신호가 무거운 일을 하고 있다는 뜻이다. β 스윕은 정밀도/재현율 트레이드오프로, β가 0으로 갈수록 평균 액션 수가 5.6에서 4.7로 내려가는 동안 SR은 45.3%와 45.7% 사이만 움직인다. LLM 백본을 교체하면 Claude-4는 GPT-4.1의 45.7% SR, 5.4 액션 수에 비해 54.7% SR, 5.1 액션 수를 준다. 즉 +9점 SR 이동이며, 이득은 검색 설계에서 나와 백본이 제공하는 절대 성능 위에 얹힌다.

한계와 주의사항

레이아웃 조건부 검색은 접근성 트리 구조를 공유하는 페이지가 상호작용 의미도 공유한다고 가정한다. 이 가정은 평가한 일부 워크플로에서는 성립하지만, 시각적으로 동형이면서 제어 흐름이 갈라지는 페이지에서는 약해진다. 이런 경우 경량 멀티모달 단서가 텍스트 전용 설정을 보완하는 자연스러운 방안이 된다.

또한 연산 템플릿은 관측된 액션 모양에서 마이닝되므로, 이 분포 밖의 모달리티(예: 드래그 앤 드롭, 모달 다이얼로그)는 인벤토리가 확장될 때까지 react 모드로 폴백한다.

SKILLMIGRATOR는 웹 자동화의 LLM 호출 비용을 줄여 반복 작업의 효율과 지연시간을 개선한다. 동시에 더 낮은 비용의 자동화는 자동 웹 액션의 규모를 키울 수 있다. 배포는 호스트 사이트의 이용 정책, 속도 제한, 인증 경계, 사용자 동의 요건을 존중해야 하며, 스킬 재사용으로 접근 제어를 우회하거나 악용성 트래픽을 생성해서는 안 된다.

결론

SKILLMIGRATOR는 최근 스킬 유도 시스템이 쓰는 텍스트 스냅샷 + 도구 호출 인터페이스를 유지한다. 다만 유도된 스킬을 전이 가능한 상호작용 패턴(TIP)으로 인덱싱한다. 각 스킬을 유도 시점 스냅샷의 구조적 스케치와 짝짓고, 전역적으로 레이아웃 유사도로 검색한 뒤 실제 요소 참조로 그라운딩한다. Mind2Web과 WebArena에서 이 설계는 동일한 성공률에서 성공 궤적의 평균 LLM 액션 수를 SOTA 대비 8~10% 줄인다.

구현은 Playwright MCP 프레임워크와 AgentScope 위에 올라가며, 동결된 문장 인코더로 all-MiniLM-L6-v2를 미세조정 없이 사용한다. 모든 보고 수치는 세 개의 랜덤 시드에 대한 평균이다.

Reference