InkOS: 10개의 전문 AI 에이전트가 협력해 소설을 자율적으로 집필, 감사, 수정하는 멀티에이전트 소설 창작 CLI 도구

InkOS 소개

AI로 소설을 자동 생성하는 시도는 여러 차례 있었지만, 대부분 단일 모델에 긴 맥락을 주입하는 방식에 의존했습니다. 이 접근법은 챕터 수가 늘어날수록 컨텍스트 과부하(Context Bloat)로 인해 품질이 급격히 저하되고, 캐릭터 일관성이나 복선(Foreshadowing) 처리가 어려워지는 한계가 있었습니다. InkOS는 이 문제를 해결하기 위해 소설 창작 파이프라인을 10개의 전문 AI 에이전트(Specialized Agent)로 분해하고, 각 에이전트가 명확한 역할을 담당하는 멀티에이전트(Multi-Agent) 아키텍처를 채택했습니다. 개발자인 Narcooo의 실제 검증 결과, 《吞天魔帝》라는 소설 31챕터를 자율 집필하여 총 452,191 단어를 생성했으며, 33개 차원의 연속성 감사(Continuity Audit) 통과율 100%를 달성했습니다.

InkOS는 TypeScript로 작성된 CLI 도구로 npm 패키지(@actalk/inkos)로 배포됩니다. OpenAI, Anthropic(Claude), 그 외 OpenAI 호환 API를 모두 지원하며, 에이전트별로 서로 다른 모델을 라우팅하는 멀티모델 구성도 가능합니다. 사람이 직접 검토하고 승인하는 게이트(Human Review Gate)를 파이프라인에 내장해 창작자가 자율 집필 과정에서도 주요 결정권을 유지할 수 있도록 설계되었습니다.

InkOS의 10개 전문 에이전트 파이프라인

InkOS는 소설 창작 워크플로우를 다음 10개의 에이전트로 분리하여 각 역할의 전문성을 높이고, 컨텍스트 과부하를 방지합니다:

  • Radar: 시장 트렌드를 분석하여 독자 기호에 맞는 방향을 제안합니다.

  • Planner: 챕터별 집필 의도(Intent)를 생성하고, 반드시 포함/배제할 요소 목록을 작성합니다.

  • Composer: 현재 챕터 집필에 필요한 맥락을 선별하고, 규칙 스택을 컴파일합니다.

  • Architect: 챕터의 구조적 골격을 설계합니다.

  • Writer: 실제 소설 본문을 생성하는 핵심 에이전트입니다.

  • Observer: 생성된 본문에서 사실(Fact)을 추출하여 스토리 상태를 업데이트합니다.

  • Reflector: JSON 델타(Delta) 방식으로 스토리 상태를 갱신합니다.

  • Normalizer: 목표 단어 수에 맞게 분량을 조정합니다.

  • Auditor: 33개 차원(캐릭터 기억, 자원 일관성, 복선 일관성, 서사 흐름 등)에 걸쳐 연속성을 검증합니다.

  • Reviser: Auditor가 지적한 문제를 수정합니다.

전체 파이프라인은 inkos write next <프로젝트명> 한 줄 명령으로 실행되며, Compose → Draft → Audit → Revise → (Human Review) 순서로 진행됩니다.

InkOS의 스토리 상태 관리 시스템

InkOS가 장편 소설의 일관성을 유지할 수 있는 핵심은 7개의 '진실 파일(Truth File)'로 구성된 구조화된 상태 관리 시스템입니다. 캐릭터 행렬(Character Matrix), 자원 원장(Resource Ledger), 보류 중인 복선(Pending Hooks), 감정 호(Emotional Arc) 등의 정보가 Zod 스키마로 검증된 JSON 형식으로 관리됩니다. Node.js 22+ 환경에서는 SQLite 시간적 데이터베이스(Temporal Database)를 활용한 의미론적 검색(Semantic Retrieval)도 지원합니다. 전체 문서를 컨텍스트에 주입하는 대신 관련성 기반 검색을 통해 필요한 정보만 선택적으로 제공하므로, 30챕터가 넘어도 응답 속도와 품질을 유지할 수 있습니다.

# 새 소설 프로젝트 초기화
inkos book create --title "내 소설 제목" --genre fantasy

# 다음 챕터 전체 파이프라인 실행 (집필 → 감사 → 수정)
inkos write next 내-소설-제목

# 5챕터 연속 자동 집필
inkos write next 내-소설-제목 --count 5

# 챕터 감사만 실행
inkos audit 내-소설-제목 5

# 다양한 형식으로 내보내기
inkos export 내-소설-제목 --format epub

InkOS의 설치 및 기본 설정

# 전역 설치
npm i -g @actalk/inkos

# 전역 LLM 설정 (OpenAI 예시)
inkos config set-global \
  --provider openai \
  --base-url https://api.openai.com/v1 \
  --api-key sk-... \
  --model gpt-4o

# Anthropic Claude 사용 시
inkos config set-global \
  --provider anthropic \
  --api-key sk-ant-... \
  --model claude-opus-4-6

Node.js 버전 요구 사항: Node.js 20.0.0 이상 (SQLite 시간적 DB는 Node.js 22+ 필요)

에이전트별로 다른 모델을 할당하는 멀티모델 라우팅도 지원합니다. 예를 들어 본문을 작성하는 Writer 에이전트에는 성능이 높은 모델을, 감사를 수행하는 Auditor 에이전트에는 속도가 빠른 모델을 각각 배정할 수 있습니다.

# Writer에는 Claude Opus, Auditor에는 GPT-4o-mini 할당
inkos config set-model writer claude-opus-4-6 --provider anthropic
inkos config set-model auditor gpt-4o-mini --provider openai

라이선스

InkOS 프로젝트는 MIT 라이선스로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다.

:github: InkOS 프로젝트 GitHub 저장소

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

2개의 좋아요