【ITニュース解説】39 screenshots and not one useful name, so a local Gemma names them for me
2026年10月22日に「Dev.to」が公開したITニュース「39 screenshots and not one useful name, so a local Gemma names them for me」について初心者にもわかりやすく解説しています。
ITニュース概要
スクリーンショットのファイル名を画像の内容に合わせて自動で変更するツール「slothshot」が登場。ローカルで動作するAIモデル(Gemma)を活用し、プライバシーを守りながらファイル管理を効率化し、必要なファイルを素早く見つけ出す検索性の向上を実現した。
ITニュース解説
普段パソコンを使っていると、資料作成や情報収集の過程で、スクリーンショットを撮る機会は非常に多いだろう。しかし、撮りためたスクリーンショットの管理に困った経験はないだろうか。特に、デフォルトで付けられるファイル名は「Screenshot 2026-10-03 at 08.15.44.png」のように撮影日時を示すだけのものが多く、後からそのスクリーンショットに何が写っていたのかを判断するのは非常に難しい。必要な時に大量のサムネイルを一つ一つ確認したり、勘で開いてみたりと、非効率な作業に時間を費やしてしまうことがよくある。かといって、一枚一枚手作業で内容に合わせたファイル名を付けるのは、面倒で現実的ではない。
この記事で紹介する「slothshot(スロスショット)」は、このようなスクリーンショットのファイル名問題を見事に解決してくれるツールだ。slothshotは、あなたの撮ったスクリーンショットのファイル名を、その内容に基づいて自動的に変更してくれる。例えば、前述のような意味不明なファイル名が「2026-10-03 railbook-e-ticket-pnr-4421907736.png」のように、撮影日時を保持しつつも、何が写っているのかが明確にわかる名前に変わる。これにより、後から特定のスクリーンショットを探す際に、ファイル名で検索できるようになり、大幅に手間が省けるのだ。
このツールの仕組みの肝は、ローカル環境で動作する画像認識AIモデル「Gemma 4」を利用している点にある。Gemma 4は、Googleが開発したオープンウェイト(無料で公開されている)の画像認識AIモデルで、slothshotではこれを「llama.cpp」というソフトウェア上で動かしている。llama.cppは、大規模なAIモデルを通常のPC環境でも効率的に実行できるようにするためのライブラリで、これを使うことで、強力なAIを自分のパソコン内で利用できる。
つまり、slothshotがスクリーンショットの内容を解析する際、あなたの画像データはインターネット上にアップロードされることは一切ない。すべての処理があなたのPCの中で完結するため、チャット履歴、銀行の取引画面、ログイン画面など、プライベートで機密性の高い内容が含まれるスクリーンショットでも、情報が外部に漏洩する心配がない。これは、クラウド上のAIサービスを利用する場合との大きな違いであり、セキュリティとプライバシーを重視する上で非常に重要なメリットだ。また、Wi-Fi環境がなくても動作し、利用料もかからないという利点もある。
slothshot自体はGo言語というプログラミング言語で開発されたCLI(コマンドラインインターフェース)ツールだ。Go言語は、高速で動作し、堅牢なシステムを構築するのに適している。このツールは、まずファイル名がmacOSやGNOME、AndroidといったOS標準のスクリーンショット形式かどうかを正規表現で判別する。すでにslothshotによってリネームされたファイルは日付の後にキーワードが付いているため、誤って二度処理されることもない。該当する画像が見つかると、AIが認識しやすいようにサイズを調整(長辺が1536ピクセルになるように拡大縮小)してから、AIモデルに送られる。AIは画像の内容を基に、アプリ名やサイト名、画面上の特定の情報(エラーメッセージ、支払い情報、ページタイトルなど)を数語のキーワードとして生成する。このキーワードを元に、小文字とハイフンで構成された新しいファイル名が作られる仕組みだ。もし同じ名前がすでに存在する場合は、自動的に末尾に「-2」のような番号を付与して重複を避ける。そして、すべてのリネーム履歴は「.slothshot.tsv」というログファイルに記録される。
slothshotにはいくつかの便利な機能が搭載されている。まず、いきなりファイル名を変更するのではなく、変更案だけを表示する「ドライラン」モードがある。これにより、実際に名前が変わる前に、どのような名前が提案されるのかを確認できる。提案された名前が良ければ、「-apply」オプションを使って実際にファイル名を変更できる。もし変更した名前が気に入らなかったり、元のファイル名に戻したい場合は、「-undo」オプションで元のファイル名に戻すことも可能だ。これは、ログファイルに元の名前が記録されているため実現できる機能である。
さらに便利なのが、「-watch 1m」オプションだ。これを実行すると、slothshotは指定したスクリーンショットフォルダを常時(例:1分おきに)監視し、新しいスクリーンショットが追加されると、自動的に内容に基づいた名前に変更してくれる。これにより、スクリーンショットを撮るたびに手動でリネームする手間が一切なくなり、常に整理された状態を保てる。
開発の過程では、いくつかの技術的な課題も発生し、工夫して解決された。例えば、AIモデルが初期設定では「思考プロセス」に多くの時間を使い、肝心なファイル名の提案が返ってこない問題があった。これは、AIの設定を調整し、「思考プロセス」を無効にすることで、約1秒で回答が返ってくるように改善された。また、画像の解像度が低いと、AIが予約番号のような詳細な数字の羅列を正確に読み取れないことが判明した。そのため、画像処理にかかる時間が若干増えることを許容し、画像の解像度を上げてAIに渡すことで、より正確な情報を抽出できるように改善された。完璧な命名ができない場合(例えば、スペルミスや検索したい重要な情報の欠落)もあるが、それでも「Screenshot 2026-10-16 at 16.30.00.png」のような意味不明なファイル名よりは、はるかに検索しやすく、実用上の有用性は非常に高い。
このslothshotが示しているのは、オープンソースのAIモデルとローカル実行可能な技術を組み合わせることで、セキュリティとプライバシーを確保しながら、最新のAI技術の恩恵を最大限に受けられるという強力なメッセージだ。自分のPC上でAIを動かすことで、機密性の高いデータを外部にアップロードせずに済み、かつ、費用もかからない。もし将来、さらに性能の良いオープンソースのAIモデルが登場すれば、slothshotは設定を少し変更するだけで、その新しいモデルに切り替えて利用できる。特定のクラウドサービスに依存しないため、ベンダーの都合でサービスが終了しても、自分のツールは動作し続けるという、持続可能性の面でも大きなメリットがある。
slothshotは、日々のPC作業で直面する小さな不便さを、最新のAI技術とプログラミングの力でスマートに解決する素晴らしい事例だ。システムエンジニアを目指す皆さんにとって、この事例は、日常生活の中にある問題を特定し、それを解決するためにどのような技術を選定し、ユーザーのプライバシーや利便性をどのように考慮しながら解決策を構築するか、という思考プロセスを学ぶ良い機会となるだろう。単にAIを動かすだけでなく、それがどのようにユーザーの生活を豊かにするか、そしてどのような技術的な課題を克服したかを理解することは、将来のシステム開発において非常に役立つはずである。