記憶はモデルより長く生き残るべきだ。

午前3時ごろでした。AnthropicがClaude Managed Agentsを発表したのを見ました。AIエージェントを構築して運用するためのフルマネージドなプラットフォームです。サンドボックス実行、チェックポイント、認証情報の管理、権限スコープまで全部やってくれる。何週間もかかるインフラ作業が消えて、プロダクションまで10倍速くなると書かれていました。

最初の考えは単純でした。私のプロダクトは死んだ。

私はインディーの開発者です。この一年近く、Nunchiという名前でメモリインフラの会社を一人で作ってきました。リファレンス実装のNexus、エンタープライズ向けバックエンドのMaaS、個人向け変種のNorfolk、そして最近ではモデル中立のコーディングハーネス3122まで。すべては一つの考えの上に立っています。AIエージェントの記憶レイヤーは、特定のモデル会社に縛られてはいけないということです。ところが、この分野で最も大きく、最もよく考えているラボの一つが、私が数か月取り組んできた問題を丸ごと吸収できそうなインフラを発表したのです。

大企業の判断が小さな会社の計画を揺らすのは、インディーにとって日常の天気みたいなものです。慣れます。でも午前3時は、それを冷静に受け止めるにはあまりに悪い時間です。

コーヒーを淹れて、もう一度エンジニアリングブログを丁寧に読みました。3時間後、私はまったく逆の結論にたどり着いていました。

巻き戻し: 83.2%

数か月前、NexusでLongMemEval_Sベンチマークを回し始めました。最初の結果はよくありませんでした。二回目も同じでした。六回目くらいのイテレーションで、私は三つのことを学びました。振り返ると、それは工学的発見というより、最初から知っているべき規則でした。

どれも別々の失敗から出てきた規則で、それぞれ別の痛みがありました。最後の数字は83.2%。同じベンチマークでGPT-4oと同率で、GPT-4o-miniの73.8%やGroqで動かした大規模オープンウェイトモデルの63.8%をかなり上回っていました。

私が誇らしかったのは数字そのものではありません。その数字が何を語っていたかです。メモリ品質の天井を決めていたのはモデルではなく、メモリレイヤーの設計だったのです。より小さなモデルにより良いメモリレイヤーをつければ、より大きなモデルに悪いメモリレイヤーをつけたものよりうまくいく。そのことが見えてきました。それがシグナルでした。

すると一つの問いが残ります。メモリレイヤーがモデルより重要なら、なぜ自分の記憶を特定のモデル会社に結びつけたい人がいるのでしょうか。

巻き戻し: 3122

その問いがあったから、私は3122を作り始めました。

ローカルのコーディングハーネスですが、設計目標は「また一つのコーディングツール」ではありませんでした。目標はこうです。モデルは交換可能な部品として扱い、本当に重要なもの、ツールの表面、安全ポリシー、セッションをまたいだ連続性は、ハーネス側が持つ。Claude、GPT、Gemini、DeepSeek、Qwen、ローカルのOllamaモデル、どれをつないでも体験は同じです。同じツール、同じ権限モデル、同じtrajectory memoryです。

重要だった決定は三つあります。第一に、native tool callingがないモデルのための共通テキストプロトコル。小さなオープンウェイトモデルを二級市民にしないためです。第二に、その小さなモデル向けの、より短いプロンプトshapeと別枠のコンテキスト予算。「サポートしている」と「実際に動く」は別だからです。第三に、作業の途中でモデルを切り替えたときに残るhandoff snapshot。次のモデルが前のモデルの止まった場所から続けられるようにするためです。

特別なことではありません。「モデルは部品で、ハーネスが機械だ」と決めたあとに自然に出てくるインフラです。

再び午前3時: Managed Agentsが実際にやったこと

午前3時に冷めたコーヒーを片手にAnthropicのエンジニアリングブログを読み返していると、あることが起きます。反応するのをやめて、認識し始めるのです。

彼らが説明したアーキテクチャ、「脳と手を分離する」という考え方は、痛いほどきれいでした。BrainはClaudeとそのハーネスで、推論を担当する。Handsはサンドボックス実行環境で、完全に交換可能で、意図的に最小化されたインターフェースでbrainと通信する。名前と入力を渡すと文字列が返る。Sessionはモデルのコンテキストウィンドウの外にあるappend-onlyイベントログ。statelessなbrainインスタンスなら、どれでもどのsessionでも拾って、前のbrainが止まった場所から続きを実行できます。

良い設計です。競合としてではなく、別のエンジニアの仕事を読むエンジニアとしてそう言っています。私が何か月も周囲を回っていた結論に彼らも到達し、私より明確に説明し、実際に動くインフラとして出してきた。その文章を読む体験は、ここしばらく味わっていなかった感覚でした。自分がもどかしく探していた証明を、同僚が目の前に見せてくれるような感覚です。

でもそこで、ないものが見え始めました。

Managed Agentsのsessionはイベントログです。生のままです。時系列です。何が起きたかはある。でも、それが何を意味するかはない。その上に意味レイヤーがありません。どのイベントが互いに矛盾しているのか、どれが時間とともに忘れられるべきか、どれが同じエンティティを指しているのか、どれがどの主張を支えるのか、あるいは反証するのか、そういう概念がないのです。Anthropicは保存とretrieval primitivesを作った。意味レイヤーは空のまま残しました。

なぜ空けてあるのかについて、私は三つの可能性を考えています。まだ作っていなくて来期のロードマップに入っているのかもしれない。意味レイヤーは彼らではなくパートナーやプロトコルの領域だと賭けているのかもしれない。関心の分離についての意図的なアーキテクチャ判断なのかもしれない。正直、どれが正しいのか私は知りません。そして知っていると断言する人は、私自身を含めて、少し疑ったほうがいいと思っています。

弱くなるどころか、むしろはっきりした立場

私が分かっているのは、その三つの物語のどれが本当であっても、このアーキテクチャが何を含意するかです。

Brainが交換可能な部品だという前提を受け入れるなら、そしてManaged Agentsはまさにその前提の上に作られているのですが、その部品の上に載る記憶は、今日どの部品が差さっているかに対して中立でなければなりません。どの単一のモデル会社も、cross-vendorなメモリレイヤーを信頼できる形で所有することはできません。それを所有するということは、どのモデルが勝つかについて中立であることを意味しますが、どのモデル会社もそこに中立ではいられないからです。その中立性は別の場所から来なければなりません。

その「別の場所」は、聞こえるよりずっと小さくて地味な場所です。誰でも実装できるプロトコル一つ。そのプロトコルが動くことを証明するリファレンスバックエンド一つ。自分でホストしたくない会社向けのエンタープライズ変種一つ。今年どのモデルを使うにせよ、自分のノートが生き残ってほしい人のための個人向け変種一つ。記憶を自分の中に作り込むのではなく、接続するものとして扱うハーネス一つ。ここ数か月、私が作ってきたものの形です。そして私は、今この瞬間が本当に必要としている形も、これなのではないかと思い始めています。

この発表が私の正しさを証明したとは言いません。それでは話がきれいすぎます。正直な版は、私もまだ考え続けている最中だということです。それでも、夜のはじめには大きな会社が私の問題を吸収したのではないかと不安で読み始め、読み終わるころには、その会社が構造的に吸収できない部分について、前よりはるかに明確な感覚を持っていました。真夜中の私より、それだけは確かに前に進んでいました。

3122はこの投稿と一緒に公開します。残りのスタック、AMCP、Nexus、MaaS、Norfolkは、しばらく前から動いていて、これからも動き続けます。別の角度からエージェントメモリに取り組んでいる方がいたら、話を聞きたいです。

もう朝です。コーヒーは午前3時のときより、もっとまずいです。