Skip to main content

Workshop Translator - AI-powered workshop document translation agent

Project description

Workshop Translator

AWS Workshop 문서를 자동으로 번역하는 AI Agent 기반 CLI 도구입니다.

아키텍처

Orchestrator 중심 아키텍처를 사용합니다.

┌─────────────────────────────────────────────────────────────────┐
│                      Orchestrator (main.py)                      │
│                    Claude Opus / Sonnet                          │
│                                                                  │
│  핵심 원칙: tasks.md는 오직 Orchestrator만 수정                    │
└─────────────────────────────────────────────────────────────────┘
                              │
                    ┌─────────┴─────────┐
                    │   TaskManager     │
                    │   (싱글톤)         │
                    │                   │
                    │ • 태스크 상태 관리  │
                    │ • 의존성 체크      │
                    │ • tasks.md 동기화  │
                    └─────────┬─────────┘
                              │
        ┌─────────────────────┼─────────────────────┐
        ▼                     ▼                     ▼
┌───────────────┐    ┌───────────────┐    ┌───────────────┐
│  Translator   │    │   Reviewer    │    │   Validator   │
│    Worker     │    │    Worker     │    │    Worker     │
│  (Stateless)  │    │  (Stateless)  │    │  (Stateless)  │
│ 결과만 반환    │    │ 결과만 반환    │    │ 결과만 반환    │
└───────────────┘    └───────────────┘    └───────────────┘

핵심 설계 원칙

항목 설명
중앙 집중식 상태 관리 tasks.md는 오직 Orchestrator(TaskManager)만 수정
Stateless Workers Sub-agent는 결과만 반환, 상태 파일 직접 수정 안 함
자동 의존성 관리 TaskManager가 태스크 간 의존성을 자동으로 체크
병렬 처리 ThreadPoolExecutor로 최대 5개 파일 동시 처리

디렉토리 구조

src/
├── main.py                    # 진입점 (CLI, AgentCore Runtime)
│
├── task_manager/              # 중앙 집중식 태스크 관리
│   ├── types.py               # Task, TaskResult, TaskStatus
│   └── manager.py             # TaskManager 싱글톤
│
├── agents/
│   ├── analyzer.py            # Workshop 구조 분석
│   ├── designer.py            # 설계 문서 생성
│   ├── orchestrator.py        # Orchestrator 도구들
│   └── workers/               # Stateless 워커들
│       ├── translator_worker.py
│       ├── reviewer_worker.py
│       └── validator_worker.py
│
├── model/                     # 모델 로딩 (Opus, Sonnet)
├── prompts/                   # 시스템 프롬프트
└── tools/                     # 파일 읽기/쓰기 도구

워크플로우

Phase 1: 분석/설계
    ├── analyze_workshop()     → Workshop 구조 분석
    └── generate_design()      → 설계 문서 생성
           │
           ▼
Phase 2: 워크플로우 초기화
    └── initialize_workflow()  → TaskManager 초기화, tasks.md 생성
           │
           ▼
Phase 3: 번역
    └── run_translation_phase() → 병렬 번역 실행
           │
           ▼
Phase 4: 검토
    └── run_review_phase()     → 번역 완료 파일만 검토
           │
           ▼
Phase 5: 검증
    └── run_validate_phase()   → 번역+검토 완료 파일만 검증
           │
           ▼
Phase 6: 완료
    └── get_workflow_status()  → 최종 결과 보고

Orchestrator 도구

도구 설명
initialize_workflow 워크플로우 초기화, tasks.md 생성
run_translation_phase 번역 단계 병렬 실행
run_review_phase 검토 단계 병렬 실행
run_validate_phase 검증 단계 병렬 실행
get_workflow_status 전체 진행 상황 조회
retry_failed_tasks 실패 태스크 재시도
check_phase_completion 단계 완료 여부 확인

설치 및 실행

PyPI에서 설치 (권장)

# uvx 사용 (설치 없이 바로 실행)
uvx wstranslator

# 또는 pip으로 설치
pip install wstranslator
wstranslator

개발 모드 (로컬 개발용)

# 저장소 클론 후
cd workshop-translator/WsTranslator

# uv 사용
uv sync
uv run wstranslator

# 또는 pip 사용
pip install -e .
wstranslator

사용 방법

대화형 모드

wstranslator

대화형 모드에서 Orchestrator가 자동으로 워크플로우를 진행합니다.

예시 대화:

사용자: /path/to/workshop 디렉토리를 한국어로 번역해주세요

Orchestrator: Workshop 구조를 분석하겠습니다...
              → 10개 파일 발견
              → 워크플로우 초기화 완료
              → 번역 시작 (5개씩 병렬 처리)
              → 번역 완료: 10/10 (100%)
              → 검토 시작...
              → 검증 완료. 모든 작업이 완료되었습니다.

필수 요구사항

  • AWS 자격 증명 설정 (AWS CLI 또는 환경 변수)
  • Bedrock 모델 접근 권한

환경 변수

# AWS 리전 설정 (기본값: us-west-2)
export AWS_REGION=us-west-2

# AWS 프로파일 설정
export AWS_PROFILE=your-profile

문제 해결

AWS 자격 증명 오류

# AWS CLI 설정
aws configure

# 또는 환경 변수 설정
export AWS_ACCESS_KEY_ID=your_key
export AWS_SECRET_ACCESS_KEY=your_secret
export AWS_REGION=us-west-2

개발자 정보

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wstranslator-0.1.26.tar.gz (11.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wstranslator-0.1.26-py3-none-any.whl (43.5 kB view details)

Uploaded Python 3

File details

Details for the file wstranslator-0.1.26.tar.gz.

File metadata

  • Download URL: wstranslator-0.1.26.tar.gz
  • Upload date:
  • Size: 11.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.16

File hashes

Hashes for wstranslator-0.1.26.tar.gz
Algorithm Hash digest
SHA256 5404272cef15b915ad6abe8d5068d6cc77da5a2c171983c0bcd5f9c6314a7b57
MD5 544167f1e95a01f531fb33f9d84a6bb1
BLAKE2b-256 5ebf58ca558cd610e126d76108cd6354650816ed61c241e61f8f7eca04750e90

See more details on using hashes here.

File details

Details for the file wstranslator-0.1.26-py3-none-any.whl.

File metadata

  • Download URL: wstranslator-0.1.26-py3-none-any.whl
  • Upload date:
  • Size: 43.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.16

File hashes

Hashes for wstranslator-0.1.26-py3-none-any.whl
Algorithm Hash digest
SHA256 4919de76555eef8b773eca1f3c516b4b589e4282af5e472201991f866556f236
MD5 d410a0d65b9339ef13e9911423669773
BLAKE2b-256 81bc2c16f1a9ed7dde6a1d0d320d1dc8529b607777266a6a544105d4efe58cc1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page