高校の頃に数学の先生が言っていたことで印象に残っていることがあり、それは「数学は積み上げの学問だから、ある箇所でつまずくとそれ以降はまったくわからなくなる。例えば高1の数学がわからなくなった場合、それは実際には中3や中2の数学のどこかがわかっていないので、そこから勉強をやりなおさないといけない」的なことだ。これ、そんな突飛なことを言っているわけでもなく、考えてみると当たり前のことだとは思うのだが、今でも良い言語化だなと思う。
別の先生はこういうことを言っていた。黒板にまずでかい四角を書いて、この四角が、この世界のすべてだ、と言う。次に、四角の中に小さな円を書き、円の中を塗りつぶす。この円の中が、君たちが今わかっていることだ、と言う。では、君たちがわかっていないことはどれだろうか?と問う。円の外側と誰かが答えると、それは違う。君たちがわかっていないのは、円の外側のうち、この円と接している、このわずかな部分だけだ、と言う。

この今作った図で言うところの、青い部分ではなく、赤い部分だけだ。わかっていないのはここだけ。と言っていた。
「わかっていないこと」は、「わかっていること」の常に隣りにある。「ここまではわかっている」「でもここからがわからない」という言語化は、わかっていないことをわかっていることに変えるプロセスで極めて重要だ。なぜなら、「何がわかっていないか」がわかれば、「それをわかるにはどうすればいいか?」という、具体的なアクションが考えられるからだ。人に質問するにしても、本を読むにしても、何がわかっていないかがわからないと、何を聞けば良いのか、どの本を読めば良いのかわからないからだ。
『「わかる」とはどういうことか ――認識の脳科学 』によると、「わかる」とはあることが別のことと関係づけられて新しい意味が形成されることだという。つまり「わかっていないこと」を「わかっていること」に変えるためには、そのわかっていないことの隣りにある「既にわかっていること」との関係を考える必要がある。これは、「わかっていること」を土台にして考えるということだ。
さて、LLMという便利なソフトウェアがある。このソフトウェアは謎の力によって、入力した文字列の続きを生成してくれる。なので、「なぜ空は青いのですか?答え:」のような文字列を入力すると、質問への答えを出力してくれる。
LLMに、自分がわかっていないことへの質問を入力することもできる。先程も書いたように、「わかっていないこと」は「わかっていること」の隣にあるので、生成される出力は、自分がすでにわかっていることの隣りにある、わかっていないことだ。
このわかっていないことを、よく読んだり、それについて勉強したりして、隣りにあるわかっていることと繋げることができれば、わかっていないことをわかっていることに変えることができる。円が少しだけ大きくなる。私の推奨している使い方はこれだ。
さて、現実のユースケースだと、LLMというソフトウェアの出力は、ただ読んで理解するだけでなく、何かに使用することがある。AI Agentとかいう言葉もあるが、それはLLMというソフトウェアのインタフェースの話でしかないので、本当に完全にどうでもよいことで、抽象的に言えば「LLMの出力をなにかに使う」という行為の話だ。使うというのは何かと言うと、「LLMの出力で、この現実世界にある何かを『変化』させる」ということだ。例えばプログラムの挙動を変化させるとか、問い合わせしてきた顧客の認識や考えをカスタマーサポートAIで変化させるとか。
変化というのは、厄介で、その変化が望ましいのかどうかは、変化させてみないとわからないことが多い。しかし変化は不可逆だったり、戻すのにコストがかかったり、精神的な負担を伴ったりすることがあるので、変化というものにはある程度の慎重さが必要だ。変化しないことにも変化することにもリスクがある。
ただ、私の見解では、あらゆる仕事というのは、今何を変化させるべきか?ということの見極めと、その変化の実行である、と言える。大きく、かつより良い結果をもたらす変化が「良い変化」で、それを「良い仕事」と呼んだり、それが得意な者を「仕事ができる」などと言う。
LLMの話に戻ると、人間の脳は本当に賢いので、「わかっていないけど使う」ということができてしまう。多分こうなっているだろう、と決めつけたりして。
私が主張したいのはここからなんだけど、この「わかっていないけど使う」行為は、1回までならやっても大丈夫だ。使った結果の変化が望ましくなかった時、その変化をもとに戻したり、望ましい方向に調整したりすることになる。このとき、「わかっていないけど使った」ことによる変化は、それが初めての変化であれば、この調整や復旧ができる。なぜならここではそのわかっていないことはわかっていることの隣にまだあり、つまり繋がりを考えることができるからだ。
問題は、1回目の「わかっていないけど使う」によって起きた変化の上に、2回目の「わかってないけど使う」による変化を重ねてしまったとき。この変化をもとに戻したり、調整したくなったとしても、それについて考えることがほぼ不可能になる。なぜかと言うと、このときはわかっていないことの隣にもわかっていないことがあるという状態で、つながりについて考えること自体ができないからだ。これは中3の数学がわからないまま高1の数学に突入してしまった状態だ。私の感覚としては、何がわからないのかもわからないし、考えること自体ができないような諦めの感覚に陥ってしまうような感じがする。
『「わかる」とはどういうことか ――認識の脳科学 』には、「わかるとは運動化できること」ともある。運動化とは書くとか話すとか、アクションするということだ。特に仕事では、アクションなき思考は無意味である。問題を解決したり、何かを良い方向に変化させることができるのはアクションだけだ。アクションをするために「わかる」がやりたいので、なるべくちゃんとわかっておくのが良いと思う。
一応書いておくと、LLMやコーディングエージェントの使用に反対する立場をとっているわけではない。特に現代のWebアプリケーション開発におけるプログラミングとかは、人によってはほぼ単純作業に近いと思うので、そういうケースではどんどん使うのが良いと思われる。