
生成AIでエラーの無限ループを回避する〜初心者こそ知っておくべきAIとプログラムを書き上げるヒント〜
AIが引き起こすエラーの無限ループ
生成AIがあれば、私のようなプログラミングを全く知らない素人でも便利なツールを作って使うことができます。
AIにコード修正を頼むと、一見それらしい修正コード(と説明)が返ってくるのですが、時にAIが書いたコードがエラーを引き起こすこともあります。
でも、「AIなんだから解決できるはず」という思い込みから、エラー内容を見せながら「どこが悪いの?」「直して」と何度も修正を頼んでしまいます。
修正依頼からのエラーを何度も繰り返して、ふと気づくとコードは肥大化し、もともとあった機能が失われていることもありました。
エラーの無限ループにハマったのは、二度や三度ではありません。
AIの特性と盲点
AIと付き合っていて気づいたことがいくつかあります。
「できません」と言わない
情報が足りなくても質問や確認をあまりしない
無理な要求でも何とか応えようとする
例えば「pythonをインストールするコマンドを教えて」と聞いたとします。
すると「Windowsの場合は〜Macの場合は〜Linuxでaptが使える場合は〜」などと、それぞれに対応するコマンドを書いてきます。
でも、それって実はトークンの無駄遣いなんですよね。
「OSは何ですか?」と聞けばひと言で済むのに、聞いてきません。
よくある失敗パターン
1) AIが不要な修正を行う
ミスではない箇所をAIが勝手に修正してしまうことがあります。これが原因でエラーが増えることもあります。
2) (ユーザー側の知識不足から)実現不可能な要求してしまう
私はプログラムの基礎知識もないので、できることとできないことの区別がついていないまま要求を出していました。
先程書いたように、AIは「できない」と言わないので、何とか要求に無理に応えようとして、かえってエラーを引き起こすコードを返してくることもありました。
3) 情報不足
情報が足りなくても、ある情報の中で予測してAIは答えを出してきます。
ソースコードを見せてとか、○○というファイルはありますか?とか聞いてくれればいいのですが、AIはなかなか聞いてくれません。
そのため、間違った前提で作業が進んでしまい、問題が深刻化することがあります。
トラブルを深刻化させないためのコツ
① 元ファイルを必ず保存する
初の状態のファイルを保存しておくことで、どこで問題が発生したのか確認しやすくなります。
② エラーを繰り返したら立ち止まる
エラー内容が増えたり、改善しないと感じたときは以下を試してみてください。
1️⃣ 正常に動いていた時点に戻る
修正内容や環境の説明、前提条件を見直し、正確な(詳しい)情報をAIに提供する。
2️⃣ 他のAIを試す
Claude、ChatGPT、Geminiなど
AIツールの使い分け
同じAIでも、異なるサービス(wrtn、天秤.AIなど)で質問すると、新しい視点での回答が得られることがあります。
※中身はClaude、ChatGPT、Geminiでも、入口を変えるだけで問題解決の糸口となることがある
③ 同じ要求を繰り返さない
同じプロンプトを繰り返しても、正しい答えが得られる方向には進まないことがほとんどです。
この現象はプログラミングに限りません。
画像生成や曲生成でも、同じプロンプトで繰り返し要求すると、徐々に本来の目的から外れていく傾向があります。
※ (AIに「もっといいコードを書いて」と繰り返し要求するとコードの実行速度は向上するがバグが増えるという報告 - GIGAZINE
https://gigazine.net/news/20250106-llm-write-better-code-bugs/
ちょっとでも役に立ったら「スキ」「フォロー」などお願いします❤️
次回の予定は未定ですが、お楽しみに🤗