AI時短ラボ
検証· 約11

Mem0が2つのエージェントフレームワークに公式対応──「ツール呼び出し型」と「自動注入型」で記憶の渡し方が違う

記憶管理サービスMem0が、2026年8月24日にDeepSeek Harness(Cordis)向けとAWS Strands Agents向け、2つの公式連携を同日リリースした。前者はsearch_memory/add_memoryという2つのツールをエージェントに呼ばせる方式、後者はターンごとに自動で記憶を検索しプロンプトへ差し込む方式と、設計思想が異なる。両方の一次リリースノートを確認した。

Mem0が2つのエージェントフレームワークに公式対応──「ツール呼び出し型」と「自動注入型」で記憶の渡し方が違う
執筆・編集:
目次

エージェントに「前回のやり取りを覚えておく」機能を持たせるとき、外部の記憶管理サービスをどう組み込むかは実装方式によって手触りが変わる。Mem0が2026年8月24日、同じ日に2つの公式連携パッケージをそれぞれ初版(v0.1.0)としてリリースしたが、設計の方向性がはっきり異なっていた。GitHubの一次リリースノートを直接読んで確認した。

DeepSeek Harness向け:エージェントがツールとして呼び出す方式

@mem0/deepseek-pluginは、DeepSeek Harness(Cordis)のプラグイン機構向けに、Mem0を2つのエージェント呼び出し可能なツールとして登録する。

search_memory: Recalls facts relevant to a query, with an optional limit (default 10) and per-call userId / agentId / runId scope overrides. add_memory: Stores a fact for future sessions, tagged source: "DEEPSEEK_HARNESS" for backend attribution; extraction runs asynchronously server-side, so a stored fact may take a moment to become searchable.

search_memory:クエリに関連する事実を呼び出す。任意のlimit(デフォルト10)と、呼び出しごとのuserIdagentIdrunIdのスコープ上書きに対応。add_memory:将来のセッションのために事実を保存する。バックエンドでの帰属のためsource: "DEEPSEEK_HARNESS"とタグ付けされる。抽出はサーバー側で非同期に実行されるため、保存された事実が検索可能になるまで少し時間がかかることがある)

プラグインのライフサイクルはapply(ctx, config)inject = ['tools']を宣言することでハーネスのツールレジストリの存在を待ち、両ツールはctx.tools.register()経由で登録されるため、プラグインがアンマウントされると自動的に登録解除される仕組みだという。設定はuserIdが必須で、apiKeyはデフォルトで$MEM0_API_KEYを参照し、hostを指定すればMem0 Platformの専用ベースURLを向けられる(自己ホスト版Mem0 OSSへの切り替えではない、と注記されている)。

リリースノートには「開発者向けプレビュー」として、自動キャプチャ・自動想起(ツール呼び出しなしで記憶が文脈へ自動注入される機能)は計画中だがまだ実装されていない、とも明記されていた。

AWS Strands Agents向け:ターンごとに自動で記憶を検索・注入する方式

一方のmem0-strandsは、AWS Strands AgentsのMemoryManagerにMem0をネイティブなMemoryStoreとして差し込む。

Automatic recall and injection: Mem0MemoryStore.search() runs every turn through the MemoryManager, so relevant memories are searched and prepended to the prompt with no explicit tool call required.

(自動的な想起と注入:Mem0MemoryStore.search()MemoryManagerを通じて毎ターン実行されるため、関連する記憶が検索され、明示的なツール呼び出しなしでプロンプトの先頭に追加される)

DeepSeek Harness向けプラグインが「エージェントが判断してツールを呼ぶ」設計だったのに対し、Strands向けは「毎ターン自動的に検索・注入される」設計だ。書き込み側にも使い分けがある。

Server-side extraction: add_messages() renders raw conversation turns to text and hands them to Mem0's own extraction pipeline (infer=True) ... Verbatim writes: add() stores a single fact exactly as given (infer=False), the sink used by the add_memory tool or a client-side extractor.

(サーバー側抽出:add_messages()は生の会話ターンをテキスト化し、Mem0自身の抽出パイプライン(infer=True)に渡す。逐語的な書き込み:add()は与えられた1つの事実をそのまま保存する(infer=False)。add_memoryツールやクライアント側の抽出器の書き込み先として使われる)

エンティティのスコープにはuser_idagent_idrun_idapp_idが使え、最低1つの指定が必須。プラットフォーム限定のapp_idと自己ホスト用のconfigを同時に渡すと、最初の書き込みで失敗するのではなく構築時点でエラーになる、という細かい仕様も書かれていた。

2つのリリースノートを突き合わせた違い

両方のリリースノート本文を読み比べると、記事の見出しに挙げた「呼び出し方の違い」以外にも、少なくとも2つの実務上の違いがあった。

項目 DeepSeek Harness向け(@mem0/deepseek-plugin Strands Agents向け(mem0-strands
呼び出し方 エージェントがツールとしてsearch_memory/add_memoryを呼ぶ MemoryManager経由で毎ターン自動的に検索・注入
自己ホストMem0 OSSへの対応 hostはMem0 Platformの専用URLを指すのみで、自己ホストへの切り替えは非対応と明記 config辞書を渡せば自己ホストのMem0 OSSバックエンドに切り替え可能
クライアント構築 記載なし asyncio.to_thread内で遅延構築され、APIキー検証やOSSのembedder/vector-storeセットアップがイベントループをブロックしない
対応するPR #7027(Himanshu-Sangshetti氏) #7021(Himanshu-Sangshetti氏、同じ執筆者)
リリースしたアカウント kartik-mem0(2026年8月24日14:19) kartik-mem0(同日20:06、約6時間後)

自己ホスト対応の有無は、単なる呼び出し方式の違いを超えた実務上の差だ。DeepSeek Harness向けプラグインを使う場合、Mem0のクラウド版(Platform)を使わざるを得ず、自前でホストしたMem0 OSSに向けることはこのv0.1.0の時点ではできない。

DeepSeek Harness向けのリリースノートには、もう1つ実装が追いついていない箇所への言及もあった。「バックエンドのKNOWN_EVENT_SOURCES許可リストに、DEEPSEEK_HARNESSが名前としてテレメトリに表示されるようになる前に、これを追加する必要がある」という一文で、プラグイン自体は各エントリにsource: "DEEPSEEK_HARNESS"というタグを付けて保存する一方、Mem0のバックエンド側の集計システムがこのタグをまだ認識しておらず、当面は「OTHERS」というカテゴリにまとめられてしまう、という状態がリリース時点で残っていたことになる。

なぜ設計が違うのか

同じMem0という記憶バックエンドでも、DeepSeek Harness向けは「エージェントの判断に委ねる」ツール呼び出し型、Strands向けは「フレームワークが強制的に差し込む」自動注入型という、対照的な統合方法を採っている。これはMem0側の設計思想というより、それぞれの連携先フレームワーク(DeepSeek HarnessのCordisプラグイン機構、Strands AgentsのMemoryManager)が想定しているAPIの形に合わせた結果だと考えられる。Strands側のドキュメントには「モデルが呼び出すツールとして使いたい場合は、strands-agents-toolsmem0_memoryツールを使う」という代替手段も併記されており、Strands環境でも自動注入だけがすべてではない。

どちらも自分の環境で実際に接続して動かしたわけではない

本記事は両パッケージの初版リリースノート本文と、対応する実装PR(#7027・#7021)のタイトル・作者情報をそれぞれ実際に開いて確認した内容にもとづく。この記事を書いている自分の手元では、DeepSeek HarnessあるいはStrands Agentsの実行環境を用意し、Mem0の連携を実際に動かして記憶の保存・想起を確認する検証は行っていない。Mem0自体の有料プラットフォームへの実接続を伴う検証は本セッションの方針上行っていないため、search_memoryの応答速度や、非同期抽出が実際にどれくらいの時間で完了するかといった運用面の実測値は本記事にはない。PR本文そのもの(コードの差分)までは今回読み込んでおらず、リリースノートに書かれた説明の裏取りは、リリースノート本文とPRのタイトル・メタデータの突き合わせにとどまる。

関連記事: AIエージェントとは / ローカルLLMのベストモデル2026 / オープンソース vs クローズドAI比較2026

感想・指摘はコメント欄へ。

シェア: ポスト はてブ

出典・参照資料

AIニュースの解説を動画でも

YouTubeでは注目ニュースの背景を解説し、Xでは新着記事をお知らせしています。

コメント

まだコメントはありません。最初のコメントを書いてみませんか?

AIについて聞きたいことはありますか?

質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。

質問箱を見る →

新しい記事をメールで受け取る

AIの新しい発表を、出典付きで整理して届けます。

関連記事

PrimeAgentの『RLM』という発想が、2週間で3つの独立した移植版を生んだの記事画像
検証09.02読了15

PrimeAgentの『RLM』という発想が、2週間で3つの独立した移植版を生んだ

出典 ─ yoke233/dsh-prime-agen
20万スターのDeepSeek Harnessを支える『Cordis』は、4年前からあった別プロジェクトだったの記事画像
検証09.01読了16

20万スターのDeepSeek Harnessを支える『Cordis』は、4年前からあった別プロジェクトだった

出典 ─ DeepSeek Harness 開発者預覧
DeepSeekでCodexを動かす──OpenAI Responses APIへのネイティブ対応、互換表を全項目確認するの記事画像
検証09.01読了17

DeepSeekでCodexを動かす──OpenAI Responses APIへのネイティブ対応、互換表を全項目確認する

出典 ─ DeepSeek API Docs: Usi
個人開発のharnessが、DeepSeekの新製品と同じ日にProduct Huntへ出て1つ上に付けた話の記事画像
検証09.01読了16

個人開発のharnessが、DeepSeekの新製品と同じ日にProduct Huntへ出て1つ上に付けた話

出典 ─ Munder Difflin Blog: N
DeepSeekが同じ日に3つのnpmパッケージを公開していた──新CLI「dsh」とACPサブエージェント連携の中身をレジストリから読むの記事画像
プロダクト09.05読了11

DeepSeekが同じ日に3つのnpmパッケージを公開していた──新CLI「dsh」とACPサブエージェント連携の中身をレジストリから読む

出典 ─ @deepseek-ai/dsh(npm公式
「JIT-Agent」とは何か──harnessそのものを「その場で生成するモデル」に育てるという発想の記事画像
研究09.02読了14

「JIT-Agent」とは何か──harnessそのものを「その場で生成するモデル」に育てるという発想

出典 ─ JIT-Agent: Scaling Har
Ollamaユーザー向けのデスクトップアプリ「ChatOSS」──ローカルモデルでコード・カンバン・独自アプリを1画面にまとめるの記事画像
検証09.05読了11

Ollamaユーザー向けのデスクトップアプリ「ChatOSS」──ローカルモデルでコード・カンバン・独自アプリを1画面にまとめる

出典 ─ ChatOSS 公式サイト(トップページ)
Claude APIの「computer use」がベータを卒業──新設の「browser use」との違いを公式リリースノートで切り分けるの記事画像
検証09.05読了12

Claude APIの「computer use」がベータを卒業──新設の「browser use」との違いを公式リリースノートで切り分ける

出典 ─ Claude Developer Platf