두 개의 저장소, 하나의 척추, 하나의 계약 표면.

플랫폼은 운영자가 직접 신경 쓸 필요가 없는 이중 저장소 아키텍처를 기반으로 구축됩니다. 그래프 저장소는 탐색과 대화 간 인과관계를 처리합니다. Postgres 저장소는 피벗, 집계, 시계열을 처리합니다. 두 저장소는 모든 팩트를 그것을 생성한 정확한 인터뷰의 정확한 순간으로 연결하는 불변 청크 식별자에서 결합됩니다. MCP 툴 표면이 두 저장소 위에 위치하여 모든 소비자에게 소수의 정밀한 쿼리 집합을 제공합니다. 하나의 척추, 세 개의 엔드포인트.

이 페이지는 시스템의 운영적 형태입니다. 각 저장소의 용도, 두 저장소가 모두 존재하는 이유, 청크-ID 척추의 작동 방식, 에이전트 측에서 MCP 표면이 어떻게 보이는지를 다룹니다. 심층 엔지니어링 참조(스키마, 파티셔닝, 임베딩 모델, 정확한 MCP JSONSchema)는 엔지니어링 참조에 있으며, . 그것이 플랫폼 엔지니어가 읽는 문서입니다. 이 페이지는 귀하를 위한 것입니다.

[ 01 ]  ·  NAMED: 두 개의 저장소가 필요한 이유

탐색과 집계는 서로 다른 쿼리입니다.

탐색 질문은 그래프 형태입니다. 「25세 미만 고객의 파운데이션 거부율이 왜 급증하는가?」는 대체 엣지, 인과 관계, 경쟁사 언급을 가로지르는 순회를 필요로 하며, 이들을 연결하는 업스트림 이벤트를 드러냅니다. 평면 벡터 인덱스는 이를 수행할 수 없습니다. 대화 간 인과 체인은 일급 그래프 객체입니다. K-최근접 이웃 검색은 우연에 의해서만 이를 드러냅니다.

집계 질문은 테이블 형태입니다. 「이번 주 부정적으로 변한 브랜드 인식 팩트는 매장별, 지역별, 티어별로 몇 개인가?」는 그래프 순회가 아니라 Postgres GROUP BY입니다. 하나의 저장소로 두 종류의 질문에 모두 답하려는 시도가 대부분의 지식 제품을 대규모에서 붕괴시키는 원인입니다. 플랫폼은 이 둘을 분리하고 청크 식별자에서 결합합니다.

그래프 구현을 위해 플랫폼은 Postgres의 Apache AGE를 사용하며, Zep 및 mem0 관례를 기반으로 한 bi-temporal 모델을 채택합니다. 팩트 저장소의 경우 동일한 Postgres 인스턴스가 행 테이블을 보유하며 임베딩을 위해 pgvector를 사용합니다. 하나의 데이터베이스, 두 가지 쿼리 패턴, 청크-ID에서 결합.

두 가지 쿼리 형태. 하나의 척추. 하나의 계약 표면.

[ 02 ]  ·  NAMED: 청크-ID 척추

모든 팩트는 동시에 그래프 노드이자 SQL 행입니다.

모든 인터뷰의 모든 청크는 transcript_id / turn_id / sentence_id 형태의 불변 식별자를 부여받습니다. 그 식별자가 척추입니다. 각 풍부화 팩트가 이를 참조합니다. Postgres 팩트 저장소의 각 행이 이를 참조합니다. 그래프의 각 노드가 이를 참조합니다. 대시보드 셀이 「이 숫자의 출처는 무엇인가」라고 물을 때, 답은 하나 이상의 청크-ID입니다. 인용은 구조적입니다.

브랜드 파트너가 「왜 제 제품이 대체재 X에 진다고 주장하는 것입니까」라고 묻습니다. 답은 세 개의 청크-ID, 세 개의 어드바이저 발언, 세 개의 타임스탬프, 세 개의 명명된 저장소입니다. 표시 레이어가 이를 포맷합니다. 기반 시설이 이를 보장합니다. 출처 체인은 원문 출처 체인 하에 상세히 설명됩니다.

[ 03 ]  ·  NAMED: MCP 계약 표면

모든 소비자가 보는 소수의 정밀한 툴셋.

MCP 표면은 코퍼스와 모든 소비자 간의 계약입니다: 대시보드, 브랜드 파트너 API, AI 에이전트. 툴은 의도적으로 적습니다. query_facts는 차원, 세그먼트, 시간 창으로 필터링된 구조화된 행을 반환합니다. traverse_relations는 인과 및 대체 체인을 위해 그래프를 순회합니다. pivot_dimension은 세그먼트 축에 걸쳐 집계합니다. replay_as_of는 과거 날짜의 코퍼스에 대해 모든 쿼리를 실행합니다. cite는 청크-ID를 원문 출처로 해석합니다.

모든 호출은 동일한 범위 검사를 통과합니다. 호출자의 세션 티켓은 범위를 포함합니다. 그 범위는 어떤 툴이 해석되는지, 어떤 그래프 노드가 순회 가능한지, 어떤 Postgres 행이 읽을 수 있는지, 그리고 인용 시 어떤 청크가 해석되는지를 필터링합니다. 파트너 키는 cite를 호출할 수 있습니다. 반환되는 청크는 해당 슬라이스 내에 있습니다. 그 외부로의 경로가 없습니다. 전체 보안 캐스케이드는 신뢰 및 보안 하에 있습니다.

각 툴의 정확한 JSONSchema는 엔지니어링 참조에 있으며, . 에이전트를 플랫폼에 연결하는 엔지니어를 위한 것입니다. 운영자 콘솔에서 어떤 에이전트가 연결되어 있는지, 어떤 범위를 보유하는지, 이번 주에 무엇을 쿼리했는지 확인할 수 있습니다.

[ 04 ]  ·  NAMED: 귀사의 클라우드, 귀사의 통제 하에

플랫폼은 귀사가 결정한 곳에서 실행됩니다.

기본 기반 시설은 Cloudflare이며, 귀사의 Cloudflare 계정 내에 있습니다. Cloud Harness가 그곳에 플랫폼을 설치합니다. AWS, Azure, 온프레미스는 다른 기반 시설에서 동일한 형태를 따릅니다. 두 저장소는 귀사의 계정에 있습니다. 인터뷰 에이전트를 실행하는 컴퓨팅은 귀사의 계정에 있습니다. 풍부화 워커, MCP 서버, 운영자 콘솔 모두 귀사의 테넌트 내에서 실행됩니다. 데이터는 처리를 위해 경계를 벗어나지 않습니다.

Anthropic과의 LLM 계약과 ElevenLabs와의 음성 계약이 두 개의 경계 호출입니다. 두 계약 모두 비보존 계약 하에 실행됩니다(모든 LLM 플랜에서 비훈련, Enterprise에서 비보존; 모든 음성 플랜에서 비보존). 이러한 계약과 경계에서의 데이터 처리에 대한 전체 설명은 신뢰 허브에 있습니다.

[ 05 ]  ·  NAMED: 대규모에서 변하는 것

동일한 아키텍처 위의 100개 대화와 50,000개 대화.

100개의 인터뷰(Pulse 티어 파일럿)에서 그래프는 희소하고, 세그먼트 범위의 쿼리는 방향적으로 유용하지만 통계적으로 유의하지 않으며, 팩트 저장소는 수천 개의 행을 보유합니다. 대시보드는 작동합니다. 재생 표면도 작동합니다. bi-temporal 모델은 주로 learned_at를 처리합니다. 감쇠는 아직 시작되지 않았습니다.

2,000개의 인터뷰에서 그래프가 밀도를 높이고, 대체 및 인과 엣지가 실제 증거 가중치를 가진 3~4홉 체인을 형성하며, 팩트 저장소는 약 200,000개의 행을 보유하고, 세그먼트 범위의 쿼리가 통계적으로 유의해집니다. 처음 500개의 대화가 신선 상태에서 벗어납니다. 갱신 경제학이 중요해지기 시작합니다. 브랜드 파트너 API는 단일 지역 범위에서 청구할 가치가 있어집니다.

주간 갱신으로 50,000개의 인터뷰에서 코퍼스는 단일 버티컬 내 최대 규모의 배포를 지원합니다. 교차 시장 벤치마킹은 실시간이며 시장별로 통계적으로 유의합니다. 세그먼트별 유효성이 하나의 코퍼스에서 수백 개의 브랜드 파트너 테넌트를 다룰 수 있게 만드는 것입니다. 아키텍처는 100개 대화 배포에서부터 이 케이스를 위해 구축되었습니다. 코퍼스가 성장함에 따라 저장소를 재구축하지 않습니다.