ジンジャー研究室

長めのつぶやき。難しいことは書きません。

全て説明し切らないと気が済まない

誰かに何かを提案しようと思った時に、事前に問題意識や根拠をかなり念入りに考えたりする。

  • この運用がやりにくい
  • 何が問題なのか
  • それによってどんな悪影響があるのか
  • そもそも背景にある真の問題はなんなのか
  • 有効な解決策は何か
  • それが本当に一番良い方法だと言える根拠は何か
  • 他に案はないのか
  • 言っていることに矛盾はないか

で、煮詰まったら持っていく。

「あの、コレの件なんですけど」
「ふむふむ」
「最近こんなこと起きてるじゃないですか、だから例えばこういう仕組みを導入して...」
「ああ、いいんじゃないですかね〜やりましょう!」
「あ、いいですかね?一応、他にも案を考えていて、あと2つ考えたんですけど」
「ほうほう」
「方法 B はこういう点でデメリットが大きい、方法 C も良さそうだけど致命的な弱点があり」
「あーですよね、A でいいんじゃないですかね」
「よかった。ずっと苦労してたんですよねー、意外とこんなところにも影響があって...」
「確かに」
「あと、本質的にはこっちの問題を解決しないといけないんですが」
「わかる」
「ちょっと今の優先順位を考えると着手できないと思ったので保留ですね」
「ですね」

...そんなに説明しなくていいよ!最初の方で合意取れてるじゃん!

せっかく考えたから全て言いたくなっちゃうんけど、我慢しようと思った。

ChatGPT で教養を摂取する

自分は子供の頃からあまり本を読まず、大人になっても技術書やビジネス書しか読まず、いわゆる「教養」と呼ばれるものをほとんど摂取してこなかった。受験勉強で必要最低限の知識は手に入れたが、全て忘れてしまったし、大学も理系だから専門以外の知識はほぼノータッチだ。

まあ教養がなくても特に不便はしない。何かを見たり聞いたりした時に、他の人よりも受け取れる情報が少ない程度の話だ。映画とかの批評で「これは◯◯からの引用で」とか言われた時に、ちょっと我慢すればいい。わざわざ時間をかけて興味のない背景知識を勉強する必要もないと思っていた。

しかし最近になって2つ困ったことが出てきた。

1つ目は、娘の寝かしつけの時にしている「ためになる話」のネタが偏っていることだ。地球や宇宙の話、社会の話、パソコンの話は多いのだが、文学などの話は全く無い。教養がないと言ってもシェイクスピアの名前くらいは知っているが、興味深い話にするためには詳細まで知らないといけない。キーワードを並べただけの話は、歴史の教科書に書いてある西暦を暗記するのと同じくらい退屈だ。(退屈なので、寝かしつけるという目的は達成するかもしれない)

2つ目は、今後のキャリアを決めるのにヒントが少ないことだ。1社目はたまたま広告に書いてあったプログラミングの問題を解いたら採用され、2社目は Elm を採用している会社から声がかかり、3社目もフロントエンド技術者としてリファラル採用された。どれも技術スキルをアピールしたら引き抜かれるというパターンで、事業内容やミッションに共感して自分で選びに行ったわけではない。まあ目立つことによって種をまいて待つのは生存戦略として妥当だし、転職後にスキル不足で困ることはない。が、このまま生涯 B2B 向け SaaS でちょっと便利な機能を作るのも退屈だろうと思い始めた。というわけで、かなり遠回りではあるが、あらゆる方面からヒントを探すことにした。よく言われる「一見すると何の関連もないところからアイデアを得る」のを狙ってやろうという試みで、教養を得ることはその手段のうちの一つだ。政治、宗教、哲学、歴史、文学、科学、気になるところから。

ここで ChatGPT に頼ることにした。教養というのは最新の情報ではなく、古くから積み上げられているものだから知識ベースとしては安定している。深いところに突っ込まなければハルシネーションも少ないはずだ。なにしろ事前知識がゼロなのだから概要だけでも勉強になるし、プロットをさらった後で気になったところがあれば書籍で補完すれば良い。

書籍と違って便利な点がいくつかある。

まずは何よりも質問ができる点が大きい。普通に書籍を読むと途中で分からない部分をすぐに質問することができない。最近だと AI に伴走してもらいながら読書するスタイルは浸透しつつあるが、まだまだ PDF 出力や抜粋を食わせるのが一般的だと思うので、もう少しシームレスに繋がって欲しいと思う。それから、こちらの知識レベルに合わせて説明してくれるのも嬉しい。知らない用語をガンガン使ってきた時は、「もう少し初心者にも分かりやすく教えて」などと言えば、もっと易しい説明をしてくれる。相手が機械なので「あまりにも基本的な内容すぎて人に聞くのは恥ずかしいような内容」も気にせず聞けるのもありがたい。

次に、気になったところから順番に掘り下げていける点。自分は興味が偏りがちなので、体系的に学ぼうと思って最初から順にやっていくと飽きる。そこで、何か1つ気になったキーワードについて質問し、それを軸に広げていく。自分の場合、世界史であれば「フランス革命」から入って、そこで気になった「アメリカ独立戦争」に行ってみたり、自由自在。書籍でも好きなところから読めば良いのだが、自分の性格上「途中から読み始めて前のページに戻る」読み方が気持ち悪くて無理。あとは、本当に何も接点がない分野でどこから入ったらいいか分からない場合は、おすすめのルートを教えてもらったりする。

こういう知識を得るときに、今までは初学者向けに広く浅く書かれた書籍と特定の話題について詳細まで踏み込んだ書籍を行ったり来たりしないといけなかった。しかも良書に巡り会えるとは限らないので、ハズレだった場合は時間とお金の両方を無駄にする。これが遅読家には猛烈に辛い。その点、 ChatGPT はかなり効率が良い。自分の知らない分野なのでハルシネーションは正直怖いのだが「踏み込む場合は疑ってかかる」を徹底することで、おそらく今のところはなんとか騙されてはいないと思う。ここに関しては、裏を取る、書籍を併用する、プロンプトで改善するなど、工夫してやっていきたい。

ちなみに自分は ChatGPT に「箇条書き禁止令」を出しているので、説明は妙な要約をせずに文章で返してくれる。しっかり説明してもらいたい時に有用なのでおすすめ。

こだわり、こだわらないことにこだわり、こだわるべきかどうかにこだわる

このタイトルが書きたかっただけ説はあるが、一応、意図を書く。

職人として成果物の品質にこだわりたいが、なんでもかんでも完璧にやろうとすると時間がかかるので、どうでも良いことは積極的に手を抜きたい。しかし外してはいけない部分で手を抜いては困るので、どこに力をかけてどこで力を抜くかをきちんと見極めたい。

という意味。

ためになる話

5歳の娘を寝かしつける時に「ためになる話」をしている。具体的な内容は挙げるとキリがないが、次のようなものだ。

選挙の話、総理大臣の話、地動説と天動説の話、生物の進化の話、素数の話、エジソンの話、鉄道会社の話、税金の話、保険の話、春秋戦国時代の話、大航海時代の話、インターネットの話、オリンピックの話、戦争の話、宗教の話、原子の話、音の話、携帯の進化の話、お酒の話、バイトの話、為替の話、人種の話、プログラミングの話、 AI の話、等々。

これらの話を5歳でも分かるレベルに落とし、かつ楽しめる内容にする。本人も楽しんで聞いてくれているようで「今日もためになる話して〜」と言ってくる。もう1年半ほど続いていて話の総数は 200 を超えたくらいだろうか。

自分は知的好奇心の弱い子供で、社会のことなどに全く興味を持たず、漫画とゲームと音楽と受験勉強だけして大人になってしまった。 娘が同じ道を歩まないようにと願っている。

ChatGPT に箇条書き禁止令を出す

ChatGPT にお悩み相談を持ちかけた時の回答が 「まず結論としてはこれ!(箇条書き)」 「要点を整理するとこんな感じ!(箇条書き)」 「簡単なチェックリスト!(箇条書き)」 「困った時はこれだけやっておけば OK !(箇条書き)」 「まとめ!(箇条書き)」 みたいな感じでうんざりすることがある。真面目な相談に浅い回答が鼻につくというか。

それで試しているのが「箇条書き禁止令」。パーソナライズ設定の「カスタム指示」に「箇条書きを使わないでください」と書いておく。

これをすると、丁寧な文章で温かみのある回答をしてくれるようになる。 常にそれが良いとは限らないとは思うのだが、いつもの回答スタイルにうんざりしている人は一度試してみてほしい。

適当なお悩み相談を考えて、回答を比較してみた(共に ChatGPT 5.1 Thinking)。

お題:「キャリアについて。AI 時代が到来したけど AI に興味を持てなくて先行きが不安。モチベーションを上げるにはどうすればいいか?」

デフォルトの回答

結論から言うと、

  • AIに興味を持てないのは全然おかしくない
  • それでもちゃんと生き残るルートはある
  • モチベを上げるなら、「AIがすごいから頑張る」じゃなくて 「自分がどうありたいか」→「そのためにAIをどのレベルで使うか」って逆算した方が楽です。

順番に整理します。


1. 「AIに興味がない=終わり」では全くない

まずこれをハッキリさせたいんですが、

  • 波に乗る人:AIが楽しくてしょうがない人
  • 波の上を歩く人:AIを「道具」としてほどほどに使う人
  • 波の外で別の価値を出す人:対人スキル、マネジメント、専門ドメイン などで勝負する人

みたいに、立ち位置はいくらでもあります。

「AI最高!たのしい!」まで行かなくても、

・ざっくり何ができるかは理解してる ・自分の仕事で「ここだけAIに投げる」って線を引ける

このくらいの“道具としてのリテラシー”レベルで十分戦える可能性はかなり高いです。

なので 「AIオタクにならなきゃ…」は一旦全部捨ててOKです。


2. モチベが上がらない一番の理由は「自分の目標とつながってないから」

多くの人がハマってるパターンがこれです。

AIを勉強する理由が 「みんなやってるし」「置いていかれそうだから」

だと、脳内はずっと

「やらなきゃ」vs「正直そんな興味ない」

の綱引きになるので、 そりゃモチベ上がらないし、勉強しても頭に入らないんですよね。

じゃあどうするか?

AIから考えるのをやめて、自分から考える。

  1. 5年くらい先で、ざっくり

    • どんな働き方をしていたいか
    • どんなストレスは絶対に減らしたいか
    • どんな瞬間は増やしたいか(「ありがとう」と言われる場面とか)
  2. その上で

    「その未来を守る/近づくために、 AIとどの距離感で付き合うのが一番ラク?」

 を決める。

ここで決めるのは「AIを愛せるか?」じゃなくて、

  • 触らない
  • 道具として最低限使う
  • 仕事でガッツリ使いこなす
  • 技術自体を深掘りする

のどれに“自分を置くか”を選ぶ作業です。 モチベは「やらされてる感」が消えるとぐっと上がります。


3. 「興味ゼロ」からでもできる、現実的な3ステップ

とはいえ「未来から逆算しよう」と言われても、いきなりは難しいので、 AI嫌いじゃないけど興味も薄い人向けの、超現実的なステップを3つに絞ります。

ステップ1:AIを主役にしないで、「自分の嫌いな作業リスト」から始める

紙でもメモアプリでもいいので、

仕事や日常で「もう二度とやりたくない/やるたびにため息出る」作業を 5〜10個くらい書き出す。

例:

  • 長い文章を要約する
  • 仕様書のたたき台を書く
  • バグ報告の文章を整える
  • メール文面を考える
  • エラーログの眺め込み …など

その中から「AIに投げられそうなやつ」を1〜2個だけ選ぶ

このやり方のポイントは、

「AIを学ぶ」のではなく 「自分の嫌いな作業を減らすために、たまたまAIを使う」

という順番にすること。 興味じゃなくて「めんどくさいからラクしたい」という欲を動機にした方が、よほど強いです。


ステップ2:時間ではなく「実験回数」を決める

「毎週2時間勉強」だと、かなりの意志力がいります。 代わりにこんな感じにする方が続きやすいです。

  • ルール: 「1週間でAIを使った“小さな実験”を3回だけやる」

例:

  • 今日の会議メモをAIに渡して、要点だけ箇条書きにさせる
  • 自分が書いたメールをAIに「もっと丁寧に」「もっとカジュアルに」と整えてもらう
  • 自分のコードに対して「この関数の役割をコメント化して」と頼む

大事なのは、

  • 深く理解しようとしない(「なんでこれが動くの?」は後回し)
  • とにかく“自分の時間が何分浮いたか”だけ気にする

実験 → ちょっと得した → 「まあ、これくらいなら使ってもいいか」

くらいの温度感を積み重ねると、 モチベは「勉強するぞ」じゃなくて「得したいからまた使おう」に変わっていきます。


ステップ3:自分の「強み」とAIの「得意」をちゃんと分けて考える

不安を減らすうえでめちゃくちゃ重要なのがこれです。

AIが得意なのはざっくり言うと、

一方、人間側がまだまだ強いのは、

  • 何を優先するか決める
  • 他人の感情を汲む
  • 価値観・倫理を判断する
  • チームやプロジェクトを前に進める

などなど。

「自分のキャリアの軸はどっち側に置きたいか?」を意識すると、

  • 「AIに負けないためにAIを勉強」ではなく
  • 「AIに“させる側”に回るために、最低限はわかっておくか」

という気持ちに変わりやすいです。

モチベは 「自分は何で勝負するか」が見えてくると、勝手に少しずつ上がってきます。


4. それでも全然興味が湧かない場合の「逃げではない選択肢」

もしここまで読んで、

いや、それでもやっぱりAI触る気にならん…

という場合でも、詰みではないです。

その場合のルートは例えば:

  • 対人寄りのポジション マネジメント、顧客折衝、コンサル、教育など → AIは裏側で補助に使うけど、価値の中心は「人と人の間」に置く。

  • ドメイン専門家になる 特定業界の深い知識や実務経験を武器にする → AIはあくまで“業務ツールの1つ”として、他の人よりちょっと使えるくらいでOK。

  • “AIの橋渡し役”になる 技術を深く書かないけど、 「AIで何ができそうか?」を業務観点で整理して、 技術チームに投げられる人材になる。

いずれも、「AIガチ勢」ではなくても十分価値があります。 そのうえで、必要になった時だけ、必要な分だけ学ぶスタンスでも全然アリです。


5. もしよければ

  • 今どんな仕事をしていて
  • どの辺に一番「AI時代こわいな…」って不安を感じているのか

が少しわかると、 「だったらこのレベルまで分かっておけばOK」みたいな具体的なライン引きと、 それに向けたミニ計画を一緒に作れます。

とりあえず今の段階では、

AIに興味を持てない自分を責める必要はない → そのうえで、 「自分の未来のために、どの距離感で付き合うか」を決める

ここだけ押さえておいてもらえれば十分です。

「箇条書き禁止令」の回答

たぶんいま、一番しんどいところって「AIにワクワクできない自分」と「AIで盛り上がってる世界」とのギャップなんですよね。 「このまま興味が持てないままだと、取り残されるんじゃないか」という不安がずっと頭のどこかで鳴りっぱなしになっている感じだと思います。

まずはっきり言っておきたいのは、 AIそのものに強い興味がなくても、キャリア的に詰むわけでは全然ない、ということです。

AI時代と言われているけれど、「AIそのものを好きでいじり倒す人」は全体のごく一部です。エクセルが出てきたときも、「関数やマクロをガチで極める人」が一部いて、多くの人は「仕事に必要なぶんだけエクセルを使う人」になっただけですよね。AIも、最終的にはそれと近い位置づけになります。 つまり、「AIオタク」になる必要はなくて、「自分の仕事や興味のある領域を進めるための道具として、ほどほどに付き合える」くらいで十分戦えます。

モチベーションの話をするとき、よく誤解が起きるのが「興味がないものに興味を持とうとして、余計につらくなる」パターンです。 AIに乗り遅れたくないから、「よし、ちゃんと勉強しよう」と思う。でも本心ではそこまで好きでもないから続かない。続かない自分に自己嫌悪して、ますますモチベーションが落ちる。 もし、心当たりがあるなら、それは「そもそも設定しているゲームが自分の本心とズレている」のが原因です。

本来やるべき順番は、逆です。 「AIをどう勉強するか」の前に、「自分はどんなことに意味や楽しさを感じる人間なのか」を先に言葉にしてしまう方がいい。 たとえば、人によっては「誰かの成果が出るのを一緒に喜ぶのが好き」とか「カオスな状況を整理して、筋の通った道筋に落とし込むのが好き」とか「技術の細部を詰めて性能を1%でも上げるのが好き」とか、好きなポイントがまるで違いますよね。 AIは、その土台の上に“必要なら乗っかる拡張パーツ”であって、土台そのものではありません。

なので、モチベーションを上げる一歩目としては、「AIそのものに興味を持とうとする」のではなく、「自分の土台をはっきりさせる」方が現実的です。 今の仕事やこれまでの経験を思い出してみて、 「時間を忘れてやっていた瞬間」 「しんどいけど、やりきれたときに妙な満足感があったタスク」 「逆に、どうしても腰が重くなる種類の仕事」 こういうものを数個思い出してみると、自分の価値観や得意なパターンがけっこう見えてきます。ここを言語化しておくと、「AI時代にどう適応するか」も、かなり戦略が立てやすくなります。

そのうえで、AIとの距離感は「興味のない新技術」じゃなくて「自分の得意分野を少しだけ楽にしたり、伸ばしたりするための道具」という位置づけに変えてみると、モチベーションの質が変わりやすいです。 例えば「AIの仕組みを理解しよう」とすると急に重くなりますが、「自分が毎週やってる面倒な作業を、10分だけ短縮する方法を試してみる」と考えると、ちょっとだけ試してもいいか、という気持ちになりやすいはずです。 AIに興味がない人のほとんどは「AIというテーマ」に興味がないだけで、「自分の面倒ごとが減る」「自分の強みがもっと活きる」という意味では興味があったりします。そこを直接触る方が自然に動きやすい。

もうひとつ、モチベーションの源泉として大事なのが「射程距離」です。 「AI時代に置いていかれないキャリア」をいきなり考えると、スケールが大きすぎて不安しか残りません。人間の脳は、10年単位の不確実な未来を考えるとだいたい不安定になります。 ここは、いったんスコープを「これから半年〜1年くらいの間に、自分の仕事や生活をどう変えていたいか」くらいまでグッと縮めてしまった方がいい。 例えば「いまの仕事の中で、自分が“ここは任せておけ”と言える領域をもうひとつ増やしておきたい」とか、「今よりも1日1〜2時間は、ちゃんと自分がやりたいことのために使えている状態にしたい」といったサイズ感です。 その目標に向けて、「AIを使うかどうか」はあくまで手段として後から考える。すると、「AIに興味がないから動けない」状態から、「自分のやりたい方向は見えているし、そのために必要ならAIも少し使ってみるか」という順番に変わっていきます。

不安を完全になくすことはたぶん難しいですが、「不安の割に何もしていない自分」という状況が、実は一番モチベーションを削ります。 逆にいうと、ほんの小さなことでも「自分なりの一歩」を踏み出すと、体感としての不安はかなり下がります。 それは「AIの本を一冊読み切る」みたいな立派な行動である必要はなくて、「自分の仕事の中から一個だけムダっぽい作業を選んで、AIを使うにしろ使わないにしろ、30分だけ改善案を考えてみる」みたいな、本当に小さい実験で十分です。 行動が小さくて具体的であるほど、「興味がないテーマ」でもなんとか手をつけられるし、「やれば少しは変わる」という感覚が戻ってきます。

まとめると、 AI時代と言われていても、AIにワクワクできないこと自体は、欠陥でも敗北でもありません。 大事なのは、自分がどんなことに意味や楽しさを感じる人なのかを一度ちゃんと見つめて、そのうえで「その軸を強くするために、AIをどの程度道具として取り入れるか」を自分で決めることです。 その順番を逆転させて、「AIに興味を持てない自分を何とかしなきゃ」と自分を責めてしまうと、モチベーションがどんどん削れていきます。

もし気が向いたら、いまの仕事で「好きなところ」「嫌いなところ」「得意だと思っているところ」を教えてもらえれば、その土台を言語化するところから一緒に整理して、「AIにガチでハマらなくても生きていけるキャリアの選び方」をもう少し具体的に描いてみることもできます。

どちらが好み?

自分は後者。

認知負荷を下げるテキストコミュニケーション

Slack や GitHub など、何かとテキストコミュニケーションを行う場面は多いのだが、自分なりに気をつけていることを書いてみたい。

まず、前提として自分は文字を読むのが嫌いだ。昔から本が嫌いで読むのが遅く、国語の成績はずっと低かった。流石に小中高の時よりはマシになっていて技術書などはまあ読むのだが、それでも得意になったわけではなく、できることなら1文字でも少なく読みたい。そして、自分がそこに認知負荷を感じるがゆえに、他人に読ませるテキストには気を遣う。なるべくシンプルかつ簡潔に要点を伝えるためにアンチパターン(と思うもの)を避けている。

以下では、個人的に気をつけている認知負荷を下げるための具体的な工夫を挙げていく。(認知負荷にも色々あるが、ここでは「読むのが疲れる」くらいの意味だと思ってほしい。)

「読んでおいて」...リンクの丸投げを避ける

ちょいちょい見かける「これを読んでおいてください」とリンクだけ共有するパターン。大抵の場合リンク先は長文のドキュメントだったり、ページ数の多いスライドだったりする。これが結構しんどい。どういう気持ちで読めばいいか分からないからだ。

その人が何を伝えたくてそのリンクを共有したかが分かっているだけで、だいぶ読みやすくなる。たとえば「セキュリティ対策をして欲しい」とか「競合製品がリリースされたので自社が危機的な状況である」とか。言われなければ自分に関係がない世間話かと思って読み飛ばすかもしれない。

リンク先をどういう気持ちで読んで欲しいかを書く。簡単なサマリも書く。

「この件」...踏むまで分からない指示語のリンクを避ける

これも一つ上と似ている話。プレビューでタイトルでも書いてあれば別だが、この件ですが...」を見ただけでは分からない場合があり、確認のための1クリックが必要になる。

改善するには「API の件ですが...」とか「API に破壊的な変更があり対応が必要な件ですが...」などと、リンクに内容を含める。どこまで丁寧に書くべきかは状況によるので、「API の件」だけで自明ならそれだけで済ます。

結論を先に書く

これは言われ尽くされていることだが、背景などから順を追って説明しようとすると言いたいことがどんどん後ろに移動してしまう。以下は良くない例。(内容は真面目に読まなくて良い。他の例も同様)

@channel
先日このようなことがありました。その日はイベントの前日で準備が忙しく〜(中略)
オフィスに入ってすぐに気づいたのですが〜(中略)
その後、管理会社から電話があり〜(中略)
最終的に問題がないことは分かったのですが、危うくセキュリティ事故につながるところでした。
最後にオフィスを出る人は戸締りを忘れずにお願いします。

これだと何が言いたいのか分からないので読んでいて疲れるし、最後まで読む前に離脱してしまう。「【注意喚起】最後にオフィスを出る人は戸締りを忘れずにお願いします!」と伝えたいことを最初に持ってきて、詳細を後に続けると良い。詳細が長くなる場合は Slack のスレッドに続けても良い。

長いスレッドに呼ぶ時は内容を要約する

Slack で議論しているとスレッドがやたら長くなることがある。100 個のメッセージを経た後、その議論に参加していない他の人の意見を聞かないといけないことが分かり、「@xxxxx この件どうですか?」とメンション。呼ばれた人は 100 個のメッセージ全てに目を通す羽目になる。大体そういう時はストレートに話が進んでいないので、 60 個目くらいに「すみません!確認したところ今までの議論は前提がそもそも間違っていました!」みたいなメッセージがが挟まっていたりするし、「いや草」みたいなノイズでしかないメッセージも混じっている。

そもそも何の議論をしていて今は何が問題になっているのかを簡単に説明したい。いわゆる今北産業である。

箇条書きだけで伝えるのを避ける

こちらはなんでも箇条書きにして伝えようとするパターン。

「この件どうしましょう」

* 状況
  * デプロイ作業中
    * 担当者: A
    * 16:30 頃
    * staging 環境
* 事象
  * DB マイグレーションに失敗
    * エラー内容: DBError: カラム foo が存在しません
  * 影響範囲
    * X モジュール
* 解決策
  * 問題の箇所だけをスキップしてデプロイ
    * 多分問題はない
    * 根本的な解決になっていない
  * 明日デプロイし直す
    * X モジュールに詳しい Y さんが本日不在のため

箇条書きで整理すると気持ち良いのだが、情報がフラットすぎたり、項目間の繋がりが見えにくくなったりする。書いている時は脳内で助詞や接続詞を補って読んでいるので上手く整理できていると思い込んでしまっているが、後で読み返すと「何が言いたいんだっけ?」となったりする。この例は Slack の会話だが、ドキュメントに書く場合も同様。

詳細を箇条書きにするにしても、先に伝えたいことは文章で書いた方がわかりやすい。この場合なら「staging デプロイ中にマイグレーションが失敗しているんですが、明日デプロイやりなおした方がいいですかね?一応スキップしてデプロイは出来るんですけど、今日は Y さんがいないので安全か不安です。」などと書く。文章にした分だけ冗長さが増しているようにも感じるが、箇条書きよりも意図を読み取る負荷は減っているように思う。

AI の回答を丸投げするのを避ける

「例の件ですが、 ChatGPT に聞いたら以下のように答えてくれました!」

とても良い着眼点です。
A の方法を採用するのは、多くの場合理にかなっています。しかしご指摘のように一つ懸念点を挙げるとすれば...

(中略)

## 🚀 解決策 1: B の方法を採用する(最も手軽で確実)

今回の用途では B で十分です。この方法であれば、唯一の懸念点も払拭できます。

メリット
* ~~~~
* ~~~~
* ~~~~

### 実装例

(略)

## 🛠️ 解決策 2: A を採用しつつ、万一の場合にも備える(リスクは減るが工数増)

もちろん A の方法でも実現可能です。しかし問題が起こる可能性は残るので、万一に備えた対策も必要でしょう。

メリット
* ~~~~
* ~~~~
デメリット
* ~~~~

### 実装例

(略)

## ✅ どの案を採用すべきか(簡単なチェックポイント)

1. B を採用可能か -> 解決策 1
2. B を採用できない場合
  a. 運用上のリスクが十分小さい -> 解決策 2
  b. リスクがそこそこある -> 解決策 2 と 3 のハイブリッド

## まとめ

(略)

AI の回答は冗長だ。こちらの前提を理解していないので「省略できるところは省略する」判断ができずに隙のない回答をしてくる。そこは人間が無駄なところは省いて伝えるべき相手に合わせた形に整理しないといけない。

これに似た話で、最近は AI が議事録を取ってくれるがやっぱりそのままでは使いにくい。ないよりはマシだが、現状では人間の取った議事録に及ぶクオリティになっていないので「読んで理解しておいて」とは言いにくい。

Pull Request の description を AI に書かせない(または簡潔に書かせる)

こちらも放っておくと AI はどこまでも冗長な description を生成する。毎回モジュールの依存関係とかを図示してきたりするし、コードを見れば分かることも懇切丁寧に説明していて、シンプルに読むのが大変。真面目に読まなくていいのかもしれないが。

そもそも同じ開発チームのメンバーならタイトルを見ただけで「あれね」と分かるので、 description がそもそも不要な場合が多い。その場合は何も書かない(チケットへのリンク程度)ので、レビュアーは何も読まなくて済む。他に書いたとしても、大抵は数行の概要+参考リンク+スクショくらいで、たまに注意点とか重要な判断が入った場合に長く説明する程度。

なので基本的に AI に説明は書かせないのだが、定型作業の場合は「このフォーマットで書いてね」と指示すると便利なこともある。もちろん、指定するフォーマットはシンプル・簡潔なものだ。

過度なテンプレート化を避ける

次のようなドキュメントのテンプレートが用意されていることがある。

# {タイトル}

## 概要
<!-- ここに概要を書く -->

## 背景
<!-- ここに背景を書く -->

## 詳細
<!-- ここに詳細を書く -->

## 注意点
<!-- 注意点があれば書く -->

## 参考リンク
<!-- 参考になる資料があればここに書く -->

テンプレートがあることによって書くことを迷わなくて済むし、内容の抜け漏れも防ぐことができる。そこまではいいのだが、冗長さによるデメリットがメリットを上回ってしまうことがある。ほとんどの項目が空で済む場合、読み手は退屈な項目名の羅列を眺め、その中から本当に埋められている項目を探さなければならない。テンプレートによっては「不要な項目は消して良い」と書いてある場合があるが、消すのも面倒なのでそのまま残している人が多数派だと思う。

冗長なテンプレートが生まれる理由はいくつかある。よくあるのが、何か不具合が起きた時に「どうしたら考慮漏れを防げたのか」という議論になり、「仕組みで解決」する方法の一つとして採用される「テンプレートへの項目の追加」だ。有効な手段であり、大成功した例も知っているので悪いことではない。が、経験の浅いメンバーがごく基本的なことを考慮できなかったという理由で項目を追加すると、経験を積んだ人にとっては分かりきっていることをわざわざ書くことになる。同様に、読み手への配慮を怠る人に対する強制力としてテンプレート化を推進する場合もある。普段から配慮できる人はテンプレートなどなくても参考資料へのリンクを貼ったりするのだが。テンプレート化に限らず、組織施策を一番低いレベルに合わせてやるとどんどん面倒臭くなっていく。組織に面倒さを導入しないためには個人の「気を付ける」努力も必要だったりする(任せるだけでなく気を付けるためのハックを共有すると効果的)。

選択肢に番号を振る

これは読む量を減らすのではなく、議論をスムーズに運ぶための方法だ。以下を見比べてほしい。

* 先に基盤を整えてから全チームに展開する
* 基盤の整備とチームへの展開を並行して行う
* まず1チームで試して上手くいったら基盤に昇格させる
* 基盤は作らず各チームで独立して管理する
1. 先に基盤を整えてから全チームに展開する
2. 基盤の整備とチームへの展開を並行して行う
3. まず1チームで試して上手くいったら基盤に昇格させる
4. 基盤は作らず各チームで独立して管理する

後者の方が圧倒的に議論がやりやすい。「3で行こう」「いや4じゃね?」のように言えるので。注意点としては、逆に「3ってなんだっけ?」のようになってしまったこともあるので、常に選択肢は見えるところに置いておきたい。

図解する

もはや説明の余地もないが、多くの場合有効な方法である。

注意点としては、あまり独創的な図を描いてしまうと描き手のメンタルモデルと読み手のメンタルモデルが一致せず、逆に理解が困難になる可能性があることだ。アプリケーション層は上か下か、矢印が表すのは依存の向きかデータの流れか、それら一つ一つが描き手の中で一番理解しやすい方法で表現されているのでついつい「こうなってて〜」と説明してしまいがちだ。しかし、まずは読み手が描き手のメンタルモデルに追いつくまで丁寧に説明する必要がある。基本的にはシーケンス図やフローチャートなどありふれたものを使うのが良い。

また、認知特性は人によるので絵よりも文字や音声の方が理解しやすい人もいることにも注意が必要だ。自分はなんでも絵で理解するので図解を多用するのだが、苦しんでいる人もいるかもしれない。

ここで説明しなかったもの

この記事では「認知負荷を下げる」ことにフォーカスしたため、より一般的な「分かりやすい文章を書く」ことには触れなかった。自分は文章のプロではないので、そういうのは探せばもっと良い書籍がいくらでもある。この記事には「とにかく文字を読むのが面倒くさい」ということだけを書いた。(そして最近「面倒くさいって言い過ぎ」というフィードバックを受けた。)

「質問」より「相談」

何か分からないことを聞く場面で「質問」よりも「相談」という言葉を意識的に使うようにしている。

よくあるのが、新機能の開発中に不明点が出てきた場合。 例えば、 UI を実装しようとしたらデザイナーが作成した Figma に必要なパターンがなかった時。

「ちょっと質問いいですか?この場合の表示ってどうなりますか?」

PdM が考えた仕様が曖昧で意図が分からないこともある。

「質問なんですが、この場合ってどういう挙動をするのが正しいですか?」

バックエンド開発者が考えた API に微妙に UI とミスマッチだった時も。

「質問、このフィールドが nullable なのは何故ですか?」

まあ誰に何を聞いたとしても「ああ確かにそのパターンはどうしようかねぇ」としばらく考えた後、なんとか答えを捻り出してくれる。

このように、分からないことを聞くことはよくあるので一見すると何も問題ないのだが、冷静になって考えるとこういう場面で「質問」するというのは変な話だ。 そもそも「質問」というのは、相手が答えを知っており、自分はその答えを教えてもらうという場面で使う言葉だ。 ところが新機能の開発において最初から答えを知っている人は誰もいない。 だから回答者は質問者に代わって答えを考えて判断をしてくれていることになる。 その人だって別に完璧な判断が出来るわけじゃないし間違うこともある。質問者と同様の不安の中で答えを出しているのだ。

こういう場面で「質問」するということは、「自分には判断能力がないので考える気はありません」「相手に 100% 判断を任せるので責任を取ってね」と宣言することと等しい。 アルバイトとかなら別に良いが、チームで一緒に働いていて「誰かが考える役をやって自分はそれに従う役」というマインドになっているのは良くない。 良くないのだが、各領域に専門性を持った職種の人が集まっているとどうしても「これを考えるのはこの人の役」というマインドに陥りがちだ。 これを続けていると、どんどん相手に力を吸い取られ、自分はただの作業員に成り下がってしまう。

そこで、「質問」の代わりに使いたい言葉が「相談」だ。 言葉を「相談」に変えるだけでマインドが変わり、途端に相手と対等な立場で議論している感覚になるので不思議だ。 こういう小さなところからオーナーシップは育つのではないだろうか。 まあ本当に「質問」の時は「質問」で別にいいのだが、「相談」すべきところで「質問」していたら、ちょっと気をつけて「相談」と言い換えてみたい。