컨텐츠로 건너뛰기

Agent Memory

Agent Memory

Agent Memory는 OpenCode에 Letta 스타일 편집 가능 메모리 블록을 제공합니다. Letta(구 MemGPT)에서 영감을 받은 이 플러그인은 에이전트에게 지속적이고 자가 편집 가능한 메모리 블록을 제공합니다. 이는 모든 OpenCode 세션이 읽고 쓸 수 있는 디스크 상의 공유 마크다운 파일입니다.

이를 구조화된 AGENTS.md라고 생각해 보세요. 메타데이터와 크기 제한이 있는 범위 지정 블록, 메모리 작업을 위한 전용 도구, 그리고 에이전트가 자체 메모리를 적극적으로 관리하도록 유도하는 프롬프트를 추가합니다.

주요 기능

기능설명
지속적 메모리세션 및 컨텍스트 압축 후에도 유지
세션 간 공유글로벌 블록은 모든 프로젝트에서 공유, 프로젝트 블록은 해당 코드베이스의 세션 간 공유
자가 편집에이전트가 전용 도구로 자체 메모리를 읽고 수정 가능
시스템 프롬프트 주입메모리 블록이 시스템 프롬프트에 표시되어 항상 컨텍스트 내에 유지
저널인사이트와 결정을 기록하기 위한 추가 전용 항목 및 시맨틱 검색

설치

~/.config/opencode/opencode.json에 추가:

{
  "plugin": ["opencode-agent-memory"]
}

특정 버전 고정:

{
  "plugin": ["opencode-agent-memory@0.2.0"]
}

메모리 블록

첫 실행 시 생성되는 기본 블록:

블록범위용도
persona글로벌에이전트가 어떻게 행동하고 응답해야 하는지
human글로벌사용자에 대한 정보 (선호도, 습관, 제약사항)
project프로젝트코드베이스별 지식 (명령어, 아키텍처, 규칙)

메모리 파일 위치:

  • 글로벌 블록: ~/.config/opencode/memory/*.md
  • 프로젝트 블록: .opencode/memory/*.md (자동으로 gitignore됨)

저널

세션 간 시맨틱 검색을 위해 저널을 활성화:

{
  "journal": {
    "enabled": true,
    "tags": [
      { "name": "perf", "description": "Performance optimization work" },
      { "name": "debugging", "description": "Debugging sessions and findings" }
    ]
  }
}

저널 설정은 ~/.config/opencode/agent-memory.json에 작성합니다.

시맨틱 검색은 로컬 임베딩(all-MiniLM-L6-v2)을 사용하며, 데이터가 컴퓨터 외부로 전송되지 않습니다.

도구

메모리 도구

도구설명
memory_list사용 가능한 메모리 블록 나열 (레이블, 설명, 크기)
memory_set메모리 블록 생성 또는 업데이트 (전체 덮어쓰기)
memory_replace메모리 블록 내의 문자열 교체

저널 도구 (저널 활성화 시)

도구설명
journal_write제목, 본문, 선택적 태그가 있는 새 저널 항목 작성
journal_search시맨틱 검색, 프로젝트 또는 태그별 필터링
journal_readID로 특정 저널 항목 읽기

링크