주요 콘텐츠로 건너뛰기
AI 튜토리얼

Hermes로 Stage 1 드라마 시리즈 워크플로 구축하기

이 튜토리얼에서는 Hermes 드라마 에이전트 아키텍처를 소개하고, Stage 1 접수, 보강, 출연진 이미지 생성, 승인 게이트, 스키마 검사 및 비동기 에피소드 제작으로의 전환 과정을 단계별로 살펴봅니다.

Hermes로 Stage 1 드라마 시리즈 워크플로 구축하기

Hermes의 역할

Hermes는 스토리 접수, 보강, 에셋 생성, 에피소드 구성, 런타임 이벤트 및 제작 워크플로를 체계화하는 드라마 시리즈 에이전트 아키텍처입니다. 현재 구현에는 Stage 1 접수 및 보강, Stage 2 JSONL 구성 및 검증, Stage 2와 Stage 3 런타임 동작, 이벤트 처리, Comfy 워커 통합이 포함됩니다.

이 프로젝트는 Chat, Assets, Job 패널로 구성된 Streamlit 호스트 애플리케이션을 중심으로 설계되었습니다. 하나의 대화는 하나의 series_id에 매핑되며, 프로젝트는 projects/{slug}/에 권위 있는 시리즈 데이터를 저장합니다.

Stage 모델 이해하기

이 저장소는 S1–S7 아키텍처를 문서화합니다. Stage 1은 접수 및 보강을 담당합니다. 한 줄짜리 콘셉트를 스크립트와 캐스트 이미지로 변환하며, 명시적인 승인 단계를 포함합니다. Stage 2는 비동기 JSONL 작업을 구성하고 비동기 Comfy 처리를 시작합니다. Stage 3은 on_episode_complete 훅을 사용해 런타임 상태를 업데이트하며, 두 번째 에피소드 생성도 지원합니다.

Stage 4부터 Stage 7까지도 동일한 Agent v1 범위에 포함됩니다. 세부 아키텍처는 저장소의 아키텍처 문서에 설명되어 있으며, 확정된 구현 결정은 DECISIONS.md에 기록되어 있습니다.

저장소 준비하기

저장소 루트에서 시작합니다. README에서는 프로젝트 디렉터리를 drama-series-agent로 지정하므로 Stage 1 명령을 실행하기 전에 해당 디렉터리로 이동합니다.

cd drama-series-agent

README에는 별도의 의존성 설치 명령이 지정되어 있지 않습니다. 스크립트를 실행하거나 패키지를 가져오기 전에 저장소의 기존 Python 환경과 프로젝트 설정을 사용합니다.

Stage 1 접수 스크립트 실행하기

제목에서 새 드라마 프로젝트의 기본 구조를 생성하려면 --title 옵션과 함께 접수 스크립트를 실행합니다. 다음 예시는 README와 동일하게 중국어 제목을 사용합니다.

python scripts/hermes_drama_intake.py --title 我的短剧

이 명령은 Stage 1 접수 워크플로를 시작합니다. 이후 프로젝트 레이아웃에는 런타임 기준 데이터, 문학 콘텐츠, 에피소드 템플릿, 캐스트 데이터 및 스킬을 위한 전용 위치가 제공됩니다.

시스템에서 사용하는 JSON 스키마를 확인하려면 다음을 실행합니다.

python scripts/hermes_drama_intake.py --dump-schemas

스키마 검사는 도구를 통합하거나 저장소의 계약에 따라 페이로드를 검증할 때 유용합니다.

S1-B 보강 흐름 완료하기

README는 handle_tool_call을 통해 S1-B 워크플로를 제공합니다. drama_series_agent.drama.dispatch에서 디스패처를 가져옵니다.

from drama_series_agent.drama.dispatch import handle_tool_call

프로젝트의 기본 구조를 생성한 후 다음 순서로 작업을 실행합니다.

  1. run_literary_generate를 실행해 접수 데이터에서 문학 패키지를 생성합니다.
  2. accept_literary_package를 실행해 생성된 문학 출력을 명시적으로 승인합니다.
  3. extract_cast_table을 실행해 캐스트 테이블을 도출합니다.
  4. run_cast_image_generate를 실행해 캐스트 이미지를 생성합니다.
  5. accept_cast_images를 실행해 생성된 캐스트 에셋을 승인합니다.
  6. mark_audio_deferred를 실행해 오디오 작업이 보류되었음을 기록합니다.
  7. get_s1_gate_status를 실행해 시리즈가 ready_for_s2 상태인지 확인합니다.

승인 단계는 중요합니다. Stage 1은 단순한 생성 호출의 연쇄가 아닙니다. Stage 1 게이트가 Stage 2 준비 완료를 보고하려면 문학 패키지와 캐스트 이미지를 승인해야 합니다.

프로젝트 레이아웃을 지침으로 사용하기

Hermes는 다양한 유형의 프로젝트 데이터를 예측 가능한 마운트에 분리합니다.

  • hermes/architecture/에는 S1-B, S2–S3 순서 문서, S4–S7 범위 및 아키텍처 결정이 포함됩니다.
  • hermes/contracts/에는 JSON 스키마와 예시가 포함됩니다.
  • projects/{slug}/에는 series_runtime.json, 접수 데이터, 핸드오프 데이터 및 결정 사항을 비롯한 L1 기준 데이터가 저장됩니다.
  • dramas/{slug}/는 문학 마운트입니다.
  • templates/{slug}/는 HostApp 에피소드 마운트입니다.
  • data/cast/{slug}/에는 캐스트 및 음성 데이터가 저장됩니다.
  • skills/drama-intake/에는 Stage 1-A 스킬이 포함됩니다.
  • skills/drama-series-develop/는 아웃라인, 세계관 구축, 캐릭터 및 시각적 스타일과 같은 프로젝트 개발 영역을 담당합니다.
  • skills/0xsline-short-drama/는 런타임에서 문학 스킬이 사용하는 문학 스킬을 제공합니다.
  • skills/drama-series-h3-r2v-prompts/는 H3 Ref2VA 연결을 제공합니다.

주요 Python 패키지 알아보기

저장소는 Python 기능을 다음과 같은 목적별 패키지로 나눕니다.

  • drama_series_agent.intake는 감지, 기본 구조 생성, 수집 및 핸드오프를 처리합니다.
  • drama_series_agent.drama에는 JobEvent, SeriesRuntime, EventBus, S1-B 보강, S3 훅 및 Comfy 워커가 포함됩니다.
  • drama_series_agent.adapters.r2v는 MiniMax H3 R2V 에피소드 실행기와 검증을 제공합니다.
  • drama_series_agent.utils.skills_paths는 스킬 위치를 확인합니다.

워크플로를 확장할 때는 접수, 런타임 및 어댑터 로직을 하나의 모듈에 배치하지 말고 이러한 패키지 경계를 사용합니다.

Stage 1에서 제작으로 이동하기

get_s1_gate_status가 ready_for_s2를 보고하면 시리즈는 Stage 2로 진행할 수 있습니다. Stage 2는 JSONL 작업을 구성 및 검증하고 비동기 방식으로 실행합니다. 저장소는 comfy_worker.enqueue_comfy_episode를 통해 Comfy 워커도 연결합니다.

Stage 2 이후의 처리는 채팅을 완전한 작업 로그로 취급하기보다 런타임 이벤트를 통해 진행 상황을 전달해야 합니다. 확정된 결정 사항에 따르면 Chat은 주요 단계를 표시하고, 비동기 작업은 작업 및 이벤트 계층에서 처리합니다.

에피소드가 완료되면 Stage 3의 on_episode_complete 훅이 시리즈 런타임을 업데이트합니다. 이 런타임 업데이트는 의도된 “두 번째 에피소드 생성” 동작을 포함한 다음 에피소드 흐름을 지원합니다.

실용적인 통합 팁

  • 런타임 상태를 명확하게 유지하려면 하나의 대화를 하나의 series_id와 연결하세요.
  • 외부 통합을 구축하기 전에 --dump-schemas로 스키마를 확인하세요.
  • 문학적 산출물과 캐스트 이미지에 대한 명시적인 승인 순서를 유지하세요.
  • 런타임, 문학적 데이터, 에피소드 데이터, 캐스트 데이터의 기준 경계로 프로젝트 마운트를 사용하세요.
  • Streamlit 호스트 또는 워크플로 경계를 변경하기 전에 DECISIONS.md를 읽으세요.
  • Job Event 또는 series_runtime 페이로드를 생성할 때는 hermes/contracts/에 문서화된 계약을 사용하세요.
  • Stage 2 처리를 비동기 작업으로 취급하고 호스트 애플리케이션의 작업 및 채팅 화면을 통해 주요 단계를 표시하세요.

결론

Hermes는 한 줄짜리 드라마 콘셉트에서 승인된 Stage 1 패키지로 이어지고, 이후 비동기 에피소드 제작으로 연결되는 구조화된 경로를 제공합니다. 인테이크 스크립트로 시작하고, S1-B 생성 및 승인 순서를 완료한 다음, ready_for_s2 게이트를 확인하세요. 이후 문서화된 계약과 런타임 훅을 사용해 워크플로를 안전하게 확장할 수 있습니다.