はじめに
私もGenerative AIsを使ってChromeの拡張機能を作ってみました。
作ってみたところ、完成しました。
Chrome拡張機能はゼロから自分で全部書かなくても、AIを活用すればほぼ会話だけで作れてしまうということです。
冒頭に紹介させていただいた記事からの引用です。まさに私も同じことを体験いたしました。
そして、猪木さんが訴え続けられていた「本当の世界平和の実現」と「地球レベルでのゴミ問題の解決」を目指したいという気持ちをより強くしました。
作ったもの
私は、AIの文字を見ると、Antonio Inokiにしか見えません。アントニオ猪木、つまり猪木さんです。 これは私だけの感覚だと思いますが、私にはそうとしか見えません。そこでこれを他の方に体験していただけるようにブラウザの拡張機能を作りました。
猪木さんが訴え続けられていた「本当の世界平和の実現」と「地球レベルでのゴミ問題の解決」を目指したいと思います。
GitHub
GitHubにソースコードを置いておきます。
最初に出した指示
最初に出した指示を書いておきます。たったのこれだけです。
Chrome exstensionを作りたいです。
ギャグアプリです。
「AI」の文字を見つけたら、「AI(アントニオ猪木)」へと変換します。
トリガはポップアップにあるボタン押下です。ボタンは「闘魂注入」です。
- TypeScriptで作りたいです。
- .gitignoreはいい感じに作ってほしいです。
- ポップアップのデザインは、ストロングスタイル(アントニオ猪木さんのタイツ)を象徴する黒と燃える闘魂の赤を連想させる格好いいポップアップにしてほしいです
exstension
はtypoしています。正しくはextension
です。
使用したツール
使用したツールは以下の通りです。
朝のコーヒーを飲みながら、私は今日のタスクリストを眺めていた。いくつかの新機能の実装が待っている。以前なら、要求整理から設計、コーディング、レビューまで、すべて自分でやらなければならなかった。でも今は違う。
まず、Kiroを開いて仕様を整理することから始めた。要求を入力し、設計方針を練り、タスクに分解していく。Kiroのインターフェースは直感的で、頭の中のもやもやしたアイデアを構造化された仕様に変換してくれる。「Start Task」ボタンをクリックして、さあ実装開始...と思ったが、うまくいかない。こういうこともある。
迷わずCodexにスイッチした。Kiroで整理した仕様をもとに、今度はCodexに実装を任せる。コードが流れるように生成されていく様子を眺めながら、私は次のタスクのことを考えていた。
実装が完了すると、Amazon Q Developer IDEの出番だ。/review
コマンドを実行すると、AIがコードレビューを始める。潜在的な問題点や改善提案が次々と表示される。まるで経験豊富な先輩エンジニアがペアレビューをしてくれているようだ。
最後はAmazon Q Developer CLIが差分を確認してくれる。変更内容を詳細にチェックし、コミットメッセージまで提案してくれた後、git commit
まで実行してくれる。
振り返ってみると、この一連の流れで私がやったことはチャットをしていただけだった。AIから質問されるたびに「y」を押し、時々簡単な指示を出す程度。それなのに、気がつくと機能は完成し、コードはレビューされ、リポジトリにコミットまで完了していた。
椅子に深く腰掛けながら、私は新しい開発の形を実感していた。人間がやるべきことは創造的な判断と方向性の決定。細かい実装やチェック作業は、AIが人間以上の精度と速度でやってくれる。これは単なる自動化ではない。人間とAIが協働する、まったく新しい開発体験なのだ。
コーヒーカップを置いて、次のタスクに取りかかる。今度はどんな機能を作ろうか。選択肢は無限大に広がっているように感じられた。
さいごに
私は、Chrome拡張機能はもともと完全に理解していました。もちろん例のあの意味1です。「Hello World 拡張機能」のチュートリアルをやったことがあるだけです。
ただ、何の自慢にもなりませんが、JavaScriptは苦手です。JavaScript系はとにかく避けてきました。24年ほど前(2001年)に入社した会社では、新しいPCを配られたときに「JavaScriptはとにかく危険だから、ブラウザの設定をOFFに変更すること」が定められていました。それからJavaScript == 危険という無意識が刷り込まれています。それでできるだけ積極的に関わらないようにしてきました。
しかし、そう思っているのは自分だけで、知らず知らずのうちにPhoenix LiveViewで積極的に使用させていただいているのだと思います。
今回、ブラウザの拡張機能を作ってみて、とてもおもしろいと思いました。無限の可能性を秘めているように思いました。見知らぬ技術や苦手な技術は、ただ恐れるだけではなく、正しく恐れることが肝要だと思いました。
うまく使えば、危険どころか過激なブラウザ体験2を自作できると考えを改めました。
この道を行けば
どうなるものか
危ぶむなかれ
危ぶめば道はなし
踏み出せば
その一足が道となり
その一足が道となる
迷わず行けよ
行けば分かるさ
ありがとうーーーッ!!!
(アントニオ猪木)
ブラウザに表示される「AI(アントニオ猪木)」の文字をみて、改めて、猪木さんが訴え続けられていた「本当の世界平和の実現」と「地球レベルでのゴミ問題の解決」を目指したいという気持ちをより強くしました。