TRENDSHIFT 딥다이브 · 일간 #5 · 2026-06-19

OpenMontage 딥다이브
— AI 코딩 어시스턴트를 통째로 '영상 제작 스튜디오'로 바꾸는 법

calesthio/OpenMontage는 Claude Code·Cursor·Codex 같은 AI 코딩 어시스턴트를, 코드 짜는 도구가 아니라 영상 제작 감독으로 변신시키는 시스템이다. 핵심 아이디어가 독특하다 — "제작을 지휘하는 두뇌(오케스트레이터)를 코드로 짜지 않는다." 대신 에이전트가 읽을 수 있는 YAML 제작 설명서 + 마크다운 연출 매뉴얼을 깔아 두고, 에이전트가 그걸 읽으며 리서치 → 각본 → 에셋 생성 → 편집 → 렌더까지 직접 연출한다. 파이썬은 오직 '도구(tool)'와 '저장'만 맡는다. (저장소: calesthio/OpenMontage · 언어 Python + TypeScript · 라이선스 AGPL-3.0 · 2026 신생·트렌딩 급상승 · 12 파이프라인 · 85 툴 · Markdown 881파일의 instruction-driven 설계)
목차
  1. 프로젝트 한줄 요약
  2. 왜 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석
  5. 디렉토리 구조 해부
  6. 학습 포인트 (기술별)
  7. 시스템 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한줄 요약

한 문장으로 이 프로젝트가 뭘 하는지부터.

OpenMontage = "AI 코딩 어시스턴트에게 쥐여주는, 영상 제작 스튜디오 한 채." 보통 'AI 영상 자동화'라고 하면 "버튼 누르면 영상이 뚝딱" 나오는 코드 파이프라인을 떠올린다. OpenMontage는 정반대 길을 간다. 영상을 만드는 판단·연출·검수는 전부 사람이 읽을 수 있는 설명서(마크다운·YAML)에 적어 두고, 그 설명서를 AI 코딩 어시스턴트가 읽으며 스스로 연출한다. 파이썬 코드는 "FFmpeg로 영상 자르기", "TTS로 내레이션 만들기"처럼 손발(도구) 역할만 하고, "어떤 장면을 어떤 순서로, 어떤 톤으로" 같은 머리(연출)는 에이전트의 몫이다.

🎬 한 줄 비유

"버튼 하나로 영상이 나오는 자판기" vs "감독에게 각본집·장비창고·촬영 매뉴얼을 통째로 넘겨주는 스튜디오"

자판기형 영상 자동화는 빠르지만, 흐름을 코드에 박아 둬서 "이 장면은 좀 더 잔잔하게" 같은 미묘한 연출 변경이 어렵다. 코드를 고쳐야 하기 때문이다.

OpenMontage는 감독(AI 에이전트)에게 스튜디오를 통째로 넘긴다. 각본집(파이프라인 매니페스트), 연출 매뉴얼(디렉터 스킬), 장비창고(85개 툴)를 갖춰 두고 "이 주제로 90초 설명 영상 만들어줘"라고 하면, 감독이 매뉴얼을 읽어 가며 리서치·각본·그림·내레이션·편집·렌더를 직접 지휘한다. 연출을 바꾸고 싶으면 코드가 아니라 매뉴얼(마크다운)을 고치면 된다. 그래서 이 레포는 코드보다 마크다운 파일이 881개로 압도적으로 많다.

용어
에이전트-퍼스트 (Agent-first)
시스템의 '지휘 두뇌'를 코드가 아니라 AI 에이전트에게 맡기는 설계 사상. 보통 프로그램은 "1번 하고, 조건 맞으면 2번" 식 흐름을 사람이 코드로 미리 박아 둔다(하드코딩). 에이전트-퍼스트는 그 흐름을 설명서(자연어·YAML)로만 적어 두고, 실제 순서·판단은 에이전트가 그때그때 읽고 결정한다. "레시피는 글로 적고, 요리는 셰프가 한다"에 가깝다.
용어
파이프라인 (Pipeline) · 매니페스트 (Manifest)
파이프라인 = 영상 한 편을 만드는 작업 흐름 한 종류(예: '설명 영상', '다큐 몽타주'). 매니페스트 = 그 흐름을 적어 둔 YAML 설명서 파일. "이 단계에선 무엇을 만들고(produces), 어떤 툴을 쓸 수 있고(tools_available), 무엇을 검수하라(review_focus)"가 단계별로 적혀 있다. OpenMontage엔 이런 매니페스트가 12개 있다.
용어
툴 레지스트리 (Tool Registry)
에이전트가 쓸 수 있는 도구(tool) 목록과 그 사용법을 자동으로 모아 둔 명부. OpenMontage는 tools/ 폴더를 훑어 85개 도구를 자동 등록하고, "지금 (API 키·GPU 상황에서) 실제로 쓸 수 있는 도구가 무엇인지"를 에이전트에게 알려 준다. 식당으로 치면 "오늘 재료가 있어 주문 가능한 메뉴판"이다.

한 가지 미리 짚어 둘 점 — 이 프로젝트는 표준 연결 규격(MCP)을 쓰지 않는다. 대신 Claude Code의 CLAUDE.md, Cursor의 규칙 파일, Copilot 지시 파일처럼 각 어시스턴트가 원래 읽는 자리에 "먼저 AGENT_GUIDE.md를 읽어라"라고만 적어 둔다. 즉 어떤 특별한 서버를 띄우는 게 아니라, 에이전트가 읽는 문서를 잘 깔아 두는 것만으로 통합이 끝난다. 이 단순함이 이 레포의 핵심 매력이자 학습 포인트다.

2왜 주목받는가

TrendShift 일간 5위 — 2026년 신생 레포가 빠르게 떠오른 이유.

2025~2026년은 "AI 코딩 어시스턴트가 코드 말고 다른 것도 만들 수 있나?"를 모두가 실험하는 시기다. 그러던 차에 OpenMontage가 던진 답이 강렬했다 — "코딩 어시스턴트를 그대로 영상 제작 감독으로 쓸 수 있다." 떠오른 이유를 다섯 가지로 정리하면:

① 영상 한 편을 처음부터 끝까지 — 리서치부터 렌더까지

주제 한 줄만 주면 에이전트가 자료 조사 → 기획안 → 각본 → 장면 계획 → 그림·음성·음악 생성 → 편집 → 최종 렌더까지 한 줄기로 끌고 간다. 부분 도구(자막 생성기, TTS) 하나가 아니라 제작 워크플로우 전체를 다룬다는 점이 차별점이다.

② "지능은 코드가 아니라 설명서에 둔다"는 명확한 설계 사상

이 레포가 가르치는 가장 큰 교훈이다. 보통 자동화는 흐름을 코드에 박지만, OpenMontage는 흐름·판단·검수 기준을 전부 사람이 읽는 마크다운/YAML에 적어 둔다. 그래서 비개발자도 연출 규칙을 읽고 고칠 수 있고, 새 에이전트가 와도 "문서만 읽으면" 똑같이 동작한다.

③ 어시스턴트 종류를 안 가린다 (MCP 없이 네이티브 통합)

Claude Code·Cursor·Copilot·Codex·Windsurf 등 주요 코딩 어시스턴트의 '원래 읽는 설정 파일'(CLAUDE.md·.cursor/rules·copilot-instructions.md …)에 똑같은 안내를 깔아, 별도 서버나 플러그인 설치 없이 붙는다. "특별한 연결 규격을 안 쓰는 게 오히려 강점"인 드문 사례다.

④ 무료-우선 설계 — 유료 API 없이도 진짜 영상이 나온다

대표적으로 다큐멘터리 몽타주 파이프라인은 유료 영상 생성 API를 전혀 안 쓰고, Pexels·Archive.org·NASA·Wikimedia 같은 무료 공개 영상을 의미 검색(CLIP)으로 골라 편집한다. 내레이션도 Piper TTS로 오프라인·무료 생성이 가능하다. API 키가 많을수록 쓸 수 있는 툴이 늘어나는 구조라, 0원으로 시작할 수 있다.

⑤ 품질·예산 '안전장치'를 코드로 강제

에이전트가 폭주하지 않도록 가드레일을 코드로 박아 뒀다. "정지 화면만 이어 붙인 슬라이드쇼"는 렌더를 막고(slideshow_risk), 최종 영상은 ffprobe로 실제 길이·오디오를 검증하며, 유료 생성 호출은 건당·총액 예산 상한을 넘으면 사람 승인을 요구한다(기본 총 $10, 건당 $0.5).

접근 방식어떻게 영상을 만드나OpenMontage와의 차이
전통 영상 자동화 스크립트흐름을 코드에 하드코딩빠르지만 연출 변경이 곧 코드 수정. OpenMontage는 매뉴얼(문서)만 고치면 됨.
ComfyUI 등 노드 워크플로우이미지/영상 생성 노드를 그래프로 연결생성에 강하나 '연출·각본·검수'는 사람 몫. 이 레포는 리서치~편집 전체를 에이전트가 지휘.
단일 SaaS 영상 생성기웹에서 프롬프트 → 영상닫힌 서비스·유료. 이 레포는 로컬·오픈소스, 무료 스택으로도 동작.
OpenMontage에이전트가 매니페스트+스킬을 읽고 85개 툴을 지휘연출은 문서에, 손발은 파이썬에. 어시스턴트 종류 무관.
강점
"사실(도구)"과 "판단(에이전트)"을 깔끔히 분리

툴은 "FFmpeg로 자른다", "CLIP으로 비슷한 클립을 찾는다" 같은 정확한 사실 작업만 한다. "어떤 클립이 이 내레이션에 어울리나" 같은 창의적 판단은 에이전트가 한다. 게다가 어떤 생성 도구(provider)를 고를지조차 7가지 기준 점수로 자동 추천하고, 왜 골랐는지를 기록(decision log)으로 남긴다. 판단의 근거가 추적 가능하다는 뜻이다.

냉정하게 보기
마케팅 숫자는 가려서 — 그리고 AGPL 라이선스 주의

README 자체가 숫자를 부풀린다. 광고는 "52 tools, 500+ skills"라 하지만 실측은 툴 85개(주장보다 많음), 진짜 스킬(SKILL.md) 115개다. "500+"는 스킬 폴더 안 모든 마크다운 파일을 합산한 수치다. 파이프라인도 문서엔 12개라지만 매니페스트는 13개(1개는 테스트용 더미). 또 라이선스가 AGPL-3.0이라, 이걸 가져다 웹 서비스로 제공하면 소스 공개 의무가 생길 수 있다 — 상업적 활용 전 반드시 확인하자. 아직 2026 신생이라 안정성·문서 정합성도 직접 검증을 권한다.

3기술 스택 전체 지도

README · requirements.txt · pipeline_defs · tools 레지스트리 · remotion-composer에서 확인한 구성.

먼저 마음의 준비 — 이 레포는 우리가 흔히 떠올리는 "백엔드+프론트+DB" 웹 스택이 아니다. 파일 구성부터 특이하다. 마크다운 881개(설명서!), 파이썬 353개, TypeScript/TSX 44개. 즉 코드보다 '에이전트가 읽을 글'이 더 많은 instruction-driven 프로젝트다. 층을 다섯으로 나눠 보자.

ⓐ 오케스트레이션 층 — '두뇌'는 코드가 아니다

가장 중요한 사실: 제작을 지휘하는 오케스트레이터 코드가 없다. 그 자리를 AI 코딩 어시스턴트가 채운다. 그래서 파이썬 의존성이 놀랄 만큼 가볍다.

구성요소무엇역할
Python ≥3.10툴·저장 런타임오직 도구 실행과 상태 저장만. 흐름 제어는 안 함.
pydantic ≥2데이터 검증툴 입출력·아티팩트를 정해진 모양으로 강제.
pyyaml · jsonschema설명서 파서·검증YAML 매니페스트를 읽고, JSON Schema로 산출물 계약을 검증.
python-dotenv키 관리.env의 API 키를 자동 로드(키 있는 만큼 툴이 열림).
Pillow · requests이미지·HTTP썸네일 처리·스톡 소스 호출 등 기본기.

ⓑ 툴 층 — 에이전트의 '손발' 85개

tools/ 폴더의 모든 파일은 BaseTool이라는 공통 틀을 상속한다. 레지스트리가 폴더를 훑어 85개를 자동 등록한다. 카테고리별 개수:

카테고리개수대표 툴
video (영상)30kling/veo/runway/heygen_video(생성), video_compose·silence_cutter(편집), clip_search(스톡 검색)
graphics (그림)13flux/imagen/openai_image, diagram_gen, math_animate(ManimCE)
audio (소리)12elevenlabs/openai/piper_tts, suno_music, audio_mixer
analysis (분석)12transcriber(WhisperX), scene_detect, video_understand(CLIP/BLIP-2)
character · enhancement6+6SVG 캐릭터 리깅 / upscale·bg_remove·face_restore
avatar · subtitle · capture2+1+3talking_head·lip_sync / 자막 / 화면 녹화

ⓒ 렌더 층 — 영상을 '코드로 그린다'

OpenMontage는 영상을 만드는 두 가지 렌더 엔진을 갖는다. 둘 다 가능하면 에이전트가 둘 다 제안하도록 규칙이 박혀 있다.

엔진스택쓰임
Remotion 4.0.441React 18 + TypeScript 5.3remotion-composer/. 영상을 React 컴포넌트로 작성해 렌더. 단어별 자막·전환·차트.
HyperFramesHTML/CSS + GSAP (Node ≥22)npx hyperframes로 소비. 키네틱 타이포·SVG 캐릭터 애니메이션·웹페이지→영상.
용어
Remotion (리모션)
React로 영상을 만드는 프레임워크. 웹페이지를 만들듯 <div>·애니메이션으로 한 프레임 한 프레임을 그리면, Remotion이 그걸 모아 MP4로 렌더한다. "코드가 곧 영상 편집 타임라인"인 셈. 프런트엔드 개발자가 영상 제작에 가장 빨리 적응할 수 있는 통로다.

ⓓ 지식 층 — 3개의 레이어로 나뉜 '설명서'

이 레포의 진짜 심장. 지식을 3단 구조로 분리해 둔다(skills/INDEX.md에 명문화).

레이어위치무엇을 답하나
Layer 1tools/ + pipeline_defs/"무엇이 존재하나" — 어떤 툴·파이프라인이 있는지.
Layer 2skills/ (151개 .md)"OpenMontage가 이걸 어떻게 쓰나" — 단계별 디렉터/리뷰어 매뉴얼.
Layer 3.agents/skills/ · .claude/skills/"기술 자체가 어떻게 작동하나" — FFmpeg·Remotion·GSAP 범용 지식팩(SKILL.md 115개).

ⓔ 외부 도구 의존성 — 무료 오픈소스가 뼈대

유료 API는 전부 선택이고, 뼈대는 무료 오픈소스 도구다.

도구역할
FFmpeg필수. 인코딩·자막 번인·오디오 믹싱·컬러그레이딩. 38개 파일이 참조.
yt-dlpYouTube/숏폼 영상·자막 다운로드(분석용).
WhisperX음성→자막, 단어 단위 타임스탬프 추출.
Piper TTS무료·오프라인 내레이션 음성 합성.
ManimCE수식·도표 애니메이션 생성(math_animate).
CLIP / BLIP-2영상 클립을 의미 벡터로 임베딩 → 스톡 코퍼스 검색.
(선택) 로컬 GPU 모델WAN·Hunyuan·CogVideo·LTX(영상), SadTalker·Wav2Lip(아바타).
(선택) 클라우드 APIFAL(FLUX·Veo·Kling 게이트웨이)·ElevenLabs·OpenAI·Suno·HeyGen·Runway 등.

4아키텍처 심화 분석

먼저 전체 그림을 한 장으로 본 뒤, 대표 흐름 두 줄기(영상 제작·도구 선택)를 끝까지 따라간다.

부품 이름을 외우기 전에 숲부터 보자. 이 시스템의 일은 한 문장이다 — "에이전트가 설명서(매니페스트+스킬)를 읽고, 레지스트리의 툴을 단계별로 호출해 영상을 만든다." 특이한 건 가운데에 '지휘 프로그램'이 없고, 그 자리를 AI 코딩 어시스턴트가 직접 채운다는 점이다.

독수리 시점 — 전체 구조 한 장

사용자: "이 주제로 90초 설명 영상 만들어줘" │ ▼ ┌──────────────────────────────────────────────────────┐ │ AI 코딩 어시스턴트 (Claude Code · Cursor · Codex …) │ │ = 오케스트레이터(지휘 두뇌). 코드가 아니라 '에이전트'다. │ └──────────────────────────────────────────────────────┘ │ ① 진입: CLAUDE.md / .cursor/rules 가 "AGENT_GUIDE.md 부터 읽어라" ▼ ┌──────────────────────────────────────────────────────┐ │ AGENT_GUIDE.md (38KB — 시스템의 '운영 규칙서') │ │ · Rule Zero: 모든 영상은 반드시 파이프라인을 거친다 │ │ · 유료 호출 전 반드시 announce(decision contract) │ └──────────────────────────────────────────────────────┘ │ ② 파이프라인 식별 → 매니페스트 읽기 ▼ pipeline_defs/animated-explainer.yaml (각본집 = 단계 흐름) │ ③ preflight: 레지스트리에 "지금 쓸 수 있는 툴" 질문 ▼ ┌─────────────── 단계별 루프 (stage loop) ───────────────┐ │ research → proposal → script → scene_plan → │ │ assets → edit → compose (→ publish) │ │ │ │ 각 단계마다: │ │ (a) skills/ 의 '디렉터 스킬' 먼저 읽기 (Layer 2) │ │ (b) 툴 호출 — 툴의 agent_skills(Layer 3) 먼저 읽기 │ │ (c) provider 선택은 7차원 점수로 자동 추천 (lib/scoring) │ └──────────────────────────────────────────────────────┘ │ │ ▼ ▼ [ 렌더 엔진 ] [ 안전장치 ] Remotion(React) 예산 캡 · 슬라이드쇼 차단 HyperFrames(GSAP) compose 후 ffprobe 검증 │ │ ▼ ▼ 최종 MP4 checkpoint(JSON) — 상태·결정·비용 기록, 재개 가능
용어
디렉터 스킬 (Director Skill)
파이프라인의 각 단계를 어떻게 연출할지 적은 마크다운 매뉴얼. 예: script-director.md는 "각본은 이런 톤으로, 길이는 이렇게, 검수는 이걸 보라"를 알려 준다. 에이전트는 그 단계에 들어가기 전 이 문서를 먼저 읽는다. 영화 현장의 '연출 노트'에 해당한다.

흐름 ① — "설명 영상 만들어줘" (해피패스만)

가장 대표적인 animated-explainer 파이프라인을 따라가 보자. 곁가지는 접고 핵심 줄기만:

# AGENT_GUIDE.md 가 강제하는 순서 (Rule Zero)
1. research   주제 자료 조사 → 사실·출처 정리 (research-director.md)
2. proposal  2~3개 컨셉 제안 → 사용자 승인 (체크포인트)
3. script     내레이션 각본 작성 (script-director.md)
4. scene_plan 장면 단위로 쪼개 "각 장면에 무슨 비주얼" 계획
5. assets    그림·음성·음악 생성 — 여기서 provider 선택 점수가 작동
6. edit       클립을 자르고 이어 붙임 (FFmpeg)
7. compose   Remotion/HyperFrames 로 최종 렌더 → ffprobe 로 검증
   (8. publish) 선택 — 포맷/업로드

여기서 이 레포 특유의 규칙이 "즉석 파이썬 스크립트로 툴을 직접 부르지 말 것"이다. 반드시 파이프라인을 거치고, 단계마다 디렉터 스킬을 먼저 읽어야 한다. 왜냐면 '정확한 사실'은 툴이, '연출 판단'은 에이전트가 한다는 분업을 지키기 위해서다. 곁가지(에러 재시도·수정 루프)는 max_revisions 같은 매니페스트 설정으로 통제되지만, 여기선 생략한다.

흐름 ② — "어떤 생성 도구를 쓸까?" (provider 자동 선택)

assets 단계에서 "이미지를 FLUX로 만들까, Imagen으로 만들까?"를 에이전트가 감으로 찍지 않는다. lib/scoring.py7가지 기준에 가중치를 곱해 점수를 매기고, 가장 높은 provider를 추천한다.

# lib/scoring.py — 7차원 가중 점수 (합 = 1.0)
task_fit         0.30   # 이 작업에 얼마나 맞나
output_quality   0.20   # 결과물 품질
control          0.15   # 세밀한 제어 가능성
reliability      0.15   # 안정성
cost_efficiency  0.10   # 가성비
latency          0.05   # 속도
continuity       0.05   # 앞 장면과의 일관성
→ 최고점 provider 추천 + 왜 골랐는지 decision_log 에 기록

이게 ②번의 핵심이다 — 선택이 설명 가능(explainable)하다. "ElevenLabs를 고른 이유: 품질·안정성 기여가 가장 컸음"처럼 사람이 읽을 문장으로 근거를 남긴다. 게다가 어떤 provider가 실제로 쓸 수 있는지는 API 키·GPU 유무에 따라 달라지므로, 레지스트리가 매번 "지금 가능한 메뉴"를 먼저 추려 준다.

용어
셀렉터 / 프로바이더 (Selector / Provider)
프로바이더 = 같은 일을 하는 여러 '공급자'(예: 이미지 생성의 FLUX, Imagen, OpenAI). 셀렉터 = 그중 하나를 자동으로 고르는 라우터(tts_selector·image_selector). 식당 비유로, "오늘 재료 있는 셰프 중 이 요리에 가장 잘 맞는 셰프를 점수로 뽑아 주는 매니저"다.

이 레포에서 "정상"인 관례 하나 — 모든 툴은 자신을 capability(능력), runtime(LOCAL/GPU/API 어디서 도나), cost(비용), agent_skills(읽어야 할 Layer 3 문서)로 스스로 신고한다. 코드를 읽다 이 필드들이 보이면 "아, 이 툴이 자기 명세를 선언하는 부분이구나"로 보면 된다.

5디렉토리 구조 해부

파일 1,362개지만, 핵심은 "툴·매니페스트·스킬·렌더" 네 덩어리다.

파일이 많아 보여도 대부분은 마크다운 스킬 문서다. 구조를 이해하는 열쇠는 "무엇이 있나(Layer 1) · 어떻게 쓰나(Layer 2) · 기술 원리(Layer 3)"의 3단 분리다. 큰 덩어리만 보자.

OpenMontage/ ├── AGENT_GUIDE.md ★ 시스템 운영 규칙서 (38KB — 에이전트가 가장 먼저 읽음) ├── CLAUDE.md 진입 안내: "AGENT_GUIDE.md 부터 읽어라" ├── AGENTS.md / CURSOR.md / .windsurfrules / copilot-instructions.md │ 어시스턴트별 진입점 — 모두 같은 메시지로 라우팅 ├── config.yaml LLM provider · 예산 상한 · 체크포인트 정책 ├── Makefile make setup / demo / preflight 등 단축 명령 │ ├── tools/ ★ Layer 1 — 에이전트의 '손발' 85개 (BaseTool 상속) │ ├── base_tool.py 모든 툴의 공통 틀(계약). 능력·런타임·비용 선언 │ ├── tool_registry.py 폴더를 훑어 85개 툴 자동 발견·등록 │ ├── video/ 영상 30개 (+ stock_sources/ 16개 무료 스톡 어댑터) │ ├── graphics/ audio/ analysis/ character/ enhancement/ avatar/ … │ ├── pipeline_defs/ ★ Layer 1 — 12개 파이프라인 YAML 매니페스트(+더미 1) │ ├── animated-explainer.yaml documentary-montage.yaml cinematic.yaml … │ ├── skills/ ★ Layer 2 — "OpenMontage가 툴을 어떻게 쓰나" (151 .md) │ ├── pipelines/ 파이프라인별 단계 디렉터(research/script/edit-director…) │ ├── meta/ reviewer · checkpoint-protocol · onboarding │ └── creative/ core/ 스토리텔링·타이포·사운드 / ffmpeg·remotion 사용법 │ ├── .agents/skills/ ★ Layer 3 — "기술 자체의 원리" 범용 지식팩 (정본, 68 SKILL.md) ├── .claude/skills/ └ 위의 부분집합(47개) — Claude Code 발견용 복제본 │ ├── remotion-composer/ React 18 + Remotion 렌더 엔진 (TSX 컴포넌트) ├── lib/ 코어 인프라: scoring.py · checkpoint.py · 품질 게이트 ├── schemas/ 24개 JSON Schema — 아티팩트·체크포인트 '계약' 검증 ├── styles/ 비주얼 스타일 플레이북(YAML) └── tests/ contract · QA · eval (골든 출력 · 리플레이)
위치한 줄 역할
AGENT_GUIDE.md시스템의 '운영 두뇌'. 에이전트 행동 규칙 전체(Rule Zero·예산·승인).
tools/base_tool.py모든 툴이 상속하는 공통 계약. 능력·런타임·비용·필요 스킬을 선언.
tools/tool_registry.py폴더를 훑어 85개 툴을 자동 발견·등록하고 "지금 가능한 메뉴"를 노출.
pipeline_defs/12개 영상 제작 흐름을 YAML로 적은 '각본집'. 단계·툴·검수 기준 포함.
skills/Layer 2. 파이프라인 단계별 연출/검수 매뉴얼(마크다운).
.agents/skills/Layer 3. FFmpeg·Remotion·GSAP 등 기술 자체의 범용 지식팩(SKILL.md).
lib/scoring.pyprovider를 7차원 점수로 골라 주고 근거를 기록.
remotion-composer/영상을 React 컴포넌트로 작성·렌더하는 유일한 대형 비-파이썬 부분.

6학습 포인트 (기술별)

이 레포 한 채로 배울 수 있는 기술과, 각각의 실습 아이디어.

이 프로젝트는 "2026년 에이전트 설계의 모범 패턴"이 한곳에 모여 있어 공부 소재로 훌륭하다. 영상 기술보다 '에이전트를 어떻게 설계하나'가 진짜 배울 점이다.

① 에이전트-퍼스트 설계

지능을 코드가 아니라 '설명서'에 두기

가장 큰 교훈. 흐름·판단을 코드에 박는 대신 AGENT_GUIDE.md·매니페스트·디렉터 스킬에 자연어로 적어, 에이전트가 읽고 결정하게 한다. "왜 이렇게 하면 유연한가"를 이 레포가 실물로 보여 준다.

실습: AGENT_GUIDE.md의 'Rule Zero'를 읽고, "코드로 박았다면 vs 문서로 적었을 때" 무엇이 달라지는지 한 문단으로 정리해 보기.

② 통일된 툴 계약 + 자동 레지스트리

플러그인을 '자동 발견'하는 패턴

base_tool.py의 추상 클래스를 상속하면 모든 툴이 같은 모양(능력·비용·런타임 선언)을 갖고, tool_registry.py가 폴더를 훑어 자동 등록한다. 새 기능을 "파일만 추가하면 끝"으로 만드는 확장 설계의 정석이다.

실습: 파이썬 추상베이스클래스(ABC)로 BaseTool을 흉내 내고, 폴더를 pkgutil로 훑어 서브클래스를 자동 등록하는 미니 레지스트리 만들어 보기.

③ provider 라우팅 — 점수로 고르기

"감"이 아니라 가중 점수로 선택하기

lib/scoring.py는 7개 기준에 가중치를 곱해 합산하고, 상위 기여 차원을 사람 문장으로 설명한다. 여러 후보 중 하나를 설명 가능하게 고르는 의사결정 패턴을 그대로 배울 수 있다.

실습: "점심 메뉴 고르기"를 가격·거리·취향 3차원 가중 점수로 구현하고, explain()으로 "왜 골랐는지" 한 줄을 출력해 보기.

④ 선언적 파이프라인 (YAML)

흐름을 데이터로 적는 법

pipeline_defs/*.yaml은 단계마다 produces·tools_available·success_criteria를 선언한다. 흐름을 코드가 아니라 데이터(설정)로 다루면, 같은 엔진으로 12종의 다른 영상을 만들 수 있다.

실습: animated-explainer.yaml을 열어 단계별 produces가 무엇인지 표로 옮겨 적기. 나만의 짧은 파이프라인 YAML(3단계)을 설계해 보기.

⑤ 검색-우선 B-roll (CLIP 코퍼스)

생성 대신 '검색'으로 진짜 영상 만들기

tools/video/corpus_builder.py는 무료 스톡 소스를 모아 CLIP 벡터로 임베딩한 뒤, 내레이션에 맞는 클립을 의미 검색으로 찾아 편집한다. 유료 생성 없이도 다큐가 나오는 비결이자, RAG(검색증강)의 영상판이다.

실습: 이미지 몇 장을 CLIP으로 임베딩해 "텍스트로 이미지 검색"을 구현해 보기. 양자화·코퍼스(JSONL+npy) 저장 방식 관찰.

⑥ Remotion + 품질 게이트

코드로 영상 만들고, 코드로 검수하기

remotion-composer/로 React 컴포넌트가 곧 영상이 되는 경험을, lib/slideshow_risk·composition_validator로 "에이전트 결과물을 코드로 강제 검수"하는 가드레일을 함께 배울 수 있다.

실습: Remotion 튜토리얼로 5초짜리 타이틀 영상 렌더해 보기. "정지 화면이 N초 이상이면 실패" 같은 간단한 검수 규칙을 파이썬으로 짜 보기.

7시스템 요구사항

무료로 시작할 때와, 본격적으로 쓸 때(GPU·API)로 나눠서.

핵심은 "무료 스택만으로도 동작하고, 키를 더할수록 능력이 커진다"는 점이다. FFmpeg 하나만 있으면 다큐 몽타주는 0원으로 만들 수 있다.

항목요구사항
운영체제macOS · Linux · Windows. 레지스트리에 Windows 인코딩(cp1252) 호환 처리까지 들어 있음.
Python≥ 3.10. 코어 의존성은 가벼움(pyyaml·pydantic·jsonschema·Pillow·requests).
Node.js≥ 18 (Remotion). HyperFrames 렌더를 쓰면 ≥ 22.
FFmpeg필수. 영상 편집·인코딩의 기반. 별도 설치 필요.
AI 코딩 어시스턴트Claude Code · Cursor · Codex · Copilot · Windsurf 등 — 이게 곧 오케스트레이터.
GPU (선택)로컬 영상/아바타 생성 모델(WAN·Hunyuan·SadTalker 등)을 쓸 때만. make install-gpu로 torch 설치.
API 키 (선택)FAL·ElevenLabs·OpenAI·Suno·HeyGen 등. .env에 넣으면 해당 툴이 자동으로 열림.
예산config.yaml에서 총액·건당 상한 설정(기본 총 $10, 건당 $0.5). 무료 스택만 쓰면 $0.

설치는 make setup으로 시작하고, make preflight로 "지금 환경에서 어떤 툴이 활성화됐는지"를 점검할 수 있다. 키가 하나도 없어도 documentary-montage·screen-demo 같은 무료 파이프라인은 동작한다.

8직접 해볼 수 있는 실습 과제

읽기만 해도 절반은 배운다. 난이도 순으로.

실습 1 난이도 ★☆☆ 입문

AGENT_GUIDE.md 정독하고 'Rule Zero' 요약

코드를 돌리기 전에 AGENT_GUIDE.md부터 읽는다. 에이전트가 영상 요청을 받으면 어떤 순서로 움직이라고 적혀 있는지, '유료 호출 전 announce' 규칙은 왜 있는지 한국어로 요약한다.

목표: '지능을 문서에 둔다'가 실제 어떤 글로 구현되는지 체감.
실습 2 난이도 ★☆☆ 입문

파이프라인 매니페스트 한 개 해부

pipeline_defs/animated-explainer.yaml을 열어, 단계(stage)별로 produces(무엇을 만드나)·tools_available(어떤 툴)·success_criteria(합격 기준)를 표로 옮겨 적는다.

목표: '흐름을 데이터로 적는' 선언적 파이프라인 읽는 눈 기르기.
실습 3 난이도 ★★☆ 중급

무료 스택으로 다큐 몽타주 한 편 만들기

API 키 없이 documentary-montage 파이프라인을 돌려, 무료 스톡(Archive.org·NASA 등) 영상을 CLIP 검색으로 골라 짧은 영상을 만든다. make setup → FFmpeg 확인 → 짧은 주제로 시도.

목표: "생성이 아니라 검색"으로 영상이 만들어지는 과정을 직접 관찰.
실습 4 난이도 ★★☆ 중급

나만의 BaseTool 하나 만들어 등록하기

tools/base_tool.py를 상속해 아주 단순한 툴(예: "텍스트를 받아 PNG 자막 카드 생성")을 만들고, 레지스트리가 자동 발견하는지 확인한다. capability·runtime·cost 필드를 채워 본다.

목표: '통일된 계약 + 자동 발견' 확장 패턴을 손으로 익히기.
실습 5 난이도 ★★★ 고급

provider 점수 로직 분석·튜닝

lib/scoring.py를 정독하고, 7차원 가중치를 바꿔(예: cost_efficiency 비중 ↑) 같은 작업에서 추천 provider가 어떻게 달라지는지 실험한다. explain() 출력도 비교한다.

목표: 설명 가능한 의사결정 시스템을 직접 조정해 보기.
실습 6 난이도 ★★★ 고급

새 파이프라인 + 디렉터 스킬 작성

짧은 커스텀 파이프라인(예: "SNS 9:16 쇼츠 3단계") YAML을 만들고, 각 단계의 디렉터 스킬(.md)을 작성해 에이전트가 그대로 따라 영상을 만들게 해 본다.

목표: 코드 한 줄 없이 '문서만으로' 새 기능을 추가하는 경험.

9관련 기술 심화 학습 로드맵

이 레포를 100% 소화하기 위한 6주 코스(주당 5~7시간 가정).

주차주제학습 자료 / 할 일
1주차에이전트-퍼스트 사상AGENT_GUIDE.md 정독 + Anthropic 'Agent Skills' 개념 읽기. 실습 1.
2주차툴 계약 + 자동 레지스트리파이썬 ABC·pkgutil 학습. base_tool.py·tool_registry.py 정독. 실습 4.
3주차선언적 파이프라인 + 3-레이어 스킬YAML·JSON Schema 기초. 매니페스트와 디렉터 스킬 매핑 그려 보기. 실습 2.
4주차Remotion으로 영상 만들기Remotion 공식 튜토리얼 + remotion-composer/ 컴포넌트 읽기. 실습 6 준비.
5주차provider 점수 + 무료 미디어 스택scoring.py 정독 + FFmpeg·yt-dlp·WhisperX·Piper 익히기. 실습 3·5.
6주차품질·예산 게이트 + 직접 설계lib/ 검수 코드·config.yaml 예산 정책 읽기. 나만의 파이프라인 작성(실습 6).

10핵심 키워드 사전

이 문서와 레포에 등장한 용어를 한자리에.

용어의미
에이전트-퍼스트지휘 두뇌를 코드가 아니라 AI 에이전트에게 맡기는 설계. 흐름은 문서로만 적는다.
오케스트레이터여러 단계를 조율·지휘하는 주체. 이 레포에선 AI 코딩 어시스턴트가 그 역할.
파이프라인영상 한 편을 만드는 작업 흐름 한 종류(설명 영상·다큐 몽타주 등 12개).
매니페스트파이프라인을 적어 둔 YAML 설명서. 단계·툴·검수 기준을 선언.
툴 레지스트리tools/를 훑어 85개 도구를 자동 등록하고 '가능한 메뉴'를 노출하는 명부.
BaseTool모든 툴이 상속하는 공통 계약(추상 클래스). 능력·런타임·비용을 선언.
스킬 (SKILL.md)에이전트가 읽는 지식 문서. 3개 레이어로 분리(존재/사용법/원리).
agent_skills툴이 "이걸 쓰기 전 이 Layer 3 문서를 읽어라"고 가리키는 필드.
디렉터 스킬파이프라인 각 단계의 연출/검수 매뉴얼(마크다운).
셀렉터 / 프로바이더같은 일의 여러 공급자(프로바이더) 중 하나를 자동으로 고르는 라우터(셀렉터).
7차원 점수task_fit·품질·제어·안정성·가성비·속도·일관성에 가중치를 곱해 provider 선택.
decision_log"왜 이 provider를 골랐는지" 근거·대안·확신도를 남기는 결정 기록.
체크포인트작업 상태·결정·비용을 JSON으로 저장해 중간에 재개할 수 있게 하는 장치.
AGENT_GUIDE.md시스템 운영 규칙서(38KB). Rule Zero·예산·승인 규칙의 단일 출처.
MCPModel Context Protocol. AI-도구 표준 규격. 이 레포는 안 쓰고 네이티브 설정 파일로 통합.
RemotionReact로 영상을 만드는 프레임워크. 컴포넌트가 곧 프레임.
HyperFramesHTML/CSS+GSAP 기반 두 번째 렌더 런타임. 키네틱 타이포·SVG 캐릭터.
GSAPGreenSock Animation Platform. 웹 애니메이션 라이브러리(키네틱 타이포에 사용).
FFmpeg영상·오디오 처리의 사실상 표준 도구. 이 레포의 편집 기반(필수).
WhisperX음성을 단어 단위 타임스탬프 자막으로 바꾸는 STT 도구.
Piper TTS무료·오프라인 음성 합성기. 0원 내레이션.
CLIP / 코퍼스영상/이미지를 의미 벡터로 임베딩. 모아 둔 검색용 더미가 코퍼스.
B-roll주 화면을 받쳐 주는 보조 영상. 여기선 무료 스톡을 검색해 채운다.
ffprobeFFmpeg의 검사 도구. 렌더 결과의 실제 길이·오디오를 검증(품질 게이트).
AGPL-3.0강한 카피레프트 라이선스. 서비스로 제공 시 소스 공개 의무가 생길 수 있음.

11참고 링크

원문·관련 기술 더 파기.