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.23.tar.gz (31.7 kB 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.23-py3-none-any.whl (40.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for wstranslator-0.1.23.tar.gz
Algorithm Hash digest
SHA256 745f04df7ad033205857a2df44068ab38daa02d6f616e48523e7ed6b812eaf3d
MD5 c9aed91f8121db11b0f6b7218e8f627d
BLAKE2b-256 75e2b05ca32662e654cfa5c49f2a69c8be22b1235cbbdf3d2d69604cfb8eaa25

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wstranslator-0.1.23-py3-none-any.whl
  • Upload date:
  • Size: 40.3 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.23-py3-none-any.whl
Algorithm Hash digest
SHA256 39d7926798ce11bc7f850ba114344feafe82427a6c7e9fd816e2cd04a98fb204
MD5 890efb5aa3618e23616481b94e019252
BLAKE2b-256 2e2cad64232823fbc094b85269b4d4d0464d8316611d78a3c579466558d213fb

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