Hippo: 생물학적 기억 메커니즘을 모방한 AI 에이전트용 메모리 라이브러리
Show HN: Hippo, biologically inspired memory for AI agents
TL;DR Highlight
Claude Code, Cursor, Codex 등 여러 AI 에이전트 툴 사이에서 세션을 넘나들며 기억을 공유할 수 있는 오픈소스 메모리 레이어로, 뇌의 기억 소멸(decay)·강화(retrieval strengthening)·통합(consolidation) 메커니즘을 코드로 구현했다.
Who Should Read
Claude Code, Cursor, Codex 등 여러 AI 코딩 에이전트를 번갈아 쓰면서 매번 컨텍스트를 다시 설명해야 하는 번거로움을 겪고 있는 개발자. 또는 AI 에이전트가 같은 실수를 반복하는 문제를 해결하고 싶은 팀.
Core Mechanics
- AI 에이전트는 세션이 끊기면 모든 걸 잊어버리는데, 기존 해결책들은 그냥 모든 걸 저장하고 나중에 검색하는 '파일 캐비닛' 방식이다. Hippo는 이걸 뇌처럼 동작하게 만들자는 발상에서 출발했다.
- 핵심 기능은 세 가지다. 시간이 지나면 기억이 흐릿해지는 decay(소멸), 자주 꺼내쓰는 기억은 더 선명해지는 retrieval strengthening(인출 강화), 중요한 기억은 장기 기억으로 굳히는 consolidation(통합)이다.
- Claude Code, Cursor, Codex, OpenClaw 등 다양한 CLI 에이전트와 함께 쓸 수 있고, ChatGPT나 Claude의 CLAUDE.md, Cursor의 .cursorrules 파일에서 기억을 불러오는 import 기능도 있다.
- 저장 방식은 SQLite를 백본으로 쓰고, 사람이 읽을 수 있는 마크다운/YAML 파일로도 미러링된다. Git으로 추적 가능하고, 벤더 종속 없이 폴더를 복사하는 것만으로 export할 수 있다.
- 런타임 의존성이 전혀 없고(zero deps), Node.js 22.5 이상만 있으면 된다. 임베딩 기반 유사도 검색을 쓰고 싶으면 @xenova/transformers를 선택적으로 붙일 수 있다.
- 설치는 `npm install -g hippo-memory`로 전역 설치 후 `hippo init`으로 초기화한다. 기억 저장은 `hippo remember '...'` 명령어로 한다.
- 기억에는 태그와 confidence level(신뢰도)이 붙어서 400줄짜리 CLAUDE.md처럼 뒤죽박죽 커진 규칙 파일 문제를 구조적으로 해결해준다. 오래된 정보는 자동으로 decay된다.
- v0.10.0에서 커뮤니티 피드백을 대거 반영했다고 저자가 직접 답변했다.
Evidence
- decay 기반 망각이 실제로 효과적인지에 대한 회의론이 있었다. 한 댓글에서 '지수적 decay는 PR 머지처럼 sharp하게 발생하는 변경을 잡아낼 수 없다. 생물학적 학습은 비슷한 패턴을 반복 관찰할 때 의미 있는데, 코드베이스의 커밋을 학습하는 데 그게 맞는 비유인지 모르겠다'는 지적이 나왔다.
- '무엇을 잊을지 아는 것'이 AGI-complete 문제라는 날카로운 지적도 있었다. 미래에 무엇이 중요할지 판단하려면 미래 모델과 현재 자신의 상태 모델이 필요한데, 현재 에이전트들은 자기 자신의 능력조차 제대로 모델링 못 한다는 주장이다.
- 비슷한 문제를 반대 방향에서 접근한 프로젝트 소개도 있었다. ccrider(github.com/neilberkman/ccrider)는 별도 메모리 레이어를 두는 대신, Claude Code와 Codex가 이미 저장하는 세션 트랜스크립트를 SQLite FTS5로 인덱싱해서 MCP 서버로 검색할 수 있게 만든 방식이다.
- decay 시간의 기준으로 클럭 시간(wall clock time) 대신 에이전트의 '활성 시간(active time)'을 써야 한다는 의견이 여럿 나왔다. 간헐적으로 실행되는 에이전트는 클럭 기준으로 하면 실제 사용 빈도와 관계없이 기억이 사라진다는 문제 제기다.
- 위치(location) 기반 기억 트리거 아이디어도 제안됐다. 에이전트가 작업 중인 파일 경로나 프로젝트 경로를 기억 트리거로 삼으면, 관련 컨텍스트가 자동으로 활성화되고 더 자연스럽게 recall이 된다는 것이다. 스포츠나 GUI에서 물리적 위치가 procedural memory를 강하게 트리거하는 것과 같은 원리라는 설명도 붙었다.
- HippoRAG(arxiv.org/abs/2405.14831)라는 유사한 이름과 기법을 가진 논문이 이미 있는데 README에 언급이 없다는 지적이 나왔다. 의도적으로 관련이 없는 건지, 아니면 놓친 건지 커뮤니티에서 궁금해했다.
How to Apply
- Claude Code로 작업하다가 Cursor로 전환하거나, 여러 AI 코딩 툴을 번갈아 쓰는 개발자라면 `npm install -g hippo-memory && hippo init`으로 설치한 뒤, 각 툴에서 발견한 중요한 설정이나 에러 해결책을 `hippo remember '...'`로 저장해두면 다음 툴 전환 시에도 컨텍스트가 유지된다.
- AI 에이전트가 같은 배포 버그나 설정 실수를 반복하는 팀이라면, 에러가 발생할 때마다 Hippo에 에러 메모리를 저장해두는 습관을 들이면 된다. decay 메커니즘 덕분에 오래되고 해결된 문제는 자연스럽게 희미해지고, 반복되는 실수는 강화돼서 에이전트 컨텍스트에 더 잘 떠오른다.
- ChatGPT나 Claude에 이미 쌓아둔 맥락이 있다면, Hippo의 import 기능으로 ChatGPT 대화 내용이나 CLAUDE.md, .cursorrules 파일을 한 번에 가져와서 중립적인 포맷으로 통합 관리할 수 있다. 이후에는 마크다운 파일을 Git 리포에 커밋해두면 팀원과도 공유 가능하다.
- 임베딩 기반 의미 검색이 필요한 경우에는 `@xenova/transformers`를 추가 설치해서 쓰면 된다. 단순 키워드 매칭이 아닌 의미적으로 유사한 과거 기억을 찾아주므로, 기억 양이 많아질수록 효과적이다.
Code Example
snippet
# 설치 및 초기화
npm install -g hippo-memory
hippo init
# 기억 저장
hippo remember "FRED cache silently drops the t flag — always pass --no-cache explicitly"
# ChatGPT나 Claude 등 기존 툴에서 import
hippo import --from claude ./CLAUDE.md
hippo import --from cursor ./.cursorrules
# 기억 검색 (임베딩 사용 시 @xenova/transformers 필요)
hippo recall "cache 관련 배포 이슈"Terminology
decay기억이 시간이 지남에 따라 자연스럽게 희미해지는 현상. 뇌에서 오래되거나 자주 쓰지 않는 기억이 약해지는 것처럼, Hippo에서도 오래된 메모리의 중요도 점수가 자동으로 낮아진다.
retrieval strengthening기억을 꺼낼수록 더 선명해지는 효과. 시험 공부할 때 반복해서 떠올리는 연습이 기억을 강화하는 것과 같은 원리로, 자주 참조되는 메모리는 우선순위가 높아진다.
consolidation단기 기억이 장기 기억으로 굳어지는 과정. 수면 중에 낮에 배운 것들이 장기 기억으로 정리되는 것처럼, Hippo에서는 중요한 기억을 안정적인 장기 저장소로 옮기는 과정이다.
SQLite FTS5SQLite에 내장된 전문 검색(Full-Text Search) 엔진. 일반 DB 쿼리보다 텍스트 검색에 특화되어 있어 대량의 기억 중에서 키워드로 빠르게 찾을 수 있다.
R-STDPReward-modulated Spike-Timing Dependent Plasticity의 약자. 보상 신호에 따라 뉴런 연결 강도가 조절되는 학습 메커니즘으로, 댓글에서 언급된 로봇 메모리 시스템(MH-FLOCKE)이 사용하는 방식이다.
MCPModel Context Protocol의 약자. AI 에이전트가 외부 도구나 데이터 소스에 표준화된 방식으로 접근할 수 있게 해주는 프로토콜로, Anthropic이 제안한 방식이다.