Jevmem – Claude Code 프로젝트 메모리를 JEVMEM.md로 자동 저장
Jevmem – automatic project memory for Claude Code, built on Jev
TL;DR Highlight
채팅 속 결정·규칙을 JEVMEM.md에 저장했더니 이전 결정 준수가 28/72→66/72
Who Should Read
Claude Code 세션이 바뀔 때마다 지난주 결정을 잊어 같은 설명을 반복하는 개발자
Core Mechanics
- 채팅 결정을 repo 파일에 한 줄씩 저장
- jevmem은 결정, 규칙, 버그, 할 일, 실패한 접근(dead end)을 JEVMEM.md에 한 줄로 쓴다.
- 다음 세션에서 프롬프트와 관련된 줄만 Claude에 다시 넘긴다.
- 팀원은 git으로 같은 파일을 공유한다.
- 저장 여부는 Jev가 확률로 판단
- Jev(TypeSafe AI의 모델)는 결정인지, 규칙인지, 버그인지 같은 예/아니오 질문에 확률로 답한다.
- 저장할지 말지는 프롬프트가 아니라 jevmem.config.json의 임계값 규칙이 코드로 정한다.
- 저장 전에 비밀키·이메일·카드번호 모양은 제거한다.
- 이전 결정 준수율 28/72에서 66/72로
- 실제 Claude Code 세션 72개 기준으로 메모리 없을 때 28개, jevmem 사용 시 66개에서 이전 결정을 따랐다.
- 프로젝트가 금지한 변경 시도는 18개 중 10개에서 0개로 줄었다.
- 이미 실패한 접근 반복은 15개 중 3개에서 0개로 줄었다.
- 손으로 관리한 CLAUDE.md도 비슷했다
- 같은 내용을 직접 쓴 CLAUDE.md는 72개 중 67개로 jevmem(66개)과 거의 같았다.
- 프롬프트가 가리키지 않는 컨벤션은 CLAUDE.md가 3/3, 0.6 버전 jevmem이 0/3이었다.
- 0.7.1부터 항상 적용(always-on) 규칙을 도입해 6개 held-out 과제에서 0.7.0의 14/18이 18/18이 됐다.
Community Reactions
- 메모리 시스템의 존재 이유가 안 보인다는 의견
- README가 옵션과 한계까지 상세한데도 무슨 문제를 푸는지, 하네스 기본 메모리보다 왜 나은지 이해하지 못했다는 댓글이 있었다.
- superseded 줄을 남기는 설계에 대한 반론
- 바뀐 결정을 지우지 않고 표시만 하면 오래된 정보가 컨텍스트를 오염시킨다는 의견이 있었다.
- 기존 메모리의 가장 큰 문제가 오래된·충돌하는 정보를 못 쳐내는 것이라는 지적이었다.
- TypeSafe AI로 데이터가 나가는 점을 우려하는 의견
- SECURITY.md를 보니 TypeSafe AI로 많은 정보가 전송되는 것 같아 경계심이 든다는 댓글이 있었다.
- Jev 없이도 된다는 의견과 KV 캐시 질문
- 도구 하나만 주고 JSON 스키마로 응답 형태를 제한한 저렴한 에이전트로 충분하다는 의견이 있었다.
- 세션의 KV 캐시를 깨뜨리는지 묻는 댓글도 있었다.
How to Apply
- 기존 CLAUDE.md를 import로 미리보기
- 지금 쓰는 프로젝트에서 jevmem import를 실행해 CLAUDE.md에서 무엇이 추가될지 먼저 확인하라.
- 적용하려면 --apply를 붙이고, 전송 범위는 PRIVACY.md로 먼저 확인하라.
- 실패한 접근을 규칙 한 줄로 직접 남기기
- 같은 실수를 반복하던 곳에 '시도했고 실패함, 이유' 형식으로 CLAUDE.md나 JEVMEM.md에 한 줄 추가하라.
- 다음 세션에서 Claude가 같은 접근을 반복하는지 확인하라.
- 금지 규칙으로 가드 동작 확인하기
- 'Never commit .env files' 같은 규칙을 저장하고 관련 명령을 시켜 보라.
- 경고가 뜨는지 확인하고 표현을 바꿔 가며 놓치는 경우를 기록하라.
Try It
# Claude Code(또는 Claude/ChatGPT)에 붙여넣기 — jevmem 방식의 간이 버전 (직접 만든 프로젝트 메모리 정리)
아래는 이번 채팅 기록이다. 다음 세션에서 다시 쓸 항목만 JEVMEM.md 형식으로 뽑아 줘.
각 항목은 한 줄, 200자 이내로 쓴다.
종류는 [decision], [constraint], [bug], [todo], [dead-end] 중 하나를 앞에 붙인다.
실패한 접근은 이유를 함께 쓴다.
이전 결정을 뒤집는 내용이면 기존 줄에 [superseded]를 표시한다.
{{채팅 기록}}
이어서 해 볼 것: 결과를 repo의 JEVMEM.md에 저장하고 새 세션 첫 프롬프트에 "JEVMEM.md를 먼저 읽고 규칙을 지켜라"라고 붙여 보라.Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓