웹 브라우저에서 AI 에이전트를 구축하고 UI 워크플로를 자동화하세요 - Amazon Nova Act 및 Kiro
Source: Dev.to
번역을 진행하려면 번역하고자 하는 전체 텍스트를 제공해 주시겠어요? 텍스트를 주시면 요청하신 대로 한국어로 번역해 드리겠습니다.
Lesson Objectives
이 수업에서는 다음을 배웁니다:
- UI‑자동화 워크플로우에서 AI 에이전트를 구축하기.
- Amazon Nova Act의 사용 사례를 식별하기.
Source:
Amazon Nova 패밀리
AWS는 Amazon Nova라는 이름으로 AI 제품군을 선보이며, 다음과 같은 구성 요소를 포함합니다:
a) Amazon Nova 2 Foundation Models
| 모델 | 설명 | 데이터 유형 |
|---|---|---|
| Nova 2 Lite | 챗봇 구축 등 추론 작업에 적합한 비용 효율적인 기본 모델. | 텍스트, 비디오, 이미지 |
| Nova 2 Pro (preview) | 에이전시 코딩과 같은 AI 작업을 위한 지능형 추론 모델. | 텍스트, 비디오, 이미지, 음성 |
| Nova 2 Omni (preview) | 멀티모달 기본 모델로 … (설명 추가 예정) | |
| Nova 2 Sonic | 대화형 AI를 위한 음성‑대‑음성 모델. | 텍스트, 음성 |
| Nova Multimodal Embeddings | 에이전시 RAG 및 의미 검색을 위한 멀티모달 임베딩 모델. | 텍스트, 이미지, 오디오, 비디오 |
b) Frontier Model
- Amazon Nova Forge – 조직의 데이터를 Amazon Nova의 선별된 학습 데이터와 결합할 수 있게 해줍니다.
c) 대규모 웹‑브라우저 워크플로 자동화
Source: …
Amazon Nova Act
Amazon Nova Act은 Nova 2 Lite 아키텍처를 기반으로 웹 브라우저 UI 워크플로를 자동화하는 AI 에이전트를 만들 수 있는 AWS 서비스입니다. 이를 통해 다음을 수행할 수 있습니다:
- 반복 작업의 대규모 UI 자동화를 위한 AI 에이전트를 구축하고 관리합니다.
- 자연어 프롬프트와 Python 코드를 사용해 에이전트를 빠르게 배포합니다.
주요 기능
- 웹 페이지에서 정보 추출
- 예약 확인 및 기타 거래 처리
- 양식 자동 입력
- 웹 검색 수행 및 결과 탐색
장점
- 반복 작업을 수행하고, API를 호출하며, 에스컬레이션을 처리합니다.
- 프로토타입을 몇 시간 안에 프로덕션으로 전환합니다.
- 대규모로 에이전트 플릿을 배포하고 관리합니다.
일반적인 사용 사례
| 사용 사례 | 설명 |
|---|---|
| 데이터 입력 | 수동 복사‑붙여넣기 없이 세부 정보를 자동으로 채웁니다. |
| 웹 QA 테스트 | 별도의 테스트 스크립트 없이 브라우저에서 직접 사용자 여정 워크플로를 검증합니다. |
| 결제 흐름 | 구매, 환불, 검증 및 UI 변화를 자동화합니다. |
| 데이터 추출 | 사이트를 탐색하고 구조화되지 않은 소스에서 데이터를 가져와 내보내기 어려운 정보를 추출합니다. |
Amazon Nova Act 시작하기
사전 요구 사항
- Kiro – 에이전시 IDE.
- AWS Builders ID (또는 IAM 자격 증명).
단계별 가이드
| 단계 | 작업 |
|---|---|
| 1 | 데스크톱에서 Kiro를 실행하고 AWS Builders ID로 로그인합니다. 프롬프트가 표시되면 Kiro가 데이터에 접근하도록 허용합니다. |
| 2 | Kiro에서 Extensions → Search 로 이동하여 Amazon Nova Act를 검색하고 설치합니다. Trust publisher를 선택하고 설치를 확인합니다. |
| 3 | Amazon Nova Act Playground ( ) 를 열어 사용자 여정을 실험하고 API 키를 생성합니다. (참고: 일부 지역, 예를 들어 Sydney (ap‑southeast‑2)에서는 Playground를 사용할 수 없을 수 있습니다.) |
| 4 | Kiro 터미널에서 Nova Act Python SDK를 설치합니다: bash\npip install --upgrade nova-act\n |
| 5 | UTS enrolment folder 라는 이름의 프로젝트 폴더를 만들고(예: Documents 아래) 생성합니다. |
| 6 | Kiro IDE에서 File → Open Folder → UTS enrolment folder 를 선택합니다. |
| 7 | Vibe coding 모드로 전환하고 다음 프롬프트를 입력하여 프로토타입을 생성합니다: “Create a prototype for a UTS psychology enrollment workflow that automates the web UI for data entry, form filling, and confirmation.” |
| 8 | Kiro가 uts-psychology-enrollment-workflow.html 및 README.md 파일을 포함한 파일들을 생성합니다. 이를 검토하고 팀과 공유합니다. |
| 9 | Kiro를 사용해 Steering files와 SPECS를 생성합니다. 단계별 프로세스를 통해 다음이 생성됩니다: • Requirements • Design document • Acceptance criteria • Implementation plan 이러한 산출물은 숨겨진 .kiro 하위 폴더에 저장됩니다. |
| 10 | Visual Studio Code (VS Code) 를 열고 동일한 프로젝트 폴더를 엽니다. |
| 11 | VS Code 채팅(Amazon Q)에서 배포 프롬프트를 붙여넣어 배포 스크립트를 생성합니다(아래 참조). |
| 12 | 생성된 스크립트를 실행하여 워크플로를 AWS에 배포합니다(구성된 AWS CLI 자격 증명이 필요). |
배포 스크립트 (PowerShell)
# UTS Psychology Enrollment - AWS Deployment Script
param(
[string]$BucketName = "uts-psychology-enrollment",
[string]$Region = "us-east-1"
)
Write-Host "=== UTS Psychology Enrollment - AWS S3 Deployment ===" -ForegroundColor Cyan
Write-Host ""
# Verify AWS CLI configuration
Write-Host "Checking AWS CLI configuration..." -ForegroundColor Yellow
aws sts get-caller-identity 2>$null
if ($LASTEXITCODE -ne 0) {
Write-Host "ERROR: AWS CLI not configured. Run: aws configure" -ForegroundColor Red
exit 1
}
Write-Host "✓ AWS CLI configured" -ForegroundColor Green
# Create (or confirm) the S3 bucket
Write-Host ""
Write-Host "Creating S3 bucket: $BucketName..." -ForegroundColor Yellow
aws s3 ls "s3://$BucketName" 2>$null
if ($LASTEXITCODE -eq 0) {
Write-Host "✓ Bucket already exists" -ForegroundColor Green
} else {
aws s3 mb "s3://$BucketName" --region $Region
if ($LASTEXITCODE -eq 0) {
Write-Host "✓ Bucket created successfully" -ForegroundColor Green
} else {
Write-Host "ERROR: Failed to create bucket" -ForegroundColor Red
exit 1
}
}
# Sync local project files to the bucket
Write-Host ""
Write-Host "Syncing project files to S3..." -ForegroundColor Yellow
aws s3 sync . "s3://$BucketName" --exclude ".git/*" --exclude ".kiro/*"
if ($LASTEXITCODE -eq 0) {
Write-Host "✓ Sync completed" -ForegroundColor Green
} else {
Write-Host "ERROR: Sync failed" -ForegroundColor Red
exit 1
}
Write-Host ""
Write-Host "Deployment finished!" -ForegroundColor Cyan
다음 단계
- 브라우저 세션에서 생성된 Nova Act 에이전트를 호출하여 배포된 워크플로를 테스트합니다.
- Amazon Nova Act 콘솔을 통해 에이전트 성능을 모니터링하고, 필요에 따라 프롬프트나 사양을 반복적으로 개선합니다.
PowerShell 배포 스크립트
# Create the S3 bucket (if it doesn't already exist)
aws s3 mb "s3://$BucketName" --region $Region 2>&1 | Out-Null
if ($LASTEXITCODE -eq 0) {
Write-Host "✓ Bucket created" -ForegroundColor Green
} else {
Write-Host "ERROR: Failed to create bucket" -ForegroundColor Red
exit 1
}
# Enable website hosting
Write-Host ""
Write-Host "Enabling static website hosting..." -ForegroundColor Yellow
aws s3 website "s3://$BucketName" --index-document uts-psychology-enrollment-workflow.html
Write-Host "✓ Website hosting enabled" -ForegroundColor Green
# Set up public access
Write-Host ""
Write-Host "Configuring public access..." -ForegroundColor Yellow
$policy = @"
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::$BucketName/*"
}]
}
"@
$policy | Out-File -FilePath "bucket-policy.json" -Encoding utf8
aws s3api put-public-access-block `
--bucket $BucketName `
--public-access-block-configuration "BlockPublicAcls=false,IgnorePublicAcls=false,BlockPublicPolicy=false,RestrictPublicBuckets=false" `
2>&1 | Out-Null
aws s3api put-bucket-policy `
--bucket $BucketName `
--policy file://bucket-policy.json `
2>&1 | Out-Null
Write-Host "✓ Public access configured" -ForegroundColor Green
# Upload the HTML file
Write-Host ""
Write-Host "Uploading HTML file..." -ForegroundColor Yellow
aws s3 cp uts-psychology-enrollment-workflow.html "s3://$BucketName/" --content-type "text/html"
if ($LASTEXITCODE -eq 0) {
Write-Host "✓ File uploaded successfully" -ForegroundColor Green
} else {
Write-Host "ERROR: Upload failed" -ForegroundColor Red
exit 1
}
# Clean up temporary files
Remove-Item "bucket-policy.json" -ErrorAction SilentlyContinue
# Show results
Write-Host ""
Write-Host "=== Deployment Complete ===" -ForegroundColor Green
Write-Host ""
Write-Host "Website URL:" -ForegroundColor Cyan
Write-Host " http://$BucketName.s3-website-$Region.amazonaws.com" -ForegroundColor White
Write-Host ""
Note: 이 과정의 일환으로
deployment.md파일이 생성되었습니다.
추가 자료
- Amazon Nova Act CLI – 이 워크플로는 Amazon Nova Act 명령줄 인터페이스를 사용하여 배포할 수도 있습니다.
- Amazon Nova Act CDK Templates – Nova Act CDK 템플릿을 사용하면 프로덕션 수준 배포를 구축할 수 있습니다.
문서 및 가이드
- Amazon Nova Act User Guide
- Amazon Nova Act API Reference
- Introducing Amazon Nova Act
- Amazon Nova Act with SDK
- Set Python Interpreter (SDK 사용을 위한)
- Amazon Nova Act Extension
다음 업데이트까지, 즐거운 학습 되세요! 😀