2 つのストア、1 つのスパイン、1 つのコントラクトサーフェス。

プラットフォームはデュアルストアアーキテクチャを基盤としており、オペレーターとして意識する必要はありません。グラフストアが検索と会話横断の因果関係を処理します。Postgres ストアがピボット、集計、時系列を処理します。2 つのストアは、各ファクトを生み出した正確なインタビューの正確な瞬間に紐付ける不変のチャンク識別子でつながれています。MCP ツールサーフェスが両方の上に置かれ、すべてのコンシューマーに小さく鋭いクエリセットを提供します。1 つのスパイン、3 つのエンドポイント。

このページはシステムの運用形状です。各ストアの用途、両方が存在する理由、チャンク ID スパインの動作、エージェント側から見た MCP サーフェスの外観を説明します。詳細なエンジニアリングリファレンス(スキーマ、パーティショニング、埋め込みモデル、正確な MCP JSONSchema)はエンジニアリングリファレンスにあり、。それがプラットフォームエンジニアが読むドキュメントです。このページはお客様向けです。

[ 01 ]  ·  NAMED: なぜ 2 つのストアが必要か

検索と集計は異なるクエリです。

検索の問いはグラフの形をしています。「25 歳未満の顧客でファンデーションの拒否率が急上昇するのはなぜか?」は、代替エッジ、因果関係、競合他社言及を横断するトラバーサルを必要とし、それらをつなぐ上流イベントを浮かび上がらせます。フラットなベクトルインデックスではこれができません。会話横断の因果連鎖はファーストクラスのグラフオブジェクトです。K 近傍検索は偶然によってのみそれらを浮かび上がらせます。

集計の問いは表形式です。「今週、ブランド認知ファクトが否定的に変化したものは、店舗別、地域別、ティア別でいくつか?」は Postgres の GROUP BY であり、グラフトラバーサルではありません。1 つのストアに両方の問いに答えさせようとすることが、ほとんどのナレッジ製品が大規模で崩壊する原因です。プラットフォームはそれらを分離し、チャンク識別子で結合します。

グラフ実装には Zep と mem0 の慣例に基づく bi-temporal モデルで Postgres 上の Apache AGE を使用します。ファクトストアには、同じ Postgres インスタンスが行テーブルを保持し、埋め込みに pgvector を使用します。1 つのデータベース、2 つのクエリパターン、チャンク ID で結合。

2 つのクエリ形状。1 つのスパイン。1 つのコントラクトサーフェス。

[ 02 ]  ·  NAMED: チャンク ID スパイン

すべてのファクトは同時にグラフノードと SQL 行である。

すべてのインタビューのすべてのチャンクは transcript_id / turn_id / sentence_id という形式の不変識別子を持ちます。その識別子がスパインです。各エンリッチメントファクトがそれを参照します。Postgres ファクトストアの各行がそれを参照します。グラフの各ノードがそれを参照します。ダッシュボードセルが「この数値の出所は?」と尋ねると、答えは 1 つ以上のチャンク ID です。引用は構造的です。

ブランドパートナーが「あなたの製品が代替品 X に負けると主張する根拠は何か」と尋ねます。答えは 3 つのチャンク ID、3 つのアドバイザー発言、3 つのタイムスタンプ、3 つの名前付きストアです。表示レイヤーがフォーマットし、サブストレートが保証します。証明連鎖の詳細は 逐語的証明連鎖 に記載されています。

[ 03 ]  ·  NAMED: MCP コントラクトサーフェス

すべてのコンシューマーが見る小さく鋭いツールセット。

MCP サーフェスはコーパスとすべてのコンシューマーの間のコントラクトです: ダッシュボード、ブランドパートナー API、AI エージェント。ツールは意図的に少数です。query_facts はディメンション、セグメント、時間ウィンドウでフィルタリングされた構造化行を返します。traverse_relations は因果と代替連鎖のグラフをウォークします。pivot_dimension はセグメント軸で集計します。replay_as_of は過去の日付のコーパスに対してクエリを実行します。cite はチャンク ID をその逐語的ソースに解決します。

すべての呼び出しは同じスコープチェックを通過します。呼び出し元のセッションチケットにはスコープが含まれており、そのスコープはどの MCP ツールが解決するか、どのグラフノードがトラバース可能か、どの Postgres 行が読み取り可能か、引用時にどのチャンクが解決するかをフィルタリングします。パートナーキーは cite を呼び出せますが、返されるチャンクはそのスライス内のものです。それ以外へのパスはありません。完全なセキュリティカスケードは 信頼とセキュリティ にあります。

各ツールの正確な JSONSchema はエンジニアリングリファレンスにあり、 エージェントをプラットフォームに接続するエンジニア向けです。オペレーターコンソールからは、どのエージェントが接続されているか、どのスコープを持っているか、今週何をクエリしたかを確認できます。

[ 04 ]  ·  NAMED: お客様のクラウドで、お客様のコントロール下で

プラットフォームはお客様が決めた場所で動作します。

デフォルトのサブストレートは Cloudflare であり、お客様自身の Cloudflare アカウント内です。Cloud Harness がそこにプラットフォームをインストールします。AWS、Azure、オンプレミスは異なるサブストレートで同じ形状に従います。2 つのストアはお客様のアカウントにあります。インタビューエージェントを実行するコンピュートはお客様のアカウントにあります。エンリッチメントワーカー、MCP サーバー、オペレーターコンソールはすべてお客様のテナント内で実行されます。データは処理のためにペリメーターを出ません。

Anthropic との LLM 契約と ElevenLabs との音声契約の 2 つが境界呼び出しです。両方とも非保持契約のもとで実行されます(全 LLM プランでノートレーニング、Enterprise で非保持。全音声プランで非保持)。これらの契約と境界でのデータ処理の完全な説明は 信頼ハブ にあります。

[ 05 ]  ·  NAMED: スケール時に変わること

同じアーキテクチャ上での 100 件の会話と 50,000 件の会話。

100 件のインタビュー(Pulse ティアのパイロット)では、グラフはまばらで、セグメントスコープのクエリは方向性としては有用ですが統計的に有意ではなく、ファクトストアは数千行を保持します。ダッシュボードは機能します。リプレイサーフェスは機能します。bi-temporal モデルは主に learned_at を担っており、減衰はまだ始まっていません。

2,000 件のインタビューでは、グラフが密になり、代替と因果のエッジが実際の証拠重みを持つ 3 から 4 ホップの連鎖を形成し、ファクトストアは約 200,000 行を保持し、セグメントスコープのクエリが統計的に意味を持つようになります。最初の 500 件の会話がフレッシュステータスから外れます。更新の経済性が重要になり始めます。ブランドパートナー API は単一地域スコープで課金する価値が出てきます。

毎週更新での 50,000 件のインタビューでは、コーパスはどの単一バーティカルでも最大規模のデプロイメントをサポートします。市場間ベンチマークがリアルタイムで各市場で統計的に有意になります。セグメントごとの有効性が、1 つのコーパス上で数百のブランドパートナーテナントを扱いやすくするものです。アーキテクチャは 100 件の会話デプロイメント時からこのケースのために構築されました。コーパスが成長してもストアは再構築されません。