AIと開発者の付き合い方について現時点で思ってることのメモ。
AIのパワフルさは今更いうまでもない。 そしてこの手の話には必ず「AIがあれば人間の開発者は不要」みたいな話がついてくる。 ある面では正しいが、そういう主張をする人は自分の答えを持っている(これ自体は悪いことではない)し、面倒なのでそういう主張からは距離を置いている。
将来的に「現時点で開発者の仕事と思われているもの」の多くがなくなるのはそうだと思う。 遠い将来ではなく、今この瞬間もなくなっている(本当に消滅したということではなく「なくなったと言って良い状態」になっていること)ことだろう。 そういう仕事がなくなるとかいう方向の話は別でやるとして。
現時点での開発者(およびAIを使用する多くの仕事)の仕事はなんなのか。 それを言葉にするなら「検算」と「選択」になるかなと言うのが本稿の趣旨。
AIに答えを求めるとそれっぽい答えが出てくる。 この答えが妥当なのかを調べる必要があるのがAIを使っていくなかで必要なことで、「コンピューターは正確だが柔軟性がない」というひと昔前のイメージの真逆である。 正確な振る舞いはコンピューターが得意とするところなので、「答えが合っているか」をコンピューターに調べさせるのは当然の活動。ハーネスとか言ってるのがこの辺なんだろかってふわっと思ってる。
検証を無邪気にAIに任せてるのがしばしば行われるが、これがイマイチなのは「正確でない答えを正確でない方法で検証しても正確でないまま」という単純な話になるので効果は限定的である。 「正確でない人間の仕事を正確でない人間がチェックする」というのはダブルチェックなどで行われることであるが、限界があるのは知っての通り。
つまり、AIの仕事の結果を検証する方法は正確である必要がある。「正確な方法を使った検証」を実行するのはAIでよい。この辺りの構造を認識したり設計したりできるかがAIを使うものに必要なスキルである。が、そういう組み合わせとかもAIができるようになっている。
では人間がやるべき仕事ってないのでは?となるのだが、ここで「検算」と「選択」という言葉を用いる。
検算は別の方法で確かめること。 その方法を選択するのが人間の仕事で、選ばれる方法は「(その答えに関わる)人間が扱えるもの」でなくてはいけない。 関わる人間が理解不能なロジックでしか検算できないものは「検算不能」として捨てるのが、人間の仕事じゃないかなって。 「検算」は「伝えたい相手に伝わる言葉での説明」である。伝えたい相手はステークホルダーと呼ばれる人かもしれないし、対象プロダクトをメンテしていく開発者かもしれない。
AIはしばしば人類には理解不能な答えを出してくる。 それはひとめ「間違っている」と映ることもあるが、よくよく確かめると正しいこともなくはない。 唯一無二の答えならそれを選ぶしかないが、多くの場合、答えは一つではない。 ゆえにいくら正しくとも「選ばない選択」をするのが、人間の仕事じゃないかなって。
人間に合った答えを選び、人間が扱える方法を選んで検算する。 人間に合っていない答えは選ばない、人間が扱えない方法での検算は採用しない。
って感じ。
昔からある構造
AI関連で色々と「今までとは違う!」って話はでるのだけど「構造は変わってないなぁ」と思うことはよくある。 今回の話も技術差のある現場では昔からよくある話だったりする。
技術差があると技術上位者による「他のメンバーが理解できないが正しい答え」はしばしば持ち込まれるが、それをそのままにするとスケールしなかったり、オーパーツ化して痛い目にあったりする。そこで「メンバーのスキルをあげる」のと「メンバーがわかる(あるいは将来的にわかるようになる)レベルの答えを選択する」などの方法を組み合わせて対応してきた。AIでも同様のことが必要ってだけの話。
なので別に新しい考え方でもなんでもない。
のだけど、「メンバーがわかるようになる」は答えを出したのが「言うても同じコンテキストに同席した人間」条件下だったのである程度期待してもよかった(酷なこともあるが)。しかしながらAIとなると「人間にAIと同じレベルになれ」を要求するのは流石に無理がある領域もある。その辺は差分かもしれない。
プロの投手で160km/hのボールを投げられる人がいて。同じプロの投手でトレーニングにより投げられる人がいるのを期待するのは自然。 でもピッチングマシーンが300km/hのボールを投げるからといって、人に投げられるようになるのを期待するのは違うよねって。
おまけ
「検算」は 京都総合法律事務所のメルマガ2026年4月号 から編集後記から。

