動画BASIC(3J)Arduino

12.Arduio【Servo】|ChatGPTで歩かせられるか?

プログラミング学習におけるAIの限界?ChatGPTとGeminiの精度を実機で徹底検証

近年、プログラミング学習の強力なサポーターとしてChatGPTやGeminiなどの生成AIが注目されています。しかし、「AIが書いたコードが本当に正しく動くのか?」という疑問を持つ方も多いのではないでしょうか。

本記事では、プログラミング学習用ロボット「クムクム」を使い、C言語の制御プログラムをChatGPTに作成させた際の検証結果を詳しく解説します。AIの得意・不得意を理解し、効率的な学習に活かすためのヒントを探ります。

1. AIで学ぶC言語:学習の概要

今回の検証の目的は、AIにロボットの構造図と動作仕様を与え、それに基づいたC言語のプログラムを正しく生成できるかを確認することです。特に以下の点に注目しました。

  • 画像の認識能力(ロボットのサーボモーターの配置図を理解できるか)
  • 仕様通りのコード生成(角度指定や動作順序が正確か)
  • デバッグ能力(間違いを指摘した際の修正精度)

教材として使用するのは、プログラミングロボット「クムクム」です。C言語の入門者が、AIを「先生」として活用できるのか、その実用性を探ります。

2. 実証実験の詳細:ChatGPT vs 実機クムクム

検証では、以前Geminiで行った際と同じ「図面データ」と「動作仕様」をChatGPT(GPT-5.2/Pro相当の最新環境)に入力しました。指示内容は、頭部の回転、両腕の上下運動を組み合わせた複雑な動作です。

図面の理解と初期コード

ChatGPTは当初、図面を理解したと回答しましたが、生成されたコードには致命的なミスがありました。例えば、「左斜め前」という指示に対して、サーボの角度設定が仕様と全く異なる数値を算出していました [00:52]。

繰り返されるハルシネーション(もっともらしい嘘)

プログラムを実機に書き込んで動作させると、ロボットは意図しない動きを見せました。左腕を真上から90度動かす指示に対し、全く異なる角度で動作したり、修正を依頼しても「ミスでした」と認めつつ、結局同じ間違いを繰り返す場面が見られました [02:33]。これはAI特有の「ハルシネーション」と呼ばれる現象です。

Geminiとの比較

前回の検証結果と比較すると、今回の特定のタスク(ロボット制御のC言語生成)においては、Geminiの方が一発で正確なコードを出す傾向にあり、ChatGPTは何度も仕様を誤認するという結果になりました [03:55]。

3. AI活用時の注意点:過信は禁物

この検証から、AIをプログラミング学習に活用する際の重要な注意点が浮き彫りになりました。

  • 出力結果を必ず疑う: AIが「理解しました」と言っても、実際のコードが仕様と一致しているとは限りません。
  • 実機確認の重要性: 画面上のシミュレーションだけでなく、実際にハードウェアを動かして確認することが、ミスを発見する近道です。
  • プロンプトの限界: 図面を渡しても、座標系や角度の概念をAIが取り違えることが多々あります [05:25]。

4. 応用への道:AIを賢く使いこなすために

AIは完璧ではありませんが、使い方次第で学習効率を劇的に高めることができます。以下のステップで応用してみましょう。

複数のAIを併用する(マルチAI活用)

一つのAIでうまくいかない場合は、別のAI(Gemini, Claude, ChatGPTなど)に同じ指示を出してみましょう。AIによって得意な言語やロジックが異なります。

デバッグを「学習」に変える

AIが間違えたコードを出したときこそ、学習のチャンスです。「なぜこの角度設定ではダメなのか?」「どう指示すればAIは理解したか?」を考えることで、C言語の理解と論理的思考力が深まります。

AIはあくまでツールです。主導権を人間が握り、実機での検証を繰り返すことで、より高度なプログラミングスキルを身につけることができるでしょう。

コメント

タイトルとURLをコピーしました