AI Library
自律的科学発見の時代
キム・ギョンジン, 弁護士
AI科学者とセルフドライビング・ラボ
AI科学者とセルフドライビング・ラボが、科学研究における主張の生成と検証をどのように変えつつあるのかを追います。文献に基づく発見、自然言語プロトコルからロボット命令への変換、マルチエージェント研究システム、閉ループ実験室、材料探索、検証ギャップ、証拠の連鎖、研究ハーネス、学術誌倫理、法的責任までを扱います。
AIライブラリ
デジタル主権の二重構造
欧州の脱パランティアとアメリカン・ビッグテックの鎖
金景珍(キム・ギョンジン), 弁護士
欧州の情報機関と国防省が米パランティアの分析ツールを排除し始めた2026年の記録です。フランス国内治安総局とドイツ連邦憲法擁護庁、オランダ国防省の置き換え決定、米国の輸出規制が同盟国の人工知能アクセスをわずか3日で遮断した事件、CLOUD ActとFISA 702条がもたらした域外管轄の実態を扱っています。欧州連合のクラウド・AI開発法(CADA)が定めた4段階の主権保証レベルと主権理由による契約解除権、ユーロスタック構想と3,000億ユーロの投資障壁に至るまで、全5章15節と結論2節で整理しました。
[AI書斎] 第11章 自分専用のドキュメント検索ツールとわが家のコントロールパネル
AIエージェントと使う パソコン1000%活用
第11章 自分専用のドキュメント検索ツールとわが家のコントロールパネル
金景珍(キム・ギョンジン)
導入:「あのファイル、確かにどこかにあるはずなのに……」
キム代理は午後の会議資料を準備していて手が止まってしまいました。先月取引先から送られてきた契約条件が記載された文書が必要なのですが、ファイル名がどうしても思い出せません。「契約」で検索すると数十件もヒットします。ひとつひとつ開いて確認しているうちに、すでに30分が経過してしまいました。
このような経験は、誰にでもあるのではないでしょうか。パソコンに何百、何千ものファイルが蓄積されると、ファイル名だけで目的の文書を探し出すのは困難になります。「ファイル本文に書かれた内容」で検索できたらどんなに便利でしょうか。まるでGoogleでWebページを検索するように、自分のパソコン内の文書を検索するツールをAIエージェントと一緒に作ってみましょう。
仕組み:インデックス(索引)とは何か
本の巻末にある「索引(さくいん)」を思い出してみてください。「人工知能」という単語が23ページ、45ページ、112ページに出てくるとあらかじめ整理された一覧です。この一覧のおかげで、本全体を1ページずつめくらなくても目的の内容をすぐに見つけることができます。
コンピューターでも同じ仕組みを利用できます。これをインデックス(index、索引)と呼びます。インデックスとは、文書の中に含まれる単語をあらかじめ抽出して「この単語はどのファイルの何番目の位置にあるか」を整理しておいた一覧のことです。
インデックスを一度作っておけば、後から検索するときにファイルをひとつひとつ開いて確認する必要がありません。インデックス一覧を走査するだけで済むため、数千個のファイルがあっても1秒以内に結果が得られます。
私たちが作成する「自分専用のドキュメント検索ツール」は、次のような流れで動作します。
ステップ1:指定したフォルダ内の文書をすべて読み込みます。ステップ2:文書内の単語を抽出してインデックス一覧を作成します。ステップ3:検索語を入力するとインデックスから検索して結果を表示します。
全文検索(full-text search)とは、ファイル名だけでなくファイル本文の中の文字まで検索することを指します。本章で作成する検索ツールこそが、まさにこの全文検索ツールです。
どんなファイルを検索できるのか
今回作成する検索ツールは、以下のようなファイルを検索対象にできます。
- テキストファイル:TXT、MD、CSV、JSONなどの文字データファイル
- Word文書:DOCXファイル
- PDF文書:テキストが含まれるPDFファイル
- スプレッドシート:XLSXファイル内のテキスト
スキャンした画像PDFのように文字が画像として埋め込まれているファイルは、OCR(Optical Character Recognition、光学文字認識)という別の技術が必要です。これについては後ほど別途解説します。
実践:AIエージェントと一緒に検索ツールを作る
この実践では、AIエージェントにPythonベースのシンプルな検索ツールの作成を依頼します。Pythonの知識がなくても問題ありません。AIがコードを代わりに書いてくれます。私たちはプロンプトを的確に伝えるだけで十分です。
- ステップ1:環境の確認
まず、AIエージェントに現在の環境を確認してもらいます。
「私のコンピューターにPythonがインストールされているか
確認し、バージョンを教えてください。」
→ AIがPythonのインストール有無とバージョンを確認してくれます。インストールされていない場合は導入手順も案内してくれます。
- ステップ2:検索ツールの骨組みを作る
いよいよ本格的に検索ツールの作成を依頼します。
「ドキュメントフォルダにTXT、MD、PDF、DOCXファイルが
数千個あります。ファイル名ではなく本文中の文字まで
検索できるローカル全文検索ツールをPythonで
作成してください。
インデックスをあらかじめ作成し、検索語を入力すると
該当するファイル名と本文の一部を表示する方式に
してください。
最初は読み取り専用で動作し、元のファイルは
決して変更しないようにしてください。」
→ AIがwhoosh、pdfplumber、python-docxなどの無料ライブラリを活用して検索ツールを作成してくれます。インデックスを生成するスクリプトと、検索を実行するスクリプトの2つが出力されます。
AIが作成したコードは通常2つの部分に分かれます。第1はインデックス生成ツールです。指定したフォルダを巡回して文書を読み込み、単語一覧を作成して保存します。第2は検索ツールです。検索語を入力すると、インデックスからその単語が含まれるファイルを探し出して表示します。
[図:検索ツールの実行画面 ― 検索語入力後に結果一覧が表示されるターミナル画面]
- ステップ3:新しいファイルが追加されたら自動でインデックスを更新する
文書が増え続ける場合、インデックスも自動で更新される必要があります。AIに自動更新機能の追加を依頼します。
「ドキュメントフォルダに新しいファイルが追加されたり、
既存のファイルが変更されたりしたら、インデックスを
自動更新する機能を追加してください。
ファイルの変更を検知するウォッチャー方式で作成し、
PCのリソースを消費しすぎないようにしてください。」
→ AIがファイルシステムの監視(file watcher)機能を追加してくれます。新しいファイルが入ってきたらそのファイルだけをインデックスに追加するため、全体を再生成する必要がありません。
- ステップ4:Webブラウザで快適に検索する
ターミナルでコマンドを入力するのが不便なら、Webブラウザから検索できるようにすることも可能です。
「この検索ツールをWebブラウザから利用できるように、
ローカルWeb画面を作成してください。検索窓に単語を
入力すると結果が下に表示され、ファイル名をクリックすると
そのファイルが開く方式にしてください。
外部インターネットからはアクセスできず、自分のPCからのみ
接続できるようにしてください。」
→ AIがFlaskやFastAPIのようなシンプルなWebフレームワークを使って検索ページを作成してくれます。ブラウザから http://localhost:5000 などのアドレスにアクセスすると検索画面が表示されます。「localhost」とは「自分のコンピューター自身」を意味するため、外部からはアクセスできず安全です。
[図:Webブラウザの検索画面 ― 検索バーにキーワードを入力し結果一覧が表示されている様子]
すでに作られている無料検索ツールもあります
自作するのが大変だと感じる場合は、すでに完成度の高い無料ツールを利用することもできます。
- DocFetcher:Windows、Mac、Linuxのすべてで利用できる無料の全文検索ツールです。パソコン内のファイルをGoogleのように検索できます。
- AnyTXT Searcher:Windows専用の無料ツールです。PDF、Word、Excelなど様々な文書の本文を高速に検索します。
- Everything + IFilter:Everythingはファイル名検索に特化したツールですが、IFilterを追加することで本文検索も可能になります。
こうしたツールのインストールや初期設定の手順もAIエージェントに任せることができます。
「DocFetcherを自分のPCにインストールし、ドキュメント
フォルダとデスクトップを検索対象に登録してください。
インデックスが完成したらテストとして『契約書』という
単語を検索し、結果を表示してください。」
→ AIがDocFetcherをダウンロードしてインストールし、指定したフォルダをインデックス対象として登録してくれます。インデックスが完了するとテスト検索まで実行してくれます。
うまくいかないときはこうします
- インデックスの作成に時間がかかりすぎる場合:初回インデックス作成時はファイル数に応じて数十分かかることがあります。次回以降は変更されたファイルのみ更新されるため高速になります。AIに「インデックス対象のフォルダを絞り込んでください」と頼めば、必要なフォルダだけを優先して処理できます。
- PDFの検索結果が出ない場合:スキャンした画像PDFである可能性が高いです。AIに「このPDFがテキストベースか画像ベースか確認してください」と尋ねてみてください。画像ベースの場合はOCR処理が必要です。
- 韓国語検索が正しく動作しない場合:インデックスツールの言語設定が英語になっている可能性があります。AIに「韓国語の形態素解析が可能なインデックス設定に変更してください」と依頼すれば解決します。
注意:検索ツールはファイルを読み取るだけなので、元ファイルが破損する危険はありません。ただし、インデックスファイルがディスク容量を消費します。通常は元ファイル容量の10〜30%程度です。ディスクの空き容量が不足している場合はあらかじめ確認しておきましょう。
OS別の補足事項
- Windows:Windowsには標準検索(Windows Search)が内蔵されていますが、PDFの本文検索がうまく機能しないケースが多々あります。上記で紹介した専用ツールを導入することで、より精度の高い結果が得られます。
- Mac:MacのSpotlightは標準でPDFやWord文書の本文まで検索してくれます。ただしTXTやMDファイルの韓国語検索が弱い場合があります。DocFetcherを追加で導入すると補完できます。
- Linux:recollという無料の全文検索ツールが有名です。AIに「recollをインストールしてホームフォルダをインデックス化してください」と依頼すれば設定できます。
導入:「あ、あのファイル会社のパソコンにあるんだった……」
土曜日の午後、急いで確認しなければならない書類が見つかりました。しかしそのファイルは会社のデスクトップPCの中にあり、オフィスのパソコンの電源は落ちています。結局、車で会社まで行って戻ってくる羽目になり、往復2時間が消えてしまいました。
もし自宅から会社のパソコンをリモートで起動できたらどうだったでしょうか。わざわざ電源ボタンを押しに行く必要はなかったはずです。これを可能にしてくれる技術がまさにWOL(Wake-on-LAN、ウェイクオンラン)です。
本節では、AIエージェントと一緒に自宅やオフィスにある複数台のPCをリモートで起動・終了できる「わが家のコントロールパネル」を作ってみましょう。
仕組み:マジックパケットという魔法の信号
WOLは非常にシンプルな原理で動作します。
コンピューターの電源が切れていても、LANケーブルが接続されていればネットワークカードにはごくわずかな電力が流れています。まるでテレビの待機モードのように、ネットワークカードが信号を待ちながら静かに目覚めている状態です。
このとき特別な信号を送ると、ネットワークカードが「自分を起こす合図だ!」と認識してコンピューターの電源を投入します。この特別な信号をマジックパケット(magic packet)と呼びます。
マジックパケットには対象コンピューターのMACアドレス(MAC address)が含まれています。MACアドレスとはネットワークカードごとに割り当てられた固有の名札です。世界で唯一のアドレスであるため、同一ネットワーク上に複数のパソコンがあっても目的の1台だけを正確に起動できます。
WOLが機能するためには2つの条件が必要です。
第1に、コンピューターのBIOS(バイオス)設定でWOL機能が有効になっていること。第2に、OSのネットワークカード設定で「マジックパケットによる復帰」オプションが有効になっていることです。
注意:重要:WOLは通常、有線LAN(イーサネットケーブル)でのみ動作します。Wi-Fi接続されたコンピューターの多くはWOLに対応していません。リモートで起動したいコンピューターにはLANケーブルを接続しておく必要があります。
実践:AIエージェントと一緒にコントロールパネルを作る
- ステップ1:WOLの事前準備
注意:バックアップ優先:BIOS設定を変更する手順が含まれます。BIOSではWOL以外の項目を変更しないでください。万一誤って別の値を変更してしまった場合は、「Load Default Settings(初期設定の読み込み)」で元に戻せます。
まず、AIエージェントに現在のPCのWOL準備状況を診断してもらいます。
「このコンピューターでWake-on-LANが利用可能か
確認してください。ネットワークカードのMACアドレスを
教えていただき、OSのネットワークアダプター設定で
WOL関連オプションが有効になっているか点検してください。
無効になっている場合は有効化の手順を案内してください。」
→ AIがネットワークカードのMACアドレスを教えてくれ、WOL設定の状態を点検してくれます。Windowsならデバイスマネージャーのネットワークアダプターのプロパティから、MacやLinuxなら専用コマンドで確認します。
OSによって確認方法が異なります。
- Windows:デバイスマネージャー → ネットワークアダプター → プロパティ → 詳細設定タブ →「Wake on Magic Packet(マジックパケットのウェイクアップ)」を「Enabled(有効)」に設定します。また電源の管理タブで「このデバイスで、コンピューターのスタンバイ状態を解除できるようにする」にチェックを入れます。
- Mac:システム設定 → 省エネルギー(またはバッテリー)→「ネットワークアクセスによるスリープ解除」をオンにします。
- Linux:ターミナルでethtoolコマンドを使ってWOL対応可否を確認し、「g」モードを有効化します。
BIOS設定はAIエージェントが直接変更できないため、PC再起動時に自分でBIOS画面に入り「Wake on LAN」または「Power On by PCI-E」などの項目を有効にする必要があります。AIにマザーボードのメーカー名を伝えれば、そのBIOSで探すべきメニュー名を案内してもらえます。
[図:BIOS設定画面でWake on LANオプションがEnabledに設定されている様子]
- ステップ2:別のコンピューターからWOL信号を送信する
WOLの準備が整ったコンピューターの電源を切り、別のパソコンからマジックパケットを送信してみます。
「MACアドレスが AA:BB:CC:DD:EE:FF のコンピューターに
Wake-on-LANのマジックパケットを送信して電源を
入れてください。まずパケット送信ツールをインストールして
実行し、そのあとpingを送信してPCが実際に起動したか
確認してください。」
→ AIがwakeonlan(Linux/Mac)またはwolcmd(Windows)などの無料ツールをインストールし、マジックパケットを送信します。その後、pingコマンドで対象PCから応答があるかを確認してくれます。
※ 上記のプロンプト内の「AA:BB:CC:DD:EE:FF」部分は、実際に起動したいパソコンのMACアドレスに置き換えてください。ステップ1でAIが教えてくれたアドレスを使用します。
- ステップ3:リモートから安全にシャットダウンする
リモートでPCを起動できたので、リモートで電源を切る手段も必要です。
「同一ネットワーク上にある別のコンピューターをリモートで
安全にシャットダウンする方法を教えてください。
OS別に分けて説明し、実行中のプログラムがある場合は
事前に警告を送信する安全機能も組み込んでください。」
→ AIがOS別のリモートシャットダウン手順を案内してくれます。Windowsは shutdown /s /m コマンドを、MacやLinuxはSSH経由のシャットダウンコマンドを使用します。実行中のプログラムがある場合に保存警告を送る機能も追加してくれます。
- Windows → Windows:shutdown /s /m \\コンピューター名 /t 60 コマンドを使用します。/t 60 は「60秒後にシャットダウンする」という意味なので、作業者が保存する時間を確保できます。
- Linux/Mac → Linux/Mac:SSHで接続後、sudo shutdown -h +1 コマンドを使用します。「+1」は1分後にシャットダウンすることを意味します。
注意:リモートシャットダウンは取り消しの効かない操作です。対象PCで未保存の文書があるとデータが失われる可能性があります。必ず十分な待機時間を設定し、可能であればシャットダウン前に対象PCの利用者に通知する仕組みを用意しておきましょう。
- ステップ4:複数台を一括管理するコントロールパネルを作る
自宅やオフィスにPCが2〜3台以上ある場合、1台ずつ個別に管理するのは手間がかかります。全機器の状態を一目で確認し、ボタンひとつで起動・停止できるコントロールパネルを作ってみましょう。
「家にパソコンが3台あります。各PCの名前、IPアドレス、
MACアドレスを登録すると、Webブラウザ上で各PCの
電源状態(ON/OFF)を表示し、起動(WOL)と終了(シャットダウン)
ボタンを備えたコントロールパネルを作成してください。
終了ボタンを押した際は『本当に終了しますか?』という
確認ダイアログが先に表示されるようにしてください。
このコントロールパネルは自分のPCからのみアクセスできるように
してください。」
→ AIがWebベースのコントロールパネルを作成してくれます。各PCの状態が緑色(起動中)または赤色(停止中)で表示され、起動/終了ボタンが配置されます。終了ボタンには確認ダイアログが組み込まれ、誤操作によるシャットダウンを防ぎます。
[図:Webブラウザのコントロールパネル画面 ― パソコン3台の名前、状態、起動/終了ボタンが表示されている様子]
- ステップ5:機器リストをファイルで管理する
パソコンが増えたりIPアドレスが変わったりするたびにコードを書き換えるのは不便です。機器情報を別のファイルに分離すれば管理が格段に楽になります。
「コントロールパネルに登録するPC一覧を別の
テキストファイル(devices.csv)で管理できるように
変更してください。ファイル形式は名前、IPアドレス、
MACアドレスの3項目とし、PCを追加・削除する際は
このファイルだけを修正すれば済むようにしてください。」
→ AIが機器リストをCSVファイルに分離してくれます。新しいパソコンを追加したいときは、devices.csvファイルに1行追記するだけで反映されます。
機器リストファイルの記述例は次の通りです。
名前,IPアドレス,MACアドレス リビングPC,192.168.1.10,AA:BB:CC:DD:EE:01 書斎ノートPC,192.168.1.20,AA:BB:CC:DD:EE:02 作業部屋サーバー,192.168.1.30,AA:BB:CC:DD:EE:03
うまくいかないときはこうします
- マジックパケットを送信してもパソコンが起動しない場合:BIOSでWOLが無効になっている可能性が高いです。対象PCの画面で直接BIOSに入り、「Wake on LAN」または「Resume by LAN」の項目を確認してください。またWindowsの「高速スタートアップ(Fast Startup)」機能がWOLを阻害している場合があるため、コントロールパネル → 電源オプション →「高速スタートアップを有効にする」のチェックを外してみてください。
- 同じルーター配下なのに動かない場合:ルーターがマジックパケットのブロードキャストを遮断している可能性があります。ルーターの管理画面で「マジックパケットの転送」や「WOL対応」オプションを有効にしてください。AIにルーターの型番を伝えれば、該当する設定項目の探し方を教えてもらえます。
- リモートシャットダウンコマンドが拒否される場合:対象PCのファイアウォールがリモート終了要求を遮断している可能性があります。AIに「リモートシャットダウンを許可するファイアウォール規則を追加してください」と依頼してください。
外出先(家の外)からWOLを使いたい場合
ここまで作成したコントロールパネルは、同一ネットワーク(同じルーターに接続された機器群)内でのみ動作します。外出先、たとえばカフェから自宅のパソコンを起動したい場合は追加の設定が必要です。
最も簡単な方法はルーターのポート開放(ポートフォワーディング、port forwarding)機能を利用することです。ルーターで特定のポートに届いたマジックパケットを、内部ネットワークのブロードキャストアドレスへ転送するように設定します。
より安全な方法はVPN(仮想プライベートネットワーク)を利用することです。VPNに接続すれば、あたかも自宅の中にいるのと同じネットワーク環境になるため、先ほど作成したコントロールパネルをそのまま利用できます。
注意:セキュリティ上の注意:ポート開放は外部から自宅ネットワークへの進入路を開くことになるため、セキュリティに十分注意する必要があります。パスワードを必ず設定し、使用しないときはポート開放を無効にしておくのが安全です。セキュリティ面からはVPN方式の利用を強くお勧めします。
第11章のまとめ
重要ポイント
本章では2つのツールを作成しました。
第1に、自分専用のドキュメント検索ツールです。インデックスという「索引一覧」をあらかじめ作っておくことで、数千個のファイル本文まで1秒で検索できるようになります。自作することもできますし、DocFetcherやAnyTXT Searcherなどの無料ツールを導入することも可能です。
第2に、複数台のPCをリモートで起動・終了できるコントロールパネルです。WOL(Wake-on-LAN)技術を使えば、マジックパケットという信号で電源の切れたパソコンを遠隔起動できます。Webブラウザで動くコントロールパネルを作れば、複数台の状態を一括で把握・管理できます。
どちらも「市販の高価なソフトを買わなくても、AIに一言頼めば自分のパソコンに世になかった機能が誕生する」ことを示す好例です。
1行まとめ
「自分のパソコンをGoogleのように検索し、リモコンのように操るツールをAIエージェントがあっという間に作ってくれます。」

















