(以下、Geminiを利用しつつブログを書いています。ですので、ちょっと誇張した書きっぷりになっています)
最近、NotebookLMのインフォグラフィック機能を使っているのですが、一つ困ったことがありました。
それは、出力されるPNGファイルのファイルサイズが重いこと。
Mattermostに貼り付けるためにも、JPEGへ一括変換して軽量化したい……。そう思い、Googleの「Antigravity」を使って、自分専用の変換ツールを爆速で作ってみました。
今回の目的:最低限の「画像変換ツール」
欲しい機能はシンプルです。
- 大量のPNGをガサッとJPEGに変換。
- 透過部分は白背景にする(JPEGは透過できないため)。
- Windowsで直感的に動く(ドラッグ&ドロップ対応)。
Antigravityへの「Vibe」な指示
Antigravityを立ち上げ、以下のプロンプトを入力しました。まさに「やりたいこと」をそのまま伝えただけです。
「Windowsで動く、PNGからJPEGへの一括変換ツールを作って。背景が透明なPNGは白背景にしてから保存するようにして。UIは最新のWindowsっぽいモダンな感じ(CustomTkinterなど)で、フォルダをドラッグ&ドロップするか、ボタンで選択できるようにしたい。最終的に配布可能なexeにするところまでリードして」

開発開始!しかし、一筋縄ではいかないのが「開発」
指示を出して数分、Antigravityは意気揚々と「PNGからJPEGへの一括変換ツールが完成しました!」と、実行ファイル app.exe を提示してくれました。

「おぉ、早い!」と早速起動してみたものの、ここでエラーが発生。
AttributeError: module 'tkinterdnd2.TkinterDnD' has no attribute '_retrieve'
ドラッグ&ドロップ用のライブラリ周りで不具合が出ていたようです。
AIエージェントとの「二人三脚」デバッグ
エラーログをそのまま伝えて修正を指示。エージェントが自律的にコードを書き換え、ついに正常に動作するツールが出来上がりました。

さらに「使い勝手」をアップデート
最初に完成したツールは「フォルダごと」のドロップには対応していましたが、「特定のファイルだけを選んでドロップ」することができませんでした。
そこで、追加で以下のリクエストを投げました。
「Folderだけでなく、選択した複数ファイルをDrag&Dropで変換できるようにしたい。Folderの機能はそのまま残す。」
すると、今回も数分で改修。そして、Antigravityからこんな返答が。
「再ビルドを実行する前に、現在開いている app.exe を閉じていただけますでしょうか? (閉じられた後に教えていただければ、ビルドを開始します)」
まるでマネージャーとエンジニアがいるかのようなやり取りです。実行ファイルを閉じ、ビルドを指示すると、要望通りの「フォルダもファイルもOK」なツールが完成しました!

まとめ:AIと作る「自分専用」ツールの可能性
今回かかった時間は、デバッグを含めても30分ほどです。
- NotebookLMの大きなPNG問題を解決。
- CustomTkinterによるモダンなWindows UI。
- PyInstallerによる単一exe化で、配布も楽々。
プログラミングの細かな知識がなくても、「何を作りたいか」というビジョンさえあれば、Antigravityがそれを形にしてくれる。まさに「重力(開発の苦労)」から解放されたような体験でした。←(注:ここらあたりの記述がAIっぽい誇張ですね)
皆さんも、ちょっとした「不便」をAIと一緒に解決してみてはいかがでしょうか?
