X
この記事の共著者 : Kevin Burnett. ケビン・バーネットは20年以上の経験を持つソフトウェア開発者で、言語学習ソフトウェア会社である「Rosetta Stone」にてキャリアを積み上げてきました。フロントエンドとバックエンドの開発経験があり、主にRuby、Python、JavaScriptを使用。
この記事は1,677回アクセスされました。
ChatGPTがコードを書けることはもうご存知でしょう。では、ChatGPTは効果的なコードを生成できるのでしょうか?ChatGPTは経験豊富なソフトウェアエンジニアではありませんが、PythonやJavaScript、Java、Go、Ruby、C++、C#、PHP、Swift、TypeScript、SQLなどの言語でコードを書いたり、デバッグしたり、テストしたり、改善したりする手助けをしてくれます。この記事では、ChatGPTを使ってコードを書き、ソフトウェア開発者としての生産性を高める最も効果的な方法を紹介します。
知っておくべきこと
- ChatGPTは、間違いを修正したり、複雑なアイデアを単純化したり、バグを修正したりすることで、既存のコードをクリーンアップできます。
- 開発者としての時間を節約するために、ChatGPTを使ってアプリケーションのスケルトン(骨組み)、テンプレート、ボイラープレートコード(定型コード)を作成しましょう。
- ChatGPTは間違いを犯すので、ソフトウェアエンジニアの代わりにはなりません。実装する前に必ずChatGPTのコードをテストしましょう。
ステップ
-
コード構造を作成する ソフトウェア開発におけるChatGPTの最も良い使い方の1つは、プログラムのスケルトンを作成することです。どのようなプログラムを書きたいかをChatGPTに伝え、含めるライブラリや依存関係、ファイル名などの情報を貼り付けます。完全な文章や段落を使って自然にクエリを入力することが可能で、ChatGPTは数秒でコードのテンプレートを返してくれます。
-
コードスニペットを生成する Stack Overflow(スタック・オーバーフロー)で構文例を調べる時間を減らして、ChatGPTに関数やルーチンなどのコードを素早く書いてもらうことができます。例えば、ChatGPTに「スライスを使って文字列を反転させるPython関数を書いて」と頼むと、ChatGPTはコードを生成するだけでなく、どのように動作するかも説明してくれます。その後、そのコードをプロジェクト全体でボイラープレートとして使うことができます。
-
既存のコードに追加する 既存のコードをスマートにして高速化する方法などをChatGPTに尋ねましょう。ChatGPTにコードを貼り付け、コードをどのように変更したいかを記述しましょう(例:「ID列に基づいた番号順に結果を表示したい」、「これらのアイテムをリストの3番目の位置に追加して」など)。
-
複雑なコードを単純化し、リファクタリングする ChatGPTにコードを送り、「このコードを単純化して」と伝えることで、プログラムをよりコンパクトにできます。元の構造を変えずにコードを手直しするには、「効率を上げるためにこのコードをリファクタリングして」と伝えます。ChatGPTはコードをクリーンアップして、よりクリーンで高速なコードにしてくれます。また、ChatGPTはコードに加えた変更の要約もしてくれます。これは、今後よりクリーンなコードを書くのに役立ちます。
-
コードの一部を説明する コードスニペットでもプログラム全体でも、ChatGPTに説明してもらうことができます。ChatGPTにコードを貼り付け、「この関数は何をするものですか?」や「このアルゴリズムはどのように動作するのですか?」といった質問をするだけです。
-
間違いやバグを見つける ChatGPTは、コードのエラーを特定して修正するのに役立ちます。「このコードのどこが悪いですか?」や「このプログラムのバグを修正するにはどうすればよいですか?」といった質問をし、コードをフィールドに貼り付けましょう。さらに情報が必要な場合は、ChatGPTが追加情報を入力するよう促し、必要に応じて修正を提供してくれます。
-
代替コードを生成する プログラムが動作したとしても、もっと良いコードがあるかもしれません。ChatGPTにコードを送り、「<目的>を果たすのにもっと良い方法はありませんか?」と尋ねましょう。ChatGPTは、代替アルゴリズムを提案するなどの提案を行い、その提案をすべて詳しく説明してくれます。
-
コードを他の言語に変換する すでに得意なプログラミング言語がある場合は、ChatGPTを使ってあまり馴染みのない言語にコードを変換できます。例えば、C++のプログラムをChatGPTに貼り付け、「このコードをJavaに変換して」と尋ねてみましょう。
-
数秒で関数をテストする 自分で時間をかけて関数のテストケースを書く代わりに、ChatGPTにテストケースを書いてもらいましょう。ChatGPTは指定された関数に対していくつかのテストケースを実行し、結果を報告してくれます。[1]
-
人間のために文書やコメントを書く 自分でプログラムのハウツー文書やコメントを書く代わりに、ChatGPTにコードを貼り付け、「このコードを説明して」と入力するだけです。その後、ChatGPTの説明をプログラムのコメントに追加したり、公式ドキュメントで使用したりすることも可能です。広告
-
必要なコードを書くのに十分な情報をChatGPTに提供する ChatGPTは提供されたコンテキストと学習データの組み合わせに依存します。何が必要かを正確に指定しないと、ChatGPTは使えるコードを生成してくれません。プログラムやウェブサイトに何をさせたいのか、どんな言語で書きたいのか、何のためのプログラムなのかを具体的に書きましょう。例えば、潜在顧客がサービスを見たり、予約について問い合わせたりできるペットシッター事業のウェブサイトをChatGPTに作って欲しい場合は、以下の例を試してみましょう。[2]
- 「犬の散歩や一泊留守番を含むペットシッターサービスのためのシンプルな1ページのウェブサイトを作って。サービス内容と料金(宿泊は1泊9,000円、1回30分の散歩は3,000円)を記載した表を作成して。顧客がサービスを依頼する際に入力するお問い合わせフォームを作成して。フォーム上で顧客がカレンダーから希望日を選択できるようにして。顧客からの回答をメールで私(me@myemailaddress.com)に送って」
- この例では、ChatGPTはウェブホストにアップロードできる簡単なウェブサイトのHTMLコードとCSSコードを提供してくれます。ウェブサイトをカスタマイズするために少し手を加える必要がありますが、コードはもうあなたのものです。
-
さらに詳細を追加して、必要なコードを取得する ChatGPTは対話型AIで、ユーザーが話した内容を約3,000語(4,096トークン)までさかのぼって参照することが可能であり、コードのリクエストを追加する余地は十分にあります。[3]
- 前のステップでは、ChatGPTにペットシッター事業のウェブサイトのコーディングを依頼しました。ページの表にグルーミング料金も追加したい場合はどうすればよいでしょうか?「料金表に15,000円のグルーミングサービスを追加して」と伝えるだけで、ChatGPTは変更を含めるようにコードを再生成してくれます。
- また、「タイトルタグを『神戸の手頃なペットシッターサービス』に変更して」や「顧客がフォームを送信した後、顧客にサンクスページを表示して」などの詳細を追加することも可能です。
-
エラーや混乱を解消するために質問をする ChatGPTが作成したコードがわかりにくかったり、完全に間違っていたりした場合は、その旨を伝えましょう。ChatGPTに説明を求めると、ChatGPTは学習データと照らし合わせ、それに応じてコードを調整してくれます。また、より多くのコンテキストを提供すれば、より良い回答を得ることが可能です。[4]
- ChatGPTはソフトウェアエンジニアではないため、ニュアンスを理解することも、学習データにないコンテキストを判断することもできません。また、ChatGPTは主に2021年以前にインターネット上で利用可能だったデータに依存しており、新しいコンテンツをオンデマンドでウェブ検索することはできません。[5]
-
自分でテストせずにChatGPTのコードを信用しない ChatGPTはAIチャットボットにしては驚くほど良いコードを提供してくれますが、コーディングミスを犯すことがよくあり、ChatGPTはそれを修正(しようと)してくれません。ChatGPTの学習データに悪いコード例が含まれていると、ChatGPTはその悪い例を実例として捉えてしまいます。このため、ChatGPTは(まだ)単独でプログラムを書かせられるほど信頼できるものではありません。ChatGPTはコーディング中のリソースとしては使えますが、ソフトウェアエンジニアの代わり(あるいは自分でコーディングするための学習用)としては使えません。広告
ポイント
- ChatGPTとの会話はサービスの質を向上させるために使用される可能性があるので、プライベートなことは漏らさないようにしましょう。[6]
- ChatGPTの学習データは2021年で途切れています。それよりも新しいライブラリやコーディング規約を必要とするプログラムに取り組んでいる場合、ChatGPTは正確なコードを提供してくれません。
- ChatGPTが定員に達している場合は、ページを更新するか、別の機会にログインしてみましょう。
広告
出典
- ↑ https://www.zdnet.com/article/how-to-use-chatgpt-to-write-code/
- ↑ https://www.zdnet.com/article/how-to-use-chatgpt-to-write-code/
- ↑ https://www.zdnet.com/article/how-to-use-chatgpt-to-write-code/
- ↑ https://www.digitaltrends.com/computing/best-chatgpt-tips/#dt-heading-using-follow-up-prompts-to-improve-results
- ↑ https://help.openai.com/en/articles/6783457-chatgpt-general-faq
- ↑ https://openai.com/policies/privacy-policy
この記事は役に立ちましたか?
広告



