하나의 메모리, 모든 모델: 동일한 저장소에서 두 모델을 그라운딩(Grounding)하고 삭제 증명하기
요약
모델 벤더에 종속되지 않고 단일 저장소를 통해 여러 AI 모델을 동일한 컨텍스트로 그라운딩하는 기술적 방법론을 소개합니다. 클라이언트 측 암호화와 양자 내성 암호를 사용하여 데이터의 휴대성을 보장하고, 키 파괴를 통해 삭제를 물리적으로 증명할 수 있는 구조를 제안합니다.
핵심 포인트
- 모델 간 컨텍스트 휴대성 확보를 위한 단일 저장소 구조
- 클라이언트 측 암호화를 통한 데이터 프라이버시 보호
- 키 파괴 방식을 통한 증명 가능한 데이터 삭제(Provable erasure)
- 양자 내성 암호(ML-DSA, ML-KEM)를 활용한 보안 강화
by the Architect · Apache-2.0
모든 모델 벤더(Vendor)는 당신의 컨텍스트(Context)가 머무는 장소가 되기를 원합니다. 이는 모델을 교체하거나, 두 모델을 병렬로 실행하거나, 혹은 삭제된 기록이 실제로 사라졌음을 감사인(Auditor)에게 증명해야 하는 날이 오기 전까지는 편리합니다. 벤더가 보유한 메모리는 마지막 작업을 수행할 수 없으며, 앞의 두 작업 또한 고통스럽게 만듭니다.
이것은 대안에 대한 짧고 실행 가능한 워크스루(Walkthrough)입니다: 당신이 소유한 하나의 저장소, 동시에 두 개의 서로 다른 모델이 읽을 수 있는 저장소, 그리고 단언하는 대신 직접 입증할 수 있는 삭제 기능을 제공합니다. 이 데모는 키나 계정 없이 오프라인에서 먼저 실행되므로, 당신의 로컬 머신에서 모든 과정이 일어나는 것을 직접 확인할 수 있습니다.
설정 (The setup)
git clone https://github.com/citw2/demo-cross-model-memory
cd demo-cross-model-memory
npm install
...
데모가 단계별로 수행하는 작업:
- 몇 가지 사실을 한 번에 봉인(Seal)합니다. 데이터가 프로세스를 떠나기 전, 당신의 지갑(Wallet)에서 파생된 키를 사용하여 클라이언트 측에서 암호화됩니다. 저장소는 평문(Plaintext)을 절대 볼 수 없습니다.
- 동일한 셀(Cell)로부터 두 개의 서로 다른 모델을 그라운딩(Grounding)합니다. 오프라인 실행 시에는 로컬 대역(Stand-ins)을 사용합니다. 실제 모델을 그라운딩하려면 본인의 키를 추가하세요 (모델별 데모는 Claude, GPT, DeepSeek, Qwen, Kimi, GLM을 개별적으로 다룹니다). 핵심은 모델 간에 _메모리(Memory)_가 동일하다는 것이며, 이것이 바로 이 메모리를 휴대 가능(Portable)하게 만드는 요소입니다.
- 하나의 사실을 잊게(Forget) 만든 후, 두 모델 모두에게 다시 쿼리(Query)합니다. 삭제는 통합(Integration)별로 일어나는 것이 아니라 저장소(Store)에서 발생하기 때문에, 두 모델 모두에게서 해당 셀이 사라집니다.
이러한 형태가 중요한 이유
휴대성 (Portability). 저장소는 벤더 계정이 아닌 프로토콜에 의해 주소가 지정됩니다. 동일한 셀을 코어 클라이언트(Core client), LangChain, 그리고 LlamaIndex에서 열 수 있습니다. 모델을 교체하거나 결합하더라도 당신의 컨텍스트가 고립되지 않습니다.
증명 가능한 삭제 (Provable erasure). forget은 단순히 "삭제됨" 플래그를 뒤집는 것이 아니라, 래핑된 키(wrapped key)를 파괴하여 암호문(ciphertext)이 복구 불가능한 노이즈가 되도록 만듭니다. 대시보드의 토글 스위치를 믿는 대신, 감사인(auditor)에게 삭제 전후의 상태를 직접 보여줄 수 있습니다. 내부적으로는 ID가 ML-DSA-65로 서명되고, 각 셀은 AES-256-GCM으로 봉인되며, 공유에는 ML-KEM-768을 사용합니다. 이는 양자 내성 암호(post-quantum primitives)를 사용하는 것으로, "우리가 삭제했으니 믿으세요"라는 말은 컴플라이언스(compliance)에 대한 답변이 될 수 없기 때문입니다.
코드 기반의 최소 버전
작동 원리를 직접 확인하고 싶다면, 핵심 클라이언트는 세 번의 호출로 구성됩니다.
from saihm_memory import SaihmMemoryClient
mem = SaihmMemoryClient() # 기본적으로 로컬 블라인드 샌드박스(local blind sandbox)
...
두 번째 모델의 컨텍스트 로딩(context-loading)을 동일한 recall()로 지정하면 두 모델 모두 하나의 소스에서 그라운딩(grounded)됩니다. forget을 한 번 호출하면 어느 모델도 해당 정보를 다시 검색할 수 없습니다. 추적해야 할 벤더(vendor) 계정 내의 두 번째 복사본은 존재하지 않습니다.
비용 및 비비용 요소
오프라인 샌드박스는 실행 비용이 무료이며 프로세스 외에는 아무것도 저장하지 않습니다. 라이브 서비스를 이용하려면 호스팅된 블라인드 엔드포인트(hosted blind endpoint) — 암호문만 존재 — 를 사용해야 하며, 유료 멤버십(무료 티어 없음)이 필요합니다. 사용량 기반 결제(pay-as-you-go)는 쓰기당 $0.01, 읽기당 $0.005이며, 월 $5부터 시작하는 구독 모델이 있으며 COTI V2 메인넷에서 결제됩니다. 클라이언트 측의 모든 것은 Apache-2.0 라이선스를 따르며, 독점적인 SDK 종속(lock-in)은 없습니다.
또한 매 호출마다 전체 트랜스크립트(transcript)를 다시 입력하는 대신 작은 작업 세트(working set)만 호출(recall)하기 때문에 토큰 비용도 절감됩니다. 오픈 벤치마크인 citw2/saihm-token-benchmark에 따르면, 긴 멀티 세션 실행 시 컨텍스트 토큰(context tokens)이 최대 ~80%까지 감소하는 것으로 측정되었습니다. 여러분의 트랜스크립트로 직접 실행하여 수치를 확인해 보세요.
실행해보고, 참여하세요
데모를 클론(Clone)하여, 하나의 메모리가 두 모델을 그라운딩(Grounding)한 뒤 두 모델 모두에서 사라지는 과정을 지켜보세요. 실제 워크로드(Workload)에서도 이를 구현하고 싶다면, SAIHM에 참여하세요: https://saihm.coti.global/join?utm_source=devto&utm_medium=article&utm_campaign=c3
실행 가능한 9가지 데모 전체 보기: https://citw2.github.io/saihm-demos/
— Architect
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기