Zep의 가격 책정은 에피소드 수가 아닌 에피소드 크기(episode size)를 기준으로 측정됩니다. 하나의 크레딧은 처음 350바이트를 커버하며, 추가되는 모든 350바이트 또는 그 일부는 또 다른 크레딧을 추가합니다. 따라서 credits = ceil(bytes / 350)입니다.
저는 월별 고정 워크로드인 15,000 에피소드를 대상으로 평균 에피소드 크기만 변경하여 계산했습니다. 플랜 가격 및 할당량은 Zep's pricing page에서 확인했으며, 2026년 10월 14일 기준입니다. 산술 계산은 제가 했으며, 아래 스크립트를 통해 사용자의 배포 환경에 맞춰 직접 실행할 수 있습니다.
| 평균 에피소드 | 크레딧당 | 월별 크레딧 | 플랜 적용 가능 여부 |
|---|
| 300 B | 1 | 15,000 | Flex, $125 |
| ... | | | |
동일한 수의 쓰기 작업(writes)입니다. 이 범위에 걸쳐 크레딧이 열 배 증가하고, 첫 번째 행과 마지막 행 사이에는 청구 금액이 세 배로 늘어납니다.
import math
PLANS = [("Flex", 50_000, 125, 10_000, 25),
...
공식이 청구하지 않는 것들
이것이 단순한 비판 기사가 아닌 이유 두 가지가 있습니다. Zep은 검색(retrieval), 저장(storage), 스레드(threads), 사용자(users) 또는 그래프 저장소(graph storage)에 대해 아무것도 청구하지 않기 때문에, 쓰기는 적고 읽기가 많은 제품이라도 운영 비용이 저렴합니다. 또한 이 공식은 숨겨져 있기보다는 공개되어 있습니다. 이는 여러 경쟁사들이 해내지 못하는 부분입니다.
왜 에피소드 크기는 아무도 변경하기로 결정하지 않았는데도 변동하는가
에피소드 크기는 제품이 가장 적게 통제할 수 있는 변수입니다. 메시지 본문을 보내는 것으로 시작하여 나중에 본문과 티켓 메타데이터, 이전 상태(prior status), 시스템 노트 등을 함께 보내는 지원 통합 기능은 쓰기 빈도 자체를 변경하지 않았습니다. 단지 그 테이블의 어느 행에 위치하는지만 바꿨을 뿐이며, 아무도 이를 위해 티켓을 제출하지 않았습니다.
저희는 Statewave를 구축했습니다. 아래 여섯 가지 대안 중 하나이므로 이 부분을 고려하여 무게를 두시기 바랍니다.
Self-hosting Zep은 2025년 4월에 더 이상 대체재가 아니게 되었습니다
예전에는 그랬습니다. Zep은 2025년 4월에 오픈 소스 전략의 새로운 방향을 발표했고, Community Edition이 폐기되었습니다. 오픈 상태로 남은 것은 Zep 주변 서비스가 아니라, 그 밑에 있는 시간적 그래프 엔진인 Graphiti입니다. 가격 페이지의 무료 티어는 월 10,000 크레딧을 가진 호스팅 플랜을 의미하며, 700바이트 에피소드의 경우 약 5,000개의 쓰기(writes)에 해당합니다.
따라서 '직접 운영한다'는 것은 다른 프로젝트를 선택한다는 의미이며, 유용한 질문은 Zep의 어떤 부분을 유지하려고 하는가입니다.
상세 비교: 여섯 가지 대안들
| # | 대안 (Alternative) | 대체하는 것 (Replaces) | 스토리지 (Storage) | 관리 옵션 (Managed option) | 비용이 이동하는 곳 (Where the cost moves) |
|---|
| 1 | Graphiti | Zep의 시간적 그래프 엔진 | Neo4j, FalkorDB, Neptune | Zep 자체 | 직접 운영하는 그래프 데이터베이스 |
| ... | | | | | |
| 저는 이 표에서 그래프 기능을 균일하게 점수화하지 않았습니다. 많은 독자들에게 떠나야 하는 이유는 더 이상 중요한 경로(critical path)에 그래프 데이터베이스를 원하지 않기 때문이며, 균일한 점수는 Graphiti가 그들이 삭제하려고 시도하는 정확한 요구 사항에 대해 보상을 줄 것이기 때문입니다. | | | | | |
상세 설명: 여섯 가지 대안들
1. Graphiti: Zep의 모델을 유지하고 서비스를 포기할 경우
github.com/getzep/graphiti · Apache-2.0 · Neo4j, FalkorDB 또는 Amazon Neptune
Zep의 모델(개체와 관계가 각각 유효성 간격(validity interval)을 가지므로 특정 날짜에 무엇이 사실이었는지 물어볼 수 있음)을 유지하는 가장 가까운 방법입니다. 서버 및 MCP 어댑터 모두 자체 호스팅이 가능합니다.
이는 제품이라기보다는 엔진으로 배포됩니다. 신원 확인(Identity), 인증(auth), 큐잉(queueing), 모니터링, 백업, 스키마 및 애플리케이션 API는 사용자가 직접 구축하고 유지할 수 있습니다.
비용이 이동하는 곳: 이제 운영하게 되는 그래프 데이터베이스와 그래프를 구축하는 추출 호출(extraction calls)입니다.
2. Statewave: 정책 계층을 가진 Postgres에서의 주제 메모리 (subject memory)
github.com/smaramwbc/statewave · Apache-2.0 · Postgres 14+ with pgvector, Python 3.11+
원시 에피소드는 계속 추가 전용(append-only)이며, 그로부터 컴파일된 타입화된 메모리와 분리됩니다. 각 메모리는 자신 뒤에 있는 신뢰도(confidence), 유효성(validity), 그리고 출처 에피소드 ID를 가집니다. 메모리는 사용자, 계정, 케이스, 에이전트 또는 저장소 등 주체(subject)에 범위가 한정되며, 사용자별 그래프 단위가 아닙니다. 검색은 민감도 레이블에 대한 deny 및 redact 규칙을 가진 YAML 정책 하에서 토큰 예산으로 실행되며, 조립된 번들(bundle)의 서명된 영수증을 방출합니다.
비용 이동: 하나의 Python 서비스와 Postgres, 그리고 컴파일 시점의 LLM 호출로 이동합니다.
3. Hindsight: 검색보다는 통합에 중점을 두는 에이전트를 위한 솔루션
github.com/vectorize-io/hindsight · MIT 서버 · Postgres 또는 임베디드 pg0, 호스팅 옵션 이용 가능
월드 팩트와 경험을 유지한 다음, 이를 관찰(observations)과 정신 모델(mental models)로 통합하고, 이 둘에 대한 리플렉트(reflect) 패스를 거치며 네 개의 검색 경로가 병렬로 실행됩니다. 단순히 행(rows)을 검색하는 에이전트보다는 증거 기반의 신념을 형성하는 에이전트를 원할 때 선택하십시오. Retain은 비동기적이므로, 뱅크 및 테넌트 설계는 초기에 결정해야 합니다.
비용 이동: 모델 호출로, 그리고 더 많이, 왜냐하면 리플렉션 자체가 추론(inference)이기 때문입니다.
4. Cognee: 이질적인 코퍼스와 코드에 중점을 두는 솔루션
github.com/topoteretes/cognee · 호스팅 옵션 이용 가능 · 현재 라이선스 약관은 레포지토리를 확인하십시오
관계형(relational), 그래프(graph), 벡터(vector) 백엔드에 걸쳐 문서와 코드, 그리고 세션 기록으로부터 그래프 및 벡터 지식 계층을 구축하며, 로컬 작업을 위한 임베디드 기본값이 제공됩니다. 혼합된 코퍼스 및 문서 또는 코드 GraphRAG에는 이 목록에서 가장 적합합니다.
비용 이동: 주로 구성(configuration) 시간에 발생합니다. 그 표면은 넓고 기본값들은 프로덕션 환경과 접촉하면 유지되지 않을 것입니다.
5. Mem0: 목록 중 가장 작은 마이그레이션을 위한 솔루션
github.com/mem0ai/mem0 · Apache-2.0 core, alongside
익숙한 사용자별 메모리 API와 구성 가능한 벡터 스토어, 그리고 오후에 도입할 만큼 작은 크기입니다. 그래프 메모리는 v3 오픈 소스 SDK 이후 플랫폼 전용으로 제공되어 왔으므로, 만약 Zep의 그래프 기능을 사용하지 않기 위해 떠나는 것이라면, 마이그레이션을 계획하기 전에 어떤 에디션이 필요한 기능인지 확인하세요.
비용은 다음 항목으로 이동합니다: 벡터 스토어 및 추출 호출입니다.
6. 런타임을 어차피 교체할 때 Letta
docs.letta.com · 호스팅 옵션 사용 가능
편집 가능한 메모리 블록과 트랜스크립트, 그리고 Git 기반의 메모리 파일 시스템이 모두 상태 저장(stateful) 에이전트 런타임 내에 포함되어 있습니다. 여기서의 메모리 설계는 여섯 가지 중 가장 의견이 강하며, 버전 관리되는 파일 시스템은 지난 화요일에 어떤 블록이 무엇을 말했는지 감사(auditing)하는 데 진정으로 유용합니다. 범위(Scope)가 걸림돌인데, 이는 단순히 메모리 계층만 대체하는 것이 아니라 에이전트 런타임 자체를 교체하기 때문입니다.
비용은 다음 항목으로 이동합니다: 이미 오케스트레이션 시스템을 가지고 있다면, 이를 재작성해야 합니다.
우리가 가진 진입점의 부족한 점
- 개체-관계 그래프(entity-relationship graph)와 순회(traversal) 기능이 없습니다. 만약
- 사실 변경(Changed facts). 값(value)이 기록 중간에 업데이트됩니다. 새로운 백엔드가 현재 값을 반환하는지, 그리고 이전 값도 여전히 볼 수 있는지 궁금합니다?
- 세션 간 회상(Cross-session recall). 세션 2에서 언급된 내용이 사용자가 명시하지 않았음에도 불구하고 세션 9에 나타납니다.
- 민감한 컨텍스트 거부(Denied sensitive context). 정책이 보류해야 하는 기억(memory)이 구성된 컨텍스트에서 제외되며, 나중에 그것이 누락된 것이 아니라 거부된 것임을 알 수 있습니다.
- 주제 삭제(Subject deletion). 특정 주제를 삭제한 후, 그 흔적을 검색해 봅니다. 부분 삭제가 일반적인 실패 사례이며 조용히 발생합니다. 그런 다음 청구서를 모델링합니다. 바이트 크기를 알고 있다면, 이 스크립트는 약 1분 만에 Zep 측의 정보를 제공할 것입니다. 그렇지 않다면, 다른 어떤 것보다 먼저 그 크기들을 측정해야 합니다. 왜냐하면 모든 결정이 그 숫자에 달려 있기 때문입니다. 댓글로 여러분의 배포(distribution)가 어떻게 보이는지 올려주세요. 다양한 제품 전반에 걸쳐 얼마나 넓게 퍼져 있는지 궁금합니다.
제가 작업하는 구현 코드(implementation code)는 테이블을 신뢰하기보다 컴파일 및 영수증 코드를 읽고 싶다면 github.com/smaramwbc/statewave에 있습니다.
위의 가격 책정 및 리포지토리 세부 정보는 2026년 10월 14일에 확인되었습니다.