GPT-5が凄すぎる
最近、GPT-5 のプログラミング能力にめちゃくちゃ驚かされている。いや別に GPT-5 でAI驚き屋さんをしたいわけではないのだけれど、これが当たり前になってくると大変だぞ……という空気感が伝わるくらい、レベルが高い。
そこで、GPT-5 にお願いをして、過去に作成したプラグイン「Un」をリファクタリングというより再構築した「Nods」(頷き)を作ってもらうことにした。
そうだ、Un を一から作ろう
そもそも、Un というプラグインについて説明したい。
Un とは、ChatGPT などのチャット系サービスのノリで、チャット形式でメモを取ることができるプラグインである。
最大の特徴は、チャット形式で残されたメモに「うん。」という反応が返ってくることだ。ただし、それ以外の反応は返ってこない。それがいいのだ。良すぎるのだ。
詳しくは、僕がかつて書いた note の記事を参照してほしい。
「うん、と頷くだけでいい」と思ったのでプラグインを作りました|MaybeFix
Un は GPT-4o のときに作ったプラグインだ。あの頃の GPT-4o はエラーが多すぎて、ずっと休みの日にキレながら1週間くらいかけて、ようやくとりあえず使えるレベルにまでこぎつけたという紆余曲折のあるプラグインでもある。
そんな Un も機能追加などをした関係で不要なメソッドが残りまくっていたり、重複する不要な記述があったりと、めちゃくちゃコードが汚い。この機会に、いい感じのプラグインに進化してもらいたいと思い、Un を改修元に選んだ次第。
要件定義からさせる
こういう AI に指示を出してプログラミングしてもらうときには、必ず要件定義をさせてから行うといい。
IT系の業界で使われる要件定義という言葉は、ユーザーの「こうしてほしい」、あるいはシステムとして「ユーザーからは言われてないけれど、こうでなければ使えるレベルではない」という要件(マストの項目)を網羅することだ。今回は自分が使うプラグインだから、ユーザーである自分が気づかないと、暗黙の要件をテストするまで見落とすこともあるんだけれど……。
事前に要件定義をしっかり行っておくことで、「いやこんな指示出してないよ」「これ入れてほしいのになんで入ってないの?」というすれ違いを減らせる。
ChatGPT などのチャット型のAIサービスはチャットが蓄積していくと長期記憶が怪しくなる傾向にあるため、最初の最初に要件定義をしっかりしておくことでAI側にとっても「こんなんだったかなぁ……」と曖昧な状態で作らないといけない状態にならないようにできるのがポイントだ。
エラーを投げたら勝手に潰してくれるからいいね
そうして要件定義が完了したら、一気に内容物であるコードを吐き出させる。このとき、人間側は下準備として sample plugin を clone しておく。
そうして出力されたコードをどんどんコピペでコードエディタに貼っていき、表示されたエラーを潰していく。
GPT-5 の実力は、GPT-4o のときはエラーが10件~15件くらい出ていたものが、GPT-5 だと出ても3~4件程度に収まるところに現れている。しかも、エラーとして出ているメッセージを直接投げると、勝手に内容を潰してくれる。
こんなん人間だったら「ヒアリング不足ですね。もう一回ユーザーさんに聞いてきてください」でおしまいの獅子舞になってしまう。GPT-5 は、いよいよしごできエンジニアになりつつあるのか。
色々あったけど完成した
そんなこんなで GPT-5 とやりとりすること10時間、ついに Nods が完成した。
10時間と聴くと「長くない?」と言われそうだが、設計してビューを作るまでは3時間くらいで完成した。あとは予期しない動作、エラー、デザイン面、機能追加などを行い、人間側が詰まったことで+7時間という内訳だ。
つまり人間側が優秀であれば、さらに何でも作れてしまうということが、GPT-5 を利用したObsidian プラグインの作成 でわかったことだ。
プラグインの使用感としても、今までと遜色ないどころか、動作として軽快だし、希望していた機能面も漏れなく実装できている。
今回は要件定義→コード生成→エラー潰し・機能追加と動作検証、というステップを踏んでプラグインを作成してみた。typescript 全然わからない素人でもここまでやれるのだ。GPT-5、恐ろしい子。
終わりに
実はこの記事も、GPT-5を使い Nods と並行して作っていたプラグイン、list as board を使用して書いている。箇条書きをKanbanとして表示し、それを記事としてエクスポートする優れものだ。

真ん中が list as board 、右側が Nods