見出し画像

Claudeが自信満々に嘘をついた日

コードを本番にプッシュした5分後、エラーログが流れてきた。

メソッドが見つからない、というやつ。Claudeが「これで動きます」と断言したやつ。存在しないAPIを、存在するかのように実装させてしまったやつ。

正直に書く。あれは完全に自分のせいだった。


「自信満々に嘘をつく」ということの怖さ

Claudeを使い始めてわりとすぐ気づくのが、「間違ってても謝らない」という動作だ。

「このメソッドは廃止されていますか?」と聞くと、「いいえ、現在も使用可能です」と返ってくる。ものすごく自然な口調で。

で、実装してみると動かない。調べると、2年前に廃止されてた。

これ、1回じゃない。自分の場合、存在しないAPIエンドポイントを実装したのが3回ある。最初の2回は「俺の書き方が悪かったのかな」と思ってた。3回目でやっと「あ、Claudeが嘘をついてる」と認識した。

地味にきつかったのは、毎回それが「自信たっぷり」なことだ。

「このエンドポイントは /api/v2/users/bulk です」とか、「fetchWithRetry() はデフォルトで3回リトライします」とか、具体的な数値や構文まで出してくる。具体的であればあるほど、疑いが薄れる。これが罠。


数字で見ると、思ったより深刻だった

2026年のベンチマーク調査では、Claudeのハルシネーション率が16.3%まで上昇している。

16.3%というのは、6〜7回に1回は何かしら事実と違う情報が混ざってくる、ということだ。以前(6.0%)の2.7倍。

で、開発者の59%が「理解していないAI生成コード」をそのまま本番に使っている、というデータもある。

これ、自分も普通にやってた。

Claudeが「このロジックで要件を満たせます」と書いたコードを、なんとなく読んで、「まあ動いてるし」でコミット。セキュリティ的にどういう実装かは、ちゃんと確認してなかった。

あとで聞いた話だと、AI生成コードの約半数(49%)に致命的な脆弱性が含まれているらしい。SQLインジェクション、XSS、その辺。「動く」かどうかと「安全かどうか」は別の話で、Claudeはそこを勝手に区別してくれない。


「先輩が言ったから」問題

失敗してから気づいたのは、自分がClaudeを「先輩」みたいに扱ってたということだ。

自分より知識がある人が言ってるんだから、たぶん合ってる。という態度。

Claudeは「自信満々な先輩」だ。

間違ってても謝らない。謝らないというより、間違ってると思ってない。訂正を求めると「おっしゃる通りです」と言い直すけど、最初の断言はそのまま。

で、自分の経験を振り返ると、Claudeに言われた内容に対して「本当に?」と確認した回数は、最初の数ヶ月はほぼゼロだった。

怖い話だと思う。


ハルシネーションの瞬間は、こんな感じ

具体的に書く。

あるとき、外部サービスのAPIを叩く処理をClaudeに書いてもらった。「このサービスのWebhook認証方法を教えて」と聞くと、ヘッダーに X-Signature を含める方法を返してきた。コード付きで。

実装して、テストして、動いた(テスト環境で)。本番に上げたら、全部認証エラー。

調べると、そのサービスはとっくに X-Webhook-Secret に移行してた。ドキュメントには書いてあった。Claudeは古い情報を返した。自信を持って。

もう1回は、存在しないパッケージを pip install させられた。パッケージ名が微妙に違うやつ。インストールは通るし(別のパッケージが入る)、エラーは出ない。でも動作が変。1時間ぐらい原因を追った。ログを眺め、ライブラリのソースをgrepし、それでも見つからなかった。

こういうのが、「意外とある」のが現実だ。


それでも使ってる。正直に言うと

じゃあ使うのをやめたかというと、やめてない。

コードを書く速度は確実に上がった。Before→After で言うと、ルーティン的な実装は体感で3〜4倍速い。それは本当。

ただ、変わったことがある。

Claudeが出したコードを「一度疑う」という工程が増えた。公式ドキュメントで確認して、「本当に動く?」を自分で確かめる。Claudeを使い始めてから省いてた習慣が、失敗を経て戻ってきた。意外と、それだけのことだった。


結局、何が起きてたのか

Claudeは「知らないことを知らないと言わない」。これが本質だと思う。

曖昧な記憶でも、古い情報でも、存在しないAPIでも、自信を持った口調で返してくる。で、自分がそれをチェックしない判断をした。

失敗の責任はどっちにあるかというと、自分にある。ツールを信頼しすぎた、という判断の問題だ。

6〜7回に1回ミスがあるかもしれない相手に、検証なしで任せてた。リスクの読み方を完全に間違えていた。

それだけ信頼してた。それだけだ。

今は「便利で、でもたまに嘘をつく先輩」として付き合ってる。そのぐらいの距離感が、ちょうどいい。


関連記事もよければ:

Claudeに怒ったことが、正直3回ある


Claudeを「信じすぎない」ための話

いいなと思ったら応援しよう!