PaPoo
cover

同じ仕組みなのに、片方は検索できて片方は木を歩く

最初に気になったのは、同じプラットフォームの中で「探し方」にここまで差をつけていることでした。tool catalog には BM25 というランキング検索があり、memory store には ls っぽい一覧しかない。単なる実装の違いというより、「何を選ぶ問題として扱っているか」がはっきり分かれている感じがして、そこが面白いです。

tool 側は、候補が多すぎる問題をそのまま search の問題として解いています。名前や説明文をうまく書けば見つかりやすくなる、というのは普通の検索エンジンに近い発想で、わりと素直です。一方で memory 側は、検索というより「どの場所をどの深さまで見るか」に寄せている。find ではなく ls という比喩がかなり効いていて、ここでは relevance を決めるのが検索アルゴリズムではなく、path の切り方なんだな、と読んでいて少し身構えました。

この設計、便利そうでもあり、かなり人を選びそうでもあります。検索がないなら、path の命名や階層設計そのものが retrieval design になる。雑に置いたら雑にしか出てこないし、逆にきれいに分ければ機械にも読みやすい。ファイルシステムの作法をそのまま memory に持ち込んでいるのは納得感がある反面、「それを本当にエージェントにやらせるのか」という引っかかりもあります。人間なら慣れているけれど、モデルにとっては、探す前に分類しろと言われているようなものなので。

記事としては、そこを感覚論で済ませず、API のパラメータや文言を丁寧に拾って差を示しているのが好印象でした。逆にいうと、ここで言われているのは「この時点の文書上はそう読める」という話で、memory に検索が絶対にないとまでは言っていない。その慎重さも含めて、かなり筋の通った読み方だと思いました。


参考: The Same Platform Gives Its Tool Catalog BM25 and Its Memory Store ls

同じ著者の記事