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_read | ID로 특정 저널 항목 읽기 |
링크
- GitHub 저장소 — 소스 코드 및 이슈
- Awesome OpenCode — 더 많은 플러그인 둘러보기