【ITニュース解説】The Same Platform Gives Its Tool Catalog BM25 and Its Memory Store ls
2026年09月11日に「Dev.to」が公開したITニュース「The Same Platform Gives Its Tool Catalog BM25 and Its Memory Store ls」について初心者にもわかりやすく解説しています。
ITニュース概要
Claude開発プラットフォームでは、ツールの探し方とメモリーの取得方法が異なる。ツールはBM25検索で関連性の高いものを提示する一方、メモリーはパスや深度でリスト表示する。この設計の違いが、情報の整理と利用に影響を与える。
ITニュース解説
現代のAI、特に大規模な言語モデル(LLM)を活用した開発では、AIが一度に処理できる情報の量(これを「コンテキスト」と呼ぶ)には限界がある。このコンテキストの容量を超えてしまうと、AIは必要な情報を適切に把握できなくなり、性能が低下したり、誤った判断をしたりする問題が発生する。この状態を記事では「情報が溢れる(Overflow)」と表現している。AnthropicのClaude Developer Platformでは、この「情報過多」の問題に対し、AIが利用する「ツールカタログ」とAIが記憶する「メモリストア」という二つの異なる場面で、それぞれ異なる方法で対処していることが示されている。
まず、「ツールカタログ」について見てみよう。AIが複雑なタスクを実行する際、例えばインターネット検索をしたり、計算を行ったりするために、様々な「ツール」を使用する。これらのツールは、それぞれがどんな機能を持つかという「定義」とともにAIに提供されるが、もしツールの数が多すぎたり、定義が長すぎたりすると、AIのコンテキストを圧迫してしまう可能性がある。そこでClaudeプラットフォームでは、ツールカタログの中からAIが今必要としているツールを効率的に選び出すために、「ランク付けされた検索」という方法を採用している。
この検索システムには、主に二つの種類がある。一つは「正規表現」ベースの検索で、これは特定の文字のパターン(例えば、「calc」という文字を含むツール)に合致するツールを探すものだ。もう一つは「BM25」ベースの検索で、これはより高度で、自然言語、つまり私たちが普段使う言葉で「スケジュールを管理するツール」のように検索すると、その意味合いに最も関連性の高いツールを自動的に見つけ出してくれるアルゴリズムである。AIは、必要に応じてこれらの検索ツールを呼び出し、膨大なツールカタログの中から必要なツールを最大5つ程度に絞り込んだ候補リストとして受け取る。この仕組みにより、AIは最初から全てのツールの定義をコンテキストに保持する必要がなくなり、効率的にタスクを進めることができるのだ。このアプローチでは、ツールが発見されやすくするために、ツール名やその説明を明確かつ具体的に記述すること、また関連するツールに一貫した名前の付け方(例えば「顧客管理_検索」「顧客管理_登録」のように共通の接頭辞を使う)をすることが、開発者にとって非常に重要だとされている。ツールの命名自体が、検索システムにおける「取得設計」、つまりAIがツールをうまく見つけ出すための鍵となるのである。
次に、「メモリストア」について考えてみよう。AIは、一度の会話やタスク処理で得た情報を「記憶」し、後の対話やタスクで利用することがある。この記憶された情報の集合体がメモリストアである。メモリストアは最大で1万件もの記憶を保持できるが、AIがこれらの記憶を一覧表示するAPI(List memories API)を呼び出した場合、一度に取得できるのは最大で20件程度の情報に限られる。ここでも「情報過多」の問題が発生するため、どの記憶をAIに提示するかが課題となる。しかし、メモリストアではツールカタログのような「ランク付けされた検索」機能は提供されていない。
代わりに採用されているのが、「ディレクトリリスティング」、つまりファイルの目録表示のような方法である。メモリストアのAPIでは、「depth(深さ)」や「path_prefix(パスの接頭辞)」といったパラメータを使用して、特定の場所にある記憶や、ある階層までの記憶を一覧表示する。例えば、「depth=1」と指定すると、コンピュータのコマンド「ls」のように現在のディレクトリ直下の項目だけが表示され、「depth」を指定しないと「find」コマンドのように深くまで探索して表示される、といった具合である。返される記憶の順序も「安定した、サーバー定義の順序」であり、これは特定の関連性に基づいて並べられているわけではないことを意味する。
つまり、メモリストアでは、AI自身が記憶のリストを読み取り、その中から関連性の高い情報を選ぶ必要がある。このため、開発者が記憶を保存する際に、まるでコンピュータのフォルダ構造を設計するように、論理的で分かりやすい「パス」を付けることが極めて重要になる。このパスの設計が、AIが記憶を効率的に見つけ出すための唯一の手段となるのだ。例えば、「ユーザーA_今日の予定」「ユーザーA_過去の会話」のように、分類されたパス構造を工夫することで、AIが必要な記憶にアクセスしやすくなる。さらに、Anthropicのガイダンスでは、一つの大きなメモリストアに全ての情報を詰め込むのではなく、「ユーザーごと」「共有知識用」「プロジェクト固有」といったように、目的別に複数の小さなメモリストアを使い分けることが推奨されている。これにより、AIが探し出すべき情報の範囲を限定し、効率を高めることができる。
今回の記事の内容は、Anthropicプラットフォームのベータ版APIに基づいたものであり、2026年9月7日時点での状況が記述されている。これは、特定の「List memories」というAPIエンドポイントに検索機能がないという事実を示しているだけで、プラットフォーム全体としてメモリを検索する手段が全く存在しないことを証明するものではない点に注意が必要だ。例えば、AIエージェントがサンドボックスと呼ばれる隔離された実行環境内でメモリにアクセスする場合、標準的なファイル操作ツールを使って記憶を読み書きできるため、状況は異なる可能性がある。また、なぜツールとメモリでアプローチが異なるのか、あるいはどちらの方法がより優れているのかといった点については、この記事では明確な答えを提示していない。それらは今後の検証や開発の中で明らかになっていく課題である。
要するに、AI開発において情報が「溢れる」問題は共通だが、Anthropicは「ツールカタログ」では自動的なランク付け検索で効率を追求し、「メモリストア」では開発者が設計するパス構造に頼ってAI自身が情報を整理・選択するという、異なる設計思想を採用しているのである。システムエンジニアを目指す上で、AIがいかに情報を扱い、開発者がその効率性をどのようにサポートできるかを理解する上で、これは重要な視点となるだろう。