「——あれ、ここ誰の目線だっけ」
一人称で書き始めたはずの小説をスクロールし直す。3,000字あたりで、主人公が知るはずのない相手の心情が地の文に滲み出している。該当箇所を消して再生成を頼む。また同じ場所でブレる。ChatGPTの視点混在は、指示の「構造」を変えるだけで止まる。
ChatGPTが視点を混同する理由
視点がブレるのは性能の問題ではない。構造的な原因が2つある。
学習データの混在。 ChatGPTの学習データには一人称小説も三人称小説も全知視点の小説も含まれている。「小説を書いて」とだけ指示すると、これらのパターンがランダムに混ざる。特に2,000字を超えたあたりから、出力の前半と後半で視点モードが切り替わりやすい。
コンテキスト希釈。 会話が長くなるほど、最初に指定した「一人称で」という指示の影響力が薄まる。3往復もすれば、ChatGPTは初期指示より直近の文脈を優先し始める。知らない間に全知視点へ滑り落ちているのはこのためだ。
つまり「一人称で」と一度言うだけでは足りない。視点を制約としてプロンプトの構造に組み込む必要がある。
一人称視点を固定する——「禁止事項」がカギ
まず完成形を見てほしい。以下のプロンプトで生成した一人称小説の冒頭。
サウナの扉を押して水風呂に足を入れた瞬間、心臓が縮んだ。冷たい。こんなに冷たいのに、斜め向かいに立っている男は微動だにしない。目が合った。強面——というより、笑い方を忘れたような顔だ。俺は視線を逸らして水に沈んだ。
視点は「俺」で完全に固定されている。相手の内面は一切書かれていない。このプロンプトで生成した。
あなたは小説家です。以下の設定で一人称視点の短編を書いてください。
【視点ルール(厳守)】
- 語り手: 水瀬奏(23歳、プログラマー)。一人称は「俺」
- 視点制約: 語り手が直接見た・聞いた・感じたことだけを書く
- 禁止: 他キャラ(宗像仁)の内面・感情・思考を地の文で描写すること
- 他キャラの感情は「仕草・表情・声のトーン」から語り手が推測する形でのみ表現可
【場面】
サウナ施設の水風呂。常連同士だが会話はしたことがない。今日初めて目が合う。
ポイントは**「禁止」の項目**。ChatGPTに「一人称で」と言うだけでは、相手の気持ちを語り手が透視するかのように書いてしまう。「他キャラの内面を書くな」と明示して初めて、視点が安定する。
一人称にすると文体も連動して変わる。語り手の性格が文のリズムに乗るからだ。文体やリズムまで細かく制御したいなら、ChatGPT小説の文体を変えるプロンプト設計も合わせて読むと、視点と文体の組み合わせで出力の幅がさらに広がる。
三人称一元視点を固定する——「カメラ位置」を指定する
三人称はさらにブレやすい。「三人称で書いて」と指示すると、ChatGPTはほぼ確実に全知視点で書く——すべてのキャラの内面が透けてしまい、どのキャラにも感情移入できない平板な文章になる。
狙うべきは三人称一元視点。カメラを一人のキャラに固定し、そのキャラの五感を通して世界を描く。プロンプトはこう変わる。
あなたは小説家です。以下の設定で三人称一元視点の短編を書いてください。
【視点ルール(厳守)】
- 視点人物: 宗像仁(28歳、整体師)
- 人称: 三人称(「宗像は」「彼は」)
- 視点制約: 宗像が知覚した情報(視覚・聴覚・触覚・嗅覚)のみ描写可
- 宗像の内面(思考・感情)は描写可
- 禁止: 宗像以外のキャラの内面・思考を地の文で描写すること
- 宗像が知りえない情報(別の部屋での出来事、他キャラの過去回想等)は書かない
【場面】
同じサウナ施設の水風呂。水瀬と初めて目が合った瞬間。宗像の視点から。
before/afterで差を確認しよう。
視点制約なし(before) 水風呂に入った水瀬は、冷たさに震えながらも宗像の存在が気になっていた。宗像もまた、目を閉じたふりをしながら新しく入ってきた青年に興味を覚えていた。二人は互いに目が合い、どちらも少し気まずさを感じていた。
三人称一元・宗像視点(after) 水風呂に新しい人間が入ってきた。宗像は目を閉じたまま、水の揺れで気配を読んだ。——若い。入り方が雑だ。目を開けると、痩せた男がこちらを見ていた。何か言いたげな顔をして、すぐに視線を外した。宗像は首を傾げた。知り合いだったか。思い出せない。
▶ 変えたのは"視点人物以外の内面描写を禁止した"だけ。beforeでは全員の気持ちが丸見えで、読者が想像する余地がない。afterでは水瀬の内面が隠れているからこそ、「この男は何を考えていたのか」を読者の脳が勝手に補い始める。
この「脳が補完を始める」現象は偶然ではない。認知科学では身体化シミュレーションと呼ばれる仕組みがある。人は物語を読むとき、視点人物の知覚を自分の脳で追体験している。「宗像は目を閉じたまま、水の揺れで気配を読んだ」——この文を読む読者の脳内では、目を閉じて水の動きを感じる感覚野が実際に反応している。一人称の「俺は水に足を入れた」でも同じことが起きる。足が冷たさを感じるかのように運動野が活動する。
ところが全知視点で複数キャラの内面を同時に見せると、脳のシミュレーション対象が分散し、どのキャラの身体にも入り込めない。視点の固定とは、読者の脳が「誰の身体に入るか」を決める設計行為でもある。
キャラの視点だけでなく口調や行動まで途中で崩れる問題は、AI小説のキャラ崩壊をプロンプトの構造で防ぐ方法で原因と構造的な対策を掘り下げている。
自分の設定に当てはめる——視点テンプレート
完成形を見たら、次は自分の作品に当てはめてみよう。
あなたは小説家です。以下の設定で{一人称 / 三人称一元}視点の短編を書いてください。
【視点ルール(厳守)】
- 視点人物: {キャラ名}({年齢}歳、{職業})
- 人称: {一人称「俺/私/僕」 / 三人称「〇〇は」}
- 視点制約: {視点人物}が直接知覚した情報のみ描写可
- {視点人物}の内面描写: {可 / 不可}
- 禁止: {視点人物}以外のキャラの内面・思考を地の文で描写すること
- {視点人物}が知りえない情報は書かない
【場面】
{場所}。{状況の説明を2〜3文で}。
プレースホルダを埋めるだけで、視点が安定した小説を生成できる。BLや夢小説で使うなら、ここに「演出ルール」(感情を仕草で見せる、心情説明禁止)を加えると精度がさらに上がる。記入例2ジャンル分と演出ルールの全パターン付きテンプレートはBL Prompt Kit(BOOTH)のフルキットに収録している。
まとめ
- ChatGPTの視点ブレは「禁止事項」をプロンプトに組み込むことで防げる
- 一人称なら「他キャラの内面禁止」、三人称一元なら「視点人物以外の内面禁止+知りえない情報の禁止」を明示する
- テンプレートのプレースホルダを埋めれば、自分の作品ですぐに試せる
視点制御の全バリエーション(一人称/三人称一元/三人称多元/群像劇)とジャンル別記入例付きテンプレートはBL Prompt Kit(BOOTH)で公開中。ChatGPTでのBL小説の書き方全般についてはnoteの解説記事でも詳しく紹介している。キャラ設定をAIに覚えさせて視点ブレを根本から防ぎたいなら、キャラノート(β)も試してみてほしい。
CharaNote開発日記
「AIに口調を守らせたい」——この記事で紹介したテンプレートを、もっと直感的に管理できるツールを作っています。
CharaNoteは、キャラ設定シートをAIが読める形式で保存し、どのAIツールにもワンクリックで渡せるキャラ管理アプリです。現在クローズドβに向けて開発中。
進捗や先行アクセスの案内はCharaNote公式で。