메모리 전략

MemoryHook 클래스(memory_hook_provider.py)가 에이전트에 통합되는 방식입니다.

Memory Hook 라이프사이클

1. 에이전트 초기화 시 (on_agent_initialized)

def on_agent_initialized(self, event: AgentInitializedEvent):
    """에이전트 시작 시 최근 대화 기록 로드"""
    recent_turns = self.memory_client.get_last_k_turns(
        memory_id=self.memory_id,
        actor_id=self.actor_id,
        session_id=self.session_id,
        k=5,
    )

    if recent_turns:
        context_messages = []
        for turn in recent_turns:
            for message in turn:
                role = "assistant" if message["role"] == "ASSISTANT" else "user"
                content = message["content"]["text"]
                context_messages.append(
                    {"role": role, "content": [{"text": content}]}
                )
        # 이전 컨텍스트를 메시지 히스토리에 추가
        event.agent.messages = context_messages

2. 메시지 추가 시 (on_message_added)

메모리 네임스페이스 구조

네임스페이스
저장 내용
용도

troubleshooting/user/{actor_id}/permissions

사용자 권한 정보

접근 권한 확인

troubleshooting/user/{actor_id}/facts

운영 사실 정보

아키텍처, SOP

conversation

대화 기록

세션 간 컨텍스트 유지

마지막 업데이트