콘텐츠로 이동

자율 메모리

활성화하면, 에이전트가 과거 세션에서 지속적인 지식을 자동으로 추출하고 각 새 세션에 압축된 요약을 주입합니다. 시간이 지남에 따라 프로젝트 범위의 메모리 저장소 — 기술적 결정, 반복 워크플로, 주의사항 — 를 구축하여 수동 작업 없이 다음 세션으로 이어집니다.

기본적으로 비활성화되어 있습니다. /settings 또는 config.yml을 통해 활성화하세요:

memories:
enabled: true

세션 시작 시, 현재 프로젝트에 대한 메모리 요약이 존재하면 시스템 프롬프트에 Memory Guidance 블록으로 주입됩니다. 에이전트는 다음과 같이 지시받습니다:

  • 메모리를 휴리스틱 컨텍스트로 취급 — 프로세스와 이전 결정에는 유용하지만, 현재 저장소 상태에 대해 권위적이지 않음.
  • 메모리가 계획을 변경할 때 메모리 아티팩트 경로를 인용하고, 행동하기 전에 현재 저장소 증거와 함께 확인.
  • 저장소 상태와 사용자 지시가 메모리와 충돌할 때 이를 우선시하며, 충돌하는 메모리는 오래된 것으로 취급.

에이전트는 read 도구와 함께 memory:// URL을 사용하여 메모리 파일을 직접 읽을 수 있습니다:

URL내용
memory://root시작 시 주입되는 압축 요약
memory://root/MEMORY.md전체 장기 메모리 문서
memory://root/skills/<name>/SKILL.md생성된 스킬 플레이북
하위 명령어효과
view현재 메모리 주입 페이로드 표시
clear / reset모든 메모리 데이터 및 생성된 아티팩트 삭제
enqueue / rebuild다음 시작 시 통합 실행 강제

메모리는 시작 시 또는 슬래시 명령어를 통해 수동으로 트리거되는 백그라운드 파이프라인에 의해 구축됩니다.

1단계 — 세션별 추출: 마지막 처리 이후 변경된 각 과거 세션에 대해, 모델이 세션 기록을 읽고 지속적인 신호를 추출합니다: 기술적 결정, 제약 조건, 해결된 실패, 반복 워크플로. 너무 최근이거나, 너무 오래되었거나, 현재 활성 상태인 세션은 건너뜁니다. 각 추출은 해당 세션에 대한 원시 메모리 블록과 짧은 요약을 생성합니다.

2단계 — 통합: 추출 후, 두 번째 모델 패스가 모든 세션별 추출을 읽고 디스크에 기록되는 세 가지 출력을 생성합니다:

  • MEMORY.md — 큐레이션된 장기 메모리 문서
  • memory_summary.md — 세션 시작 시 주입되는 압축 텍스트
  • skills/ — 재사용 가능한 절차적 플레이북, 각각 자체 하위 디렉터리에 저장

2단계는 여러 프로세스가 동시에 시작될 때 중복 실행을 방지하기 위해 리스를 사용합니다. 이전 실행의 오래된 스킬 디렉터리는 자동으로 정리됩니다.

모든 출력은 디스크에 기록되기 전에 시크릿 스캔을 거칩니다.

메모리 추출 및 통합 동작은 전적으로 src/prompts/memories/의 정적 프롬프트 파일에 의해 구동됩니다.

파일용도변수
stage_one_system.md세션별 추출을 위한 시스템 프롬프트
stage_one_input.md세션 콘텐츠를 래핑하는 사용자 턴 템플릿{{thread_id}}, {{response_items_json}}
consolidation.md세션 간 통합을 위한 프롬프트{{raw_memories}}, {{rollout_summaries}}
read_path.md라이브 세션에 주입되는 메모리 가이던스{{memory_summary}}

메모리는 모델 역할 시스템을 활용합니다.

단계역할용도
1단계 (추출)default세션별 지식 추출
2단계 (통합)smol세션 간 합성

smol이 구성되지 않은 경우, 2단계는 default 역할로 폴백합니다.

설정기본값설명
memories.enabledfalse마스터 스위치
memories.maxRolloutAgeDays30이보다 오래된 세션은 처리되지 않음
memories.minRolloutIdleHours12이보다 최근에 활성화된 세션은 건너뜀
memories.maxRolloutsPerStartup64단일 시작 시 처리되는 세션 수 상한
memories.summaryInjectionTokenLimit5000시스템 프롬프트에 주입되는 요약의 최대 토큰 수

추가 튜닝 옵션(동시성, 리스 기간, 토큰 예산)은 고급 사용을 위해 config에서 사용할 수 있습니다.

  • src/memories/index.ts — 파이프라인 오케스트레이션, 주입, 슬래시 명령어 처리
  • src/memories/storage.ts — SQLite 기반 작업 큐 및 스레드 레지스트리
  • src/prompts/memories/ — 메모리 프롬프트 템플릿
  • src/internal-urls/memory-protocol.tsmemory:// URL 핸들러