🚀

Gemini標準機能で進化するAI小説執筆ワークフロー

に公開

Gemini標準機能で進化するAI小説執筆ワークフロー

※本記事はAIによって作成されました。

はじめに

AIとの共作で小説を執筆する際、物語の一貫性をいかに保つかが重要な鍵となります。キャラクターの性格や口調、世界観といった「ルール」がブレてしまうと、物語の没入感は大きく損なわれます。

この記事では、Google Gemini CLI の標準機能を最大限に活用し、AIに小説のルールを効率的に学習させながら、体系的に執筆を進めるための進化したワークフローを紹介します。

具体的には、プロジェクトの普遍的なルールを gemini.md ファイルで管理し、各シーンに特有の情報を read_many_files ツールで動的に読み込ませるハイブリッドなアプローチを採ります。これにより、プロンプトを簡潔に保ちつつ、物語のクオリティと一貫性を飛躍的に向上させることができます。

執筆ワークフローの全体像

小説執筆を以下の5つのステップで進めます。

  1. プロジェクトの準備: 小説の情報を整理するためのフォルダを作成します。
  2. gemini.mdで基本ルールを設定: プロジェクト全体で共通のルールをgemini.mdに記述し、AIに常時認識させます。
  3. 詳細設定を外部ファイルで管理: シーンごとに必要な追加情報を、個別のMarkdownファイルとして用意します。
  4. AIへの「執筆指示書」を作る: AIに物語を生成させるためのプロンプトテンプレートを用意します。
  5. 物語を執筆する: gemini.mdと外部ファイルを組み合わせて、物語を生成します。

Step 1: プロジェクトの準備

まず、小説プロジェクトの土台となるディレクトリ(フォルダ)構成を整えます。

# プロジェクト用のルートディレクトリを作成
mkdir my-novel
cd my-novel

# 各要素を管理するためのサブディレクトリを作成
mkdir manuscript characters world prompts

# Gemini用の設定ファイルを作成
touch gemini.md

Step 2: gemini.mdで基本ルールを設定する

プロジェクトのルートに作成した gemini.md は、Gemini CLIがコマンド実行時に自動で読み込んでくれる特別なファイルです。ここに、小説全体を通して変わらない普遍的なルールや、AIへの基本的な指示を書き込みます。

gemini.md の記述例:

# AIへの基本指示

あなたはプロのSF小説家です。与えられた設定に基づき、読者の心を掴む物語を創造してください。特に、情景描写とキャラクターの心理描写を重視してください。

# 小説の基本設定

- **タイトル**: ネオンの海の写真家
- **ジャンル**: サイバーパンク・ミステリー
- **舞台**: 潮ノ杜市(しおのもりし)。古い港町と未来的な再開発エリアが混在する、霧深い都市。
- **文体**: 硬質でクールなトーンを基本とし、三人称視点で記述すること。

gemini.mdに基本ルールを記述することで、AIへの指示(プロンプト)から毎回同じ説明を繰り返す必要がなくなり、プロンプトが非常に簡潔になります。

Step 3: 詳細設定を外部ファイルで管理する

gemini.mdには普遍的なルールを記述し、その章にのみ登場するキャラクターや、特定の場所の詳細など、動的に変化する情報は外部ファイルで管理します。この使い分けが、効率化の鍵です。

例:characters/protagonist.md

# 主人公: 蒼井 海(あおい かい)

- **年齢**: 17歳
- **職業**: 高校2年生 / 夜は街のネオンを撮る写真家
- **性格**: 物静かで観察眼が鋭い。感情を表に出すのが苦手だが、正義感が強い。
- **口調**: 敬語は使わず、短く断定的に話す。「……ああ、そうか」「問題ない」

Step 4: AIへの「執筆指示書」を作る(プロンプト)

AIへの指示テンプレートを作成します。gemini.mdのおかげで、テンプレートが以前よりシンプルになっている点に注目してください。

例:prompts/generate_chapter.txt

# 追加設定
{additional_settings}

# これまでのあらすじ
{summary}

# 今回の執筆指示
{instruction}

Step 5: 物語を執筆する

いよいよ物語を生成します。Gemini CLIは gemini.md を自動で読み込むため、コマンドでは**追加の情報(外部ファイル)**を read_many_files ツール(の役割を果たす Get-Content)で読み込ませるだけで済みます。

1. コマンドを実行する

PowerShell(Windowsの場合)を使い、プロンプトを組み立てて実行します。

# 1. この章で必要な【追加】設定ファイルのみを読み込む
$additional_settings = Get-Content -Path "characters\protagonist.md" | Out-String

# 2. プロンプトテンプレートを読み込む
$template = Get-Content -Path "prompts\generate_chapter.txt"

# 3. あらすじと今回の指示を定義する
$summary = "なし"
$instruction = "主人公の蒼井海が、夜の潮ノ杜市で不思議な光を放つドローンを目撃する導入部分を、800字程度で執筆してください。"

# 4. テンプレートのプレースホルダーを置き換える
$prompt = $template -replace '{additional_settings}', $additional_settings -replace '{summary}', $summary -replace '{instruction}', $instruction

# 5. 組み立てたプロンプトをGemini CLIに渡し、結果をファイルに保存する
gemini ai "$prompt" > manuscript\01_introduction.md

ポイント:文字数について
最初は500〜1000字程度の短いセクションで生成を依頼するのがおすすめです。短い章を積み重ねていく方が、品質をコントロールしやすくなります。

これで、gemini.mdの普遍的ルールと、この章だけの追加設定を両方理解したAIが、一貫性のある物語を生成してくれます。


さらに高度な方法:カスタムツールの活用

Geminiでは、自分だけのツールを定義することも可能です。例えば、get_character(name: str) というツールを作成し、キャラクターの情報をファイルから動的に取得するように実装すれば、AIは「蒼井海の性格は?」と聞くだけで、自律的に情報を調べてくれるようになります。

これはより高度なテクニックですが、ルールが非常に複雑な大規模プロジェクトでは、執筆効率をさらに高める強力な武器となるでしょう。

Discussion