ChatGPT でより良いコードを書く方法

ChatGPT でより良いコードを書く方法

翻訳者 |李睿

レビュー | Chonglou

コードの生成は、ChatGPT や指示に従うその他の大規模言語モデル (LLM) の強力なアプリケーションです。適切なヒントが与えられれば、大規模言語モデル (LLM) は、プログラマーが記述するのに何時間もかかるコードを生成できます。


ただし、大規模言語モデル (LLM) ではプログラマーの作業をすべて実行することはできません。複雑な問題を分解したり、論理的かつ構造的に考えたり、多層的な解決策を作成したりすることができません。一度に 1 つの命令を処理し、ユーザー プロンプトに続く可能性のある次のコードを予測して出力します。

ChatGPT の強力なコーディング機能を活用し、落とし穴を避けるための 4 つのヒントを紹介します。

確認できない場合はChatGPTを信用しないでください

ChatGPT のような大規模言語モデル (LLM) の顕著な特徴は、権威ある音声です。彼らは、たとえ答えが意味をなさなくても、常に自信を持って答えます。必然的に、 ChatGPT はいくつかの質問に対して、説得力はあるものの間違った答えを返すことがありました。

この記事の著者は、ChatGPT を使用する際の経験則として、自分が完全に理解し、検証できるトピックにのみ使用すると述べています。たとえば、彼は量子物理学について十分な知識がなかったため、量子物理学の説明を書くためにそれを使用しませんでした。しかし、ChatGPT は出力を完全にチェックして修正できるため、機械学習の基礎に関する興味深い記事を書くのに役立ちます。

同様に、ChatGPT を使用してコードを生成する場合は、完全に検証できるタスクのみを完了するようにしてください。 ChatGPT は無効なコード、あるいはさらに悪いことに、動作するが安全でないコードを書く可能性があります。 ChatGPT は自動化ツールであるため、記述に長い時間がかかったり、ドキュメント ページや StackOverflow などのオンライン フォーラムに何度もアクセスする必要があるような重労働を実行できます。たとえば、ソートアルゴリズム、 Python でWebサーバーを起動するコードの作成、データベース スキーマからの SQL クエリの実行、Matplotlib でのデータ視覚化コマンドの実行などを要求できます。

一度に1つのコードブロックを反復する

大規模言語モデル (LLM) では、推論と段階的な計画を必要とするタスクの処理が困難な場合がよくあります。したがって、ChatGPT が完全なプログラムや複雑なコード ブロックを正常に記述できるとは期待しないでください。しかし、これは ChatGPT が複雑なプログラミングタスクの完了を支援できないという意味ではありません。簡単なタスク(上記のようなタスク)を与えれば、それを完了できる可能性があります。

ユーザーはタスクをより小さなステップに分割し、一度に 1 ステップずつ ChatGPT に指示を出すことができます。成功するアプローチは、ChatGPT に、作成するプログラムのロジックの概要を段階的に提供することから始めることです。

これにより、大規模言語モデル (LLM) はより複雑なタスクに備えることができ、その後、大規模言語モデル (LLM) を徐々に促すことができます。つまり、ユーザーが推論を行い、ChatGPT が作業を実行します。ちなみに、アウトラインから始めて、順番に作業を進めていくこの方法は、特定の種類のエッセイを書くなどの他のタスクでも成功しています。

ステップバイステップのプロセスが明確にわからない場合は、ユーザーは ChatGPT 自体からサポートを受けることができます。エンコーディング セッションは、タスクを完了するための手順のリストを生成するように Large Language Model (LLM) に要求することによって開始されます。次に、必要に応じてアウトラインを変更し、最初のステップのコードを生成するように指示します。

ChatGPTへのフィードバックの提供

ChatGPT がすべてのステップでクリーンかつ安全で有効なコードを提供するとは期待できません。コードがレビューされ、統合開発環境 (IDE) に入力されると、修正や調整を行うことができます。その際、修正したコードを、該当する場合は説明とともに ChatGPT へのフィードバックとして提供することがベストプラクティスです。

注意すべき点は、ChatGPT はコンテキストに非常に依存しており、チャット履歴に基づいて動作が変化する可能性があることです。ユーザーはこれを活用できるため、フィードバックを提供したり、コード スニペットを修正したりすることが非常に役立ちます。

たとえば、ユーザーは「提供されたコードを次のように変更しました: [ここに変更したコードを挿入]。 (動作修正を挿入) を試して、これを繰り返してください」と言うことができます。これにより、ChatGPT を正しい方向に導き、将来のプロンプトに回答するときに間違いを繰り返さないようにすることができます。 (同様に、著者らは、エッセイの執筆を含む ChatGPT の他のタスクでもこのフィードバック アプローチをうまく使用しました)。

場合によっては、ChatGPT を使用して自分のコードに関するフィードバックを得ることができます。別のチャット セッションを開いて、ChatGPT に生成されたコードを提供し、改善または修正を依頼してみてください。時には、興味深い結果や新たな探究の方向性につながることもあります。

ChatGPTシーンのクリーンアップ

ユーザーが特に大きなタスクに取り組んでいる場合、特に ChatGPT を使用して多くの反復操作を実行すると、チャット ログが非常に長くなる可能性があります。ユーザーが使用するモデルによっては、大規模言語モデル (LLM) によって ChatGPT シーンのメモリが枯渇する可能性があります。 ChatGPT の無料バージョンには 4000 トークンのメモリがあります。 (言語タスクの場合、100 トークンは約 75 語をカバーします。プログラミングの場合、通常はそれよりはるかに少なくなります。)

成功する秘訣は、ChatGPT シーンを時々クリーンアップすることです。これを行うには、プロンプトを使用して新しいチャット セッションを開始し、タスクの概要、これまで完了した手順、これまでに生成したコード、および従う必要がある一般的なガイドラインを ChatGPT に提供します。次に、次のステップに進むように指示します。大規模言語モデル (LLM) との以前のやり取りから不要な情報を取り除くことで、より明確なシナリオが提供され、ChatGPT によって生成されたコードの精度が向上します。

大規模言語モデル(LLM)がプログラミングを変える

大規模言語モデル (LLM) 支援プログラミングの分野は急速に発展しています。たとえば、ChatGPT Plus には現在、プログラマーがコードを予測するのに役立つプラグインがいくつかあります。 GitHub Copilot や Amazon CodeWhisperer など、大規模言語モデル (LLM) に基づくその他のコーディング ツールは、プログラマーの速度と生産性を大幅に向上させるのに役立っています。検索拡張技術を使用すると、プログラマーは大規模言語モデル (LLM) の動作を、独自の専用コード ベースまたはトレーニング データセットに含まれていないライブラリに合わせてカスタマイズできます。大規模言語モデル (LLM) がプログラマーに何をもたらすのか、まだ研究が進められています。

原題: ChatGPT でより良いコードを書く方法、著者: Ben Dickson

<<:  マイクロソフトのGitHub Copilotサービスは大きな損失を被っていると報じられており、同社は独自のAIチップを開発してNvidiaに対抗する予定だ

>>:  ChatGPTのモバイル収益は9月に460万ドルという過去最高を記録し、成長疲れが現れ始めている。

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

8つのソートアルゴリズムのPython実装

この記事では、主に 8 つの一般的なソート アルゴリズムの基本概念とそれらの Python 実装を紹...

ディープラーニングの成果は収穫されようとしているのでしょうか? 11人の専門家がAIの現在(2018年)と未来(2019年)について語る

KDnuggets は、学界と産業界のさまざまな分野の機械学習と AI の専門家 11 名に相談し、...

ユビキタス「AI+」人工知能はこのように私たちの生活を変える

人工知能(略して AI)は、コンピュータサイエンスの重要な分野として、1956 年にダートマス協会で...

専門家の視点丨Hua Xiansheng:人工知能:それは風か、雲か、それとも雨か?

[[395002]] 01 人工知能の3つのピーク人工知能の発展は3つのピークを経験しました。最初...

スタンフォード HAI が主催: 世界中で 18 の主要な AI イベント

3月18日、李飛飛氏が所長を務める人間中心人工知能研究所(HAI)は、発足からそれほど経たないうちに...

待ちに待った! ByteDance初の大規模モデル製品「Doubao」が公開テスト可能、招待コードは不要!

ノア著他の大手企業と比較すると、ByteDanceの大型モデル分野における進歩は常に比較的神秘的であ...

AIが生成した小説が静かに人気を集めている。人間ならではの創造性がAIにコピーされてしまったのだろうか?

[[408920]]編集部注:人工知能(AI)の発達により、人々は徐々に未来についてより多様な想像...

生成AIスタートアップにとっての大きな問題は、資金不足ではなくトレーニングデータの不足だ

6月16日、生成型人工知能のスタートアップ企業数社が数十億ドルの資金を調達したが、適切なデータを入手...

...

人工知能の現状を理解するための12枚の写真

スタンフォード大学の人間中心の AI 研究所 (HAI) は毎年、人工知能の現状をまとめた膨大なデー...

2023年振り返り、大型模型産業の急速な発展の365日

4兆度(345MeV)は、2010年に米国ニューヨークのブルックヘブン国立研究所が相対論的重イオン衝...

SIZEアルゴリズム: データストレージセキュリティの革命

スケンダーさん、あなたの発明の本質から始めましょう。 SIZEアルゴリズム開発とは何ですか?このアル...

5GとエッジAI: トラフィック管理問題の解決

通勤方法は時代とともに変化してきたかもしれませんが、交通管理の方法は変わっていません。 INRIX世...

...