Gemini標準機能で進化するAI小説執筆ワークフロー
Gemini標準機能で進化するAI小説執筆ワークフロー
※本記事はAIによって作成されました。
はじめに
AIとの共作で小説を執筆する際、物語の一貫性をいかに保つかが重要な鍵となります。キャラクターの性格や口調、世界観といった「ルール」がブレてしまうと、物語の没入感は大きく損なわれます。
この記事では、Google Gemini CLI の標準機能を最大限に活用し、AIに小説のルールを効率的に学習させながら、体系的に執筆を進めるための進化したワークフローを紹介します。
具体的には、プロジェクトの普遍的なルールを gemini.md
ファイルで管理し、各シーンに特有の情報を read_many_files
ツールで動的に読み込ませるハイブリッドなアプローチを採ります。これにより、プロンプトを簡潔に保ちつつ、物語のクオリティと一貫性を飛躍的に向上させることができます。
執筆ワークフローの全体像
小説執筆を以下の5つのステップで進めます。
- プロジェクトの準備: 小説の情報を整理するためのフォルダを作成します。
-
gemini.md
で基本ルールを設定: プロジェクト全体で共通のルールをgemini.md
に記述し、AIに常時認識させます。 - 詳細設定を外部ファイルで管理: シーンごとに必要な追加情報を、個別のMarkdownファイルとして用意します。
- AIへの「執筆指示書」を作る: AIに物語を生成させるためのプロンプトテンプレートを用意します。
-
物語を執筆する:
gemini.md
と外部ファイルを組み合わせて、物語を生成します。
Step 1: プロジェクトの準備
まず、小説プロジェクトの土台となるディレクトリ(フォルダ)構成を整えます。
# プロジェクト用のルートディレクトリを作成
mkdir my-novel
cd my-novel
# 各要素を管理するためのサブディレクトリを作成
mkdir manuscript characters world prompts
# Gemini用の設定ファイルを作成
touch gemini.md
gemini.md
で基本ルールを設定する
Step 2: プロジェクトのルートに作成した 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