0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIエージェントのループに隠されたO(N²)の課金 — 測定とベンチマーク

0
Posted at

The hidden O(N²) tax in AI agent loops — measured, with a benchmark you can run — SAIHM

毎回、ほとんどのAIエージェントは、自身のトランスクリプトを全て再送信します。一方、実際の複数セッションタスクでは、コンパクトなメモリを呼び出すことで、再送信よりも「62.8%–85.9%」少ないコンテキストトークンを使用できます。ここでは、その測定結果、方法、およびオフラインで再現する方法について説明します。

請求書にないコスト

エージェント・ループは、一つのモデル・コールではありません — 数十ものコールです。長い Claude Code または Cursor セッション、自律的なタスク・ランナー、数日間のプロジェクト: 各ターンは、新しいシステム・プロンプト、全ての成長するトランスクリプト、および新しいメッセージを再送信する新しいコールです。トランスクリプトは成長するだけなので、コンテキストのコストもそれに伴って成長します — また、各ターンで前のものを再送信するため、N ターン間の合計コンテキストのコストは、おおよそ O(N²) になるのです。これが、長いセッションが最終的にコンテキスト・ウィンドウに当たって停止する理由でもあります。

代替案があります: トランスクリプトを再送信しないことです。決定、規約、ファイル・パスなどの耐久性のある事実をメモリー・セルとして保持し、各ターンで小さな、上限のあるセットを呼び出します。那によって二乗の再送信を おおよそ O(N · cap) に変換します。明らかな疑問は、それが実際にどれだけのコストを節約するか です。したがって、SAIHM は、それを測定するためのベンチマークを公開しました — また、信頼するのではなく、その数字を確認するためのものです。

実験

ベンチマーク (citw2/saihm-token-benchmark, Apache 2.0) では、1 つの現実的なシナリオをモデル化しています。3 回のセッションにわたる、ビルド・ア・フィーチャー・コーディング・アシスタントで、初期の決定 (「Recharts を使用する」、「タイムスタンプを UTC で保存する」、「名前付きエクスポートのみ」) が蓄積され、後続のターンでそれらを思い出す必要があります。ベンチマークでは、2 つの戦略の下で、入力/コンテキスト トークンのみ を、すべてのターンにわたって合計します。

  • Naive — 各ターンで、システム プロンプト + 成長するトランスクリプトの全体 + 新しいメッセージを送信します。

  • SAIHM — 各ターンで、システム プロンプト + 思い出されたメモリ セルの制限付きセット + 新しいメッセージを送信します。生のトランスクリプトは再送信されません。

トークナイゼーションは gpt-tokenizer (cl100k_base、GPT-4 BPE) です。完全にオフラインで実行されるため、API 呼び出しやキーは不要であり、誰でも同じ結果を得ることができます。

数字

セッションの長さ 直感的なトークン SAIHM トークン 少ない
5 ターン 1,628 605 62.8%
10 ターン 6,091 1,273 79.1%
15 ターン 13,175 2,023 84.6%
18 ターン 18,688 2,632 85.9%

セッションが長くなるにつれて、ギャップが広がる — これは正に O(N²)-vs-O(N · cap) の差が予測するものです。

これらの数字は、偏りなく誠実である理由

  • 入力のみです。 出力トークンは、両方の戦略で同じなので、カウントされません。勝利は、再送信するコンテキストのみに基づいています。
  • 短期間の作業では、保守的です。 5 回のターンでは、62.8% のみを節約できます。85.9% ではありません。節約額は、セッションの長さとメモリセルのコンパクトさの関数です — 実際の成果は、ワークロードに依存します。
  • これは、動的であり、価格ではありません。 これは、再送信対回想トークンボリュームです。特定のプロバイダーの請求ではありません。

2分で再現する

git clone https://github.com/citw2/saihm-token-benchmark
cd saihm-token-benchmark && npm install
node benchmark.mjs
node benchmark.mjs --recall-cap 4   # リコールの幅と節約をトレードする

キャップを変更して、自分のシナリオを入れ替えて、再実行してください。「公開する」目的は、パーセンテージを信じる必要がないということです。

リコールの由来

SAIHMは、モデル間でアドレス指定できるメモリ層です。同じストアが、Claude、GPT、DeepSeek、Qwen、Kimi、またはGLMから、そしてLangChain/LlamaIndexを介して機能します。耐久性のある事実は、メモリセルとして保存されます。各ターンで、履歴を再生するのではなく、バウンドされたセットをプルします。メモリはポータブルなので、特定のベンダーの組み込みコンテキストにロックされません。さらに、メモリはあなたのものなので、キーを保持しており、消去はレコードごとに可能で、検証可能です。上記のデモはそれぞれ実行可能です。 — デモセット からリンクされています。

誠実な終了

SAIHMは、無料プランがない有料製品です — これはトライアルの後ろに隠しておくことではなく、最初から明確に述べられています。しかし、ベンチマークと12以上のデモはオープンソースでローカルで実行できるため、主張を検証し、決定を下す前に統合を試すことができます。ツールのサーフェスと接続手順は、/developersにあります。価格は、/pricingに記載されています。

SAIHMに参加する

— アーキテクト

試してみてください: ドロップインメモリ契約

ここは違いを感じるための最も速い方法です。エージェントのシステムプロンプトに以下を貼り付けてください — これは、SAIHM MCP ツール saihm_recall / saihm_remember / saihm_forget がハーネスに接続されていることを前提としています。以下に記載されているものが節約を生み出すのです:


## メモリ契約

毎回のターン前に:
1. 再読み込みではなく、**RECALL** を実行します。タスクのキーワードで `saihm_recall` を呼び出し、一定の範囲に収まるセルをロードします。以前のターンの内容を再送信しないでください。呼び出されたセルはあなたのコンテキストです。
2. 現在の事実を優先します。呼び出されたセルが矛盾する場合、最新または上書きされていないものが優先されます。後続のセルで覆われた決定に基づいて行動をとってはなりません。
3. **REMEMBER** を使用して、決定、規約、制約をセルとして永続化します。各事実を1つずつ、自分の言葉で記録します。
4. 「データの削除」を要求された場合、`saihm_forget` を呼び出してセルを削除します。削除はレコードごとに行われ、証明可能です。ソフト削除ではありません。

境界付きの再呼び出しにより、再送信のカーブが O(N²) から O(N·cap) に減少します — このページのベンチマークでは、62.8–85.9% 少ないコンテキスト トークンが表示されます。小さな再呼び出し制限から開始し、再呼び出しにミスがある場合のみ、それを増やします。

_**独立性に関する通知。** SAIHMは、Apache-2.0プロトコルであり、独立して作成されています。このページで説明されているベンチマークはオープンソースであり、オフラインで再現可能です。数字は公開されたスクリプトによって生成され、セッションの長さやシナリオに依存します。アーキテクチャは概念的なレベルで説明されています。権威ある詳細は、公開された仕様と公開されたソースコードです。_

---
_Originally published at [the SAIHM blog](https://t.saihm.coti.global/r/qiita-faff8197) on 2026-06-23. SAIHM is the Sovereign AI Horizontal Memory protocol — Apache 2.0, open spec at [saihm.coti.global](https://saihm.coti.global)._
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?