「AIコードエディタ」であるCursorがすごいというので、少し試してみましたが、本当にこれはすごいと感じました(付加情報量ゼロ)。
金曜夜に届いた本を土曜日中にさらっと読んでから、土曜夜と日曜日中の空き時間にお試し。
何を作ろうかと思案していたところ、そういえばいま写真などをトリミングするのに、ものすごく古いツールを使っているので、新しいツールにしたいのだけど、最近のツールは機能が多くて起動時間もかかるので、もっと機能は限定で良いからサクサク動く(新しい)ツールが欲しい、と思い出し、今回の題材にすることに。
なんだかよくわからないが、AIチャットのボックスにやりたいことを打ち込んでいくとどんどん実装してくれる。実時間で24時間も経たないうちに(つまり作業時間はその中の一部)欲しかった最低限の機能は一応実装完了。画像を読み込み(D&D可)、範囲の指定、指定範囲の変更や移動、処理の巻き戻し、画像のコピーや、これらのショートカットキーでの操作など、Cursor上でAIさんと何十往復もやりとりをしましたが、私自身は一切のコードを書くこともなく、言葉での指示だけで完成できたのが驚きでした。もうここまで来てる。
その後も少々手を加えて、画像の回転機能を実装しました。
Pythonでの実装ですが、EXE化もしたので、Windowsの人はそのまま使えます。
GitHubでも公開しています。READMEへの追記とEXE化の際のバージョン番号の指定以外は、私が直接したファイルは何一つありません!
いっさいのコードを今回は見ずに、ここまでできることに驚きです。いくつかのバグも、言葉での指示で直せましたが、ただひとつ、選択範囲を移動して左上に持って行ったとき(XとYの両方が負になろうとするとき)に選択範囲が消えてしまう問題だけはどうしても直せませんでした。コード見なきゃいけないかな。
GitHubで公開もしています。
https://github.com/sakaik/ImgEZ
EXE化、GitHubでの公開方法についても、Cursor内で完了し、いやもうこれ、ちょっとしたツール作る程度なら十分だと思いました。もう何種類か試してみたい分野があるので、追って試してみたいと思います。あと、一応プログラムを書ける(つもりでいる)身としては今回のように一切をAIに任せるトライアルは本意ではないので、自分がコードを書きつつ、関数を作ってもらったり続きを書いてもらったりするような使い方を習得したいと思いました。

もうプログラマは要らないのか
これだけできるのなら、じゃぁもうプログラムの専門知識は要らないのか、誰でも十分に使えるプログラムを作れるのか、というと、一部Yesで一部Noと感じました。プログラムの動作環境(構成ファイル等)の知識さえあれば、ある程度のやりたかったことを実現するプログラムは作れそうです指示して、どうしてもうまくいかない部分は、あまり拘らずに割り切る、という範囲の使い方として、もうプログラムの知識はいらないとも言えます。
一方で、細かい部分含めてこのように動作してほしい、というものを実現するには処理に対する基本的な知識と経験は必要になります。今回でいえば、画像の巻き戻し実現のために内部に編集履歴情報を保持するのですが、これがどうしても正しく巻き戻してくれない(飛ばしてしまったりする)。結局これは、履歴に追加するタイミング、履歴から削除するタイミング、巻き戻しの時の内部カウンタの扱いなど、自分がプログラムを書くかのように日本語で指示しました。 プログラム知識なしでは実現が難しい部分かと思います。
とはいえ多くの部分については、全部は言わなくても「1を聞いて10を知る」かのような対応をしてくれるのが、本当にすごいです。そんなに複雑ではないスタンドアロン系のツールはもうこれでほぼ書けそう。EXE化やGitHubへの登録なども、滅多にやらないのでやる度に調べてまたすぐ忘れるを繰り返していたのですが、Cursorではその場で教えてくれるので、やりたいことを持っている人ほど強力なツールになるのだろうなと感じました。
私はあとは、Web系とAndroidアプリ系を試してみたい。