プログラミングが楽になる!ChatGPTの使い方

技術解決

2022年11月30日の公開からバージョンアップがあったり、MicrosoftがBingに搭載を決めたりして今(2023年4月)なお話題が沸騰しているのがChatGPTです。
私も遅ればせながら、しばらくの間ChatGPTをプログラミングに利用してみました。
利用した感想は、他の利用者さんと一緒です。

超優秀!

そして、ChatGPTは絶対に今のうちに触っておいた方がいいと思いました。
なので、まずは使い方を。
そして今のうちに利用しておいた方がいい理由を記事にしたいと思います。
 ChatGPTの登録サイトはこちら

ChatGPTをプログラミングに利用する

ChatGPTを賢く使うコツは、たった3つです。
ChatGPTは前提情報を与えて、思考の幅を制限するほど賢く仕事をこなします。
それを踏まえた上でコツを見ていきましょう。

役割を与える

最初はChatGPTに役割を与えます。
例えば、以下のようにChatGPTに入力して、Javascriptプログラマーとしての役割を与えます。

あなたは優秀なJavascriptのプログラマーです。
わかったら「はい」と返事をしてください。


そうすることで、ChatGPTはJavascript以外のことに関する回答を除外してくれます。
そのため、自分の欲しい回答に辿り着いてくれやすくなるわけです。
役割を与えるなど、前提情報を与えるときは、「わかったらはいと返事してください」というのがおすすめです。

その上で、以下のような質問をしてみます。

fetchメソッドを利用してChatGPTのAPIを利用するためのコードを書いてください。

const apiKey = 'your_openai_api_key';
const apiEndpoint = 'https://api.openai.com/v1/engines/davinci-codex/completions';

async function chatWithGPT(prompt) {
  const requestOptions = {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${apiKey}`,
    },
    body: JSON.stringify({
      prompt: prompt,
      max_tokens: 50,
      n: 1,
      stop: null,
      temperature: 1,
    }),
  };

  try {
    const response = await fetch(apiEndpoint, requestOptions);
    const data = await response.json();
    return data.choices[0].text.trim();
  } catch (error) {
    console.error('Error communicating with ChatGPT API:', error);
  }
}

// 使い方の例
chatWithGPT('What is the capital of France?')
  .then(response => console.log('GPT-4 Response:', response))
  .catch(error => console.error('Error:', error));

上記のコードは動作テストをしていません。
単純にこんなコードを短時間で書いてくれるのだとだけ理解してください

面白いですよね、たったこれだけの入力でChatGPTのAPIを利用できそうなコードができました。

前提条件を与える

先ほどみたいな簡単な入力でもコードを書いてくれるのですが、前提条件となる情報が多ければ多いほど欲しい情報に辿り着きやすくなります。
例えば、私がWebDav関連のコードを書いたときの入力をいかに記載します。

WebDavの中に画像を書き込む仕組みがあります。
画像の拡張子はpngです。
pngの書き込み中はlckファイルを作成し、pngファイルの書き込みが終了したらlckファイルを削除する仕組みを構築しています。
上記前提を踏まえた上で、Spring bootでWebDav上のpngファイルをHttpUrlConnectionで読み込むプログラムを作成しています。
lckファイルの存在を確認し、pngファイルの書き込みが終了してからpngファイルを読み込むプログラムを作成してください。

こうやって、わかっている条件があれば全て入力しておくことをお勧めします。
そうすることで、ChatGPTが目的にあったプログラムを書いてくれやすくなります。

ちなみに上記入力で作成されたコードは、きちんと思った通りに動作するコードになっていました!

動作させてエラーが出たら伝えてあげる

ChatGPTが作成したコードを動作させてエラーが出たら、ChatGPTに伝えてあげましょう。
例えばこんな感じです。

上記コードを実行すると「splitter.connect(merger, 0, Rch);」の部分で「Failed to execute ‘connect’ on ‘AudioNode’: input index (1) execeeds number of inputs (1).」が発生します。
コードを修正してください。

そうすると、ChatGPTは一生懸命コードを修正して提示してくれます。
エラーを伝えても思ったようにコードが修正されない場合は、私の経験上前提となる情報が足りていないことが多いです。
例えば、関連するメソッドがあるときに、そのメソッドの内容が不明なままChatGPTにコーディングさせているなどです。
その場合は、ちゃんと前提情報として関連するメソッドの内容を伝えてあげましょう。

ChatGPTを利用するときに気をつけること

ChatGPTに作成してもらったコードは、必ずしも正常に動作するとは限りません。
色々なところで、ChatGPTはよく嘘をつくということを聞いたことがあると思います。
その嘘がコードの中に含まれているからです。
ただプログラミングの場合は、嘘が含まれていてもエラーという形ですぐに表に現れるので気づきやすいです。
そしてその嘘がなくなるまで修正を繰り返すということになります。
ただ、そのエラーをなくしていく作業を行うときにプログラミングの知識が必要になります。
その場合は、Googleで検索して正しい知識をつけていくということも必要になってきます。

まとめ

ChatGPTを使うようになって、本当にググることが減りました。
実はChatGPT自体も、自然言語を利用したプログラミングだったりします。
一般的なプログラミング言語とは違って、普段利用している言語をそのまま使えるので非常に親しみやすいですね。
ChatGPTなどのAIは、とても便利な道具です。
道具なので、使い方のコツというものは存在します。
ただ、上手く使えるようになるには、手に馴染むくらい自分で使っていくしかないです。
しばらく使っているとわかりますが、ChatGPTは色々なコードを短時間で作成してくれます。
なので、これから必要なのはコードを書く人材ではなくて、AIにコードを上手に書かせられる人材になるのかも知れません。
今日が一番若い日です。
まだ全然遅くないと思うので、しっかりと使ってChatGPTを良きパートナーとして迎えてあげましょう。

それでは〜。

コメント

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