ハルシネーションを超えて──生成AI時代の今こそ必要になる『人』の力

2025.10.10 (更新日 2025.10.10)

こんにちは、エンジニアの塚本です。
主に、システムのバックエンドからインフラ領域における設計開発や、生成AIを組み込んだシステム開発を担当しています。
最近では、OpenAI社からChatGPTの新しいモデルである「GPT-5」がリリースされるなど、AI界隈は大きく盛り上がっていますね。利用者も数年前と比べ物にならないほど増加しているのではないでしょうか。
それに伴い、ありがたいことにシステム中に生成AIを組み込みたい、という要望をいただくことも増加してきています。しかし、生成AIを組み込む場合のシステム開発は、その分考慮すべき事項が多く、不確実性も伴うものになります。
今回は、生成AIを使う際に切っても切り離せない「ハルシネーション」の課題を例に、私たち『人』がどのように関わるべきかを考えてみたいと思います。
✅ こんな課題を感じている方におすすめ
- 生成AIを業務やシステムにどこまで組み込むか悩んでいる
- リスクを抑えたAI設計やハルシネーション対策を検討している
- 人とAIの役割分担をどう設計に落とし込むか考えている
-
塚本 直之 Tsukamoto Naoyuki
バックエンドエンジニア
Elixir・Python・PHPによるバックエンド開発を得意とし、AI APIの組み込みやAWS構成まで幅広く担当。ハードウェアの知見を活かし、IoTシェアハウス案件にも携わる。開発では、課題の本質を素早く捉え、改善策を提案・実行するスタンスを大切にしている。
趣味は温泉地への気ままな一人旅。
もくじ
生成AIに潜む課題「ハルシネーション」とは

まずハルシネーションとは、ざっくり言うと「AIが間違っている情報を、本当の情報であるかのように出力すること」です。人間的な表現になってしまいますが、これは決して意図的に行われているわけでも、「知ったかぶり」をしているわけでもなく、生成AI自身がその情報が間違っているとは気づいていない点があります。
ハルシネーションが起こる原因はいくつかありますが、その一つに「生成AIは確率的に出力をするものであるから」というものがあります。
100回中100回同じ出力をするような機械的なプログラムと違い、生成AIは確率に基づいて出力を行います。詳細な仕組みについては省略しますが、入力情報を分析し、さまざまな計算を経て、それに対して最も確度が高い回答を出力します。そしてそれを100%にすることはできません。それはもはや”生成”AIとは呼ばないでしょう。
生成AI開発者は日々この現象が起こる頻度を減らそうと、様々な手法で工夫を行っており、最新のモデルではハルシネーションの発生頻度は低下してきています。
しかし、生成AIというものがそもそもこのような仕組みの上に成り立っている以上、ハルシネーションを完全に撲滅することは現在不可能とされています。
そのため生成AIのユーザーは、どのようにしてそれを減らすかということに加え、ハルシネーションは必ず起こりうるものだと認識しておくということと、生成AIの回答に対してレビューを行える能力を身につけることが重要になってきます。ユースケースによってはハルシネーションは重大な過失に繋がるため、最終判断には『人』の手が必要になってきます。
開発現場で遭遇したハルシネーション事例
実際に私が遭遇したハルシネーションの例を2つご紹介します。
(※サービス名やモデル名は伏せさせていただきます)
例① 数値計算の誤り
1つ目が、「今日の日付でのExcelのシリアル値を求めてください。」という問いに対するものです。
ここでのシリアル値とはExcelの日付データに対して内部的に用いられている値で、1900年1月1日からの日数、というシンプルな計算で求められます。そのため式さえ分かれば、機械的なプログラムでも処理可能です。
ところが、生成AIが回答した数値には、実際のシリアル値から500程のズレがありました。約1年5ヶ月分もズレており、閏年のことを考えても大きすぎるものです。概算値からあまりに大きいズレだったため気づくことができ、再計算を行わせると正しい数値を出力するようになりました。
しかし、最終的には、自分で再計算する必要があり、結果として二度手間になってしまいました。
例② 文献・知識の誤り
2つ目が、「日本と欧米における、煙と霊的存在の関係と捉え方の違いについて、実際の文献や資料を提示しながら説明してください。」という質問に対するものです。
こちらは先ほどとは違い、単純な計算を行うものではなく、人間の文化に関する情報であり、明確な正解が存在しないと思われるやや曖昧な質問です。
こちらは内容として満足のいく結果だったものの、参考資料として提示した文献は実際には存在しないものでした。また、そのことを指摘して修正させようとしましたが、最終的に実在する文献やソースを提示することはできませんでした。
このように、単純計算から考察が必要な分野まで、ハルシネーションは入力したもののタイプによらずに発生する可能性があります。また上記2例から分かるように、どこでハルシネーションが発生しているのか、しっかりとその内容を検証しないと分かりません。正しいのか誤っているのか、そのデータを使用して問題ないかの判断は『人』の手で行われる必要があります。
AIは“プライド”が高い?生成AIの落とし穴と対策
もうひとつ、生成AIを使う中で私が感じた点は、曖昧な質問に対して「わからない」と回答することが極端に少ないことです。
たとえばA・B・Cの選択肢が与えられたうえで、どれにも当てはまらないXについて、「Xはどれに当てはまりますか?」と聞くと、生成AIはほぼ必ずA〜Cのいずれかを選んでしまいます。
私たちは日常的に「わからない」と答える感覚を自然に持っていますが、生成AIにはその前提がありません。
これも一種のハルシネーションであり、大きな誤りにつながる要因です。
このようなケースに対して、私が有効だと感じた対策は次の3つです。
① 「わからない」を選択肢に加える
明示的に「わからない」も選択肢のひとつだと示すと、曖昧な質問に対して「わからない」を選ぶ確率が高まります。
② 「わからない」を選ぶ条件を事前に伝える
どういう場合に「わからない」を返すのかルール化しておくことで、過剰に選びすぎたり、逆に全く選ばなかったりする偏りを抑えられます。
③ 与えられていない選択肢を返さないよう制御する
時にAIは、検索や推論の結果「D」という新しい回答を返すことがあります。アイデアとしてはありがたいですが、システムに組み込むと意図しない挙動を招き、信用低下につながるため制御が必要です。
これらの対策はどれか1つを導入すれば良いものでなく、3つを組み合わせて導入することで効果を発揮します。
ただし、あくまでこのような手法でもいくらか軽減されるのみで、完全に排除することはできません。
生成AIは『人』とも機械的なプログラムとも違うからこそ、不確実性の高い問題に対して過剰に”臆病に”なるケースがあります。
だからこそ、生成AIの判断が正しいかをチェックする上司のような役割の『人』が欠かせないのです。
システム開発における生成AIの設計指針
こうしたリスクがあるからこそ私たちエンジニアは、よりハルシネーションを抑える設計を意識しています。
システム内部の処理はシンプルなものから複雑なものまでさまざまですが、生成AIを組み込む際には「本当にAIを使うべきか」を見極める必要があります。
その基準をわかりやすくするために、大きく次の3つに分類し設計しています。
- 必ず『人』が実行する必要がある箇所
- 機械的なプログラムで解決可能な箇所
- 生成AIが担当する箇所

実際に要件とともに機能を分解していくと、本当に生成AIを使った処理が必要になる箇所はごくわずかだったりします。多くの場合は従来のプログラムで十分に対応可能です。また、下処理をプログラムで行ったうえで生成AIを活用することで、より出力の安定性や精度を高めることもできます。
そして何より重要なのは、必ず最終判断は『人』が行えるように設計することです。生成AIに全面的に委ねるのではなく、人が関与できる余地を残すことが、システム全体の安全性と信頼性につながります。
生成AI時代に求められるエンジニアと『人』の役割
今や多くの企業が生成AIを取り入れ、生産性や価値向上の可能性が広がっています。非常に喜ばしい流れですが、その一方で『人』の役割が不要になるわけではありません。
ハルシネーションのような誤りを防ぎ、気づき、最終的に責任を持つのはやはり人間です。特にエンジニアには単なる実装者ではなく、AIの必要性を見極め、品質を担保する操縦士のような役割が求められます。
生成AIは、排斥するものでも、妄信するものでもありません。生成AIと上手に付き合って行くことで、互いに必要だった部分を補い、私たち『人』の良きパートナーとして、また共創の1つの選択肢として活用できる未来になっていけるのだと考えています。
https://cdn.openai.com/pdf/d04913be-3f6f-4d2b-b283-ff432ef4aaa5/why-language-models-hallucinate.pdf
「真ん中に『人』がいる
デジタルサービス」をつくりませんか。
お仕事のご相談やお見積もりのご依頼、具体的なご相談は、こちらからお問い合わせください。