AI写真検索は、デバイスによって異なる結果になることがよくあります。ランキング、インデックスの鮮度、表示領域の制限、操作状況によって、最初に表示される内容が変わるためです。
スマートフォンでは、5枚の大きなポートレート写真が表示され、タップを促されることがあります。一方、同じ言葉をデスクトップで検索すると、数十枚の小さなサムネイル、フィルター、日付が表示されます。元のライブラリは同じでも、各クライアントが送信するクエリのコンテキスト、現在利用できる検索インデックス、画面上部に表示されるランキング一覧の量、次の絞り込みを促すインターフェースのシグナルが異なります。
画面によって体験するランキングの範囲が変わる
検索結果は候補の順序付きリストとして返されますが、ユーザーが体験するのはそのうち表示された部分だけです。スマートフォンでは1列表示や少数の大きなタイル表示になるため、上位3件が印象を大きく左右します。デスクトップでは、複数の行、タイムスタンプ、サイドフィルターを同時に表示できます。そのため、ランキングがまったく同じでも、小さな画面ではより限定的で、個人的、または不完全な結果に感じられることがあります。
Google Photosは、人物、場所、物体、自然言語による検索リクエストに対応していますが、利用できる機能はアカウント設定、言語、地域によって異なる場合があります。現在の写真検索の概要でも、アプリ中心の編集機能やモバイル体験と、より広範なデスクトップアクセスが区別されています。インターフェースの機能によって、表示される検索条件や、ユーザーが見つけられるクエリの絞り込み方が変わります。
因果関係は単純です。表示領域が見える証拠を決め、見える証拠がユーザーの関連性判断を変え、その判断が次のタップやクエリを変えます。これはモデルの違いというより、まず表示方法による影響です。最初の画面だけを比較すると、スクロールしたり、両方のクライアントを同じ並べ替え順に切り替えたりすれば消えるランキング差を、実際より大きく見積もる可能性があります。
ファイルが同期されていてもインデックスの鮮度は異なる場合がある
写真が表示されるようになったからといって、すべてのAI機能による処理が完了したとは限りません。アップロード、サムネイル生成、メタデータ抽出、顔認識、物体の埋め込み生成、OCR、検索インデックス作成は、別々のジョブとして実行されることがあります。また、スマートフォンにはサーバーにまだ到達していないローカル限定の項目が残っている場合がある一方、デスクトップにはサーバー側で処理が完了したアセットだけが表示されることもあります。
Immichの説明によると、スマート検索ではCLIPの埋め込みを機械学習サービスで生成します。新しいアセットがこれらのジョブの完了前に表示される場合、通常の日付検索やファイル名検索では見つかっても、セマンティック検索では見つからないことがあります。サーバーのインデックスが準備できた後でも、クライアントの古いキャッシュによってさらに遅延が生じる場合があります。
この場合、よく見られるのは、最近の写真だけがデバイス間で異なり、古い結果は一致するというパターンです。モデルは正しく動作している可能性があり、2つのクライアントが異なる世代のインデックスや異なるアセット集合を検索しているだけかもしれません。セルフホスト型のライブラリでは、ジョブの状態とインデックスのバージョンを表示し、「アップロード済み」「バックアップ済み」「意味による検索が可能」を別々の状態として扱えるようにすると便利です。
デバイス上のモデルが第2のセマンティック層を追加することがある
プライバシー、応答性、またはローカルハードウェアに紐づく機能のために、デバイス上で認識処理を行う写真アプリもあります。スマートフォンが、Webクライアントでは利用できない人物、シーン、ランドマーク、テキストのシグナルを提供する場合があります。一方、サーバーでホストされたライブラリでは、1つの共有埋め込みモデルを使用します。モデルのバージョン、言語、ハードウェア経路が異なると、同じ画像とクエリが少し異なるセマンティック近傍にマッピングされることがあります。
Appleは、写真を非公開で整理・選別するために使用されるデバイス上のシーン分析について説明しています。この設計は、「同じアカウント」が必ずしも「同じ推論経路」を意味しない理由を示しています。あるデバイスが、一般的なサーバー側メタデータとしてアップロードされていない派生ラベルや埋め込みを保持している場合、別のクライアントは受け取っていないシグナルを使ってランキングすることはできません。
ただし、スマートフォンとデスクトップの両方が、同じクエリパラメーターで同じサーバーAPIを利用するシンクライアントである場合、この仕組みでは差を説明できません。その場合は、まずページネーション、並べ替え順、非表示フィルター、キャッシュされたレスポンス、表示グループ化を確認してください。スマートフォンのハードウェア性能が高いからといって、必ず検索モデルが優れているとは限りません。違いが生じるのは、アプリケーションが実際に別のローカル推論経路を使用している場合だけです。
統制された検索手順でデバイスを比較する
人物、場所、物体、テキストの一部、イベント、抽象的な説明を網羅する、固定した10個のクエリを選びます。両方のクライアントで、同じアカウント、ライブラリ、言語、フィルター、並べ替えモード、期間を使用していることを確認します。サーバーのジョブが完了するまで待ち、スクリーンショットで判断するのではなく、上位10件のアセットIDを記録します。クライアントのキャッシュを消去してから、もう一度繰り返します。
NASでのセマンティック検索について共通の説明を確認すると、埋め込みの類似度とファイル名やフォルダーを切り分けるのに役立ちます。テストでは、10件における一致率を計算し、順序の変化を記録し、一方のクライアントにだけ存在するアセットを確認します。その後、利用できる場合は、各インターフェースが表示する内容と生のAPIレスポンスを比較します。
アセットIDと順序が一致するなら、違いは表示方法にあります。古いクエリは一致するのに最近の写真だけが一致しない場合は、インデックスの鮮度が最も有力な原因です。状態が同期され、パラメーターも同一なのにランキングが異なる場合、クライアントが異なる再ランキングやモデルのシグナルを適用している可能性があります。この手順によって、「感じ方が違う」という印象を、コーパス、インデックス、ランキング、レンダリングという4つの測定可能な層に分解できます。
| 観測された違い | 最も可能性の高い層 | 確認方法 |
|---|---|---|
| 同じIDだが印象が異なる | レンダリング | 上位10件のIDを比較する |
| 最近の写真が表示されない | インデックスの鮮度 | 処理ジョブの完了を待つ |
| スマートフォンにしかないアセットだけが異なる | コーパスの同期 | バックアップの完了を確認する |
| 順序の違いが安定している | ランキングのコンテキスト | クエリパラメーターを一致させる |
よくある質問
画面が小さいと検索結果の数も少なくなりますか?
必ずしもそうとは限りません。サーバーが同じページサイズで結果を返していても、インターフェースがスクロール前に表示する項目数は少なくなることがあります。ページネーションや遅延読み込みによって、追加の候補が要求されるタイミングが変わる場合もあります。
サムネイルの品質によってAI検索は変わりますか?
一方の経路でサムネイルや別の派生画像を埋め込みに使用している場合に限り、変わる可能性があります。両方のクライアントが共有サーバーの埋め込みを検索しているなら、サムネイルの解像度はランキングよりも表示に影響します。
なぜ人物の検索結果が最も異なりやすいのですか?
顔のグループ化は、ユーザーによるラベル付け、地域ごとの提供状況、ローカル処理、プライバシー設定に左右されることがよくあります。これらのシグナルは、基本的な日付や位置情報のメタデータよりもクライアント間で変わりやすい傾向があります。
テック&AIハブ
もっと読む

ローカルRAGの検索品質を測定し、再現率・適合率・引用カバレッジを解釈する方法
ローカルRAGのテストセットを構築し、主要な検索指標を算出し、それらのトレードオフを解釈し、回答の主張が引用された根拠によって裏付けられているかを監査する。

サンプリングレートが同じ場合、センサー数の増加に伴ってスマートホームの機能計算がより重要になるのはなぜですか?
デバイス数の増加に伴うセンサーごとおよびセンサー間の計算処理を追跡し、非線形な融合コストを特定して、自動化処理に遅延が生じる前に特徴量パイプラインのベンチマークを実施します。

同じクエリ量でも、ドキュメントライブラリが拡大するとRAG評価コストが重要になるのはなぜか?
ユーザークエリを増やさずにコーパスの拡大がRAG評価の工数を増加させる理由と、層別テストによってコストをリスクに応じて抑えられる仕組みを理解する。

