プログラミングやアプリケーションの作成において、時には行き詰まったり、アイデアが整理できないことがあります。そんな時に、AIであるChatGPTは強力なサポートツールとなります。実際に私も、ToDoリストを作成するために何度かChatGPTとやり取りを重ねました。その経験を通じて、効果的な質問の仕方や、問題を解決するためのコツをつかんだので、この記事ではそのポイントを重点的に紹介します。

こちらの記事でもChatGPTでのプログラミング方法をご紹介していますので、併せてご覧ください。

具体的な作成過程については、以下のYouTubeショート動画でご覧いただけます!
シンプルなToDoリスト作成↓

ToDoリストアプリ作成↓

1. 具体的に聞くことが大切

ChatGPTとやり取りする際、まず重要なのが 具体的に質問する ことです。たとえば、「PythonでToDoリストを作りたいです」とだけ言うよりも、「PythonでVSCodeを使ってターミナルベースのToDoリストアプリを作りたいのですが、どこから始めたら良いですか?」 という風に、何を求めているのか明確にすると、より的確な回答を得ることができます。

良い例:

  • 「PythonでToDoリストアプリを作成したいですが、タスクの追加や削除の機能をどう実装すればいいですか?」
  • 「Tkinterを使ってGUIを作りたいです。タスクのリスト表示はどのウィジェットを使えば良いですか?」

良くない例:

  • 「ToDoリストを作る方法を教えてください。」
  • 「アプリを作りたいです。どうすれば良いですか?」

このように、具体的な要望やゴールを提示することで、ChatGPTはよりターゲットを絞った回答を提供できます。

しかし、そもそも何を具体的に聞けば分からない…という場面もありますよね。そういった時は、まずは大きい枠で質問をし、そこから少しずつ細かく聞いていくことをお勧めします。例えば、わたしはIT初心者なので、「IT初心者が簡単に取り組めるコードのネタをいくつか提供して」と聞き、次に「ToDoリストアプリの作成方法を教えて」というように、少しずつ具体的にしていきました。この聞き方は良くない例にある通りですし必然的にChatGPTとのラリーが多くなりますので、慣れてきたら良い例のように最初から具体的に聞けるようになるといいですね。

2. 小さなステップで質問を重ねる

一度に大きな質問をするよりも、小さなステップに分けて質問する方が、効率的に進められます。特に、プログラミングのように複数のステップや細かい作業が絡む場合には、段階的に確認することが大切です。

良い例:

  • 「まず、タスクをリストに追加する部分だけ作りたいです。どういうコードを書けば良いですか?」
  • 「次に、タスクを削除する機能を実装したいです。現在のコードにどう追加すれば良いですか?」

良くない例:

  • 「ToDoリスト全体を作るためのコードを教えてください。」

細かい部分で理解が追いつかないまま進んでしまうと、後で修正が難しくなることがあります。ChatGPTとのやり取りでは、一つ一つの機能を確認しながら進めることで、問題が起こった時にも迅速に対処できます。「この部分の仕組みをカスタムしたい」というシーンでも活躍します。

これは反省なのですが、わたしの場合最初に良くない例のように全体のコードを聞いてしまったため、途中でエラーが発生してもどの部分が原因なのか判断がつかず、進歩の無いやり取りが続いたシーンもありました。その後、ToDoリストとアプリ化を分けることで、スムーズに開発を進めることができました♪

3. エラーメッセージや具体的な問題点を提示する

以前の記事でも触れましたが、ChatGPTは一発で完璧な答えを教えてくれる訳ではありません。また、聞き手側の質問意図とChatGPTの回答でギャップが発生している場合もあります。

ですので、ChatGPTで生成したコードを書くと、しばしばエラーに遭遇します。そんな時は、エラーメッセージを具体的に伝えることが非常に有効です。「エラーが出ました」ではなく、「○○(エラー名)が出ています。ここが原因だと思うのですが、どう直せばいいですか?」といった形で具体的なエラーメッセージを示すと、ChatGPTは迅速に問題点を把握し、解決策を提供してくれます。

良い例:

  • 「○○というエラーが出ました。タスクをリストから削除しようとした時です。この部分のコードを見ていただけますか?」
  • 「Tkinterでボタンをクリックした時にウィンドウがクラッシュします。何が問題でしょうか?」

良くない例:

  • 「エラーが出たので直してください。」
  • 「プログラムが動きません。どうすればいいですか?」

問題の原因を特定するための手がかりをChatGPTに与えることで、より的確なサポートを受けられます。

エラーの原因がよく分からなくても、エラーメッセージをコピペで送ったり、エラーが出ている状態のコードを丸ごと送るだけでも解決策を考えてくれます。

4. 試行錯誤の過程を共有する

ChatGPTとのやり取りの中で、すでに試した方法や、その結果についても積極的に共有しましょう。そうすることで、無駄な説明を省き、効率的に次のステップに進めることができます。

良い例:

  • 「タスクを追加するコードを試してみましたが、追加されませんでした。ここに試したコードがあります。どこが間違っていますか?」
  • 「この解決策を試したのですが、まだエラーが出ます。他に考えられる原因はありますか?」

良くない例:

  • 「まだできません。助けてください。」
  • 「指示通りやってもうまくいきません。」

良くない例で問いかけたことも何度かありますが、あまり進歩はありませんでした。試行錯誤のプロセスを説明することで、ChatGPTはより具体的な改善案を提案してくれます。

5. フィードバックを与える

ChatGPTは何度でも質問に答えてくれますが、与えられた回答が満足できるものであれば、フィードバックを伝えるのも効果的です。「この部分はわかりましたが、もう少し詳細に説明してもらえますか?」というように、回答に対してフィードバックを与えることで、さらに深い理解を得ることができます。

良い例:

  • 「タスク追加の部分は理解できました。次に削除機能について教えてください。」
  • 「説明は分かりやすかったですが、もう少し具体的な例を見せてくれませんか?」

良くない例:

  • 「それじゃわかりません。」
  • 「違います。」

本当に何も分からないときは、良くない例のような問いかけでも別の提案をしてくれることがありますので時には有効です。しかし経験上、埒が明かないやり取りになることが多々です。AIも万能ではないので、フィードバックでコミュニケーションをよりスムーズにすることは、必要な情報を的確に引き出すための重要なステップとなります。

最後に

ChatGPTを使ってToDoリストの作成を進める際には、具体的かつ段階的な質問の仕方がポイントとなりました。エラーメッセージや試した内容を伝えることで、より的確なアドバイスをもらうことができます。また、フィードバックを与えることで、やり取りの質を高めることができます。

ToDoリストを作るという比較的シンプルなタスクであっても、細かい部分でつまずくことはよくあります。しかし、適切なコミュニケーションを取ることで、問題解決のスピードは大幅に向上します。ChatGPTは、そのプロセスを支える強力なツールだと実感しました。

また、AIとやり取りをする際には論理的思考と端的に伝える能力も必要なので、自然とコミュニケーション能力も養われました。特に、分からないことを言葉にするのは難しいですが、教えを乞う際には重要なことになります。対人ではない分失敗を恐れず気軽に聞けるので、その点もいいなと思いました。

本サイトでは、湧き上がるアイディアを形にしている様子を解説しています!

専門分野から今回のようなAIとのやり取りなど幅広いプロジェクトやアイディアを紹介していく予定ですので、今後もぜひ楽しみにしていてください♪

各SNSでも発信しています!

YouTube:https://www.youtube.com/@mainomi_engineer/featured
Instagram:https://www.instagram.com/mainomi_engineer/
TikTok:https://www.tiktok.com/@mainomi_engineer