ChatGPTなどの生成AIやLLMを活用するためのGoogle拡張機能を作りましたもちろん生成AI(Gemini)で
ChatGPT3.5の登場以降、プログラマの仕事が無くなるんじゃないかって話題になっていますが、AIには大分助けられてはいるものの、Divin君もヨチヨチ歩きだし、危なっかしいし、しばらく自分は安泰だと思っているプログラマの方も多いんじゃないでしょうか?
はい。自分もそう思っていました。
でもですよ、ChatGPTのモデルのバージョンが上がるごとに、もしくはGeminiやClaudeなどの他のAIもどんどん進化するうちに、いつの間にやら最初感じていた生成AIを使ったコーディングのイライラやガッカリ感が少なくなってきて、あれ?俺、最近1行もコード書いていないし、下手したら真面目にレビューもしてねえや、って感じになってきています。
つまり、以前、生成AIは加速度的に進化しており、チューリングテストにも合格して無気味の谷を乗り越えて、シンギュラリティーを近い将来迎えるときには、コーディングはおろか、ほとんどのコンピューターを使った作業はAIエージェントに置き換わってしまう、そんな気までしてきました。
さて、私は昔からコードを書いているとはいえ、ちゃんとした開発者ではございません。
ほとんどは自分の仕事を楽にするためのツールなどをシェルスクリプトやPerl、Python、Node、最近はGASなどで書いてきた感じです。猿作業に1時間かける必要があってその作業が年間20回くらいあるなら、そのためのツールを3時間かけて作った方が17時間もお釣りが来るじゃんね、っていう考えで今までいろんなツールを作ってきました。
ただし、そのツールはあくまで自分の省力化、効率化のためのツールとしてです。他人のためにそれを作ると要件や仕様、設計書などのドキュメントを作ったり、運用保守や利用者に対するサポートやトラブル対応など、面倒なことが沢山出てくるため、あくまで自分用に作って、使いたい人がいたら使ってもいいよ、っていう感じに作ってきました。
で、今回もそんな感じで、生成AI系のサービスを使うにあたって、自分で面倒だなって思うような作業を省力化するツールをいくつか作ったので、完全に無保証ですがChrome Web StoreにChrome拡張機能として公開してみたのでご紹介します。
ChatGPT Canvas エクスポーター
ChatGPTで、原稿をCanvasに大量に書いてもらうことがあったのですが、チクチク一件、一件コピペするのは大変だったのでボタン一つでマークダウン形式でエクスポートしたものをZIPに圧縮してダウンロードできるようにしてみました。ついでに、APIなどを使わずとも設定に合わせた原稿を自動で書いてもらえるようにした自動プロンプト送信機能もつけました。
Google NotebookLM ソースマネージャー
先日ご紹介したGoogle NotoboookLM用のソースマネージャーです。これもチクチク大変だったソースの削除を便利なフィルターで一括指定して一括削除ができるようになります。ソースの一括追加とソースの一括リネーム機能もつけました。
Confluence Markdown Downloader
こちらは使用する人が限られるかもしれませんね。Atlassianという会社が提供しているチームワークスペースツールであるConfulenceといういわゆるWikiサービスから、APIを使ってマークダウン形式でまとめてLLMに適したテキストファイルをエクスポートできるツールです。ナレッジベースを使ったGPTsやGoogle NotebookLMを使った簡易RAG構築に適しています。Confulence自体にもエクスポート機能はついているのですが、余計な情報が入ってしまったりLLMがうまく解釈してくれなかったりするんですよね。
ちなみに上記のツールはみんな生成AI(Gemini)でサクッと作りました。
生成AIで拡張機能を作るコツは、細かくモジュールに分けてコードを出してもらうことです。一つのコードが長くなってしまうと勝手に機能を落としたり勝手に省略したりするので、100行を超えるようだったら、モジュールに分割して、ってお願いしましょう。ただし、その際は拡張機能の外部ファイルなどの制約なども出てくるので気をつけましょう。
そういった背景知識や生成AIという優秀だけどどこか抜けているコーダーを上手く使うことが、今の過渡期のAI駆動開発のノウハウなのですよね。その辺は今まで真面目に開発をやってきた技術者さんの方にアドバンテージがありますね。
細かくモジュールを分ければ、仕様漏れやデグレなどもそこまで起こさないのでユニットテストとか結合テスト、リグレッションテストなどをクソ真面目にやらなくても良いかもですが、そこはまだまだの生成AI、なぜこの仕様を無くした?ん?って激詰めしたくなるようなミスというかやらかしをしてくれるので、やはりリリース前はテストをきちんとしないとですね。
そのテスト設計やテストコードも生成AIに任せられるんですけどね。いやあ楽になったもんだ。
あとは、国際化対応なども超絶楽。
Chrome WebStoreに掲載するための必要情報も、開発をお願いしていたチャットプロンプトで適当に書いておいて、っていうと秒で出てくる。
とんでもない世界になったものです。
あ、そんなこんなで自分用に作ったツールでバグがあるかもしれないですが、使ってみて何か不具合などございましたら、私のFacebookやX(Twitter)、この記事のはてブ、なんでも良いのでコメントなどいただければと思います。