Polign: 에지 에이전트 메모리를 위한 상태 비저장형, 타입 지정 데이터베이스

Polign은 하드웨어 제약이 있는 에지 디바이스에서 실행되는 AI 에이전트를 위해 결정론적 메모리를 제공하도록 설계된 경량 상태 비저장형 데이터베이스입니다. 메모리 관리를 LLM의 프롬프트 컨텍스트에서 타입이 지정된 스키마로 이동함으로써, Polign은 토큰 비용을 줄이고 시맨틱 검색 및 모순된 정보와 관련된 모호성을 제거합니다.

결정론적 메모리 via 타입 지정 스키마

Polign은 메모리 관리의 책임을 LLM에서 구조화된 데이터베이스 스키마로 전환합니다. 전통적인 에이전트 메모리 시스템에서는 LLM이 사용자의 선호도 변경과 같은 모순을 해결하기 위해 이전 텍스트를 다시 읽고 어떤 버전이 최신인지 추측해야 하는 경우가 많습니다. 이 과정은 토큰을 소비하고 잠재적인 부정확성을 초래합니다.

Polign은 대체 규칙(supersession rules)이 있는 타입 지정 메모리 저장소를 활용합니다. 모델이 사실을 추출할 때, 데이터베이스는 모델이 회상된 텍스트 조각이 수정인지 모순인지 파악하도록 요구하는 대신, 스키마를 기반으로 해당 사실의 의미와 유효성을 결정합니다. 이를 통해 구조화된 필터링과 정밀한 회상을 가능하게 하며, 예를 들어 텍스트 단락을 해석하도록 LLM에 의존하는 대신 데이터베이스 내에서 직접 수치 비교(예: 값이 8000 이상인지 확인)를 수행할 수 있습니다.

에지 배포를 위한 상태 비저장형 아키텍처

운영 비용과 하드웨어 요구 사항을 최소화하기 위해, polign_db는 S3와 같은 오브젝트 스토어에 상주하는 하이브리드 벡터 및 BM25 엔진 위에서 작동하는 상태 비저장형 서버로 구축되었습니다.

주요 아키텍처 특징은 다음과 같습니다:

  • Zero Durable State: polign_db 서버는 영구적인 데이터를 보유하지 않으므로, 프로세스가 재시작되거나 머신이 실패해도 메모리 손실 없이 작동할 수 있습니다.
  • Low Resource Footprint: S3에서 1,250만 개의 구절을 서비스하는 데모는 서버가 약 37 MiB RSS에서 유휴 상태로 실행될 수 있습니다. 임베더와 웹 앱을 포함한 전체 스택은 2 GB ARM 머신에 들어갈 수 있습니다.
  • Cold-First Design: 시스템은 드문드문 발생하는 콜드 쿼리에 최적화되어 있어, RAM이나 SSD에 비싼 핫 벡터 인덱스를 유지할 필요가 없습니다.

로컬 에이전트 스택

Polign은 지능과 메모리가 사용자의 디바이스에 완전히 상주하는 모듈형 "로컬 에이전트 스택"을 제안합니다. 이 스택은 세 가지 주요 레이어로 구성됩니다:

  1. Local LLM: 대화와 고수준 로직을 처리합니다.
  2. Typed Memory: 유효성 검사, 대체 규칙, 구조화된 필터링 및 시맨틱 회상을 관리합니다.
  3. Durable Local Store: 사용자가 자신의 데이터를 소유하도록 보장하는 로컬 디렉토리(예: /var/lib/agent)입니다.

커뮤니티 반응 및 비판

Polign의 기술적 목표는 효율성과 결정론에 초점을 맞추고 있지만, 프로젝트는 라이선싱 및 독창성에 대해 개발자 커뮤니티로부터 비판을 받고 있습니다.

Closed Source Concerns

여러 Hacker News 사용자는 기반이 되는 polign_db의 클로즈드 소스 성격이 인프라 도구로서 채택의 큰 장벽이 된다고 언급했습니다.

"There are countless agent memory stores today. Closed source is a non-starter."

Perceived Lack of Differentiation

일부 비판가들은 제공되는 기능—특히 S3에서 호스팅되는 벡터 데이터베이스—이 기존 오픈 소스 도구를 사용하여 구현하는 것이 이제 매우 간단하다고 주장합니다.

"A vector database hosted in S3 is effectively trivial to set up at this time. What are you offering that I can't get from prompting a powerful enough model?"

다른 사용자들은 로컬 에이전트 메모리를 위한 오픈 소스 대안을 다음과 같이 제안했습니다: Litestream을 사용하여 SQLite 벡터 기반 설계를 사용하는 방식입니다.

Sources

관련

  • 프로젝트
  • Dispatch
  • 프로젝트
  • Dispatch
  • Dispatch