S
STONI
AI
Multi-Agent
AWS Bedrock
Claude
Strands
HTML
튜토리얼

AI 멀티 에이전트로 HTML 프로토타입 자동 생성하기 (3편: 사용 가이드)

AI 멀티 에이전트로 HTML 프로토타입 자동 생성하기 (3편)

시리즈 개요

개요

본 편에서는 p2p-prototype-strands의 설치부터 실무 활용까지 전 과정을 다룹니다. 시스템 구축부터 실전 배포까지 단계별로 상세히 설명하며, 프로덕션 환경에서 발생할 수 있는 문제들과 해결 방안을 제시합니다.

본 가이드는 다음과 같은 내용을 포함합니다:

  • 환경 구성 및 의존성 관리
  • 시스템 설치 및 검증 절차
  • 사용 패턴 및 최적화 전략
  • 프로덕션 환경 문제 해결 방법론

사전 요구사항

시스템 요구사항

본 시스템을 운영하기 위해 다음 환경이 필요합니다:

1. Python 런타임 환경

  • Python 3.8 이상 (Python 3.10+ 권장)
  • 검증 방법: python --version 또는 python3 --version
  • 설치: python.org

2. AWS 인프라 요구사항

  • 활성화된 AWS 계정
  • AWS Bedrock 서비스 접근 권한
  • 예상 비용: 프로토타입당 $0.05-0.10 (Claude 3.5 Sonnet 기준)

3. 개발 도구

  • Git 버전 관리 시스템 (선택사항)
  • CLI 환경 접근 권한
  • 텍스트 편집기 또는 IDE

4. 네트워크 요구사항

  • AWS Bedrock API 엔드포인트 접근 가능
  • 안정적인 인터넷 연결 (최소 10Mbps 권장)

시스템 설치

1단계: 소스 코드 확보

방법 A: Git Clone (권장)

git clone https://github.com/your-username/p2p-prototype-strands.git
cd p2p-prototype-strands

방법 B: 아카이브 다운로드

  1. GitHub 저장소 접속
  2. Code 버튼 → Download ZIP 선택
  3. 압축 해제 후 프로젝트 디렉토리 진입

2단계: 의존성 격리 환경 구성

Python 가상 환경을 통한 의존성 격리는 프로젝트 간 충돌을 방지하고 재현 가능한 빌드 환경을 보장합니다.

# 가상 환경 생성
python3 -m venv venv

# 가상 환경 활성화 (Mac/Linux)
source venv/bin/activate

# 가상 환경 활성화 (Windows)
venv\Scripts\activate

검증 방법: 터미널 프롬프트에 (venv) 접두사 표시 확인

3단계: 의존성 패키지 설치

pip install -r requirements.txt

설치되는 핵심 의존성:

  • strands: 멀티 에이전트 워크플로우 프레임워크
  • boto3: AWS SDK for Python
  • anthropic: Anthropic API 클라이언트 라이브러리

설치 검증: "Successfully installed" 메시지 확인

4단계: AWS 인증 구성

AWS Bedrock 서비스 접근을 위한 인증 설정이 필요합니다.

4-1. AWS CLI 설치

macOS:

brew install awscli

Linux:

sudo apt-get install awscli

Windows: AWS CLI 공식 문서 참조

4-2. 자격 증명 구성

aws configure

필수 입력 사항:

AWS Access Key ID [None]: YOUR_ACCESS_KEY
AWS Secret Access Key [None]: YOUR_SECRET_KEY
Default region name [None]: us-east-1
Default output format [None]: json

Access Key 생성 절차:

  1. AWS Management Console 접속
  2. IAM → Security credentials
  3. Access keys → Create access key
  4. 생성된 키 안전하게 보관

보안 주의사항: Access Key는 버전 관리 시스템에 절대 커밋하지 않도록 주의합니다.

4-3. Bedrock 모델 접근 권한 설정

권한 활성화 절차:

  1. AWS Console → Bedrock 서비스
  2. 좌측 네비게이션 → Model access
  3. "Manage model access" 선택
  4. "Anthropic - Claude 3.5 Sonnet" 활성화
  5. 변경사항 저장

프로비저닝 시간: 일반적으로 5-10분 소요 검증 방법: Model access 페이지에서 "Access granted" 상태 확인

Enhanced HTML Prototype Generator (Graph Pattern)

This tool uses Strands Graph pattern for workflow execution:

  1. Analyze prompt - Extract screen type and features
  2. Enhance prompt - Add detailed specifications
  3. Generate HTML - Create final prototype

Enter your prompt (e.g., 'login screen', 'dashboard'):

### 5단계: 시스템 검증

설치 완료 후 시스템 정상 작동 여부를 검증합니다:

```bash
python generate_enhanced_prototype_graph.py

정상 작동 시 출력:

Enhanced HTML Prototype Generator (Graph Pattern)

This tool uses Strands Graph pattern for workflow execution:
1. Analyze prompt - Extract screen type and features
2. Enhance prompt - Add detailed specifications
3. Generate HTML - Create final prototype


Enter your prompt (e.g., 'login screen', 'dashboard'):
>

프롬프트 입력 화면이 표시되면 설치가 성공적으로 완료된 것입니다.

Enhanced HTML Prototype Generator (Graph Pattern)

This tool uses Strands Graph pattern for workflow execution:

  1. Analyze prompt - Extract screen type and features
  2. Enhance prompt - Add detailed specifications
  3. Generate HTML - Create final prototype

============================================================

Enter your prompt (e.g., 'login screen', 'dashboard'):


Processing: 'login screen'

[INFO] Building workflow graph...
[INFO] Executing graph workflow...
[INFO] This may take 30-60 seconds...

30-60초 정도 기다리면:

[SUCCESS] Graph execution completed in 52430ms
[SUCCESS] HTML saved: output/login_20250130_123045.html
[SUCCESS] Enhanced prompt saved: output/login_20250130_123045_prompt.txt

완료! 이제 생성된 HTML 파일을 브라우저로 열어보세요.

기본 사용 패턴

프로토타입 생성 프로세스

기본적인 워크플로우 실행 방법을 설명합니다.

python generate_enhanced_prototype_graph.py

프롬프트 입력 예시:

> login screen

워크플로우 실행 로그:

Processing: 'login screen'

[INFO] Building workflow graph...
[INFO] Executing graph workflow...
[INFO] This may take 30-60 seconds...

실행 완료 출력:

[SUCCESS] Graph execution completed in 52430ms
[SUCCESS] HTML saved: output/login_20250130_123045.html
[SUCCESS] Enhanced prompt saved: output/login_20250130_123045_prompt.txt

평균 실행 시간: 30-60초 (복잡도에 따라 변동)

Processing: 'login screen'

[INFO] Building workflow graph... [INFO] Executing graph workflow... [INFO] This may take 30-60 seconds...


30-60초 정도 기다리면:

[SUCCESS] Graph execution completed in 52430ms [SUCCESS] HTML saved: output/login_20250130_123045.html [SUCCESS] Enhanced prompt saved: output/login_20250130_123045_prompt.txt


완료! 이제 생성된 HTML 파일을 브라우저로 열어보세요.

### 출력 파일 구조

워크플로우 실행 시 `output` 디렉토리에 다음 파일들이 생성됩니다:

**1. HTML 프로토타입 파일**
- 파일명 형식: `{screen_type}_{timestamp}.html`
- 예시: `login_20250130_123045.html`
- 설명: 완성된 HTML 프로토타입 (브라우저에서 즉시 실행 가능)

**2. 상세 명세 문서**
- 파일명 형식: `{screen_type}_{timestamp}_prompt.txt`
- 예시: `login_20250130_123045_prompt.txt`
- 설명: Enhancer 에이전트가 생성한 기능 명세서

**프로토타입 실행 방법**:

**macOS:**
```bash
open output/login_20250130_123045.html

Linux:

xdg-open output/login_20250130_123045.html

Windows:

start output/login_20250130_123045.html

프롬프트 패턴 및 사용 사례

프롬프트 구성에 따라 생성되는 프로토타입의 특성이 결정됩니다. 실무에서 활용 가능한 패턴들을 소개합니다.

1. 인증 화면 패턴

프롬프트 예시:

login screen

생성되는 주요 컴포넌트:

  • 이메일/비밀번호 입력 필드
  • 인증 버튼
  • 비밀번호 복구 링크
  • 소셜 로그인 통합 (선택적)
  • 클라이언트 사이드 검증 로직

적용 시나리오:

  • SaaS 애플리케이션 인증 화면 설계
  • 디자인 시스템 비교 분석

2. 사용자 등록 패턴

프롬프트 예시:

signup form with validation

생성되는 주요 컴포넌트:

  • 사용자 정보 입력 필드 (이름, 이메일, 비밀번호)
  • 비밀번호 확인 검증
  • 이용약관 동의 체크박스
  • 실시간 입력 검증
  • 에러 상태 표시

적용 시나리오:

  • 사용자 온보딩 플로우 설계
  • UX 테스트 프로토타입 제작

3. 분석 대시보드 패턴

프롬프트 예시:

dashboard with charts and statistics

생성되는 주요 컴포넌트:

  • KPI 메트릭 카드 (매출, 사용자 수 등)
  • 차트 컨테이너 (실제 데이터 시각화 라이브러리 통합 필요)
  • 활동 로그 리스트
  • 네비게이션 사이드바

적용 시나리오:

  • 관리자 콘솔 설계
  • 데이터 시각화 레이아웃 프로토타이핑

4. 사용자 프로필 패턴

프롬프트 예시:

user profile page with edit capability

생성되는 주요 컴포넌트:

  • 프로필 이미지 업로드 영역
  • 개인정보 표시/편집 폼
  • 액션 버튼 (저장, 취소)
  • 탭 기반 네비게이션

적용 시나리오:

  • 계정 관리 인터페이스
  • 사용자 설정 화면

5. 데이터 테이블 패턴

프롬프트 예시:

data table with search and pagination

생성되는 주요 컴포넌트:

  • 검색/필터 인터페이스
  • 정렬 가능 테이블 헤더
  • 데이터 행 렌더링
  • 페이지네이션 컨트롤러

적용 시나리오:

  • 백오피스 데이터 관리
  • 상품 목록 인터페이스

6. 랜딩 페이지 패턴

프롬프트 예시:

landing page with hero section and features

생성되는 주요 컴포넌트:

  • 히어로 섹션 (헤드라인, 설명, CTA)
  • 기능 소개 카드
  • 푸터 네비게이션
  • 반응형 그리드 레이아웃

적용 시나리오:

  • 제품 마케팅 페이지
  • 서비스 홍보 웹사이트

고급 활용 전략

프롬프트 엔지니어링 기법

프롬프트의 구체성이 출력 품질에 직접적인 영향을 미칩니다.

기본 프롬프트:

dashboard

최적화된 프롬프트:

e-commerce admin dashboard with sales chart, recent orders table, and top products section

최적화 효과 분석:

  • 도메인 컨텍스트 명시 (이커머스)
  • 필수 컴포넌트 열거 (차트, 테이블, 섹션)
  • 비즈니스 로직에 부합하는 출력 생성

디자인 시스템 커스터마이징

프롬프트를 통해 시각적 테마를 제어할 수 있습니다:

미니멀리즘 스타일:

minimalist login screen with clean design

다크 테마:

dark theme dashboard with modern design

브랜드 기반 스타일:

playful signup form with colorful design

엔터프라이즈 스타일:

professional corporate dashboard with business theme

UI 컴포넌트 명시적 지정

shadcn UI 컴

다중 버전 생성을 통한 A/B 테스트

동일한 기능에 대해 여러 디자인 버전을 생성하여 비교 분석할 수 있습니다:

# 버전 1: 미니멀리즘 접근
python generate_enhanced_prototype_graph.py
> minimalist login screen

# 버전 2: 모던 스타일
python generate_enhanced_prototype_graph.py
> colorful modern login screen

# 버전 3: 다크 모드 변형
python generate_enhanced_prototype_graph.py
> dark theme login screen

각 버전을 브라우저에서 동시에 검토하여 최적의 디자인을 선택할 수 있습니다.

실무 적용 시나리오

시나리오 1: 클라이언트 프레젠테이션 준비

상황: 시간 제약이 있는 클라이언트 미팅을 위한 프로토타입 필요

솔루션:

python generate_enhanced_prototype_graph.py
> restaurant reservation system dashboard with booking calendar and customer list

결과: 30-60초 내에 프레젠테이션 가능한 프로토타입 확보

시나리오 2: UX 대안 비교 분석

상황: 여러 UX 설계 방향에 대한 정량적 비교 필요

솔루션:

# 옵션 A: 다단계 프로세스
python generate_enhanced_prototype_graph.py
> traditional checkout form with step by step process

# 옵션 B: 단일 페이지 접근
python generate_enhanced_prototype_graph.py
> single page checkout form with inline validation

결과: 시각화된 비교를 통한 데이터 기반 의사결정 지원

시나리오 3: 기술 명세 문서화

상황: 개발팀과의 효과적인 요구사항 커뮤니케이션

솔루션:

python generate_enhanced_prototype_graph.py
> user management page with role-based permissions table, add user modal, and filter options

결과: HTML 프로토타입과 상세 명세 문서(_prompt.txt)를 통한 명확한 요구사항 전달

시나리오 4: 디자인 시스템 학습

상황: shadcn UI 컴포넌트 패턴 및 Best Practices 습득

솔루션:

python generate_enhanced_prototype_graph.py
> component showcase page with buttons, cards, dialogs, and form elements

결과: 실제 구현 예제를 통한 디자인 시스템 이해도 향상

운영 최적화 가이드

1. 프롬프트 엔지니어링 Best Practices

효과적인 프롬프트 패턴:

  • 구체성: "login screen" → "login screen with social login buttons"
  • 컨텍스트 제공: "e-commerce dashboard" (도메인 특정)
  • 컴포넌트 열거: "with table, chart, and filter"

지양해야 할 패턴:

  • 과도한 추상화: "nice page"
  • 복잡도 과다: 200자 초과 설명
  • 비현실적 요구사항: "page that can read minds"

2. 아티팩트 관리 전략

출력 파일 증가 시 체계적 관리 구조가 필요합니다:

output/
  ├── 20250130/          # 날짜별 분류
  │   ├── login_v1.html
  │   ├── login_v2.html
  │   └── dashboard.html
  └── 20250131/
      ├── profile.html
      └── settings.html

파일 재배치:

mkdir -p output/20250130
mv output/login_* output/20250130/

3. 프롬프트 재사용성 향상

빈번히 사용되는 프롬프트의 중앙 집중식 관리:

# prompts.txt 생성
echo "login screen with social login buttons" >> prompts.txt
echo "dashboard with sales analytics" >> prompts.txt
echo "user profile page with edit capability" >> prompts.txt

활용 방법:

cat prompts.txt
# 필요한 프롬프트 선택 및 실행

4. 출력 품질 최적화

프롬프트 정밀도 향상 기법:

  1. 상세 명세: "차트" → "판매 추이 차트"
  2. 상태 처리: "with loading state and error handling"
  3. 반응형 디자인: "mobile responsive design"
  4. 접근성 표준: "with accessibility features"

5. 성능 트러블슈팅

실행 지연 문제:

  • 네트워크 대역폭 검증
  • AWS 리전 최적화 (us-east-1 권장)
  • 프롬프트 복잡도 감소

출력 품질 개선:

  • 프롬프트 구체성 증대
  • 표현 방식 다양화 ("login form" vs "authentication page")
  • 다중 생성을 통한 최적 결과 선택

자주 묻는 질문 (FAQ)

Q1: 운영 비용은 어느 정도인가요?

A: 프로토타입당 약 $0.05-0.10 수준입니다. 일일 10개 생성 시 약 $1의 비용이 발생합니다.

Q2: 평균 생성 시간은 얼마나 소요되나요?

A: 일반적으로 30-60초가 소요됩니다. 프롬프트 복잡도에 따라 1-2분까지 증가할 수 있습니다.

Q3: 생성된 HTML 코드를 수정할 수 있나요?

A: 네, 완전한 HTML 코드로 생성되므로 직접 편집이 가능합니다.

Q4: 프로덕션 환경 배포가 가능한가요?

A: 프로토타입 용도로 설계되었으므로 참고 자료로 활용하는 것을 권장합니다. 프로덕션 배포 시 보안, 성능 최적화, 에러 처리 등 추가 개발이 필요합니다.

Q5: React/Vue.js 코드 생성도 지원하나요?

A: 현재는 HTML만 지원합니다. 생성된 HTML을 React/Vue 컴포넌트로 마이그레이션하는 것은 비교적 간단한 작업입니다.

Q6: 한국어 프롬프트 지원 여부는?

A: 영어 프롬프트 사용을 권장합니다. 모델이 영어 데이터셋으로 학습되어 영어 입력 시 더 정확한 결과를 제공합니다.

Q7: 차트 및 그래프의 실제 기능 구현 여부는?

A: 플레이스홀더로 생성됩니다. 실제 데이터 시각화를 위해서는 Chart.js 등의 라이브러리 통합이 필요합니다.

Q8: 에러 발생 시 대응 방법은?

A: 하단 트러블슈팅 섹션을 참조하시기 바랍니다. 대부분의 문제는 AWS 인증 설정과 관련됩니다.

트러블슈팅

문제 1: AWS Bedrock 인증 실패

증상: "Unable to authenticate with AWS Bedrock"

원인 분석: AWS 자격 증명 구성 오류

해결 방안:

# 현재 설정 검증
aws configure list

# 자격 증명 재구성
aws configure

검증 사항: Region이 us-east-1로 설정되어 있는지 확인

문제 2: 모델 접근 권한 부재

증상: "You don't have access to the model"

원인 분석: Bedrock 모델 접근 권한 미활성화

해결 방안:

  1. AWS Console → Bedrock → Model access 이동
  2. "Manage model access" 선택
  3. Claude 3.5 Sonnet 활성화
  4. 프로비저닝 대기 (5-10분)

문제 3: 실행 타임아웃

증상: "Execution timeout"

원인 분석:

  • 네트워크 대역폭 부족
  • 프롬프트 복잡도 과다

해결 방안:

  • 네트워크 연결 상태 검증
  • 프롬프트 단순화
  • 재시도

문제 4: 출력 파일 생성 실패

증상: 파일이 생성되지 않음

원인 분석:

  • output 디렉토리 권한 문제
  • 디스크 공간 부족

해결 방안:

# 디렉토리 권한 확인
ls -la output/

# 권한 설정
chmod 755 output/

# 디스크 공간 검증
df -h

문제 5: HTML 렌더링 오류

증상: 브라우저에서 HTML이 깨져 보임

원인 분석:

  • 브라우저 호환성 문제
  • 파일 인코딩 불일치

해결 방안:

  • 최신 브라우저 사용 (Chrome, Firefox, Safari 권장)
  • UTF-8 인코딩 확인
  • 재생성

문제 6: Python 모듈 임포트 실패

증상: "Python 모듈을 찾을 수 없어요"

원인 분석:

  • 가상 환경 미활성화
  • 패키지 미설치

해결 방안:

# 가상 환경 활성화 검증
which python
# (venv) 접두사 확인

# 의존성 재설치
pip install -r requirements.txt

더 나아가기

코드 커스터마이징

기본 설정이 마음에 들지 않나요? 코드를 수정해서 나만의 스타일을 만들 수 있습니다.

시스템 프롬프트 수정:

agents/generator_agent.py 파일을 열어서 프롬프트를 수정하세요:

system_prompt = """
You are an expert HTML/CSS generator.

[여기에 원하는 스타일 가이드를 추가]
...
"""

타임아웃 조정:

generate_enhanced_prototype_graph.py 파일에서:

builder.set_execution_timeout(600)  # 초 단위

다른 AI 모델 시도

Claude 외에 다른 모델을 시도하고 싶다면:

return Agent(
    model="다른-모델-ID",  # 예: anthropic.claude-v2
    system_prompt=system_prompt,
    provider="bedrock"
)

AWS Bedrock에서 지원하는 모델 목록은 공식 문서를 참고하세요.

커뮤니티와 지원

도움이 필요하신가요?

  • GitHub Issues: 버그 리포트나 기능 제안
  • Discussions: 사용법 질문이나 아이디어 공유
  • Discord: 실시간 도움 (커뮤니티 링크)

기여하기

이 프로젝트는 오픈소스입니다! 기여하고 싶으시다면:

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

결론

본 가이드를 통해 p2p-prototype-strands의 전체 운영 사이클을 습득하셨습니다.

핵심 가치 제안:

  • 신속한 아이디어 시각화 및 검증
  • 팀 간 효율적인 커뮤니케이션
  • 개발 리드 타임 단축
  • 반복적 프로토타이핑을 통한 최적화

권장 사항: 본 도구를 실무 워크플로우에 통합하여 프로토타입 제작 프로세스를 최적화하시기 바랍니다.

다음 단계:

python generate_enhanced_prototype_graph.py
> your amazing idea here

이 글이 유사한 시스템 구축을 계획하는 엔지니어들에게 실질적인 참고 자료가 되기를 바랍니다.


추가 리소스

공식 문서

학습 자료

커뮤니티

  • GitHub Repository: [프로젝트 저장소 링크]
  • Discord Server: [커뮤니티 채널 링크]
  • Discussion Forum: [포럼 링크]

시리즈 전체 보기:


다음 단계:

이 시리즈를 모두 읽으셨다면:

  1. ✅ 멀티 에이전트 시스템의 개념을 이해했습니다
  2. ✅ 실제 구현 과정을 배웠습니다
  3. ✅ 도구를 설치하고 사용하는 방법을 익혔습니다

이제는 여러분만의 프로젝트를 시작할 차례입니다!

다음에 만들어볼 수 있는 것들:

  • 다른 UI 라이브러리 지원 (Material UI, Chakra UI)
  • 컴포넌트 검증 에이전트 추가
  • React/Vue 코드 생성기
  • 디자인 시스템 토큰 자동 적용
  • A/B 테스트 자동화 도구

창의력을 발휘해서 여러분만의 멀티 에이전트 시스템을 만들어보세요!

Happy coding! 🎨✨

Clickable cat