スマートフォンで街の風景やイベント、あるいはデモ活動などの写真を撮影し、SNSに投稿する機会は日常の中に数多くあります。しかし、その写真の中に意図せず写り込んでしまった見知らぬ人の顔や、写真データに隠されている撮影場所などの情報について、不安を感じたことはないでしょうか。

「見知らぬ人のプライバシーを守るために顔をぼかしたい」「写真から位置情報などの隠れたデータを消したい」と思っても、専用の編集ソフトを起動して1枚ずつ手作業で加工するのは非常に手間がかかります。また、インターネット上の無料加工サービスを使う場合、大切な写真を外部のコンピュータ(サーバー)にアップロードしなければならず、そこからデータが漏洩するリスクも否定できません。

こうした課題を解決するために注目されているのが、AI(人工知能)に適切な指示を与えてツールを構築する「プロンプトエンジニアリング」というアプローチです。海外の著名な技術者であるSimon Willison(サイモン・ウィリソン)氏は、抗議デモの写真を共有する際のプライバシー懸念をきっかけに、AIを活用して写真の顔ぼかしとメタデータ(撮影日時や位置情報などの付加情報)除去を自分の端末内だけで完結させるWebツール「Photo Scrubber(フォト・スクラバー)」の試作を行いました。

本記事では、「Photo Scrubber」の考え方を題材に、プロンプトエンジニアリングを活用してセキュリティやプライバシーに配慮したツールを効率よく設計・構築・運用するためのガイドラインを分かりやすく解説します。


課題から生まれた「Photo Scrubber」とローカル処理の重要性

SNS共有のプライバシーリスクを防ぐ!AIプロンプトエンジニアリングで構築する画像保護ツール「Photo Scrubber」の設計と運用ガイドの概念図

まずは、今回のテーマの背景にあるプライバシー問題と、「Photo Scrubber」というツールが解決しようとしている課題について整理します。

写真共有に潜む2つの大きなリスク

日常や業務で撮影した写真をインターネット上に公開する際、大きく分けて2つのリスクが存在します。

  1. 個人が特定される顔の写り込み 街頭の風景やイベントの記録写真には、第三者の顔が鮮明に写り込んでいることがあります。本人の許可なく顔写真を拡散することは、肖像権やプライバシーの侵害につながるおそれがあります。
  2. 写真データに含まれる位置情報や撮影日時(メタデータ) デジタルカメラやスマートフォンで撮影した写真には、「EXIF(エグジフ)」と呼ばれる標準フォーマットに基づき、撮影した日時や正確な位置情報(GPS座標)、使用した端末のモデル名などが隠しデータとして記録されています。写真そのものには写っていなくても、このメタデータを解析することで、自宅や職場の場所、行動範囲が特定されてしまう危険性があります。

外部サーバーに送らない「ローカル処理」の安心感

これらのリスクを防ぐために、顔のぼかし処理やメタデータの削除を行う必要があります。しかし、加工のために画像を一度どこかのWebサービス(サーバー)に送信する仕組みだと、送信途中の通信データの盗聴や、サーバー側での画像保存・流出といった別のリスクが発生します。

そこで重要になるのが、**「ローカル処理(クライアントサイド処理)」**です。これは、インターネットを介して画像を外部に送信せず、自分自身が使っているパソコンやスマートフォン(Webブラウザ上)の内部だけで写真の加工処理を完結させる仕組みを指します。データが端末の外に出ないため、情報漏洩のリスクを極めて低く抑えられます。

Simon Willison氏が提案した「Photo Scrubber」は、まさにこの「ローカル環境で顔のぼかしとメタデータ除去を行う」という目的を持った実験的なWebツールです。そして、このツールを短時間で構築するために駆使された技術が「プロンプトエンジニアリング」でした。


プロンプトエンジニアリングでツールを作る:導入・設計のステップ

プロンプトエンジニアリングとは、AIに対して正確かつ効果的な指示文(プロンプト)を入力し、望む結果や成果物(プログラムコードや文章など)を引き出すための技術・手法のことです。

プログラミングの深い知識を持たない人でも、AIを相棒としてプロンプトエンジニアリングを活用することで、自身の悩みを解決するツールを設計・構築できるようになります。ここでは、実務で使えるツール構築の具体的な手順を解説します。

ステップ1:課題と要件の言語化(プロンプトの骨組み作り)

AIに指示を出す前に、作ってほしいツールの条件を人間側で整理する必要があります。今回の事例であれば、以下の要件が考えられます。

  • 目的:写真の中の顔を保護し、位置情報などのデータを削除する。
  • 動作環境:外部サーバーを使わず、利用者のWebブラウザ内(ローカル)だけで処理を完結させる。
  • 必要な機能:
    1. 画像ファイルを読み込む機能
    2. 写真に含まれるEXIFデータ(メタデータ)を削除する機能
    3. 写真の中の顔を自動または手動で検出してぼかしを入れる機能
    4. 加工後の画像を自分の端末に保存(ダウンロード)する機能

これらの要件をAIが解釈しやすい明確な言葉に書き起こします。

ステップ2:指示文(プロンプト)の作成と実行

要件が整理できたら、AIに対して指示を出します。実務において成果物の精度を高めるためには、単に「ツールを作って」と頼むのし、「役割(ロール)」「制約条件」「出力形式」を明確に提示することがプロンプトエンジニアリングの基本です。

以下は、安全な画像加工ツールを作成させるためのプロンプトの設計例です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
【役割】
あなたは優秀なフロントエンドWeb開発者およびセキュリティの専門家です。

【目的】
ユーザーのプライバシーを保護するため、写真の顔ぼかしとメタデータ除去をブラウザ上(ローカル環境)でのみ行う単一ページのWebアプリを作成してください。

【制約条件】
1. 画像データや処理結果を外部のサーバーに送信しないでください。すべての処理はJavaScriptを用いてブラウザ内で完結させてください。
2. 画像のEXIFデータ(GPS位置情報や撮影日時など)を取り除いて保存できるようにしてください。
3. 画像内の顔を検出し、自動でぼかし処理をかける仕組みを組み込んでください。
4. HTML、CSS、JavaScriptをまとめた単一のHTMLファイルとして出力してください。

【出力】
必要なソースコードと、そのコードがローカル環境のみで動く理由の解説を出力してください。

このように具体的な制約(「サーバーに送らない」「単一のHTMLファイルで出力する」など)を設けることで、AIは安全で意図通りのプログラムコードを出力しやすくなります。

ステップ3:AIとの対話による機能拡張と対話的調整

AIから最初に出力されたコードが完璧であるとは限りません。プロンプトエンジニアリングの本質は「1回の指示で終わらせる」ことではなく、「AIと対話を重ねて徐々に完成度を高める」点にあります。

たとえば、実際の運用では以下のような追加指示(プロンプト)を出してツールを改良していきます。

  • 認識漏れの補正:「自動でぼかされなかった顔を、ユーザーがマウスでクリックして追加でぼかせる手動機能を追加してください。」
  • 使いやすさの向上:「ドラッグ&ドロップで画像を読み込めるように直感的なデザインに修正してください。」
  • 安全性の向上:「画像が本当に外部へ送信されていないかを確認できる処理ログ画面を付けてください。」

このように、段階的にプロンプトを与えていくことで、自分の用途にぴったり合った使いやすいツールへと進化させることができます。


運用時の注意点とAI活用の限界

プロンプトエンジニアリングを活用すれば、短時間で実用的なツールを作成できますが、実務運用においてはいくつかの注意点と確認すべき事項が存在します。

1. AIが作成したプログラムの安全性の検証

AIに対して「ローカルだけで処理して」と指示しても、AIが誤って外部のライブラリ(プログラムの部品)をインターネット経由で読み込むコードを生成してしまうことがあります。

実務で運用する際は、ツールを実際に使う前に「インターネットを切断した状態(オフライン)」で正しく動作するかをテストすることが推奨されます。オフラインでも問題なく動くのであれば、外部にデータが漏洩していないことが確認できます。

2. 顔認識の精度と限界

顔の自動ぼかし機能は、写真の明るさや顔の向き、マスクの有無などによって、認識から漏れてしまう場合があります。AIによって作成されたツールを全面的に過信せず、最終的には人間が目視で確認し、手動でぼかしを追加できる仕組みを必ず設けておくことが重要です。

3. 未確認の技術仕様について

一次情報(Simon Willison氏のブログ記事)において、同氏は「GPT-6 Astra」というモデルを使って「Photo Scrubber」の実験を行ったと記載されています。ただし、この「GPT-6 Astra」の具体的な内部仕組みや非公開の技術詳細、またツール全体のすべてのコード実装については、外部に公開されている以上の情報は「未確認」となります。

実務においてAIモデルを選定する際は、自分が利用可能なAIモデル(例:GPT-4oやその他の公開されている生成AI)の能力に合わせて、適切なプロンプトを設定・検証することが求められます。


まとめ:プロンプトエンジニアリングで広がる業務改善の可能性

今回は、Simon Willison氏による画像プライバシー保護ツール「Photo Scrubber」の事例を参考に、プロンプトエンジニアリングを活用したツールの導入・設計・運用方法について解説しました。

本記事のポイントをまとめます。

  • 課題の共有:SNSやWeb上に公開する写真には、個人の顔や位置情報メタデータといったプライバシーリスクが存在します。
  • ローカル処理の必要性:データを外部サーバーに送信せず、手元のブラウザ内だけで処理を完結させることが安全確保の鍵となります。
  • プロンプトエンジニアリングの役割:専門知識が限られていても、目的や制約条件を明確にした指示文(プロンプト)をAIに与えることで、自分に必要なツールを素早く構築・改良できます。
  • 安全な運用の徹底:AIが作ったコードが本当に外部送信を行っていないか、オフライン環境などで確認・テストする姿勢が欠かせません。

プロンプトエンジニアリングは、単に文章を書かせるためだけの技術ではありません。日々の業務や身の回りの小さな「困りごと」を解決するためのソフトウェアを、自分自身の手で安全かつスピーディに作り出すための強力な武器となります。

まずは「こんなツールがあったら便利かもしれない」「自分のデータを安全に処理したい」という身近な課題から、AIにプロンプトを出してツール作りに挑戦してみてはください。


参考資料