728x90

“공유 메모리 기반”이라고 해서 실제로 하나의 물리적 메모리 공간을 모든 에이전트가 동시에 접근하는 구조는 아닙니다. 이는 물리적 공유가 아닌, LLM 내부에서의 논리적/가상적 컨텍스트 공유 방식입니다. 


1. 물리적 공유 메모리 vs 논리적 공유 메모리

구분 설명 Zipper Mode 적용 여부
물리적 공유 메모리 다수의 프로세스/스레드가 동일한 RAM 공간에 접근 사용하지 않음
논리적 공유 메모리 동일한 컨텍스트나 상태 정보를 각 에이전트가 동일하게 참조할 수 있도록 설계된 구조 사용함
(LLM 기반 가상 메모리 구조)

Zipper Mode는 Gemini LLM 내부에서 생성된 ‘공유된 토큰 컨텍스트’, 또는 벡터화된 결과들을 가상의 메모리 구조처럼 간주하여 참조하는 방식입니다.


2. 실제 통신기술 사용 여부

Zipper Mode는 에이전트 간 물리적 통신 기술 (예: gRPC, REST API, TCP/IP 등)을 직접 사용하는 구조는 아닙니다.
그 대신 다음의 방식으로 동작합니다:

  • LLM 내부에서 여러 역할(role)을 수행하는 멀티 프롬프트 에이전트들 간 협업
  • 모든 에이전트는 동일한 LLM 컨텍스트 윈도우 내에서 작동
  • 상태 전이나 정보 공유는 LLM의 메모리 또는 context embedding을 통한 간접 공유 방식

즉, 서로 다른 서버나 머신에서 독립적으로 운영되는 분산 시스템 구조가 아닌,
동일한 LLM 세션 또는 인스턴스 내에서 여러 역할을 가진 에이전트가 작동하면서 가상의 공유 컨텍스트에 접근하는 구조입니다.


3. 예외적으로 통신이 필요한 경우

Zipper Mode가 외부 도구(API, 웹 등)를 호출할 때는 다음의 기술이 개입될 수 있습니다:

  • Tool Use API: 에이전트가 검색, 번역, 계산 등의 도구를 사용할 때 OpenAPI/gRPC 등을 통해 외부와 통신
  • Function Calling: Gemini Function 호출 시에는 모델 외부의 연산을 처리할 수 있도록 HTTP API 사용 가능
  • 이 경우에도 에이전트 간 직접 통신이 아니라, 에이전트 → 툴 → 응답 결과 → 공유 컨텍스트에 기록 → 다른 에이전트 참조 순으로 작동합니다.

요약 정리

  • Zipper Mode에서 말하는 “공유 메모리 기반”은 물리적 메모리를 의미하지 않고,
    LLM 내부의 논리적 컨텍스트 또는 상태 벡터 공유를 의미합니다.
  • 에이전트 간 직접 통신은 없으며, LLM 내 프롬프트 흐름과 컨텍스트 공유를 통해 협업이 수행됩니다.
  • 단, 외부 API 호출 등에는 일반적인 통신 기술이 사용될 수 있으나, 이는 에이전트 간 통신이 아니라 외부 툴 호출 목적입니다.

 

 

 

정보기술연구모임

https://cafe.naver.com/itpewiki    

728x90

+ Recent posts