最近、PostgreSQL のクエリを AI に書かせてひどい目にあいました。
私が全面的に悪いのですが、きちんと処理を理解していないクエリをアプリの実装につかい、トラブりました。ローカルの動作確認でうまくいったので「問題ないだろう」と思っていたのですが、ある日、運用中のサービスで急激な動作の鈍化をひきおこしてしまったのです。
それは時限爆弾のようなもので、パフォーマンスがまったく考慮されておらず、データ量の増加にともない処理時間が指数関数的に増えるつくりになっていました。
この記事の内容
・AI が優秀です。使うほどに「信頼できる」と感じるようになり、私はついには自分で考えるのをやめてしまうレベルになっていました。
・AI の回答をまったくうたがわなくなってしまっては、それはもう人間がバグっている状態でしょう。そんなひとは必要もありません。
・対策のひとつに勉強があります。わかりやすい指標があって、AI の回答をうたがうことができるレベルまで勉強をすればいいと思います。
※本記事は、Advent Calendar 2025:あの時「もっと◯◯を勉強しておけば!」と思った話 by エルピーアイジャパン の記事です。
AI で失う「うたがう力」
ところで、いまは AI に聞けば、わりかしなんでも回答がもらえる時代です。
その回答はいつも正しいようにみえます。───というより、情報量ではAIに勝てるワケがないので、その情報が誤っていることを見抜くのは至難です。
"うごきがはやい世の中" であることもあって、ワザワザにファクトチェックなんて面倒なことをする時間もありません。こちとら、サクッと聞いて、サクッと成果をあげたいんですから。
最初は用心しているもので、しっかりとファクトチェックをします。しかし、時間がなかったり、面倒くささが首をもたげてくるとそれができなくなります。
日常的に AI をつかっていると、回答をそのまま採用する頻度もあがります。そのうち、「出てきたものをそのまま使うだけでいいな」と思えてきます。私たちは "わかったつもり" になって、うたがうことも忘れ、「無知の知」を失うことになります。
--
無知の知
これは「自分が知らないことを自覚していることこそ、本当の賢さである」という考え方です。エンジニアにも重要な心がまえのひとつではないでしょうか。
私はこういう考え方に近いのではないかと思っています。
そういう状況で禁物なのは、「わかりやすい結論に飛びつく」ことです。
ちょっと考えれば出てくるような結論で話が終わるなら、誰かがとっくにやっている。もちろん、「明確な解決法」がある課題だって中にはあるんですけど、それでもどこかに埋まっている罠があったり、その選択肢をとれなかった理由があったりする。
出典:Books&Apps|しんざき.「「世の中そんなに簡単に解決することばかりではない」という基本認識は本当に重要」(2025/7/22)- https://blog.tinect.jp/?p=89933
ちなみに、『無知の知』は「自分はなんでも知っていると思いこむほど、成長は止まってしまう」という教えでもあります。AI をパートナーにした私が万能感にひたっていたのも、これにあたるでしょうか。
そのうち人のほうがバグる
冒頭の私の失敗は、まさにこの「うたがう力」を失ったために起こったことです。
最初は小さな依頼でした。
ある日の私は PostgreSQL 内のデータを抽出する処理の作成をお願いされます。当時は PostgreSQL に理解がなく、クエリの知識も SELEC、FROM、WHERE くらいでしたので「勉強が必要かもな」とかまえていました。
「まぁ、とりあえず AI にお試しクエリを書かせてみるか。」
─── で、お試しだと思っていたクエリで、「小さな依頼」のその先……最終的にやりたい(難しそうと思われていた)データの抽出までできてしまったのです。
もちろん内容は全然理解していませんでしたよね。並んでいる「JOINB」や「DISTINCT ON」などの文字をみて、その単語の意味からなんとなく処理の推測をするくらいです。うっすらと理解するような感じです。
本当ならここで勉強をしておくべきだったんですけどね。こういう言い訳をして、なんだかんだ勉強しませんでした。
- AI を信じていた
- なんか時間ない(面倒くさい)
そもそも、AI を全面的に信用(するようにセルフ洗脳)していたため、何も引っかかることなくそのまま使うことが当たり前になっていました。そうなると、論理的に「勉強しよう」とか「理解しよう」とか、そういうことが思えなくなるんですよ。もうバグってました。
この「面倒くさい」っちゅーのも厄介ですよね……
クソでか主語で恐縮ですが、我々人間は「面倒くさい」というと、周りに「ダメな奴だ」と思われます。それでつい、「時間がなくて」とか「ほかにやることがあって」とか、そういうことを言ってしまうわけです。
さすがに勉強した
まぁ、いろんなひとに呆れられて、さすがに勉強しましたよ。
詳細は蛇足なので省きたいのですが、とりあえずは「インデックスというものの存在をはじめて知った」───とだけ書いておきます。
本当に書きたいことは、勉強をして「自分に評価基準がなければ、何が危険なのかも判断することができない」ことを知れたことが大きい収穫だったことです。
いまさら過ぎますが、仕事で AI を使うときは、自分が理解できる適切な範囲で使えるようになってからじゃないと危険って話ですね。
私の経験上の話になってしまいますが、AI 依存による「うたがう力」の消失は、「"基礎"を勉強する」ことで解消されそうです。
すこし知っているだけでも、「ん?あれが考慮されていないな」とか、「このままじゃ、あの課題が解決できてないよな」とか、意外とすぐに気づけたりするんですよね。
なので、勉強は大事。(当たり前か)
勉強以外には、「うたがう力」を抱きしめて失わないようにする握力(意識)が大事だと思います。これは努力でいまからでも訓練できるものです。「注意力」の問題ですから。
「もっと勉強しておけばよかった……」と後悔するのは、大抵やらかしたあとになるんで、注意することで問題を回避できるなら安いものでしょう。
まぁ、この AI 依存になってしまうほとんどの原因は自身であり、いままでどうやって生きてきたか、どんな考え方をしてきたか、によるものでしょう。じっさいは私のように失敗をし、後悔から学ぶひとが多いのではないかと思います。
これ、難しいんですよね。私のような人間はそれを知っていても、気を抜くと冒頭とおなじ失敗をしそうになります。
私は、いまの「AI に聞いたらわかるだろ?」という "うごきがはやい世の中" は苦手ですね。自分を強くみせたいというくだらないプライドがあるからかもしれません。
AI にやってもらったものに対して、「ふーん、結構簡単じゃん」で終わってしまい、それを自分の力のように報告してしまうんですから。このクセは直したいものです。
以上です。