私は、不注意や衝動性が特徴のADHD(注意欠如多動症)と、強いこだわりを持つASD(自閉スペクトラム症)を抱える当事者です。日常生活では生きづらさや不便も多いですが、プログラミングの世界では、この凸凹がそのまま武器になります。
日々、生成AIと壁打ちしながらコードを書いていると、ある妙な一致に気づきました。
巷にあふれるプロンプトの工夫と、ASDのコミュニケーションのコツが、驚くほど重なって見えたのです。これ、同じじゃんって。
AIが思うように動かないと嘆く人を横目に、自分はAIと対話しているうちに脳のギアがかみ合い、時間が溶けていく。24時間ぶっ続けでコーディングして燃え尽きても、合法ドラッグみたいな全能感と快感が残ります。無論ドラッグをやったことはないので、ご安心を。比喩です。
なぜ、自分はこれほどAIと相性がいいのか……。
その答えを探っていくうちに、AI時代におけるASDという脳のOSが、なぜAIと噛み合うのかが見えてきました。
AIの「トリセツ」は、ASDの「トリセツ」だった
ASDの人とのやり取りで有効とされるアプローチと、AIのプロンプトエンジニアリングの原則を並べると、その一致に驚きます。
1. 否定ではなく、代替案と肯定形で定義する
- 「廊下は走らないで」ではなく「廊下は歩きましょう」と伝える。
- 「画像は作らないで」と指示すると、AIは「画像」という語に引っ張られて逆に生成してしまいがちです。「テキストのみで回答して」と、やってほしい行動を直接指定するほうが安定します。
2. 「急ぎで」「ちゃんと」ではなく、数値で定量化する
- 「なるべく早くやっといて」は曖昧です。「今日の17時までに」「体調の悪さを10点満点で言うと何点?」のように、共通基準である数字に置き換えたほうが通じます。
- 「長文で詳しく」ではなく「300文字程度で、箇条書き3点以内でまとめて」と、文字数や項目数を数値で指定するほうがぶれません。
3. お手本を見せて「この通りにやって」と伝える
- 抽象的な説明より、実際の成果物や作業手順が書かれたマニュアルを見せるほうが、迷わず再現できます。
- 指示だけで動かすZero-shotより、具体例をいくつかプロンプトに含めるFew-shotプロンプティングのほうが、出力の再現性は上がりやすいです。少なくとも、私の体感ではかなり差があります。
4. 暗黙の前提をすべて明文化する
- 「無理しないで連絡してね」ではなく、「返信は不要。手伝ってほしいときだけ連絡して」と、関係性のルールを言葉にする。
- 「あなたは優秀なシニアエンジニアです」「対象読者は初心者です」といった役割や前提条件を、最初に明示しておく。
5. 一度に複数のことを頼まず、シングルタスク化する
- 複数の仕事を並列で頼まれると、脳のワーキングメモリが詰まります。「まずはAを印刷して」と1アクションずつ小分けにする。
- 複雑なタスクを一気にやらせるより、思考をステップごとに分解して順番に解かせるChain-of-Thoughtのほうが、精度が安定しやすいです。
なぜこれらが共通するのか
どちらの世界にも、空気を読むというハイコンテクストなやり取りはありません。
AIもASDも、言葉の裏にある感情の機微や暗黙の了解を前提にしにくい。だからこそ、すべての情報を言葉の表面に載せるローコンテクストな対話が必要になります。
行き着く先の最適解が、かなり近いのです。
空気を読める人がAIに苦戦するパラダイムシフト
これまでの人間社会では、「言わなくても察する能力」が強く求められてきました。
「あれやっといて」で仕事が進む。「いい感じに」でデザインが伝わる。前提を共有した人同士なら、それで十分に回ります。
実際、それは高度な能力です。相手の意図を補完し、不足した情報を埋めながら進める力は、人間同士の仕事では大きな武器になります。
ところが、AIにはその前提がありません。
AIは空気を読まず、文脈を補完しません。与えられた言葉だけを頼りに動きます。
その結果、人間社会で評価されてきた「察する能力」よりも、「曖昧さを潰して言語化する能力」のほうが重要になる場面が増えました。
ここで興味深いのが、ASDの特性として語られるコミュニケーションスタイルです。
これまで「細かすぎる」「融通が利かない」と見られることもあった特性が、AI相手ではそのまま強みとして機能することがあります。
従来のアプローチ
たとえば、AIに「タスク管理付きポモドーロタイマーアプリ」をHTML1ファイルで作ってもらうとします。
多くの人は、まずこう頼むでしょう。
「お洒落なポモドーロタイマーを作って。タスク管理機能もつけて、タイマーが終わったら音が鳴るようにしてね」
これは別に悪い頼み方ではありません。人間相手なら十分に通じるからです。
優秀なエンジニアやデザイナーなら、「お洒落」の意味を補完し、「タスク管理」の用途を推測し、「音が鳴る」の裏にある期待まで汲み取ってくれます。
私たちは長い間、そういう環境で仕事をしてきました。だから無意識のうちに、多くの前提を省略して会話します。
ところが、AIは違います。
AIは省略された前提を補完してくれることもありますが、その精度は安定しません。
その結果、一見すると完成しているように見えても、実際に触ると細かな穴が残ることがあります。
ブラウザのバックグラウンド動作でタイマーがずれたり、音が鳴らなかったり、保存したタスクが消えたり。人間同士の仕事では強みだった「察してもらう前提」が、AI相手ではそのまま不確実性になることがあるのです。
ASDのアプローチ
一方で、曖昧さを嫌い、完璧で不確実性のない挙動を求めるASDのこだわりは、偏執的な美意識のように働きます。
最初から完璧な知識を持っているわけではありません。ただ、「目の前のアプリが1秒でもズレるのが気持ち悪くて耐えられない」という感覚があります。
だからこそ、AIが出してきた中途半端な挙動に妥協せず、まずは動くおもちゃを自分で泥臭く触り倒す。そして、不具合を見つけてはAIを徹底的に問い詰め、修正のラリーを1時間で50回以上回す「AIネイティブアジャイル開発」を始める。
「非アクティブ時にタイマーが遅れる。タイムスタンプから毎回再計算するロジックに書き換えて」「外部音源に頼らず、Web Audio APIで電子合成音を生成して鳴らして」「最初のスタートボタン押下時にAudioContextを有効化して、自動再生ポリシーを回避しろ」
人間を相手にこれをやったら関係性は壊れます。実際に「要件はまとめて言って、こっちも忙しいんだから空気読んでよ…。」と上司に煙たがられたこともよく有りました。でも、相手は疲労を知らないAIです。
ASDの持つ、対人コストゼロで無限に問い詰められる過集中力が、アジャイルのラリーと噛み合う。最終的に、以下のような仕様コードへ叩き上げていきます。
- タイマーの精度向上(バックグラウンド対策)
setIntervalによる単純減算は使わない。開始時刻との差分から残時間を毎回再計算する。- 音声出力(ブラウザ制限の回避)
外部ファイルに頼らず、Web Audio APIで電子合成音を自前生成する。最初のタップ時にAudioContextを有効化して、ブラウザの制限を回避する。- タスクの永続化
タイマー終了時にタスク数値を更新し、localStorageに保存する。
これまで社会の中で細かすぎるとされてきたこだわり。それこそが、AI相手には「バグの入る隙を与えない、最高解像度の設計書」になります。
24時間ハイになる、摩擦ゼロのコミュニケーション
AIとの対話には、対人関係につきものの「気を遣う」「意図を邪推される」といった感情の摩擦熱がありません。
相手が感情を持たないAIだからこそ、他人に気兼ねすることなく、己の過集中が切れるまで限界まで向き合えます。
100のロジックを入力すれば、AIはコンマ1秒で100以上の成果物を返す。脳のギアがガチッとかみ合ったとき、寝食を忘れて没頭する過集中のスイッチが入ります。
24時間ぶっ続けでこの高速アジャイル開発を回し、ついにAIの利用制限に達した瞬間、「あ、羽が折れた……」と、心地よい絶望と一緒に我に返ることがよくあります。
これまで生きづらさの要因だった過集中やこだわりが、AIという思考増幅器を手に入れたことで、生産性の源泉に変わります。
AIは、私にとって、自分の特性をそのまま活かせる強力な道具でした。これまで生きづらさとして感じていた部分が、環境次第では強みにもなり得る。
AIを使って初めて、自分のこだわりや過集中を「欠陥」ではなく「特性や強み」として見られるようになりました。
おわりに
発達障害を抱え、ハイコンテクストな社会の荒波に疲れてしまった同士たちに、一つ伝えたいことがあります。
これまで「苦手な部分」として語られてきた特性の中には、環境が変わることで価値を持つものがあります。AIは、その変化を見えやすくした存在なのかもしれません。
少なくとも私は、AIと向き合う中で、自分のこだわりや過集中を初めて前向きに捉えられるようになりました。
ASDや発達障害者は決して万能ではありません。生きづらさが消えるわけでもありません。
それでも、「自分は社会に適応できない側の人間だ」と思い続けてきた人にとって、新しい可能性が見え始めているのは確かです。
AIとは、人間の知性を鏡のように映し出し、人類をもう一歩先の発達段階へと導くための自転車だと思います。
まずは身構えずに話しかけてみてください。ひょっとすると、今まで欠点だと思っていたものの見え方が、少し変わるかもしれません。
PS C:\Users\You > Hello AI World!!!