Vertex AI Agent Engine 메모리 뱅크를 사용하면 사용자가 에이전트와 나눈 대화를 기반으로 장기 메모리를 동적으로 생성할 수 있습니다. 장기 메모리는 특정 사용자의 여러 세션에서 액세스할 수 있는 맞춤설정된 정보입니다. 에이전트는 메모리를 사용하여 사용자에게 맞춤설정된 응답을 제공하고 세션 간 연속성을 만들 수 있습니다.
메모리 뱅크의 기능은 다음과 같습니다.
여러 환경에서 액세스할 수 있는 메모리의 영구 스토리지입니다. Vertex AI Agent Engine 런타임에 배포된 에이전트와 함께, 로컬 환경에서 또는 다른 배포 옵션을 사용하여 Vertex AI Agent Engine 세션 및 메모리 뱅크를 사용할 수 있습니다.
대규모 언어 모델(LLM)을 기반으로 대화 기록에서 메모리를 추출합니다.
메모리는 비동기적으로 원격에서 생성되므로 에이전트가 메모리가 생성될 때까지 기다릴 필요가 없습니다.
유사성 검색을 기반으로 ID(
scope
)로 범위가 지정된 메모리를 가져옵니다.에이전트 개발 키트와 함께 Vertex AI Agent Engine 메모리 뱅크를 사용하면 에이전트가 메모리 뱅크를 사용하여 장기 메모리를 읽고 쓰는 호출을 조정할 수 있습니다.
다음 프로세스를 사용하여 Vertex AI Agent Engine 세션과 함께 메모리 뱅크를 사용하여 저장된 세션에서 메모리를 생성할 수 있습니다.
(세션)
CreateSession
: 대화를 시작할 때마다 새 세션을 만듭니다. 에이전트가 사용하는 대화 기록은 이 세션으로 범위가 지정됩니다. 세션에는 사용자와 에이전트 간의 상호작용에 대한 메시지와 작업(SessionEvents
)의 시간순 시퀀스가 포함됩니다. 모든 세션에는 사용자 ID가 있어야 합니다. 이 세션에 대해 추출된 메모리(GenerateMemories
참조)가 이 사용자에 매핑됩니다.(세션)
AppendEvent
: 사용자가 에이전트와 상호작용하면 사용자 메시지, 에이전트 응답, 도구 작업과 같은 이벤트가 세션에 업로드됩니다. 이벤트는 대화 기록을 유지하고 메모리를 생성하는 데 사용할 수 있는 대화 기록을 만듭니다.(세션)
ListEvents
: 사용자가 에이전트와 상호작용하면 에이전트가 대화 기록을 가져옵니다.(메모리 뱅크): 메모리를 생성하거나 만듭니다.
GenerateMemories
: 지정된 간격(예: 세션이 끝날 때 또는 턴이 끝날 때)에 에이전트가 대화 기록을 사용하여 메모리가 생성되도록 트리거할 수 있습니다. 사용자에 관한 사실은 현재 또는 향후 세션에 사용할 수 있도록 대화 기록에서 자동으로 추출됩니다.CreateMemory
: 에이전트가 메모리 뱅크에 직접 메모리를 작성할 수 있습니다. 예를 들어 에이전트는 메모리를 작성해야 하는 시점과 저장해야 하는 정보(도구로 사용할 수 있는 메모리)를 결정할 수 있습니다. 에이전트가 추출되는 사실을 더 세부적으로 제어하도록 하려면CreateMemory
를 사용하세요.
(메모리 뱅크)
RetrieveMemories
: 사용자가 에이전트와 상호작용하면 에이전트가 해당 사용자에 관해 저장된 메모리를 가져올 수 있습니다. 모든 기억을 가져오거나(간단한 검색) 현재 대화와 가장 관련성이 높은 메모리만 가져올 수 있습니다(유사성 검색). 그런 다음 가져온 기억을 프롬프트에 삽입할 수 있습니다.
빠른 시작
다음 빠른 시작을 사용하여 메모리 뱅크를 시작하세요.
REST API를 사용한 빠른 시작: REST API 빠른 시작에 따라 Vertex AI Agent Engine 세션 및 메모리 뱅크에 직접 API를 호출합니다.
에이전트 개발 키트(ADK)를 사용한 빠른 시작: ADK 에이전트가 Vertex AI Agent Engine 세션 및 메모리 뱅크에 대한 호출을 조정하도록 하려면 에이전트 개발 키트(ADK) 빠른 시작을 따르세요.
프롬프트 인젝션의 보안 위험
Vertex AI 공유 책임에 설명된 보안 책임 외에도 장기 메모리를 사용할 때 에이전트에 영향을 줄 수 있는 프롬프트 인젝션 및 메모리 포이즈닝의 위험을 고려하세요. 메모리 포이즈닝은 거짓 정보가 메모리 뱅크에 저장될 때 발생합니다. 그러면 에이전트가 향후 세션에서 이 거짓 정보나 악성 정보를 기반으로 작업할 수 있습니다.
메모리 포이즈닝의 위험을 완화하려면 다음을 수행하세요.
Model Armor: Model Armor를 사용하여 메모리 뱅크로 전송되거나 에이전트에서 전송되는 프롬프트를 검사합니다.
적대적 테스트: 공격을 시뮬레이션하여 LLM 애플리케이션의 프롬프트 인젝션 취약점을 선제적으로 테스트합니다. 이를 일반적으로 '레드팀'이라고 합니다.
샌드박스 실행: 에이전트가 외부 또는 중요한 시스템을 실행하거나 상호작용할 수 있는 경우 이러한 작업은 엄격한 액세스 제어 및 사람의 검토가 적용된 샌드박스 환경에서 실행해야 합니다.
자세한 내용은 안전한 AI 에이전트에 대한 Google의 접근 방식을 참조하세요.