#人の心はモデル化できるのか?
私たちソフトウェアエンジニアは、複雑な現実をそのまま扱うことを諦める仕事をしています。注文、在庫、配送——ごちゃごちゃした業務を、ルールと振る舞いを持ったモデルに切り出して、ようやく手なずける。日々やっているのはそういうことです。
その癖が抜けないまま、ふとこんな問いが浮かびました。
この世でいちばん複雑なシステムである人間の「心」も、同じように構造化して理解できないだろうか?
人はときどき、自分でも理由のわからない行動を取ります。返信が来ないだけで不安になる、褒められても素直に喜べない。一見すると非論理的なこの動き。でも、もし裏に一貫したルールが走っているとしたら——そう考えて行き着いたのが、心理学の「スキーマ療法」という理論でした。そしてその心の構造が、私たちが普段使っているドメイン駆動設計(DDD)と、驚くほど似ていたんです。
先に断っておくと、この記事は治療でも自己啓発でもありません。一人のエンジニアが、面白い心理モデルをDDDという見慣れた道具で読み解いてみる、という趣味の試みです。「心のアーキテクチャ」を覗いてみましょう。
#第1章:早期不適応型スキーマ(EMS)とは何か?
まず、この記事の主役である「早期不適応型スキーマ(EMS)」を紹介します。米国の心理学者ジェフリー・ヤングが提唱した概念で、名前は長いですが、中身はシンプルです。
ひとことで言うと、子どもの頃に作られた「自分と世界はこういうものだ」という思い込みのパターンのことです。しかもタチが悪いことに、本人を生きづらくする方向に働きます。
なぜそんなものが作られるのでしょうか。子どもは、自分が置かれた環境を生き延びるためのルールを、無意識に学習します。たとえば親がいつも不機嫌で、機嫌を損ねると無視されるような家庭で育つと、「相手の顔色を読んで先回りしないと見捨てられる」というルールが刻まれます。その環境では、それが正解だったわけです。理不尽な仕様のシステムでも、とにかく動かすために書かれた、合理的なコードだったんですね。
問題は、そのコードがいつまでも残り続けることです。大人になって、もう顔色をうかがう必要のない相手と接するようになっても、当時のルールは勝手に発動します。恋人からの返信が少し遅いだけで、頭では「忙しいだけ」とわかっているのに、胸がざわついて落ち着かない。これが、もう使われていないはずの古い仕様が、現在の環境で予期しない振る舞いを起こしている状態です。リファクタリングされないまま深く埋め込まれた、レガシーな中核ロジック。それがスキーマです。
スキーマ療法では18種類が定義されていますが、雰囲気をつかむために代表的なものを挙げます。
- ▸見捨てられスキーマ:「大切な人はいつか自分から離れていく」。だから相手の些細な態度の変化に過敏になります。
- ▸欠陥・恥スキーマ:「自分には根本的に欠けたところがあって、愛される資格がない」。だから成功しても自信が持てません。
- ▸不信・虐待スキーマ:「人は隙あらば自分を利用する」。だから他人の親切を素直に受け取れません。
ここで大事なのは、これらが単なる「ネガティブ思考」とは違うという点です。理屈で「考えすぎだよ」と言われても消えません。特定の状況で起動すると、本人の意思とは無関係に、強い感情と決まった行動を自動で吐き出す。この「自動で動いてしまう」性質こそが、次の章で説明するDDDとの接点になります。
#第2章:スキーマは「心のドメインモデル」である
前章で「スキーマは自動で動く」と書きました。この性質、DDDをやっている人ならピンとくるはずです。**集約(Aggregate)**にそっくりなんです。
集約という言葉に馴染みがなければ、ここだけ押さえてください。集約とは、関連するデータと、それを守るルールを一つにまとめた塊のことです。たとえば「注文」という集約は、注文された商品リストというデータだけでなく、「商品が1つも入っていない注文は成立しない」というルールを内側に抱えています。外から勝手にデータをいじらせず、必ず自分の決めた手順(メソッド)を通させることで、ルール違反の状態にならないよう自分を守る。これが集約の役割です。
スキーマも、まったく同じ構造をしています。「見捨てられスキーマ」は、相手の言動という入力を受け取ると、不安という感情と、相手を束縛する行動を出力します。入力に対して一貫した出力を返す、ルールを内蔵したモデルです。
| スキーマ | 集約(DDD) | |
|---|---|---|
| 正体 | 見捨てられスキーマ | 注文(Order)集約 |
| 守っているルール | 「返信が遅い=見捨てられる兆候だ」 | 「商品が1つ以上ないと注文は成立しない」 |
| 発動する振る舞い | 強い不安を感じ、相手を束縛する | order.addItem() で商品を追加する |
ここで面白いのが、外から勝手に書き換えられないという共通点です。注文集約は、在庫を無視した数量を外部から直接代入されても受け付けません。必ず addItem() を通させ、その中でルールをチェックします。スキーマも同じで、「考えすぎだよ」という他人の正論——いわば外部からの直接代入——はほとんど効きません。スキーマが自分のルール(不変条件)を強力に守っているからです。
正論が効かないのは、本人が頑固だからではありません。そういう構造になっているから。そう捉えると、少し見え方が変わってきませんか。
#第3章:人格は「境界づけられたコンテキスト」でできている
スキーマは一つひとつが独立した部品のように見えます。でも実際の人格は、複数のスキーマが絡み合ってできています。スキーマ療法では、関連の深いスキーマをまとめて「5つのスキーマ・ドメイン」(たとえば「他者とのつながり方」「自立や達成に関する領域」など)に分類します。要するに、心の関心事ごとにスキーマをグルーピングしているわけです。
この発想、DDDの境界づけられたコンテキストとぴったり重なります。これも一応説明しておくと、境界づけられたコンテキストとは、「ここからここまでは、この意味とルールで考える」という線引きのことです。同じ「商品」という言葉でも、販売の文脈と在庫の文脈では持つべき情報が違う。だから文脈ごとに境界を引いて、モデルを分けて管理します。
問題は、この境界が崩れたときに起きます。多くの「生きづらさ」の正体は、本来分かれているべきコンテキストが密結合してしまった状態なんです。たとえば、
- ▸「自分はダメな人間だ」(欠陥・恥スキーマ)
- ▸→ 「だから嫌われないように相手に従わなければ」(服従スキーマ)
- ▸→ 「だから本音は絶対に表に出してはいけない」(感情抑制スキーマ)
一つのスキーマが次を呼び、それがまた次を呼ぶ。境界が溶けて、どこを直せばいいのか分からない泥団子になっています。
RENDERING DIAGRAM...
最後の点線(感情抑制スキーマ → 欠陥・恥スキーマ)がポイントです。感情を抑え込むほど人との距離が開き、その孤立がまた「やっぱり自分はダメだ」を裏打ちする。出口がぐるりと入口に戻ってくる、循環依存の構造です。
一つのスキーマだけ直そうとしても、密結合した残りが足を引っ張る。リファクタリングしようにも、どこを触っても他が壊れる——あの感覚そのものです。変化が難しいのは、意志が弱いからではなく、依存関係がほどけないからなんですね。
#第4章:スキーマが起動した瞬間、心で何が起きるか
ここまでは「心の静的な構造」の話でした。この章では、スキーマが実際に起動した瞬間に何が起きるかを見ます。スキーマ療法では、この起動状態を「モード」と呼びます。モードとは、その瞬間に心を支配している感情と振る舞いのセットだと思ってください。
順番に追うと、心の中ではこんな連鎖が起きます。
まず、生の感情が湧く(チャイルドモード)。 スキーマが起動した瞬間に最初に立ち上がる、むき出しの感情です。傷ついた、怖い、寂しい。代表は「傷つきやすい子ども」モード。これはDDDでいうドメインイベント、つまり「集約の内部で何かが起きた」という生の通知に当たります。OrderCancelled のような、事実だけを伝える信号です。
次に、内なる声がそれを罰する(ペアレントモード)。 生の感情に反応して、頭の中で誰かの声が響きます。「お前が悪い」「そんなことで傷つくな」。多くは過去に浴びせられた言葉が内面化したもので、代表は「罰する親」モード。これはDDDでいう硬直化したポリシー、それも過度に厳しいバリデーションのようなものです。本来は秩序を守るためのルールが、何でもかんでも弾く理不尽なチェックに変質している状態ですね。
最後に、外向きの行動でしのぐ(コーピングスタイル)。 この内側の混乱に耐えきれず、人は外に向けて何らかの対処行動を取ります。これがコーピングスタイルで、大きく3つあります。
- ▸服従:スキーマの言いなりになる(不安だから相手に過剰に尽くす)
- ▸回避:その状況自体を避ける(傷つきそうな関係を最初から持たない)
- ▸過剰補償:正反対に振る舞う(弱さを隠すため傲慢に振る舞う)
このコーピングスタイルが厄介なのは、根本原因に手を触れていないことです。DDDの構造でいうと、ドメインの核(チャイルドモードの痛み)には触れず、アプリケーションサービス層で場当たりのパッチを当てているようなもの。その場は動いているように見えても、痛みそのものは残り続けます。短期的にしのぐほど、対処のパターンは固定化していく。技術的負債が利息を生むのと、よく似ています。
この一連の流れを図にすると、こうなります。
RENDERING DIAGRAM...
ポイントは下半分です。コーピングで対処しても、根本にあるチャイルドモードの痛みは解決されないので、点線をたどってまた①に戻る。同じ連鎖が何度も走ります。その一方で「その場はしのげてしまう」せいで、この対処パターンがどんどん固定化していく。第4章で言いたいのは、この自動で回り続けるループの存在です。
整理すると、「生の感情(イベント)→ 罰する声(理不尽なポリシー)→ 場当たりの行動(アプリ層のパッチ)」という一本の流れ。これがほぼ自動で、一瞬で走り抜けます。
#第5章:では、どうすればいいのか——ヘルシーなアダルトモードという設計者
ここまで読むと、わりと絶望的に見えるかもしれません。自動で起動して、正論も効かなくて、対処すればするほど固定化する。出口はあるのか。
あります。それが「ヘルシーなアダルトモード」です。
これは、自分の中でモードが起動したことに気づける状態を指します。不安が湧いた瞬間に飲み込まれるのではなく、「あ、いま見捨てられスキーマが起動して、罰する親モードが反応しているな」と一歩引いて観測できる。感情を消すのではなく、感情に乗っ取られずに、長期的に見て建設的な行動を選び直せる。
DDDでいえば、これはシステム全体を俯瞰する設計者(アーキテクト)の視点です。個々の集約の中に閉じこもるのではなく、どのコンポーネントがどう作用し合っているかを上から眺め、どこを直せば全体がよくなるかを判断する。自分という巨大なシステムに対して、その役割を引き受けるわけです。
とはいえ、自分のシステムを自分一人で俯瞰するのは難しい。あまりに内側にいすぎて、何が暗黙のルールなのか自分では見えないからです。そこで登場するのがカウンセラーで、これはまさにドメインエキスパートの役回りです。優れたドメインエキスパートが対話を通じて「実は業務にはこういう暗黙ルールがありまして」と引き出してくれるように、カウンセラーは問いかけによって、本人すら気づいていない心のルールを言語化し、見えるようにしてくれます。
ヘルシーなアダルトモードは、生まれつき持っている人もいれば、後から育てる人もいます。少なくとも「自分の中でいまどのモードが動いているか」を名前で捉えられるようになるだけで、自動で走っていた連鎖に、一拍の余白が生まれます。
#第6章:応用編——攻撃してくる相手を「分析」する
この構造化の視点は、自分の内面だけでなく、外から攻撃してくる相手を理解するのにも使えます。パワハラやモラハラに直面したときの、心を守るための分析ツールとしてです。
考え方はシンプルで、相手の振る舞いを仕様として読み、自分の応答を実装する。たとえば、部下を執拗に罵倒する上司がいるとします。その行動は、
- ▸「自分は特別扱いされて当然だ」という尊大・権利意識スキーマ
- ▸「ミスした人間は厳しく罰せられるべきだ」という厳罰主義スキーマ
が、彼自身の内側にある「欠陥感」から目をそらすための過剰補償として噴き出したもの——と読めるかもしれません。自分の弱さを認められないから、他人を攻撃することで強さを演出しているわけです。
この見立てができると、攻撃の受け止め方が変わります。罵倒を自分への正当な評価として真に受ける代わりに、
ああ、いまこの人は特権意識スキーマと厳罰主義スキーマが起動して、自分の無価値感を埋めるために過剰補償モードで攻撃しているんだな
と、相手のシステムの挙動として観測できる。攻撃の矛先は自分に向いていても、その発生源は相手の内部にある。そう切り分けられるだけで、まともに食らうダメージはかなり減ります。スキーマ駆動開発ならぬ、スキーマ駆動分析とでも呼びましょうか。
念のため補足すると、これは相手を見下すための道具でも、被害を我慢するための理屈でもありません。あくまで、不当な攻撃をまともに内面化しないための、心の緩衝材としての使い方です。
#結論:人間というシステムを読み解く
この記事では、早期不適応型スキーマという心理モデルを、DDDの語彙で読み解いてきました。最後に全体像を一枚にまとめます。
| スキーマ療法 | DDD |
|---|---|
| スキーマ | 集約(ドメインモデル) |
| スキーマ・ドメイン | 境界づけられたコンテキスト |
| チャイルドモード | ドメインイベント |
| ペアレントモード | 硬直化したポリシー |
| コーピングスタイル | アプリケーションサービス層の場当たり実装 |
| ヘルシーなアダルトモード | システムを俯瞰する設計者 |
| カウンセラー | ドメインエキスパート |
非論理的に見える人間の心も、こうして構造として捉え直すと、裏で走っている一貫したロジックが浮かび上がってきます。もちろん、人の心はコードのようにきれいに割り切れるものではありません。それでも、「いま自分の中でどの集約が起動しているんだろう」と一歩引いて眺める視点は、自分や他人を少し楽に理解するための、案外悪くない道具だと思うのです。
#参考文献
- ▸Young, J. E., Klosko, J. S., & Weishaar, M. E. (2003). Schema therapy: A practitioner's guide. Guilford Press.