최근 AI 글쓰기 도구가 쏟아져 나오고 있지만, 소설을 써본 분들이라면 공감할 한계가 있습니다. AI에게 맡기면 앞뒤 문맥이 꼬이거나, 캐릭터가 갑자기 성격이 바뀌고, 심지어는 이전에 했던 묘사를 똑같이 반복하곤 하죠.
저는 이 문제를 해결하기 위해, AI가 작가의 단순한 비서가 아닌 '데이터에 기반한 창작 파이프라인' 역할을 수행하는 AI-작가 협업 전자책 제작 시스템을 구축했습니다. 7,300줄의 코드와 48개의 DB 테이블이 뒷받침된 이 시스템의 제작 사례를 공유합니다.
1. "AI의 상상력을 코드의 논리로 가두다"
기존 AI 글쓰기가 프롬프트 한 줄에 의존했다면, 이 시스템은 데이터베이스에 기반합니다. 작가가 설정한 14명의 캐릭터, 7곳의 장소, 68개의 세계관 Q&A는 모두 독립된 테이블에 저장됩니다. AI가 글을 쓸 때 이 데이터를 강제로 주입(Entity Injection)하기 때문에, AI가 마음대로 새로운 인물을 만들거나 설정을 붕괴시키는 일을 원천 차단했습니다.
2. 시각적으로 설계하는 스토리, '스토리맵'
소설의 흐름을 한눈에 보기 위해 ReactFlow를 활용한 그래프 시스템을 도입했습니다.
드래그 & 드롭: 인물과 장소를 그래프 위로 끌어와 사건을 구성합니다.
사건의 재구성: AI와 대화하며 만든 사건들은 즉시 5단계(동기-충돌-전개-위기-결과)로 구조화되어 저장됩니다. 단순한 텍스트 나열이 아니라, 소설의 뼈대를 시각적으로 '빌딩'하는 경험을 제공합니다.
3. 집필의 최소 단위, '비트(Beat) 시스템'의 진화
소설은 한 번에 써 내려가는 것이 아니라 작은 '비트'들이 모여 완성됩니다. 이번 프로젝트의 핵심인 Beat Gen V2는 세 번의 검증을 거칩니다.
캐릭터 보이스: 인물의 말투(Speech Style)를 프롬프트에 주입해 고유의 개성을 살립니다.
5감 묘사: 장소의 시각, 청각, 후각 등 감각 프로필을 주입해 묘사의 깊이를 더합니다.
중복 제거: AI가 비슷한 문장을 반복하면 MD5 해싱 기술을 이용해 코드가 이를 감지하고 삭제합니다. 실제로 2장을 집필할 때 약 600자 이상의 중복 문단을 코드가 스스로 정제해냈습니다.
4. 실전 사례: 조선 시대 역사물 "갯마을 연대기"
이 시스템을 통해 실제 역사 소설을 생성해 보았습니다. 복잡한 인과관계가 얽힌 이중간첩 사건도 복선 관리 시스템(Hook Code)을 통해 F001부터 F999까지 코드를 부여해 관리하니, 앞장에서 던진 복선을 뒷장에서 AI가 정확히 회수하는 놀라운 결과를 보여주었습니다. 결과적으로 1, 2장 합산 약 1.5만 자의 밀도 높은 초안을 순식간에 얻을 수 있었습니다.
5. 마치며: 작가의 주도권을 지키는 기술
기술적 수치(48개 DB 테이블, 15단계 자동 검증 등)보다 중요한 것은 "작가가 창작의 주도권을 놓지 않는다"는 원칙이었습니다. AI는 방대한 데이터를 기억하고 일관성을 검증하는 '엔진'이 되고, 작가는 이야기의 방향을 결정하는 '선장'이 되는 모델입니다.
앞으로는 시리즈 전체의 일관성을 교차 검증하는 기능을 보강하여, 다권 분량의 장편 소설도 완벽하게 지원하는 시스템으로 발전시켜 나갈 계획입니다. AI와의 협업이 가져올 새로운 창작의 시대, 여러분은 어떻게 보시나요?
제작 및 기술 스택
Frontend: Next.js 15, ReactFlow
Backend: FastAPI, Python, SQLite
AI: Claude 3.5 Sonnet / Haiku (Hybrid Approach)