エージェント基盤・プロトコル

エージェント記憶ストアとは|文字列一致は800件も余計に拾い、しかも全件走査より遅かった

エージェント記憶ストアとは何をする仕組みなのか探し方で何が変わるのかどう設計すればよいのか

AIに会話をまたいで覚えさせるには、記録を外に置くことになります。置いたあとに効いてくるのがどう取り出すかです。

5,000件で計測したところ、本文の文字列一致は該当200件に対して1,000件を拾いました。しかも全件走査より3倍以上遅い結果です。

この記事の要点

  • 記憶ストアは会話の外に記録を置いて取り出す仕組み
  • 文字列一致は該当200件に対して1,000件を拾った
  • 索引を引けば200件ちょうどで、全件走査の約93分の1の時間
  • ただし索引は探し方を先に決めないと作れない

文字列一致は800件も余計に拾い、しかも全件走査より遅かった

5,000件で計測しました。文字列一致は該当200件に対して1,000件を拾い、索引を引けば200件ちょうどで約93分の1の時間です。

エージェント記憶ストアの取り出し方で何が変わるのかを、実際に作って計測しました。用意したのは5,000件の記録です。

記録は実際に生成しており、命中件数も所要時間も実測です。ただし時間は実行のたびにぶれるので、桁と比で読んでください。

javascript
// 1: 全件を走査して条件で絞る
RECORDS.filter((r) => r.subject === QUERY.subject && r.topic === QUERY.topic)

// 2: 本文の文字列一致で探す(索引なし、語の組み合わせを見ない)
RECORDS.filter((r) => r.text.includes(QUERY.subject))

// 3: 索引を引く(書き込み時に subject/topic で作っておく)
index.get(`${QUERY.subject}/${QUERY.topic}`) || []
text
記録 5,000件から「契約の保管期間」を探す(該当は 200件)

探し方             命中件数  余計に拾った件数  1回あたりの時間
全件を走査                200件             0件          30.0 マイクロ秒
本文の文字列一致            1000件           800件         100.7 マイクロ秒
索引を引く                200件             0件           0.3 マイクロ秒

索引を作るのにかかった時間: 593.0 マイクロ秒(1回だけ)
全件走査と索引の比: 93倍

記録が増えたときの全件走査の時間

件数        1回あたりの時間
  500件         6.1 マイクロ秒
 1000件         7.0 マイクロ秒
 2500件        13.6 マイクロ秒
 5000件        27.9 マイクロ秒

文字列一致が両方で負けました。800件を余計に拾ったうえに、全件走査より3倍以上遅いという結果です。

余計に拾う仕組み

文字列一致は「契約」を含む記録をすべて拾います。ですから契約の締め日も、契約の承認者も、条件に関係なく入ってきます

拾った1,000件はそのままAIに渡されます。渡す量が5倍になり、しかも関係のない記録が混ざるので、判断も鈍ります。

索引を引く場合

索引を引くと該当の200件ちょうどが返り、時間も0.3マイクロ秒でした。全件走査の約93分の1です。

作るのにかかったのは約0.6ミリ秒で、これは書き込み時の1回だけです。取り出すたびにかかる費用ではありません。

件数に比例して伸びる

全件走査は件数に比例します。500件で6.1マイクロ秒、5,000件で27.9マイクロ秒。10倍の件数でおおむね4〜5倍という伸び方でした。

なお表の中に30.0と27.9という2つの値がありますが、これは別々の計測でぶれた分です。同じ処理を測っています。

全件走査は件数に比例する。索引なら件数が増えても変わらない。

1回あたりのマイクロ秒27.90500件1000件2500件5000件全件を走査索引を引く200回まわして1回あたりを出した実測。実行のたびにぶれるので桁と比で読む。
図1 ── 件数ごとの全件走査の所要時間
出典Anthropic Engineering「Effective context engineering for AI agents」2026-08-17 確認
This strategy provides persistent memory with minimal overhead.
原文Anthropic Engineering「Effective context engineering for AI agents」 この内容の有効期限2027-02-17

エージェント記憶ストアとは何をする仕組みなのか

AIが自分で書き残した記録を保管し、必要なときに取り出せるようにする置き場所です。会話の外にあります。

エージェント記憶ストアは、AIが会話の外に書き残した記録の置き場所です。書き込む仕組みと取り出す仕組みを合わせたものになります。

書き残す動き

Anthropicはこの動きを整理して呼んでいます。会話の枠の外に残るところへ、エージェントが定期的にメモを書く手法で、構造化されたメモ取り、あるいはエージェント記憶と呼ばれるものです。

同じ文書では、この方法は少ない負担で持続する記憶をもたらすとも述べられています。会話の履歴を膨らませずに済むためです。

手元に置くのは必要な分だけ

考え方も示されています。エージェントは理解を層ごとに積み上げていくことができ、作業中の記憶には必要なものだけを保ちつつ、メモ取りの手法で持続性を補えるという整理です。

つまり全部を手元に置く必要はありません。置き場所から取り出せるなら、手元は軽く保てます。

似た仕組みとの関係

会話の中だけで保たれる仕組みは短期記憶の記事で、会話をまたいで覚える仕組み全体は長期記憶の記事で扱っています。記憶ストアは、そのうち保管と取り出しの部分にあたります。

余談 書けることと消せることは別

運用していて困ったのは、誤った内容が書き込まれたときに消す手段がないことでした。書き込みは自動なのに、消すのは人の作業になりがちです。編集部では、記録に日付と出所を残し、古いものを定期的に見直す運用にしています。

出典Anthropic Engineering「Effective context engineering for AI agents」2026-08-17 確認
Structured note-taking, or agentic memory, is a technique where the agent regularly writes notes persisted to memory outside of the context window.
原文Anthropic Engineering「Effective context engineering for AI agents」 この内容の有効期限2027-02-17

記憶ストアをどう設計すればよいのか

探し方を先に決めます。決まっていないなら全件走査で始めて、実際の探し方を記録してから索引を作ってください。

エージェント記憶ストアの設計は、どう取り出すかから決めます。書き込む形は、その取り出し方に合わせることになります。

決める順番

  1. どういう条件で探すか。分野、期間、担当、状態
  2. その条件を書き込み時に付けられるか。付けられるなら索引が作れる
  3. 取り出す件数の上限。渡す量が増えすぎないようにする
  4. 本文の文字列一致だけで済ませる。余計に拾ううえに遅い

4番目を避けてください。前の節の計測では、800件を余計に拾ったうえに全件走査より遅いという結果でした。

探し方が決まっていない場合

最初から索引を作れないことも多いはずです。その場合は全件走査で始めてかまいません。5,000件でも27.9マイクロ秒で、体感できる遅さではありません。

運用しながら、実際にどう探しているかを記録してください。頻度の高い条件が見えてから索引を作れば、無駄がありません。

取り出した件数を見る

取り出した件数は必ず記録してください。余計に拾っていることは、件数を見ないと気づけません

取り出した記録がそのまま渡されると、送信量が増えるだけでなく判断も鈍ります。渡す量と費用の関係は長期記憶の記事で数字とともに扱っています。

取り出し方を決めてから、書き込む形を決める。逆にすると直せない。

充足 2 / 4探す条件が決まっている決まっていれば書き込み時に索引を作れる。5,000件で約0.6ミリ秒取り出した件数を記録している余計に拾っていることは件数を見ないと気づけない本文の文字列一致だけで探している該当200件に対して1,000件を拾い、全件走査より3倍以上遅かった誤った記録を消す手順がある書き込みは自動でも、消すのは人の作業になりがち。先に決めておく記録5,000件での計測にもとづく。索引を引くと該当200件ちょうどが返った。
図2 ── 記憶ストアの点検項目
出典Anthropic Engineering「Effective context engineering for AI agents」2026-08-17 確認
Agents can assemble understanding layer by layer, maintaining only what's necessary in working memory and leveraging note-taking strategies for additional persistence.
原文Anthropic Engineering「Effective context engineering for AI agents」 この内容の有効期限2027-02-17

よくある質問

記録を全部渡してはいけませんか
件数が少なければ渡せます。ただし件数に比例して送信量が増えるため、数百件を超えると絞る必要が出てきます。
文字列一致では駄目なのですか
条件を組み合わせないため、関係のない記録まで拾います。この計測では該当200件に対して1,000件を拾いました。
索引はいつ作りますか
記録を書き込むときです。この計測では5,000件ぶんの索引を約0.6ミリ秒で作れました。作るのは1回だけで、あとは引くだけになります。
探し方が決まっていない場合は
索引が作れません。まず全件走査で運用しながら、どういう探し方が多いかを記録してから決めるのが現実的です。

まとめ

  • 記憶ストアは会話の外の記録を保管して取り出す仕組み
  • 文字列一致は800件を余計に拾い、しかも遅かった
  • 索引を引けば該当200件ちょうどで約93分の1の時間
  • 索引は探し方を先に決めないと作れない

今日から始められること

  1. 会話の外に残している記録が何件あるかを数える
  2. その記録をどういう条件で探しているかを書き出す
  3. 条件が決まっているなら、書き込み時に索引を作る
  4. 取り出した件数を記録し、余計に拾っていないか確認する

実務で組んだエージェント記憶ストアのワークフローには、値段が付きます

同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。

出品の仕組みを見る