無料のCopilotで作ったAutomatorを、課金したChatGPTに丸投げしてみた。

MacのAutomatorで写真・動画取り込み用MediaImportを編集している画面

AutomatorでMacに写真取り込み

 カメラ1 で撮った写真や動画は、撮影日ごとにフォルダ分けしてMacに取り込んでいます。取り込みには、以前Copilotに書かせたAutomatorのスクリプトを使っています。AutomatorはMacに標準搭載されている作業自動化アプリで、Windowsのバッチファイルのような簡単な処理を任せています。これくらいの単純作業であれば、Automatorを使うのが楽ちんなので。2

 ただ、α7C IIで撮影した動画のサムネイルが写真フォルダに移動されてしまうのが気になっていました。単純にファイルの拡張子でフォルダ分けしているからですね。サムネイル画像も動画のファイルの仲間として、動画フォルダにまとめておくべきでした。

ChatGPTに改修させる

 そこで、Copilotに作らせた元のAutomatorをChatGPTに渡して修正を依頼しました。ついでに、このAutomatorにほかにも問題がないか確認してもらいます。すると、mvで単純にファイルを移動するだけではデータ破損のおそれがあると怒られました。他にも、撮影日の判定にはファイル作成日時ではなくExifを使え、同名ファイルの重複対策やコピー後のデータ照合も必要だ、と。はい、じゃあ考慮してください。ファイルを直接移動するのをやめて、カメラからMacにコピーし、中身が一致したらカメラ側を削除する方式に変更。あなたが撮っているのは子どもの写真なのですから、もっと大切に扱いなさいと諭されました。3

Workで修正、実機テスト

 Automatorなんてテキストをコピペするだけで動くのですから、さくっとChatに修正を依頼。4 ちょちょっと書き直させます。ところが、dest_names[$i]: parameter not set というエラーが出ました。意味は分かりません。エラーを共有すると、こうこうこう操作をして修正を試してください、との回答。面倒くさくなったので、ChatGPTのWorkモードに切り替え、Macの操作ごと任せました。ちゃっちゃかAutomatorを修正し、アプリケーションフォルダへのインストールまで済ませてくれました。α7C IIでもLuna Ultraでも、RAWファイル、JPG、MP4、それに付属するサムネイルやプロキシ動画などを正しく振り分け、元データとの一致を確認。その後、カメラ側の元データも削除できました。

今度はChatGPTのコードをChatGPTで見直す

 ここまでやってもらっておいてなんですが、カメラからファイルを移動して、撮影日ごとにフォルダ分けするだけなのに、ちょっと複雑すぎません? ChatGPTが書いたスクリプトをChatGPTに改めて見直してもらいました。すると、同じファイルを何度も照合したり、動画の関連ファイルを探すたびにフォルダ全体を調べたりして無駄だらけ、個人の写真を移すだけなのに過剰設計過ぎるとのこと。自分で書いておきながら、人ごとみたいにボロクソ言うやん。

 指摘通り、今度は記述と処理をできるだけシンプルにするよう依頼しました。350行あったスクリプトは約270行に。動画とサムネイルなどの関連ファイルはまとめて扱い簡略化、コピーしたファイルと元データが一致してから削除する処理は残しています。また、撮影日時が取得できなければファイルの作成日時、それも取得できなければ変更日時を使うように変更しました。

 以前はAIに書かせたコードを自分で実行し、エラーが出るたびに内容を伝えて修正させていました。今回は最初の改修でWorkにMacの操作ごと丸投げ。修正も動作確認もやってもらえました。なるほど、課金した甲斐はありました。甘やかされることにします。

  1. Sony α7C IIとInsta360 Luna Ultra [↩]
  2. Commandで書く方がシンプルだった気がする。最初にCopilotがAutomatorを使ったために。 [↩]
  3. 他チャットで子ども撮影の相談をしたので、何を撮っているのかバレています。 [↩]
  4. Codexだとクレジットを食うので。 [↩]
広告

コメントを残す