【ChatGPT】プラグイン「Notable」を使ってコード生成からデバック＆コード修正を自動でしてもらう方法

ChatGPTでコードを生成するのは非常に便利ですが、たまにエラーを引き起こすコードが作成されてしまうのが少し欠点ですよね

私自身もその問題を感じていましたが、色々試す中でChatGPTのプラグイン「Notable」が解決策になることを発見しました。

このプラグインを利用することで、ChatGPTが生成したコードを自動的に実行し、もしエラーが発生した場合には、自動的に修正するようにできました。

この記事では、その具体的な手順を詳しく紹介します。

# ChatGPTプラグインとは
ChatGPTプラグインは、ChatGPTをサードパーティのアプリケーションと連携させるツールです。

これは、GoogleスプレッドシートのアドオンやGoogle Chromeの拡張機能と同様に、公式だけでなく第三者の開発者が作成した機能をChatGPTに追加することで機能を拡充できるものとなっています。

具体的には、プラグインを利用することで、ChatGPTに以下のような機能を追加できるようになります。

- リアルタイムの情報を取得：スポーツのスコアや株価、最新のニュースなどを確認
- ナレッジベースの情報を取得：企業の文書や個人のメモなどを閲覧
- ユーザーの代わりにアクションを実行：フライトの予約や食事の注文などを行う

また、複数のプラグインを有効にしておくと、プロンプトに応じて複数のプラグインを組み合わせて使ってくれます。

:::note warn
注意
- プラグインはChatGPT Plus（有料版）ユーザーのみ利用可能です
:::

# ChatGPTプラグイン「Notable」とは

![スクリーンショット 2023-05-25 17.09.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3356814/6e6265fe-e9e0-3921-f109-6897a7c17324.png)

「Notable」はノートブック形式で、Python、SQL、Markdownを使用してコードを実行してくれるプラグインです。

簡単な指示を出すだけで分析や可視化を行ってくれるためデータ分析の専門家でなくても複雑なデータ分析が可能になる優れものです。

ちなみに近いうちにChatGPT上でPythonを使ったコードの実行や、ファイルのアップロード・ダウンロードができるようになるChatGPTの公式プラグイン「Code Interpreter」というのが公開になるそうです。

こちらのプラグインを使うとより簡単により複雑な分析をChatGPT上でやれるようになるみたいです。

詳細は以下のページにまとめたので、こちらも参考にしてみてください。

https://generativeinfo365.com/?p=192

# 具体的な手順

ChatGPTに「Notable」を使用して、以下のような手順でタスクを処理してもらいます。

これにより、自分で生成したコードをChatGPT自身が実行し、確認することができる用になり、意図した通りの動作をするコードが生成される可能性が高まります。

1. まず、コードを作成してもらいます。
1. 次に、そのコードを実行してもらいます。
1. その結果が意図通りであれば、そのまま進めます。
1. 結果が意図と異なるか、エラーが発生した場合は、コードを修正してもらいます。その後、2番の手順に戻り、これを繰り返します。

こちらがプロンプトの例になります。

```HTML:プロンプト例
下の順番で、タスクを行なってください。

1.{作って欲しいコードを入力}を作成してください
2.作成したコードをnotableのプラグインで実行してください
3.実行結果が、意図通りのもの確認してください
4.実行結果が意図通りであれば「ok」と表示して、そのコードを表示して終了してください
5.エラーが出たり、実行結果が意図通りでなければ、その原因を教えてください
6.その原因が解消されるようにコードを修正してから、そのコードを実行してください
7.以降は、4で「OK」が出るまで2~6を繰り返してください
```
# 実際のやりとり

実際にこの手順でChatGPTにコードを生成してもらった時の挙動を紹介します。

ここでは、一回で意図通りのコードが生成されたパターンと、エラーが出たからChatGPT自身が自分でコードを修正したパターンを紹介します

##  意図通りのコードが生成された時

まずは生成されたコードが意図通りに生成された時のChatGPTとのやりとりです。

今回は「はてなブックマークから人気記事を取得する」コードを生成してもらいます。

![FireShot Capture 043 - Hatena Bookmark Scraping - chat.openai.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3356814/13442998-7223-3f8b-70ad-6ace5f0c7bae.png)

実際に生成されたコードをChatGPT自身が実行して、意図通りの挙動になっているか確認してくれていますね！

実行結果を見る限りでも、意図通りコードが動いているようです。

これにより、ChatGPTに生成してもらったコードをコピペしてローカルで自分で確認する手間が無くなりました！

### エラーが出るコードが生成された時

次にエラーが出た時の例をご紹介します。

ここでは「POSデータのダミーデータを作成してcsvで出力するコード」を生成してもらいました。

![FireShot Capture 044 - POS Data Generation - chat.openai.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3356814/052b29e5-16cf-a574-8056-dbc22c329c67.png)
このスクリーンショットからわかるように、最初に作成したコードではエラーが発生しています。そのためChatGPTはエラーコードを元にエラーの原因を特定しようとしている様子が見受けられます。

今回の問題は、単純に必要なモジュールがインストールされていなかったため、必要なモジュールをインストールする手順が追加されました。

その後、修正されたコードを再度実行した結果、意図した通りの動作が得られたため、作業は完了しました。

この例では、モジュールがインストールされていなかっただけでしたが、コード内にエラーやバグがある場合でも同じように原因を特定し、コードを修正して正しい動作を実現するまでサポートしてくれます。

# まとめ

今回紹介した方法では、このようにChatGPTプラグイン「Notable」を使うことで、ChatGPT自身にデバックして正しいコードが出来るまで修正してもらうことが可能になります！

このように、今後もあらゆることがChatGPTなどのAIに丸投げできるようになりそうですね

この先はいかにAIを使いこなすかどうかによって、仕事やあらゆる作業の生産性が大きく変わることは間違いないので、周囲より少しでも早くAIを使うことに慣れていくことが重要になるでしょう！

ちなみに以下の記事では、簡単なプロンプトを書くだけでスライドが作成できるサービスや、ChatGPTがまるでデータサイエンティストのようにデータ分析をしてくれるプラグインなどが紹介されています。

使いこなせば仕事の効率が上がることは間違いなしなものばかりなので、こちらもぜひ参考にしてみてください！

https://generativeinfo365.com/?p=734