「先週編集したあのファイル、名前が思い出せない」——Windowsユーザーなら一度は経験があるはずです。
この記事では、XDA Developersの技術ライターがClaude Codeで構築した自然言語ファイル検索ユーティリティの仕組みと、Windows Searchが抱える課題への解決策を解説します。
この記事でわかること
- Windows Searchがうまく機能しない根本的な理由
- Claude HaikuとSQLiteを組み合わせた検索の動き方
- 8万7千ファイルを0.2秒以下で検索する実装のポイント
- MicrosoftのCopilot戦略との対比
Windows Searchが要求する「記憶」の負担
Windows Searchは、ファイル名を正確に覚えているときは十分に機能します。一方で、「先週木曜に編集したファイル」や「数週間前に保存したXboxという文字を含む画像」のように、断片的な記憶しかない場合は見つけにくいのが実情です。
XDA DevelopersのAbhinav Raj氏は、この問題を「完全に壊れている」のではなく「中途半端である」と指摘しています。検索ツールはユーザーの記憶負荷を減らす存在であるべきなのに、ファイル名・保存フォルダ・固有の文字列を思い出すよう求めてしまう。これはユーザビリティ研究者のJakob Nielsenが提唱する第6のヒューリスティック「認識に頼り、想起を求めない」に反する設計だとRaj氏は述べています。
Claude Codeで生まれた解決策
Raj氏は「ファイルの内容を自然言語でLLMに伝えられれば、ファイルシステムへのアクセス権を持つLLMが見つけてくれるのでは」と考え、Pythonの骨格コードをClaude Codeに渡してユーティリティを構築しました。
完成したツールは、指定したディレクトリのファイル一覧をローカルのSQLiteデータベースにインデックス化し、英語の自然言語でファイルを説明するだけで検索できます。Bing連携の検索結果に頼らず、自分が付けた奇妙なファイル名を思い出す必要もありません。
Haikuが意図を読み取り、SQLが絞り込む
このユーティリティの核心は、Claude Haikuによるクエリ解析とSQLiteへの変換です。
通常のキーワード検索が部分文字列の一致を探すのに対し、Haikuは自然言語の説明からファイル種別・日付範囲・サイズ制約・キーワードを個別のパラメータとして抽出し、それをもとにSQLクエリを組み立てます。検索結果はミリ秒単位で返ります。
Raj氏が公開ディレクトリで試した例では、「publishing schedule」と入力するとスプレッドシートと画像の両方がヒットします。「publishing schedule, saved as an image」と入力すると画像ファイルだけに絞り込まれます。ファイル種別という条件を自然言語で追加できる点が、従来の検索との決定的な違いです。
APIキーを使いたくない場合は、外部通信なしで動くローカルフォールバックパーサーも用意されています。単純な説明であればこれで十分ですが、同義語・言い換え・複数条件を組み合わせたクエリはHaiku版のほうが対応できます。
8万7千ファイルを0.2秒で検索する軽量設計
初期版はインデックス作成に時間がかかり、実用に耐えない速度でした。書き直し後の性能は次のとおりです。
- 8万7千ファイルのディレクトリで初回インデックス作成は約2.6秒
- 2回目以降の検索は約0.2秒以下
- Windows・Temp・ごみ箱などのシステムフォルダをデフォルトでスキップ
- コード全体は約30KB、Python 820行
Cドライブ全体のファイル数を大幅に削減するシステムフォルダ除外と、SQLiteによるローカルインデックスの組み合わせが、自然言語検索を実用的な速度に押し上げています。
MicrosoftのCopilot戦略とのギャップ
MicrosoftはOS戦略の中心にAIとCopilotを据えていますが、日常的なファイル検索の使い勝手にはまだギャップがあるとRaj氏は指摘しています。
Copilotアプリ単体でも自然言語でのファイル検索は可能ですが、ファイル名とファイル種別に基づく検索に限られ、ドキュメント内部のテキストは対象外です(参考)。ファイル内容の意味を理解するセマンティック検索は、Copilot+ PCのNPUを使った機能に限定されています。
Windows 11では2026年に2文字検索やサブストリング検索の改善が進んでいますが、これらはキーワード一致の精度向上であり、自然言語での意図理解とは別のレイヤーです。Raj氏は「軽量な言語モデルを正しい問題に向けるだけで、毎日数百万のユーザーが抱える不満に応えられる」と述べ、Microsoftの巨額投資にもかかわらず、この領域は外部の個人開発から先に実用案が出てきたと評しています。
自分でも試すなら
Claude CodeはAnthropicが提供するAIコーディングアシスタントで、デスクトップアプリのCodeタブからローカルフォルダに直接アクセスして開発できます。Pro・Max・Team・Enterpriseのいずれかのサブスクリプションが必要です。WindowsではGit for Windowsのインストールがローカルセッションの前提条件になります。
Raj氏の事例が示すのは、LLMをチャット画面に置くのではなく、クエリ解析という特定の処理に組み込む設計の有効性です。ファイル検索という身近な課題に、Haikuのような軽量モデルとSQLiteのローカルインデックスを組み合わせるだけで、Windows Searchの弱点を補える可能性があります。
