デフエンジニアの会アドベントカレンダー15日目に参加しています。
はじめに
「AIがコードを書けるなら、エンジニアはいらなくなるのでは?」
最近よく耳にするこの疑問に、私は「むしろ逆では?」と思うようになりました。
私は直接的に生成AIの業務をしているわけではありませんが、社内で生成AI関連チームの方々にアプリ開発を依頼する機会があり、その中で生成AIについて話を聞く機会が増えました。
そこで考えたのは、
AIが発展するほど必要になるのは、コードが書けてさらにAIを評価できる人
ではないか?ということです。
結論として、「AI時代になっても、いつかAIが完全に人間と同じように思考し、ハルシネーションも完全になくなったとしても、エンジニアはなくならない」と考えています。
その理由として、これから
①AI時代に強いエンジニアとは① ー生成AIのハルシネーションについてー
②AI時代に強いエンジニアとは② ーAI駆動開発についてー
それぞれを2日間にわたって記事にしたあと、3日目にまとめ記事を書こうと思います。
この記事では、1回目の記事として、生成AIの「ハルシネーション」という現象を通じて なぜAIが広まってもエンジニアはなくならないと考えたのかを書いていきます。
1. 生成AIとは何か
生成AIは、「大量のデータを学習し、入力に応じて文章やコードを 生成するAI」のことです。
例えばChatGPT上でAIとやり取りしていると文章を理解しているように見えますが、実際には意味を理解しているわけではありません。
AIがやっているのは、あくまでも
「次に来る確率がもっとも高い単語を選んで並べる」
という統計的な処理をしているということです。
参考(https://www.videor.co.jp/system-solution/column/column02.html )
そのために驚くほど自然な文章が出てくることがありますが、 正しいかどうかは別問題 です。
2. ハルシネーションとは何か
ハルシネーションとは、
AIが答えられない状況でも、もっともらしい答えを自信満々に返してしまう現象
のことです。
AIは「わからない」と言えません。
例えるなら、試験で空欄にせず、自信満々に「答えは100です!」と書くあの感じです。
- 間違い=ハルシネーションではない
- 「回答不能なのに回答してしまう」状態がハルシネーション
これが問題を引き起こしています。
3. ハルシネーションが起こした社会問題
① 弁護士事件(2023)
ChatGPTが 実在しない判例 を6件も作り出し、弁護士がそれを引用して裁判所に提出。制裁金を科されました。
https://www.cbsnews.com/news/lawyer-chatgpt-court-filing-avianca/
② デロイトAI報告書事件(2024)
オーストラリア政府向け報告書に、AIが生成した多数の誤り・捏造が含まれていた例です。
https://www.business-standard.com/technology/tech-news/deloitte-ai-hallucination-report-australia-gpt4o-fabricated-references-125100800915_1.html
③ Stack Overflowでの大混乱(2022)
AIが もっともらしい嘘コード を大量投稿した結果、回答の質が崩壊し、AI回答が全面禁止になりました。
https://gigazine.net/news/20221206-chatgpt-banned-temporary/
これらに共通していたのは、AIの回答の「自信満々さ」に人間がだまされたこと、
そして「AIは人間より有能だから間違えるはずがない」という思い込みです。
4. なぜハルシネーションは起こるのか
ハルシネーションの原因は現時点で 完全に解明されているわけではありませんが、代表的なものとして以下の3つが挙げられるのではないかと思います。
① 「わからない」と言うより推測したほうが報酬が高い設計
学習時の報酬構造がそうなっているため(これは私も知らなかった!)
② AIには自分が知らないことを認識できない
情報不足でも様々な情報をつなぎ合わせて答えを出そうとしてくる
(だって報酬がほしいから!という声が聞こえてきそう・・・)
③「自然な文章」を優先する
正しさより、統計的に自然な文が選ばれる
(つまり、答えの正しさよりも、文章の自然さが優先されるということ)
つまり、AIは極端に言えば「間違うようにできている」とも言えるのではないかと思いました・・
5. コード生成で起きる「もっともらしい嘘」の実例
ここでは、生成AIが起こすハルシネーションの1つとして、コード生成について挙げていきます。
ここから「AIでコードを書けるならエンジニアはいらなくなるのでは?」ということに対する私なりの答えにつなげていきたいと思います。
A:存在しない関数を生成する
import pandas as pd
df = pd.read_csv_advanced("data.csv") # ← 存在しない関数
初心者は「pandas便利になったんだ」と普通に信じてしまいます。
危ない。
B:存在しないライブラリをimportする
import datautils_pro as du # ← 存在しない
これはパッと見て「ありそう」だから経験者でも騙される可能性も・・・。
C:動くけれど危険なコードを生成する
import pickle
def load_data(path):
with open(path, "rb") as f:
return pickle.load(f) # ← 任意コード実行の危険
AIはセキュリティ背景を理解できないため、危険なコードも平気で生成します。
【補足】最新のAIツールについて
ChatGPTにはPythonやVBAなど各言語に特化したカスタムGPTがあり、専門的なコード生成の精度は向上しています。また、GitHub CopilotやCursor、Claudeなど、コード生成に特化したツールも登場しています。
ただし、それでも完全ではありません。
- 最新のツールでもハルシネーションは起こる
- 存在しない関数やライブラリを提案することがある
- セキュリティリスクを見逃すことがある
だからこそ、次で説明する「コードが書ける人」の価値が重要です。
6. だから【コードが書ける人】が強い ― AI活用の本質
■ AI時代にもっとも強いのは「自分でコードを書けて、AIの出力も評価できる人」
私がそう考える理由は3つあります。
① ハルシネーションを見抜けるのは地力がある人だけ
- 存在しない関数
- 危険なコード
- 不自然な設計
・・・などなど。
これらに気づけるのは、ある程度以上の知識がある人だけです。
② コードを書く知識がある人ほど良いプロンプトが書ける
例えば、AIにコードを書く指示をするにしても、実務知識があると以下のように指示できます。
「そのAPIは存在しないので使わないで」
「Python 3.10 + pandas 1.5 前提で」
「例外処理を必ず入れて」
結果、AIの出力精度が跳ね上がります。
③ コードを書く知識がある人がAIを使うと、生産性が爆発する
●知識がない人がAIを使う
→ AIを信用するしかない。もしくは、AIも間違いを出すことがあるらしいと分かっていても
まずは任せてしまいます。
その結果、間違いがあったとしてもどこが間違っているのか分かりづらくなります。
そのためAIとやり取りしながら間違い探しをするのに時間がかかる・・といったことが起こります。
●知識がある人がAIを使う
→ AIを部下のように使い、品質管理もできる。
つまり、定型的なコードはAIに任せ、設計判断は自分で行うという使い分けができます。
また、AIにお願いして間違いが出てきたとしても、「ここ間違っているよね?」とすぐ指示できます。
結果、修正も早く終わる可能性が高いです。
この差は圧倒的です。
生成AIは「書けない人を強くする」のもあるが、「書ける人をさらに強くする」方向にも大きく作用しているのではないでしょうか。
7. AIが進化しても、人間の判断力の価値は上がる
もしAIのハルシネーションが完全に消えたとしても、
医療、法律、開発いずれも最終判断は人間が行うことは変わらないのではと思います。
なぜなら、
- 価値観
- 優先順位
- リスク許容度
- 倫理
- 社会的責任
これらはAIでは判断できないからです。
その具体例として、私が考えたことを書いてみます。
◆もしハルシネーションが完全になくなったら?
もしAIが完全に正確な情報しか返さなくなったら、人の仕事はどう変わるでしょうか。
具体的なシナリオ:医療診断AIの場合
例えば、医療診断AIが100%正確になったとします。すべての症状から正しい病名を特定し、最適な治療法を提示できるとしたら、医師は不要になるのでしょうか?
おそらく答えは「否」です。なぜなら、
- 患者一人ひとりの価値観や生活背景を考慮した治療方針の選択
- 患者とのコミュニケーションや心理的サポート
- 倫理的な判断(終末期医療の方針など)
- 複数の治療法の中から、患者にとって最適なものを「対話を通じて」決定する
これらは、AIがいくら正確でも代替できない、人間ならではの役割です。
問いを作る力、意図を伝える力
結論としては、AIが正確になるほど、人間は 「問いを作る力」「意図を伝える力」「真偽を見極める知識」がより重要になる と思います。
正確なAIは強力ですが、何を問うかを間違えると、まったく異なる方向へ進んでしまう可能性があります。例えば
- 「売上を最大化する方法」と問えば、倫理を無視した手法が提案されるかもしれない
- 「効率的なコード」と問えば、可読性を犠牲にした複雑なコードが生成されるかもしれない
AIに正しい問いを立て、適切な制約条件を与え、出力を評価する。
これらはすべて、高度な思考力と専門知識を持つ人間にしかできません。
つまり、AIがどれだけ進化しても、人間の判断力はなくならず、むしろAIを正しく導く能力の価値が上がると考えています。
8. まとめ ― AI時代に価値が上がるエンジニア
まとめると、AIが進化するほど価値が上がるのは以下のような方々だと思います。
- 自分でコードを書ける(プログラミングの知識がある)
- AIの生成物を評価できる
- 正しい問いを立てられる
- 仕様・設計・非機能要件を理解できる
- 間違い探しができる
判断力・経験・知識 はこれからの最重要スキルです。
したがって、AIが進化してもやはり 「プログラミング知識があるエンジニア」は必要と考えます。
そのうえで、
- AIの出力を評価できる
- 設計・仕様を理解できる
- 正しい問いを立てられる
こうしたスキルを持つエンジニアが、AI時代にもっとも価値のある存在になるのではと考えています。