조선야사 롱폼 자동화 – 실행 순서 오류처럼 보였던 진짜 원인
작업 목적
- 조선야사 롱폼 자동화 워크플로우
- WF1에서 롱폼 대본(
script_text) 생성 - WF2에서 해당 대본을 기반으로:
- 롱폼 메타데이터
- 쇼츠 스크립트
- 썸네일 문구
자동 생성
발생한 문제
WF2가 실행될 때
대본이 없는 상태로 LLM이 호출되는 현상 발생
1️⃣ 문제 상황 (초기 증상)
- 구조:
WF0 → WF1 → WF2 - WF1:
- 정상적으로 대본 생성
- WF2 실행 시 아래 메시지 발생
조선 야사 롱폼 대본 요청 확인
현재 상태:
지시문은 정상적으로 입력되었으나,
대본 원문이 누락되었습니다.
겉으로 보면:
- WF2가 WF1보다 먼저 실행되는 것처럼 보였고
- 폴링 / Wait / 순서 제어 문제처럼 보이는 상황이었다
2️⃣ 1차 시도 (실패한 접근)
시도한 것들
- WF0에서 WF1 → WF2 실행 순서 강제
- WF1 / WF2 완전 분리
- WF1 마지막에 HTTP Request로 WF2 호출
- Body 없는 호출 / Query 파라미터 전달
- Wait / 폴링 구조 검토
결과
- 문제 지속
- WF2는 실행되지만 여전히 “대본 누락” 발생
👉 이 시점에서 결론:
문제는 실행 순서가 아니라
WF2가 읽는 ‘입력 데이터’ 자체였다.
3️⃣ 원인 분석 (핵심)
실제 원인
- WF2는 Webhook으로:
row_number또는ep_id만 전달받음
- WF2 내부에서:
- 대본(
script_text)을 직접 전달받지 않음 - 그런데도 프롬프트에 대본을 주입하지 않음
- 대본(
결과적으로 WF2의 LLM 프롬프트에는:
- 규칙 / 지시문만 있고
- 실제 대본 원문이 없는 상태
즉,
- ❌ WF2가 먼저 실행된 문제가 아니라
- ✅ WF2가 대본 없는 상태로 LLM을 호출한 구조적 문제였다
4️⃣ 구조적 해결 전략 (정답 설계)
핵심 원칙
- WF1 → WF2로 대본 전체를 전달하지 않는다
- 대신:
- WF1이 시트에 대본 저장
- WF2는 식별자(
ep_id)만 전달받음 - WF2 내부에서 시트를 다시 조회
- 조회된
script_text를 프롬프트에 명시적으로 주입
5️⃣ 최종 워크플로우 구조
WF0 (오케스트레이터)
- 처리 대상 1건 선택
- LOCK 처리
- WF1만 호출
- WF2 직접 호출 제거
WF1 (대본 생성)
- Google Sheets에서 대상 row 선택
- 롱폼 대본 생성
script_text컬럼에 저장- 상태 업데이트 (
SCRIPT_DONE) - HTTP Request → WF2 호출
- Query Parameter:
ep_id = 해당 행의 ep_id
- Query Parameter:
WF2 (메타데이터 생성)
Webhook
→ SET_INPUT (ep_id)
→ GS_GET_BY_ROW_NUMBER
→ SET_PROMPT_METADATA
→ LLM
→ 결과 저장
6️⃣ WF2 핵심 설정 (결정적 포인트)
1) Google Sheets Read
- 노드명:
GS_GET_BY_ROW_NUMBER - 조회 조건:
- Column:
ep_id - Value:
{{$node["SET_INPUT"].json.ep_id}}
- Column:
- Limit: 1
➡️ 이 노드 출력에 script_text 포함
2) 프롬프트에 대본 명시적 주입 (가장 중요)
[조선 야사 롱폼 대본 원문 전체]
{{$node["GS_GET_BY_ROW_NUMBER"].json.script_text}}
➡️ 이 줄이 없으면 WF2는 절대 정상 동작하지 않음
7️⃣ 최종 결과
- WF1에서 생성한 대본이
- WF2에서 정확히 다시 로드됨
- 메타데이터 / 쇼츠 / 썸네일 정상 생성
- “대본 누락” 메시지 완전 해결
- 순서 제어 / Wait / 폴링 전부 불필요
8️⃣ 재사용 가능한 운영 원칙
- 순서 문제처럼 보여도 원인은 입력 데이터 누락일 수 있다
- Webhook은 트리거 + 식별자 전달만 담당
- 실제 데이터는 각 WF 내부에서 다시 조회
- LLM 프롬프트에는
“있을 거라 가정”하지 말고
반드시 필요한 입력을 명시적으로 주입 - Google Sheets 자동화는
상태 기반보다 식별자 기반 단건 조회가 안정적이다
9️⃣ 현재 상태
- 조선야사 롱폼:
- 대본 → 메타 → 쇼츠 → 썸네일
완전 자동 파이프라인 정상 동작
- 대본 → 메타 → 쇼츠 → 썸네일
- 이 구조는:
- 다른 채널
- 다른 언어
- 워드프레스 자동 포스팅
그대로 재사용 가능
Leave a Reply