이틀 동안 AI의 한계라고 생각했던 문제와 씨름했습니다. 알고 보니 워크플로우 문제였죠. AI에게 어떻게 일하라고 요청하는 방식을 바꿨더니, 갑자기 모든 게 해결됐습니다.
교훈: 프롬프트를 더 열심히 작성하지 마세요. 작업 자체를 재설계하세요.
문제: AI가 6개 이상을 세지 못한다
Gemini 3 Pro로 업그레이드했습니다 (최신 모델, 엄청난 토큰 한계, 인상적인 기능). 그리고 12개 이상의 엔딩을 가진 분기 스토리를 생성해달라고 요청했습니다. 간단한 요청이죠?
6개를 줬습니다.
더 강한 강조와 함께 다시 시도했습니다. “반드시 12개의 엔딩을 만들어야 합니다.” 여전히 6개.
창의적인 프롬프트를 시도했습니다. 더 명확한 구조. 다른 온도 설정. 모델은 계속해서 정확히 틀린 개수의 엔딩으로 아름답고 일관된 스토리를 생성했습니다.
첫 본능: AI를 탓하기. “Gemini 3 Pro가 복잡한 분기를 처리할 수 없나봐.” 하지만 말이 안 됐습니다. 이 모델은 소설을 생성합니다. 코드를 작성합니다. 분명 12까지는 셀 수 있을 텐데요?
깨달음: 너무 많은 걸 요구했다
AI에게 한 번에 요청한 것들이 이겁니다:
- 매력적인 캐릭터 만들기
- 일관된 플롯 구축하기
- 10-14개의 의미 있는 선택지 삽입하기
- 12-16개의 독특한 엔딩 생성하기
- 모든 경로에 10개 이상의 선택지 보장하기
- 모든 경로에서 4가지 MBTI 차원 테스트하기
- 전체적으로 서사 품질 유지하기
이건 AI 작업이 아닙니다. 엄격한 구조적 요구사항을 충족하면서 동시에 일곱 가지 다른 창의적 작업을 수행하는 겁니다.
당연히 고군분투했죠.
해결책: 2단계 워크플로우
한 번에 모든 걸 요청하는 대신, 나눴습니다:
1단계: 선형 스토리 (창의성 집중)
- 단일 서사 경로 생성 (분기 없음)
- 처음부터 끝까지 15-20개 노드
- 플롯, 캐릭터, 분위기에만 집중
- 30초에서 2분 소요
- 100% 성공률
2단계: 분기 확장 (구조 집중)
- 선형 스토리를 기반으로 활용
- 선택 지점 식별
- 대안 분기 생성
- 10-16개 독특한 엔딩으로 확장
- 선택지에 MBTI 추적 추가
- 2-5분 소요
- 90% 성공률 (10-16개 엔딩)
관심사의 분리. AI가 더 이상 창의성과 구조를 동시에 저글링하지 않습니다. 한 작업을 잘 수행한 다음, 다른 작업을 수행합니다.
테스트 결과: 고자질하는 심장
에드거 앨런 포의 “고자질하는 심장(The Tell-Tale Heart)“으로 테스트했습니다:
1단계:
- 20개 노드 선형 스토리 생성
- 완벽한 고딕 분위기
- 강력한 캐릭터 설정
- 시간: 30초
- 품질: 우수
2단계 (1차 실행):
- 10개 엔딩 생성
- 총 54개 노드
- 19개 선택 노드
- 시간: 2분
2단계 (2차 실행, 같은 선형 스토리):
- 19개 엔딩 생성
- 다른 분기 구조
- AI 생성 가변성 = 내장된 창의성
2단계 (강화 프롬프트):
- 첫 시도에 12개 엔딩 생성
- 목표 범위의 완벽한 중간
2단계 접근법은 작동할 뿐만 아니라 단일 패스보다 더 안정적입니다.
왜 작동하는가
인지 부하 관리: 창의적 글쓰기는 구조적 계획과 다른 정신적 프로세스를 사용합니다. 분리함으로써 AI가 둘 다 뛰어납니다.
더 나은 기반: 선형 스토리가 일관된 플롯, 캐릭터, 분위기를 제공합니다. 2단계는 모든 것을 처음부터 구축하는 대신 견고한 기반에서 분기합니다.
낭비 없는 반복: 2단계가 충분한 엔딩을 생성하지 못하면 다시 실행하면 됩니다. 1단계의 창의적 작업을 잃지 않습니다.
유연성: 수용 기준을 10-16개 엔딩으로 업데이트했습니다 (이전에는 엄격한 12개 이상). 데이터는 10개 엔딩도 잘 작동하고 19개는 너무 많다는 것을 보여줬습니다. 워크플로우가 현실에 적응합니다.
배포된 시스템
새로운 시스템:
generate_linear_story.py- 1단계 스크립트expand_to_branches.py- 2단계 스크립트generate_story_twophase.py- 전체 오케스트레이터expand_with_retry.py- 엣지 케이스용 자동 재시도
프로덕션 준비: 2단계 워크플로우가 이제 향후 모든 스토리 생성에 권장되는 접근 방식입니다.
수용 기준 업데이트: 10-16개 엔딩 (실제 결과와 일치하는 유연한 범위).
보너스: 디렉토리 정리
워크플로우를 테스트하는 동안, 생성기 디렉토리가 엉망이 됐다는 것을 발견했습니다. 루트 레벨에 20개 이상의 파일, 프로덕션 코드와 섞인 테스트 스크립트, 흩어진 문서.
정리했습니다:
tests/폴더 생성 (9개 테스트 파일)examples/폴더 생성 (예제 스토리)- 문서를
docs/로 이동 (8개 파일 통합) - 오래된 스크립트 아카이브 (5개 파일)
- 루트 디렉토리: 20개 이상 파일 → 5개 필수 파일
때로는 기술 부채를 정리하기 가장 좋은 시기가 이미 코드 깊숙이 있을 때입니다.
배운 것
1. 프롬프트를 최적화하지 말고 작업을 재설계하세요
AI가 무언가에 지속적으로 실패하면, 문제는 모델이 아닐 수 있습니다. 한 번에 너무 많은 것을 요청하고 있을 수 있습니다.
2. 제약이 창의성을 끌어낼 수 있다
1단계를 “선형 스토리만”으로 제한하면 AI가 품질에 집중할 수 있습니다. 분기 구조에 대한 결정 마비가 없습니다. 그냥 좋은 스토리를 만들면 됩니다.
3. 실제 데이터 > 이상적인 요구사항
12-16개 엔딩이 좋게 들려서 원했습니다. 하지만 데이터는 복잡한 서사에 10개 엔딩이 잘 작동하고 19개 이상은 품질을 희석시킨다는 것을 보여줬습니다. 현실에 맞춰 요구사항을 업데이트했습니다.
4. 관심사의 분리는 AI에도 적용됩니다
소프트웨어 엔지니어링 원칙: 관심사를 분리하고 결합을 최소화하세요. 이것이 AI 워크플로우에도 적용됩니다. 창의적 글쓰기와 구조적 요구사항은 별개의 관심사입니다. 그렇게 취급하세요.
다음 단계
- 2단계 워크플로우를 사용하여 새로운 스토리팩 생성
- 2단계를 사용하여 “I, Robot” 스토리를 6개에서 10-16개 엔딩으로 확장
- 추가 고전 소설로 테스트
- 소셜 미디어 존재감 구축 (콘텐츠 마케팅 단계 시작)
기술적 기반은 견고합니다. 이제 성장에 집중할 시간입니다.
WhatIfClassics.com 구축 중: 고전 문학을 선택 기반 경험으로 변환하는 인터랙티브 스토리 플랫폼. whatifclassics.com에서 여정을 따라가세요