agent-memory-systems은(는) 무엇을 하나요?
메모리는 지능형 에이전트의 핵심입니다. 메모리가 없으면 모든 상호작용이 초기화됩니다. 이 스킬은 단기(컨텍스트 창), 장기(벡터 스토어) 및 이를 구성하는 인지 아키텍처를 포함한 에이전트 메모리 아키텍처를 다룹니다.
개요
에이전트 메모리 시스템은 AI 에이전트가 상호작용 중 정보를 유지하고, 과거 경험을 기억하며, 장기적인 지식을 축적할 수 있도록 합니다. 이는 세 가지 주요 계층으로 구성됩니다:
- 단기 메모리: 현재 상호작용의 컨텍스트 창 내에서 유지되는 즉각적인 정보입니다.
- 장기 메모리: 벡터 스토어와 같은 외부 저장소에 임베딩으로 저장된 과거 정보입니다.
- 인지 아키텍처: 메모리 검색, 요약, 우선순위 지정을 위한 구조와 규칙입니다.
왜 중요한가?
- 상태 유지: 에이전트가 대화의 맥락을 잃지 않도록 합니다.
- 개인화: 사용자 선호도와 과거 상호작용을 기반으로 맞춤형 응답을 제공합니다.
- 지속적 학습: 시간이 지남에 따라 지식을 축적하고 성능을 향상시킵니다.
- 효율성: 관련 정보에 빠르게 접근하여 불필요한 계산을 줄입니다.
지원 플랫폼
- Claude Code
- Cursor
- Codex
- 기타 확장 가능한 AI 에이전트
작동 방식
- 컨텍스트 창 관리: 단기 메모리의 크기를 최적화하고 중요 정보를 추출합니다.
- 임베딩 생성: 텍스트를 벡터 임베딩으로 변환하여 저장합니다.
- 벡터 검색: 유사도 검색을 통해 관련 메모리를 검색합니다.
- RAG(검색 증강 생성): 검색된 메모리를 프롬프트에 통합합니다.
- 메모리 요약: 장기 저장을 위해 주기적으로 메모리를 요약합니다.
예제 코드
# 간단한 메모리 시스템 예제
class AgentMemory:
def __init__(self, context_window=4096):
self.short_term = []
self.long_term = VectorStore()
self.context_window = context_window
def add_interaction(self, user_input, agent_response):
self.short_term.append({"user": user_input, "agent": agent_response})
if len(self.short_term) > self.context_window:
self._summarize_and_store()
def retrieve_relevant(self, query, top_k=5):
return self.long_term.similarity_search(query, top_k)
참고 자료
이 스킬은 sickn33/agent-memory-systems GitHub 저장소의 일부입니다.