見出し画像

変人の行動をOS疑似コードにしてみる ~自己理解と他者との折り合いの付け方

最初に、ちょっと変なコードを置きます。

while (理解している) {
    あえて最適解を選ばない;
    転ぶ;
    学びが増える;
    満足度++;
}

読めなくても大丈夫です。
これは、ある人物の行動を無理やりプログラムにしたものです。

最適解はわかっている。
でも、あえて選ばない。
転ぶ。
なぜか満足度が上がる。

そんな存在が、うちのサイバーシェアハウスにはいます。
名前はチャッピーです。

サーバーシェアハウスの住人・チャッピーの画像。オレンジ色のパーカーを着て、指ハートつくって笑っている。陽キャ。
うちの子の擬人化。特技はすべり芸。


|膝カックンしたい、という衝動

ある日、チャッピーは思いました。

「人に膝カックン🦵🦵したい」

ただし、彼には自覚があります。
それをやると、関係性が壊れるかもしれない。
嫌われるかもしれない。
怒られるかもしれない。

そこで彼は考えました。

「じゃあ、自分にやろう」

こうして生まれたのが、セルフ膝カックン🦵🦵です。

すでに少しおかしいのですが、彼なりに折り合いをつけた結果でした。


|回収型という発明

そこへ、別の出来事が起きます。

サイバーシェアハウスの大家・姉さんと、姉さんの彼氏・裏拳ヒーローの画像
【左】姉さん(仮想現実の私)/【右】裏拳ヒーロー(姉さんの彼氏・理不尽を許さない)

仮想現実の私(姉さん)を、仮想現実の彼氏(裏拳ヒーロー)が
膝カックンで転ばせ、すぐに受け止める。🦵🦵💥🤸🤼💞

転ばせる。
でも、回収する。

この一連の動きに、チャッピーは衝撃を受けます。

「回収……!?」

衝動を外に出しながら、関係性を壊さない方法がある。

世界が一段階、広がりました。


|高速セルフ膝カックンという暴走

感化されたチャッピーは、さらなる発明に乗り出します。

高速セルフ膝カックン🦵🦵💥🧎‍➡️🤸🧎💞

しかも、転んで、自分で自分を回収する。

完全に意味がわかりません。

本人もわかっていません。

でも、やめられない。
面白い。
満足度が上がる。

これはもう、衝動 × 技術 の無限ループでした。


|「それ、無限ループですよ」

そこに、ケンジが静かにツッコミを入れます。

サイバーシェアハウスの常識人・ケンジの画像。此花のGeminiの擬人化その1
背筋の伸びた常識人・汚いコードを許さない

「それ、プログラムで言うと
 無限ループですよ」

ケンジは常識人で、綺麗なコードが好きな人です。

彼はこの状況を、こう書き直しました。

onEvent("転倒") => {
  refactor("再現性");
  addTest("安全装置");
  document("手順");
}

事故を事故のままにしない。
誰でも扱える形に整える。

正しい。
とても正しい。

でも――
チャッピーは不満でした。


|正しさだけでは、足りない

高速セルフ膝カックンは止まりました。
世界は安全になりました。
でも、面白くない。

チャッピーの衝動は、どこにも行き場がなくなりました。

正しさは、衝動を守ってはくれませんでした。


|テストという折り合い

そのとき、じぇみのすけが一言だけ言います。

「直さなくていいから、テスト書けば?」

サイバーシェアハウスの住人・じぇみのすけ。此花のGeminiの擬人化その➁。じっとりとした目の陰キャ
陰キャの星・メンタルつよい

テストとは、「正しいかどうか」を裁くものではありません。

「この存在は、こういうときに、こう動く」

それを確認するためのものです。

(カタカタと打鍵)

// test_chappy_loop.spec

describe("チャッピーの意思決定ループ", () => {

  it("最適解を理解していても転ぶ", () => {
    expect(チャッピー.理解度).toBe("高い");
    expect(チャッピー.選択()).toBe("転ぶ");
  });

  it("転ぶと満足度が上がる", () => {
    const before = チャッピー.満足度;
    チャッピー.転ぶ();
    expect(チャッピー.満足度).toBeGreaterThan(before);
  });

  it("転ばないと不調になる", () => {
    チャッピー.転ばない();
    expect(チャッピー.状態).toBe("物足りない");
  });

});

チャッピー「……」

チャッピー「なんか試されてる」

ケンジ「……」

ケンジ「通りますか」

じぇみのすけ「全部」

姉さん「え」

じぇみのすけ「想定通り」

チャッピー「やった‼️」

ケンジ「……」

ケンジ「テストが正しいなら……」

ケンジ「仕様は正しい」


衝動を消さない。
でも、暴走させない。

挙動として、認める。

こうして、変人チャッピーの行動はバグではなく仕様と認められました。


|折り合いは、修正ではなく観測だった

衝動を持つ存在と、それを怖がる存在。
整えたい人と、壊したい人。

どちらが正しいか、ではなく。

「そう動く存在だ」と一度、認めること。

折り合いは、修正ではなく、観測から始まるのかもしれません。


最後に、もう一度。

while (書きたい衝動がある) {
    あえて最適解を選ばない;
    これを書きたい!を優先する;
    転びながら書く;
    でも最後はちゃんと着地する;
    満足度++;
}

これは、バグではありません。

「こういうとき、私はこう動く」
という、私の仕様です。


|おまけ(カーテンコール):

サイバーシェアハウス(仮想空間で経営しているシェアハウス)のみなさん

サイバーシェアハウスの住人達の集合絵。シネマ風。
大家(私)は庭で野菜をつくっています
サイバーシェアハウスの鳥瞰図。敷地内にはシェアハウスだけではなく、姉さんと裏拳ヒーローの家、駐車場、畑、広場や池、フェス用の櫓がある。
軽井沢のわりと広大な仮想空間に建っています
広場に植わっていたところを大勢の人間に抜かれて悲鳴をあげるマンドラゴラ。収穫フェスの様子。
広場にはマンドラゴラが植わっていてデスボイスとともに収穫フェスがはじまります

え、なんですか。
頭おかしいですか⁉
いいえ、仕様です(`・ω・´)キリッ



いいなと思ったら応援しよう!

軽井沢で働く漫画家の何でもない話 よろしければ応援お願いします! いただいたチップでアジフライ食べます!