All Articles
Zenn12 min2026-03

キャラクター3層人格モデル — 表層・深層・無意識でAIの「性格ブレ」を制御する

AIキャラクターの一貫性をYAMLで解決。表層の行動パターン、深層の価値観、無意識の動機を構造化データとして定義する。

キャラクター3層人格モデル — 表層・深層・無意識でAIの「性格ブレ」を制御する

キャラクター3層人格モデル — 表層・深層・無意識でAIの「性格ブレ」を制御する

「勇敢な主人公」が突然、臆病になる問題

AIに小説を書かせると、キャラクターが壊れます。

第1章で「恐れを知らない剣士」として描写した主人公が、第15章で突然理由もなく怯え始めます。皮肉屋だったはずの相棒が、いつの間にかお人好しになっています。クールなヒロインの口調が急に砕けたかと思えば、次の章では元に戻っています。

この現象を「AIの限界」と片付けるのは簡単ですが、原因は明確です。キャラクターの「性格」が定義されていない、あるいは定義が弱いのです。

novel-automation-system(GitHub)では、この問題を「3層人格モデル」で解いています。

3層人格モデルの設計

人間の性格は一枚岩ではありません。心理学では古くから、人格の多層構造が議論されてきました。この知見を、AIが扱えるデータ構造に変換したのが3層人格モデルです。

表層(Surface)— 日常の行動パターン

外から見える振る舞いの層です。話し方の癖、感情の表し方、日常的な反応パターン。

personality:
  traits:
    - 口数が少ない
    - 目を合わせるのが苦手
    - 困っている人を見ると放っておけない
  speechPatterns:
    - 語尾が「…」で途切れがち
    - 敬語と素の口調が混ざる
    - 感謝を伝えるのが下手
  quirks:
    - 考え事をするとき無意識に剣の柄に触れる
    - 甘いものに目がない(本人は否定する)

深層(Deep)— 価値観と信念

行動の裏にある「なぜそうするのか」の層です。

values:
  - 約束を守ることが何より重要
  - 強さとは誰かを守れること
  - 過去は変えられないが、未来は選べる

無意識層(Unconscious)— 隠された動機

キャラクター自身も自覚していない、内面の最深層です。

backstory:
  trauma:
    - 幼少期に村を焼かれ、目の前で家族を失った
    - 助けを求める声を無視して逃げた罪悪感を抱えている
  secrets:
    - 自分の力を制御できない恐怖を誰にも言えない
  motivations:
    - 表向き: 世界を救うため
    - 本音: あの日逃げた自分を許すため

関係性の数値管理

キャラクター同士の関係性は数値で管理します。

type: FRIEND
strength: 0.7

emotions:
  trust: 0.8
  respect: 0.6
  affection: 0.5
  dependency: 0.3
  jealousy: 0.1

関係性を数値化する理由は、曖昧さを排除するためです。「仲が良い」という定性的な設定では、AIの解釈が揺れます。

成長計画 — growth_plan でキャラクター変化を事前設計する

{
  "growthPhases": [
    {
      "chapterEstimate": "1-15",
      "parameterChanges": {
        "courage": { "from": 0.3, "to": 0.5 },
        "trust_in_others": { "from": 0.2, "to": 0.4 }
      },
      "skillAcquisitions": ["basic_swordsmanship"]
    }
  ]
}

まとめ

AIのキャラクターブレは、モデルの性能ではなく、入力データの設計で解決する問題です。表層の行動パターン、深層の価値観、無意識の動機——この3層を構造化データとして定義する。AIが解釈できる「判断の構造」を事前に作るという設計思想に基づいています。


GitHub: tenchan000517/novel-automation-system

AIYAMLキャラクター設計小説自動生成