시각 기반 웹 조작 모델 Amazon Nova Act의 등장

웹 서비스의 버튼 위치나 ID 값 하나만 바뀌어도 기존의 자동화 스크립트는 즉시 작동을 멈춘다. 아마존 노바 액트(Amazon Nova Act)는 하드코딩된 선택자 의존성을 제거하고 인간처럼 화면을 직접 보고 판단하는 멀티모달 파운데이션 모델로 등장했다. 정해진 경로를 따라가는 매크로 방식에서 벗어나 시각적 인식을 통해 웹 브라우저 인터페이스와 상호작용하며 테스트 자동화의 병목을 해결한다.

노바 액트는 웹 페이지의 스크린샷을 실시간으로 분석하여 전체 레이아웃을 파악하고 상호작용 가능한 요소를 식별한다. 모델은 화면상의 버튼, 입력창, 드롭다운 메뉴의 위치와 형태를 인식하며, 현재 페이지의 맥락을 고려해 어떤 요소를 클릭하거나 텍스트를 입력할지 스스로 결정한다. 이러한 시각과 행동의 결합 덕분에 인터페이스가 동적으로 변경되거나 예상치 못한 팝업이 등장하는 환경에서도 스크립트 수정 없이 테스트를 수행할 수 있다.

단순한 성공과 실패 판정을 넘어 모델의 내부 추론 과정이 기록된 생각의 사슬(Chain of Thought, CoT) 로그를 제공한다. 개발자는 이 로그를 통해 AI가 어떤 시각적 단서를 근거로 다음 단계로 이동했는지 추적할 수 있다. AI가 특정 경로에서 헤맨다면 이는 실제 사용자도 해당 인터페이스를 직관적으로 이해하지 못했을 가능성을 나타내며, 이를 통해 웹사이트의 UX 마찰 지점을 찾아내는 근거로 활용한다.

문서에서 분석까지 이어지는 4단계 자동화 파이프라인

노바 액트 솔루션은 문서 처리, 오케스트레이션, 실행, 분석의 4단계 계층 구조로 작동한다. 문서 처리 계층은 테스트 시나리오를 생성하고, 오케스트레이션 계층은 대규모 테스트 실행을 관리한다. 실행 계층에서 지능형 사용자 흐름 테스트가 수행되며, 분석 계층은 결과물을 지표로 변환한다. 이러한 계층 분리는 개별 단계의 수정이 전체 시스템에 영향을 주지 않도록 격리한다.

비정형 문서에서 테스트 흐름을 발견하기 위해 Amazon Bedrock Knowledge Base를 사용한다. 여기서 추출된 사용자 과업은 Lambda 함수와 Claude 4.5 Sonnet을 통해 세부 테스트 단계로 변환된다. 시스템은 고수준의 사용자 목표부터 세부 절차까지 3단계의 상세도로 지침을 생성하며, 구체적인 구현 내용은 `index.py` 파일에서 확인할 수 있다. 예를 들어 '커피 메이커 구매'라는 과업은 '메뉴에서 주방 가전 선택 $\rightarrow$ 재질 및 평점 필터 적용 $\rightarrow$ 결제 완료'라는 구체적 행동으로 확장된다.

인프라 배포는 AWS CDK(클라우드 개발 키트)를 통해 자동화한다. 전체 솔루션과 배포 지침은 aws-samples GitHub 저장소에서 제공한다. 리소스 배포를 위해 다음 명령어를 사용한다.

bash
cdk deploy

배포된 리소스를 삭제하여 비용을 최적화하려면 다음 명령어를 입력한다.

bash
cdk destroy

스크립트 기반 테스트와 시각 기반 모델의 차이

기존의 대표적인 자동화 도구인 Selenium이나 Playwright는 선택자(Selector, HTML 문서 내 특정 요소를 찾기 위한 식별자)라는 하드코딩된 값에 전적으로 의존한다. 개발자가 버튼의 ID나 CSS 클래스 이름을 정확히 지정해두면 도구가 해당 요소를 찾아 클릭하는 방식이다. 하지만 UI 업데이트로 인해 선택자 값이 단 한 글자만 바뀌어도 스크립트는 요소를 찾지 못하고 중단되며, 이는 인터페이스 변경 시마다 막대한 유지보수 비용을 발생시킨다.

반면 노바 액트는 픽셀 단위의 시각 정보를 처리하는 지능형 내비게이션 방식을 채택했다. 이는 미리 정의된 좌표나 식별자를 찾는 단순 매칭이 아니라, 인간의 추론 과정을 모방하여 화면의 맥락을 읽는 작업이다. 모델은 현재 화면의 시각적 정보를 바탕으로 목표 달성을 위해 어떤 행동을 취해야 할지 스스로 결정한다.

이러한 방식은 동적 콘텐츠나 예기치 못한 인터페이스 변경에 대해 높은 유연성을 제공한다. 기존 스크립트 방식에서는 팝업창이 나타나거나 요소의 위치가 소폭 이동하는 것만으로도 프로세스가 깨지지만, 노바 액트는 이를 시각적으로 인식하고 적응하여 작업을 계속 수행한다. 이를 통해 테스트 엔지니어는 단순 코드 수정 작업에서 벗어나 더 복잡한 사용자 여정 검증에 집중할 수 있다.

실무 적용을 위한 데이터 추출 및 세션 관리 기능

노바 액트는 지속적인 브라우저 세션을 설정해 로그인 상태를 유지하는 기능을 지원한다. 이를 통해 인증이 필요한 사용자 흐름을 끊김 없이 테스트할 수 있으며, 매 실행마다 반복되는 인증 절차를 생략해 전체적인 테스트 시간을 단축한다.

웹 페이지에서 정확한 값을 가져오기 위해 Pydantic 스키마(파이썬 타입 검사 라이브러리)를 지원하여 구조화된 데이터를 캡처한다. 데이터의 타입과 형식을 미리 정의하므로 폼 제출 결과나 동적 콘텐츠를 검증할 때 데이터 누락이나 형식 오류를 줄인다. 또한 파일 처리 능력을 갖춰 파일 업로드 워크플로우와 다운로드 콘텐츠의 정상 여부 검증까지 자동화한다.

실제 구현 코드는 Amazon ECS 내의 특정 경로에 위치하여 실행된다.

python
ecs/ecs_act_headless/app.py

이 코드를 통해 노바 액트의 흐름을 제어하고 세션 유지 설정이나 데이터 추출 규칙을 수정한다. 모든 테스트 실행 결과는 Amazon S3의 `flow-test-results-bucket`에 저장된다. 각 실행 건마다 단계별 소요 시간, 필요한 액션 수, 성공 및 실패 상태, Pydantic으로 추출한 데이터가 포함된 요약 파일이 생성된다.

S3에 저장된 데이터는 Lambda 함수를 거쳐 React 기반 대시보드로 시각화된다. Overview 탭에서는 인프라 장애와 에이전트 자체의 실패를 분리해 분석하는 에러 조정 패널을 제공한다. Performance & Efficiency 탭에서는 지침의 상세 수준이 사용자 경험 품질에 미치는 영향을 단계별 타이밍으로 분석하며, 인프라 조정 신호와 복합 품질 점수를 함께 제시한다.

한국 AI 실무자를 위한 UX 자동화 도입 관점

업데이트 주기가 빠른 서비스 환경에서는 문서 기반의 자동 생성과 엣지 케이스를 위한 수동 정의를 결합한 하이브리드 방식을 권장한다. 자동 생성 기능을 통해 기초적인 베이스라인 커버리지를 빠르게 확보하고, 정밀한 제어가 필요한 신규 기능이나 특이 케이스는 수동 정의로 보완하는 전략이다.

수동 정의 방식은 문서화가 완료되지 않은 최신 기능이나 특정 사용자 맥락이 필수적인 시나리오를 검증할 때 유용하다. 실무자는 `DynamoDB` 테이블에 JSON 스키마 형태로 커스텀 흐름을 직접 삽입하여 테스트를 수행한다. 이를 통해 개발자가 기획 문서를 기다리지 않고도 새로운 기능의 동작 여부를 즉시 검증할 수 있다.

도입 시 핵심은 단순한 기능 버그를 찾는 QA를 넘어, 사용자 여정에서 발생하는 마찰 지점(Friction point)을 찾는 UX 최적화에 집중하는 것이다. 성공과 실패라는 이분법적 결과가 아니라, 사용자가 어느 지점에서 머뭇거리는지를 시각적 로그와 함께 분석하는 것이 실무적인 활용 포인트다.

결과적으로 시나리오 생성부터 실행, 지표 산출까지의 파이프라인을 자동화함으로써 운영 리소스를 절감할 수 있다. 반복적인 스크립트 작성 시간 대신, 자동 산출된 지표를 바탕으로 인터페이스를 개선하는 작업에 더 많은 시간을 투입할 수 있다. 테스트 커버리지를 확장하면서 유지보수 비용을 낮게 유지하는 구조를 만드는 것이 핵심이다.

UI가 바뀔 때마다 셀레니움이나 플레이라이트 스크립트를 일일이 수정하던 반복 작업은 이제 기술적 부채의 영역으로 넘어간다. 노바 액트는 Bedrock 지식 기반과 Claude 4.5 Sonnet을 결합해 인터페이스를 시각적으로 이해함으로써 하드코딩된 선택자 의존도를 낮춘다. 이는 엔지니어가 단순한 코드 수정 작업에서 벗어나 더 복잡한 사용자 여정을 설계하고 검증하는 역할로 전환됨을 의미한다. 현재 운영 중인 테스트 스크립트에서 선택자 의존도가 가장 높은 구간부터 시각 기반 자동화로 전환하며 테스트 커버리지를 확장하는 것이 가장 효율적인 실행 경로다.