OpenChronicle: 모든 LLM 에이전트를 위한 오픈소스 로컬 퍼스트 메모리 시스템

OpenChronicle 소개

AI 에이전트의 핵심 한계 중 하나는 세션 간 기억 지속성(Memory Persistence)입니다. 대화가 끝나면 이전 컨텍스트가 사라져 에이전트는 매번 처음부터 시작해야 합니다. OpenAI는 이 문제를 해결하기 위해 ChatGPT에 Chronicle이라는 메모리 시스템을 도입했지만, 이는 OpenAI 플랫폼에 종속된 폐쇄형 솔루션입니다. 어떤 모델을 쓰는지, 어떤 에이전트 프레임워크를 사용하는지와 관계없이 메모리를 공유하려는 요구는 점점 커지고 있지만, 오픈소스 대안은 드문 상황입니다.

OpenChronicle은 모든 도구 호출 가능한(Tool-capable) LLM 에이전트를 위한 오픈소스 로컬 퍼스트(Local-First) 메모리 시스템입니다. 프로젝트 슬로건 그대로 "OpenAI Chronicle이지만, 오픈되고 모델 독립적(Model-Agnostic)이며, 검사 가능하고(Inspectable) 해킹 가능한(Hackable)" 대안을 지향합니다. 특정 LLM 제공업체나 에이전트 프레임워크에 묶이지 않고, 사용자가 직접 데이터를 소유하고 메모리의 내용을 들여다보고 수정할 수 있다는 점이 핵심 철학입니다.

OpenChronicle은 현재 v0.1.0 알파 단계로 macOS만 지원합니다. 아직 초기 단계이지만, 오픈소스 에이전트 메모리 생태계에서 중요한 시도로 주목받고 있습니다. 여러 에이전트 프레임워크와 LLM 백엔드에서 동일한 메모리 저장소를 공유하는 기반 인프라를 목표로 하고 있으며, 커뮤니티의 기여로 성장하는 프로젝트입니다.

OpenChronicle의 핵심 특징

flowchart LR
    W[mac-ax-watcher<br/>events]
    S0["<b>S0</b> dispatcher<br/>dedup · debounce<br/>min-gap"]
    S1["<b>S1</b> parser<br/>focused_element<br/>visible_text · url"]
    BUF[(capture-buffer<br/>/*.json)]
    TL["Timeline<br/>normalizer<br/>1-min · verbatim"]
    TB[(timeline_blocks)]
    SM["Session mgr<br/>idle 5m · app-switch 3m<br/>max 2h"]
    S2["<b>S2</b> reducer"]
    ED[(event-<br/>YYYY-MM-DD.md)]
    CLF["Classifier<br/>→ user- / project- / tool- /<br/>topic- / person- / org-*.md"]
    STORE[("SQLite FTS5<br/>+ Markdown")]

    W --> S0 --> S1 --> BUF --> TL --> TB --> S2 --> ED --> CLF --> STORE
    ED --> STORE
    BUF -. pre_capture_hook<br/>(post-write · skipped on content-dedup) .-> SM
    SM -. flush 5m / on_end .-> S2
    TB -. grounding .-> CLF

OpenChronicle이 추구하는 주요 특성은 다음과 같습니다:

로컬 퍼스트(Local-First): 메모리 데이터가 사용자의 로컬 컴퓨터에 저장됩니다. 외부 서버에 개인 대화 내용이나 작업 컨텍스트가 전송되지 않으며, 인터넷 연결 없이도 동작합니다.

모델 독립성(Model-Agnostic): 특정 LLM에 묶이지 않습니다. Claude, GPT-4, Gemini, Llama 등 어떤 LLM을 사용하는 에이전트라도 동일한 메모리 저장소를 공유할 수 있습니다. 오늘은 Claude를 쓰고 내일은 Llama를 쓰더라도 이전 기억이 유지됩니다.

검사 가능성(Inspectable): 에이전트가 무엇을 기억하는지 사용자가 직접 확인하고 편집할 수 있습니다. 블랙박스가 아니라 투명한 메모리 저장소입니다.

해킹 가능성(Hackable): 오픈소스이므로 자신의 워크플로우에 맞게 수정하고 확장할 수 있습니다. 특수한 메모리 스키마나 검색 방식이 필요한 경우에도 직접 커스터마이징이 가능합니다.

에이전트 메모리 시스템 비교

특성 OpenChronicle OpenAI Chronicle Mem0
오픈소스 :white_check_mark: :cross_mark: :white_check_mark:
모델 독립성 :white_check_mark: :cross_mark: (OpenAI 전용) :white_check_mark:
로컬 저장 :white_check_mark: :cross_mark: (클라우드) 부분적
검사 가능 :white_check_mark: :cross_mark: :white_check_mark:
macOS :white_check_mark: (현재만) :white_check_mark: :white_check_mark:
성숙도 알파 안정 안정

OpenChronicle 설치 및 시작하기

현재 OpenChronicle은 macOS를 지원하며 초기 알파 버전입니다. 최신 설치 방법은 GitHub 저장소를 확인하세요:

git clone https://github.com/Einsia/OpenChronicle.git
cd OpenChronicle
# 설치 및 설정은 README 참고

에이전트 연동 예시 (Python):

from openchronicle import Chronicle

# 로컬 메모리 저장소 초기화
memory = Chronicle()

# 기억 저장
memory.add("사용자가 Python 3.11을 선호함")
memory.add("현재 프로젝트는 FastAPI 기반 REST API 서버")

# 관련 기억 검색
relevant = memory.search("Python 버전")
# → ["사용자가 Python 3.11을 선호함"]

# 에이전트 컨텍스트에 메모리 주입
context = memory.get_context(query="프로젝트 설정")

라이선스

OpenChronicle 프로젝트는 MIT 라이선스로 제공되고 있습니다.

:github: OpenChronicle 프로젝트 GitHub 저장소

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: