이틀 동안 AI의 한계라고 생각했던 문제와 씨름했습니다. 알고 보니 워크플로우 문제였죠. AI에게 어떻게 일하라고 요청하는 방식을 바꿨더니, 갑자기 모든 게 해결됐습니다.

교훈: 프롬프트를 더 열심히 작성하지 마세요. 작업 자체를 재설계하세요.

문제: AI가 6개 이상을 세지 못한다

Gemini 3 Pro로 업그레이드했습니다 (최신 모델, 엄청난 토큰 한계, 인상적인 기능). 그리고 12개 이상의 엔딩을 가진 분기 스토리를 생성해달라고 요청했습니다. 간단한 요청이죠?

6개를 줬습니다.

더 강한 강조와 함께 다시 시도했습니다. “반드시 12개의 엔딩을 만들어야 합니다.” 여전히 6개.

창의적인 프롬프트를 시도했습니다. 더 명확한 구조. 다른 온도 설정. 모델은 계속해서 정확히 틀린 개수의 엔딩으로 아름답고 일관된 스토리를 생성했습니다.

첫 본능: AI를 탓하기. “Gemini 3 Pro가 복잡한 분기를 처리할 수 없나봐.” 하지만 말이 안 됐습니다. 이 모델은 소설을 생성합니다. 코드를 작성합니다. 분명 12까지는 셀 수 있을 텐데요?

깨달음: 너무 많은 걸 요구했다

AI에게 한 번에 요청한 것들이 이겁니다:

  1. 매력적인 캐릭터 만들기
  2. 일관된 플롯 구축하기
  3. 10-14개의 의미 있는 선택지 삽입하기
  4. 12-16개의 독특한 엔딩 생성하기
  5. 모든 경로에 10개 이상의 선택지 보장하기
  6. 모든 경로에서 4가지 MBTI 차원 테스트하기
  7. 전체적으로 서사 품질 유지하기

이건 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 워크플로우에도 적용됩니다. 창의적 글쓰기와 구조적 요구사항은 별개의 관심사입니다. 그렇게 취급하세요.

다음 단계

  1. 2단계 워크플로우를 사용하여 새로운 스토리팩 생성
  2. 2단계를 사용하여 “I, Robot” 스토리를 6개에서 10-16개 엔딩으로 확장
  3. 추가 고전 소설로 테스트
  4. 소셜 미디어 존재감 구축 (콘텐츠 마케팅 단계 시작)

기술적 기반은 견고합니다. 이제 성장에 집중할 시간입니다.


WhatIfClassics.com 구축 중: 고전 문학을 선택 기반 경험으로 변환하는 인터랙티브 스토리 플랫폼. whatifclassics.com에서 여정을 따라가세요