4가지 메모리 타입
ainote 의 토픽 메모리는 type 필드로 분류. Claude 가 자동으로 적절한 타입 선택.
1. user — 사용자 정체성
언제: 사용자의 역할/선호/지식/배경 학습 시.
예시:
markdown
---
name: user-role
description: 사용자 역할
type: user
---
사용자는 한국거래소 8년차 개발자. Rails 메인, Flutter 보조.
한국어로 응답 선호. 기술 용어는 영어 그대로.활용: 모든 응답이 사용자 배경에 맞춰 톤 조절.
2. feedback — 작업 가이드
언제: 사용자가 "이렇게 하지 마" 또는 "이렇게 해" 라고 가르쳐줄 때.
구조:
markdown
---
name: feedback-no-mock-tests
type: feedback
---
통합 테스트는 실제 DB 사용, mock 금지.
**Why**: 작년 mock test 통과했지만 prod 마이그레이션 깨짐.
**How to apply**: integration test 작성 시 항상 testcontainers 또는 transactional fixtures.규칙: 단순 규칙 + Why + How to apply 구조 권장.
3. project — 진행중 컨텍스트
언제: 누가 무엇을 왜 언제까지 하나 학습 시.
중요: 시간 빨리 변하므로 상대 날짜 → 절대 날짜 변환 (목요일 → 2026-05-07).
예시:
markdown
---
name: project-mobile-freeze
type: project
---
2026-05-15 부터 mobile 팀 release branch cut → non-critical merge freeze.
**Why**: iOS 7.0 출시 코드 안정화.
**How to apply**: 그 날짜 이후 mobile-related PR 은 mobile lead 승인 받고 진행.TTL: 프로젝트 종료 시 정리 권장. 오래된 project 메모리는 misleading.
4. reference — 외부 시스템 포인터
언제: 사용자가 외부 시스템 위치 알려줄 때 (Slack 채널, Linear 프로젝트, Grafana URL).
예시:
markdown
---
name: reference-grafana-api-latency
type: reference
---
oncall API 레이턴시 대시보드: grafana.internal/d/api-latency
**용도**: request handling 코드 수정 시 페이지 발생 가능 → 변경 전 baseline 캡처.활용: 사용자가 "그 대시보드" 언급할 때 Claude 가 찾아서 링크.
자동 분류
Claude 가 대화에서 메모리 저장 시 type 자동 결정:
| 사용자 발화 | 추론 type |
|---|---|
| "나는 X 회사 다닌다" | user |
| "이거 하지 마, 이전에 망함" | feedback |
| "다음주 X 마감이라 ..." | project |
| "Linear INGEST 프로젝트에 ..." | reference |
검색 / 필터
bash
ainote list_dev_docs '{"type":"feedback"}'
ainote list_dev_docs '{"type":"project","search":"mobile"}'메모리 정리
project 타입은 정기 정리 권장:
bash
# 30일 이상 안 쓴 project 메모리 후보
ainote list_dev_docs '{"type":"project","not_accessed_within_days":30}'수동 검토 후 delete.
reference 와 user 는 거의 영구. feedback 은 코드/도구 변경 시 stale 됨 → 분기마다 검토.