Vertex AI Agent Engine 메모리 뱅크 개요

Vertex AI Agent Engine 메모리 뱅크를 사용하면 사용자가 에이전트와 나눈 대화를 기반으로 장기 메모리를 동적으로 생성할 수 있습니다. 장기 메모리는 특정 사용자의 여러 세션에서 액세스할 수 있는 맞춤설정된 정보입니다. 에이전트는 메모리를 사용하여 사용자에게 맞춤설정된 응답을 제공하고 세션 간 연속성을 만들 수 있습니다.

메모리 뱅크의 기능은 다음과 같습니다.

  • 여러 환경에서 액세스할 수 있는 메모리의 영구 스토리지입니다. Vertex AI Agent Engine 런타임에 배포된 에이전트와 함께, 로컬 환경에서 또는 다른 배포 옵션을 사용하여 Vertex AI Agent Engine 세션 및 메모리 뱅크를 사용할 수 있습니다.

  • 대규모 언어 모델(LLM)을 기반으로 대화 기록에서 메모리를 추출합니다.

  • 메모리는 비동기적으로 원격에서 생성되므로 에이전트가 메모리가 생성될 때까지 기다릴 필요가 없습니다.

  • 유사성 검색을 기반으로 ID(scope)로 범위가 지정된 메모리를 가져옵니다.

  • 에이전트 개발 키트와 함께 Vertex AI Agent Engine 메모리 뱅크를 사용하면 에이전트가 메모리 뱅크를 사용하여 장기 메모리를 읽고 쓰는 호출을 조정할 수 있습니다.

Vertex AI Agent Engine 메모리 뱅크 개념 개요

다음 프로세스를 사용하여 Vertex AI Agent Engine 세션과 함께 메모리 뱅크를 사용하여 저장된 세션에서 메모리를 생성할 수 있습니다.

  1. (세션) CreateSession: 대화를 시작할 때마다 새 세션을 만듭니다. 에이전트가 사용하는 대화 기록은 이 세션으로 범위가 지정됩니다. 세션에는 사용자와 에이전트 간의 상호작용에 대한 메시지와 작업(SessionEvents)의 시간순 시퀀스가 포함됩니다. 모든 세션에는 사용자 ID가 있어야 합니다. 이 세션에 대해 추출된 메모리(GenerateMemories 참조)가 이 사용자에 매핑됩니다.

  2. (세션) AppendEvent: 사용자가 에이전트와 상호작용하면 사용자 메시지, 에이전트 응답, 도구 작업과 같은 이벤트가 세션에 업로드됩니다. 이벤트는 대화 기록을 유지하고 메모리를 생성하는 데 사용할 수 있는 대화 기록을 만듭니다.

  3. (세션) ListEvents: 사용자가 에이전트와 상호작용하면 에이전트가 대화 기록을 가져옵니다.

  4. (메모리 뱅크): 메모리를 생성하거나 만듭니다.

    • GenerateMemories: 지정된 간격(예: 세션이 끝날 때 또는 턴이 끝날 때)에 에이전트가 대화 기록을 사용하여 메모리가 생성되도록 트리거할 수 있습니다. 사용자에 관한 사실은 현재 또는 향후 세션에 사용할 수 있도록 대화 기록에서 자동으로 추출됩니다.

    • CreateMemory: 에이전트가 메모리 뱅크에 직접 메모리를 작성할 수 있습니다. 예를 들어 에이전트는 메모리를 작성해야 하는 시점과 저장해야 하는 정보(도구로 사용할 수 있는 메모리)를 결정할 수 있습니다. 에이전트가 추출되는 사실을 더 세부적으로 제어하도록 하려면 CreateMemory를 사용하세요.

  5. (메모리 뱅크) RetrieveMemories: 사용자가 에이전트와 상호작용하면 에이전트가 해당 사용자에 관해 저장된 메모리를 가져올 수 있습니다. 모든 기억을 가져오거나(간단한 검색) 현재 대화와 가장 관련성이 높은 메모리만 가져올 수 있습니다(유사성 검색). 그런 다음 가져온 기억을 프롬프트에 삽입할 수 있습니다.

빠른 시작

다음 빠른 시작을 사용하여 메모리 뱅크를 시작하세요.

프롬프트 인젝션의 보안 위험

Vertex AI 공유 책임에 설명된 보안 책임 외에도 장기 메모리를 사용할 때 에이전트에 영향을 줄 수 있는 프롬프트 인젝션 및 메모리 포이즈닝의 위험을 고려하세요. 메모리 포이즈닝은 거짓 정보가 메모리 뱅크에 저장될 때 발생합니다. 그러면 에이전트가 향후 세션에서 이 거짓 정보나 악성 정보를 기반으로 작업할 수 있습니다.

메모리 포이즈닝의 위험을 완화하려면 다음을 수행하세요.

  • Model Armor: Model Armor를 사용하여 메모리 뱅크로 전송되거나 에이전트에서 전송되는 프롬프트를 검사합니다.

  • 적대적 테스트: 공격을 시뮬레이션하여 LLM 애플리케이션의 프롬프트 인젝션 취약점을 선제적으로 테스트합니다. 이를 일반적으로 '레드팀'이라고 합니다.

  • 샌드박스 실행: 에이전트가 외부 또는 중요한 시스템을 실행하거나 상호작용할 수 있는 경우 이러한 작업은 엄격한 액세스 제어 및 사람의 검토가 적용된 샌드박스 환경에서 실행해야 합니다.

자세한 내용은 안전한 AI 에이전트에 대한 Google의 접근 방식을 참조하세요.

다음 단계