Litmus — 話題のニュースを、深く読み解く。 RSS
ソフトウェア

macOSが作る人間関係グラフ、iKnowで中身を確認できる

macOSは2022年のmacOS 13以降、連絡先や写真などから人間関係を推測するグラフを裏で作っている。研究者が公開した無料ツールiKnowを使うと、その中身を自分のMacで確認できる。

暗い室内で、開いたノートパソコンのトラックパッドに手を置いている写真

イメージ写真 記事の内容を撮影したものではありません。Photo by Junior Teixeira on Pexels

この記事には Amazon アソシエイトのリンクを含みます。

連絡先に電話番号を登録し、写真アプリで家族の写真を整理し、メッセージで毎日のやり取りをする。Macを使っていれば誰もがしているこうした操作を、macOSは裏側で全部つなぎ合わせている。そこから、誰が家族で誰が友人かまで独自に推測している。

2026年10月28日、研究者のDario Pasquini氏とMichał Bazyli氏が、この仕組みを調べたレポートを8rankで公開した。同時に、自分のMacでその中身を確認できる無料ツール「iKnow」も公開している。macOSは2022年に出たmacOS 13以降、こうした人間関係の地図を作り続けているという。保存先はどこで、何をもとに家族だと判定しているのか。

人間関係を束ねる常駐プログラム

Macの中では2つの常駐プログラム(デーモン)が動いている。knowledgeconstructiondとintelligenceplatformdだ。普段は目に入らない。8rankのレポートによると、連絡先・写真・カレンダー・メッセージ・メール・位置情報・画面ロックの記録などを横断して分析し、その人を中心にした「知識グラフ」を組み立てるという。

知識グラフとは、人や物をバラバラなデータとして持つのではなく、「Aさんは母」「Bさんは職場の同僚」のように、つながりの形で1つにまとめたものを指す。8rankのレポートは、この仕組みがmacOS 13以降のすべてのMacに搭載されているとみられると書く。レポート自身も「とみられる」という、断定を避けた書き方をしている。

Appleの研究者も2023年の論文で、端末上でこの種の知識グラフを作り、同期し、補強する技術について述べている(arXiv)。ただし、macOSでの具体的な実装がどうなっているかは、その論文には書かれていない。8rankのレポートの著者は、Appleの公式な説明はman 8 knowledgeconstructiondという短いコマンドの数行だけだとする。そのうえで「得られるのはこれだけだ」と素っ気なく評している。

この仕組みは、どこにどんな形でデータを持っているのか。

51個のデータベースの中身

8rankのレポートによると、人間関係グラフの実体は、~/Library/IntelligencePlatformというフォルダに置かれた51個のSQLiteデータベースだ。中心になるgraph.dbには、「誰が・何の関係で・誰と」という三つ組(トリプル)の形でデータが入る。前の節で挙げた「Aさんは母」という関係も、この形に当てはめると「Aさん・母という関係・自分」という1行になる。人や場所などを表す181種類の「エンティティクラス」と、278種類の「関係(述語)」が定義されている。

データの出どころは幅広い。8rankのレポートが挙げるものだけでも、次の種類がある。

  • 連絡先、写真の顔クラスタリング、カレンダー
  • ファミリー共有に登録された年齢、ヘルスケアの緊急連絡先
  • Siriがメールやメッセージから見つけた人物や予定
  • インストール済みのアプリ、通信履歴(誰といつどのアプリでやり取りしたか。本文は含まない)
  • 位置情報や移動、Wi-Fiなど端末の信号

8rankのレポートは、Apple Intelligenceが有効なら、オンデバイスのLLMがメッセージ本文を読むと書く。写真の顔に名前と関係性を割り当てる役目も、このLLMが担うという。

この場所はTCCの「フルディスクアクセス」で保護されており、普段は勝手に読み書きされない。ただし中身は暗号化されておらず、平文で保存されている(8rankのレポート)。

51個のデータベース。181種類のエンティティ。278種類の関係。グラフに入るのは、自分だけではない。8rankのレポートは「周囲の人々もグラフに含まれる。家族も友人も、端末を通じて連絡を取ったことのある『誰か』も」と書く。本人が同意した覚えのない相手まで、ノードとして記録される規模になっている。

ここまでの量を知ると、次に気になるのは「誰が家族かをどうやって決めているのか」だろう。

家族らしさを計算する仕組み

仮に、連絡先に「母」として登録された人物がいるとする。同じ姓、同じ住所、頻繁なメッセージのやり取り、写真での共起(一緒に写っている回数)といった情報が、判定の材料になる。連絡先の登録名と、こうした行動データの両方を照らし合わせて初めて、スコアが決まる仕組みだ。

8rankのレポートによると、この判定には2つのXGBoost分類器(EntityTagging_Family、EntityTagging_FamilyAndFriends)を使う。入力は144個の特徴量で、これをもとに家族かどうかを計算する。結果は信頼度のスコアとしてentityTagging.dbに記録され、毎日再計算される。

つまりmacOSは、連絡先の登録名をそのまま信じているのではない。日々の行動の積み重ねから、家族らしさを独自に計算し直している。

この計算を、人は確かめたり直したりできるのだろうか。8rankのレポートは「誤った推論を訂正する一般的な手段はない」と明記している。自分はこの一文の素っ気なさに、Appleの対応の手薄さを感じた。間違って家族や友人と判定されても、ユーザー側から修正する窓口は用意されていない。

iKnowで自分のMacを覗く

ここまでの中身は、8rankが調べるまで公式の文書もなく、外から確かめる手段がなかった。公開された「iKnow」を使うと、これを自分のMacで確認できる。GitHubのREADMEに沿うと、手順は次のようになる。

  1. ターミナルアプリに「フルディスクアクセス」の権限を一時的に与える
  2. iKnowのリポジトリをgit cloneし、python3 server.pyを実行する
  3. 表示されたリンクをブラウザで開く。人物の関係グラフ、写真に写った顔、家族、よく連絡する相手、次の予定の場所などが約12ページに分けて表示される
  4. 確認が終わったら、ターミナルに与えたフルディスクアクセスの権限をオフへ戻す

GitHubのREADMEによると、iKnowは127.0.0.1だけに接続を受け付け、データベースはすべて読み取り専用(mode=ro)で開く。外部への通信はContent-Security-Policyでブロックされ、値の保存やログ出力もしない。Python 3があれば、追加のライブラリなしに動く。

確認するときの注意点

iKnowを使うときは、2つ覚えておきたい。1つは対応バージョンだ。GitHubのREADMEによると、動作確認が済んでいるのはmacOS 26.6.2と26.7.1。2026年9月に出たmacOS 27系は、一部のページしか正しく動かない可能性がある。

もう1つは、GitHubのREADMEに「iKnowは完全にLLMで生成されており、100%正確とは限らない」と明記されている点だ。表示される内容は、グラフの中身を読み取って見せたものであり、ツール自体の表示が常に正確とは限らない。グラフの判定に納得がいかない場合も、前の節で見たとおり訂正する手段は用意されていない。

まとめ

macOSは2022年に出たmacOS 13以降、連絡先・写真・メッセージなどを横断して人間関係グラフを作り続けている。保存先は51個のSQLiteデータベースで、181種類のエンティティと278種類の関係が記録される。家族かどうかは、144個の特徴量を使う機械学習で毎日計算されている。訂正する手段は用意されていないが、研究者が公開した無料ツールiKnowを使えば、この中身を自分のMacで、外部に送信することなく確認できる。

この記事の先を読む本を探す

特定の本を勧めるものではありません。検索結果から、いまの版と目次を確かめて選んでください。

コメント

気づきや感想をどうぞ

記事への補足や、読んで考えたことをお寄せください。個人情報や、他の人を傷つける内容の投稿はお控えください。

コメントを読み込んでいます…

    ほかの記事

    最新の記事 →