최근 연구에서는 대형 언어 모델(LLM)을 기반으로 한 Generative Agents라는 새로운 개념이 주목받고 있습니다. 이들은 단순한 텍스트 생성기를 넘어, 실제 인간처럼 행동하고 상호작용할 수 있는 소프트웨어 에이전트로, 아래와 같은 특징을 지니고 있습니다.
일상 생활의 재현:
에이전트들은 아침에 일어나 아침 식사를 준비하고, 출근하는 등 일상적인 행동을 스스로 수행합니다. 뿐만 아니라, 예술가처럼 그림을 그리거나, 서로 대화를 나누며 의견을 형성하고 과거의 기억을 회상하는 등 인간다운 행동을 모사합니다.
기억과 반성의 체계:
이 시스템은 대형 언어 모델에 기반해 에이전트의 모든 경험을 자연어 형태로 기록합니다. 이후, 그 기억들을 종합하여 높은 수준의 반성(reflection)을 생성하고, 이를 통해 앞으로의 행동을 계획합니다.
상호작용 환경 구성:
연구진은 The Sims와 유사한 인터랙티브 샌드박스 환경을 구현해, 25명의 에이전트가 자연어로 상호작용할 수 있도록 했습니다. 이를 통해, 단순한 개인의 행동 뿐만 아니라 에이전트들 간의 사회적 상호작용 및 emergent behavior도 확인할 수 있었습니다.
자율적인 목표 달성:
단 하나의 사용자가 ‘발렌타인 데이 파티’를 열고 싶다는 아이디어만 제공해도, 에이전트들은 자율적으로 초대장을 보내고, 데이트를 제안하며, 파티에 맞춰 모두가 모일 수 있도록 협력하는 등, 목표 지향적인 행동을 펼칩니다.
연구 결과에 따르면, 관찰(observation), 계획(planning), 그리고 반성(reflection)의 각 요소가 에이전트의 행동 신뢰도를 높이는 데 핵심적인 역할을 합니다. 이 세 가지 구성 요소를 통해 에이전트는 자신의 경험을 효과적으로 기억하고, 이를 바탕으로 미래의 행동을 예측하고 계획할 수 있습니다.
Generative Agents는 단순한 텍스트 생성 모델을 넘어, 신뢰할 수 있는 인간 행동의 시뮬라크라로 발전하고 있습니다. 이 기술은 몰입형 환경, 대인 커뮤니케이션 연습 공간, 그리고 프로토타이핑 도구 등 다양한 인터랙티브 애플리케이션에 혁신적인 가능성을 제공합니다. 앞으로 이러한 연구들이 더욱 발전하면서, 인간과 같은 자율적이고 상호작용하는 에이전트의 시대가 열릴 것으로 기대됩니다.
최근 몇십 년간, 연구자들과 실무자들은 인간 행동을 사실적으로 모방하는 인공지능 에이전트를 꿈꿔왔습니다. 우리는 어떻게 인터랙티브한 가상 사회에서 인간처럼 행동하는 에이전트를 구현할 수 있는지 살펴봅니다.
메모리 스트림 (Memory Stream):
반성 (Reflection):
계획 (Planning):
이 세 가지 구성 요소가 상호작용하며 에이전트의 일관된 행동을 만들어내고, 에이전트들은 이를 바탕으로 서로 소통하고 사회적 네트워크를 형성합니다.
시뮬레이션 환경:
연구진은 ChatGPT와 같은 대형 언어 모델을 기반으로, 약 25명의 에이전트가 상호작용하는 가상 마을을 구성했습니다.
예를 들어, 사용자가 단 한 명의 에이전트에게 발렌타인 데이 파티를 열고 싶다고 말하면, 그 에이전트가 시작점이 되어 다른 에이전트에게 초대장을 전달하고, 데이트를 제안하며 파티를 준비하는 등 자발적인 협력이 이루어집니다.
평가 방법:
이러한 평가 결과, 에이전트 아키텍처의 각 요소—메모리, 반성, 계획—가 실제 에이전트의 신뢰성과 일관성을 높이는 데 중요한 역할을 한다는 것이 입증되었습니다.
이 섹션에서는 인간-AI 상호작용과 믿을 만한 에이전트(대리자) 구축에 관한 지난 연구들을 살펴보고, 대형 언어 모델(LLM)이 이 분야에 어떤 새로운 가능성을 열어주는지 논의합니다.
이처럼, 관련 연구들은 인간 행동을 모사하는 믿을 만한 에이전트를 만들기 위해 다양한 접근법을 시도해왔으며, 대형 언어 모델의 등장으로 그 가능성이 한층 넓어졌음을 보여줍니다. 앞으로 이 연구들이 더욱 발전해, 보다 정교하고 인간다운 인터랙티브 시스템이 등장할 것으로 기대됩니다.
Generative Agents는 The Sims와 같은 샌드박스 게임에서 영감을 받은 가상 소도시, 스몰빌에 살고 있는 25명의 개성 있는 에이전트들입니다. 이 에이전트들은 단순한 스프라이트 아바타로 표현되며, 각각의 초기 메모리(자연어로 작성된 한 단락의 소개글)를 통해 정체성과 관계, 직업 등 다양한 정보를 가지고 있습니다.
개인 정보와 초기 메모리:
예를 들어, “John Lin”이라는 에이전트는 약국 상점 주인으로서 가족, 이웃, 동료와의 관계를 상세하게 기록한 메모리를 갖고 시작합니다. 이 초기 메모리는 에이전트의 행동과 상호작용에 큰 영향을 미칩니다.
행동 표현:
에이전트들은 매 시간마다 “Isabella Rodriguez가 일기를 쓰고 있다”, “이메일을 확인하고 있다”와 같은 자연어 문장을 출력합니다. 이 문장은 스몰빌 내에서 구체적인 행동으로 전환되어, 아바타 위에 이모지로 표시됩니다.
예를 들어, “일기를 쓰고 있다”는 행동이 이모지로 변환되어 사용자에게 직관적으로 전달됩니다.
상호 대화:
에이전트들은 자연어로 서로 대화하며, 예를 들어 Isabella와 Tom이 다가오는 선거에 대해 의견을 나누는 등 현실적인 대화가 이루어집니다.
이처럼 에이전트들은 서로 인근에 있는 다른 에이전트들을 인지하고, 우연히 마주치거나 의도적으로 대화를 시작합니다.
스몰빌의 구성:
스몰빌은 카페, 바, 공원, 학교, 주택 등 다양한 지역과 그 안의 오브젝트(예: 주방의 스토브, 침실의 침대)로 구성되어 있습니다.
에이전트들은 게임처럼 지도 위에서 건물에 출입하고, 이동 경로를 계산하며, 다른 에이전트와 상호작용합니다.
환경 상태 변경:
사용자는 에이전트뿐만 아니라, 환경 오브젝트의 상태도 자연어 명령으로 변경할 수 있습니다.
예를 들어, “<Isabella의 아파트: 주방: 스토브>가 불타고 있다”와 같이 명령하면, Isabella는 그 상태를 인지하고 스토브를 끄기 위해 행동합니다.
하루 일과:
예시로, John Lin의 아침 일과를 보면, 그는 아침 7시에 일어나 양치, 샤워, 아침 식사 및 가족과 간단한 대화를 나눈 후, 출근 준비를 합니다.
그의 가족 구성원들도 각자의 일정에 따라 행동하며, 간단한 인사를 주고받는 등 자연스러운 일상이 그려집니다.
발생하는 사회적 행동:
메모리 스트림:
에이전트는 자신의 모든 경험을 자연어로 기록한 메모리 스트림을 갖고 있습니다. 이 기록들은 나중에 중요한 정보를 검색하거나, 행동 계획을 세우는 데 사용됩니다.
동적 메모리 검색 및 계획:
에이전트는 주변 환경과 과거 경험에서 관련 정보를 동적으로 검색해, 현재 상황에 맞는 행동을 계획합니다. 이때, 검색된 메모리는 다시 메모리 스트림에 반영되어 미래 행동에 영향을 줍니다.
이와 같이, 스몰빌 내에서 Generative Agents는 개별 에이전트의 행동, 상호 대화, 환경 상호작용을 통해 믿을 만한 인간 행동을 재현합니다. 이러한 시스템은 단순한 게임 캐릭터를 넘어, 사용자와의 깊이 있는 상호작용과 사회적 동역학을 보여주며, 향후 더욱 복잡한 가상 사회 구축에 중요한 밑거름이 될 것입니다.
Generative Agents는 열린 세계에서 에이전트들이 서로 상호작용하고, 환경의 변화에 반응하며, 장기적인 행동 일관성을 유지하도록 설계된 프레임워크입니다. 이 아키텍처는 대형 언어 모델(LLM)의 강력한 텍스트 생성 능력을 기반으로, 에이전트가 과거 경험을 기억하고 이를 바탕으로 계획을 세우며 반성(reflection)하는 메커니즘을 결합합니다.
메모리 스트림:
에이전트는 자신의 모든 경험을 자연어로 기록한 ‘메모리 객체’ 목록을 유지합니다. 각 메모리는 생성 시각과 마지막 접근 시각, 그리고 자연어 설명으로 구성됩니다.
검색 메커니즘:
에이전트의 현재 상황에 맞춰 관련 메모리를 검색하는데, 이를 위해 세 가지 기준이 사용됩니다.
목적:
단순 관찰 기억만으로는 깊은 추론이나 일반화가 어렵습니다. 반성을 통해 에이전트는 자신의 관찰들을 종합해 높은 수준의 인사이트를 도출합니다.
과정:
장기 계획:
에이전트는 자신의 목표와 환경을 고려해 하루 또는 일정 기간 동안의 행동 계획을 세웁니다.
실시간 반응:
에이전트는 매 시간마다 주변 상황을 관찰하고, 그 관찰 결과를 메모리에 저장합니다.
자연어 기반 처리:
모든 구성 요소(메모리, 반성, 계획)는 자연어로 기록되고 처리되므로, 대형 언어 모델의 강력한 텍스트 이해 및 생성 능력을 효과적으로 활용할 수 있습니다.
동적 업데이트:
에이전트는 계속해서 새로운 경험을 메모리에 기록하고, 이를 바탕으로 반성과 계획을 재구성함으로써, 변화하는 환경에 유연하게 대응합니다.
장기적 일관성 유지:
단순히 현재 상황에만 반응하는 것이 아니라, 과거 경험과 계획을 통합해 장기적으로 일관된 행동을 유지하는 것이 목표입니다.
Generative Agents가 실제처럼 상호작용하는 가상 환경, 스몰빌(Smallville)은 Phaser 웹 게임 프레임워크를 기반으로 만들어졌습니다. 이 환경에서는 에이전트 아바타, 환경 지도, 충돌 지도 등이 스프라이트 형식으로 구현되어 있으며, 별도의 서버가 전체 게임 상태를 JSON 데이터로 관리합니다.
상태 관리:
서버는 각 에이전트의 현재 위치, 행동 설명, 상호작용 중인 오브젝트 등의 정보를 JSON으로 저장합니다.
매 시간마다 서버는 에이전트들이 보낸 업데이트를 파싱하여 에이전트 위치를 이동시키고, 예를 들어 “Hobbs Cafe에서 에스프레소 만들기”와 같이 에이전트의 행동에 따라 커피 머신 상태를 “idle”에서 “brewing coffee”로 변경합니다.
정보 전달:
또한, 서버는 각 에이전트가 시각적으로 인지할 수 있는 범위 내의 다른 에이전트와 오브젝트 정보를 전달하여, 에이전트가 주변 상황에 맞게 반응할 수 있도록 돕습니다.
초기화 및 진화:
사용자는 John Lin과 같은 에이전트에 대한 간단한 자연어 설명을 통해 초기 메모리를 설정합니다. 이 메모리들은 에이전트의 초기 행동을 결정하고, 시간이 지나면서 더 많은 경험이 축적되어 에이전트의 행동이 점차 진화합니다.
Generative Agents는 모든 추론을 자연어로 처리합니다. 이를 위해, 스몰빌 내의 모든 지역과 오브젝트는 트리 구조로 표현됩니다.
환경 트리:
“부엌 안의 스토브”와 같이, 상위-하위 관계를 자연어로 “부엌에 스토브가 있다”라고 표현합니다.
에이전트는 자신이 방문한 공간의 서브트리를 개별적으로 구축하며, 이를 기반으로 주변 환경을 인지하고 업데이트합니다.
행동 위치 결정:
에이전트가 예를 들어 “작업 공간 주변을 산책”해야 할 때, 자신의 환경 트리를 탐색하여 현재 활동에 가장 적합한 지역(예: “The Lin 가족의 집: 정원”)을 선택합니다.
이후, 전통적인 경로 알고리즘을 통해 해당 위치로 이동하도록 애니메이션을 실행합니다.
오브젝트 상태 업데이트:
에이전트가 특정 오브젝트에 대해 행동(예: “에스프레소 만들기”)을 수행하면, LLM에 질의하여 해당 오브젝트의 상태가 “꺼짐”에서 “커피를 추출 중”으로 변경되는 과정을 결정합니다.
Generative Agents가 실제처럼 믿을 만한 행동을 구현하는지를 평가하기 위해, 연구진은 두 단계의 평가를 진행했습니다. 이 중 첫 번째 단계에서는 각 에이전트가 개별적으로 얼마나 일관되고 자연스러운 반응을 생성하는지, 그리고 그들의 기억, 계획, 반응, 반성 능력이 얼마나 잘 작동하는지를 집중적으로 살펴보았습니다.
평가 방법:
각 조건에 대해 TrueSkill 시스템과 비모수 검정(Kruskal-Wallis, Dunn 후속 검정)을 사용해 통계적 유의성을 분석했습니다.
주요 결과:
에이전트의 기억과 반성:
에이전트들은 자신의 경험을 잘 회상할 수 있었지만, 때때로 불완전하거나 약간의 과장이 포함된 기억을 회상했습니다.
또한, 반성 메커니즘이 포함된 경우, 에이전트는 보다 심도 있는 인사이트를 바탕으로 행동 결정을 내리는 경향이 있었습니다. 예를 들어, Maria는 반성이 없는 경우 불확실하게 답변했지만, 반성 메모리에 접근할 때는 보다 구체적이고 자신감 있는 답변을 제공했습니다.
Generative Agents가 소규모 가상 마을 Smallville에서 25명의 에이전트로 구성된 커뮤니티 내에서 어떻게 상호작용하며, 어떤 사회적 현상이 emergent(자발적으로 발생)하는지에 대해 두 게임일 동안 평가한 결과를 살펴봅니다.
Generative Agents는 단순한 샌드박스 데모를 넘어, 인간 행동의 복잡성을 반영하는 다양한 응용 분야에 활용될 수 있는 잠재력을 지니고 있습니다.
가상 및 현실 세계에서의 활용:
Generative Agents는 온라인 포럼, 가상현실 메타버스, 또는 다중 모달 모델과 결합된 사회 로봇 등 다양한 환경에 배치될 수 있습니다.
예를 들어, 에이전트를 활용해 실제 인간의 행동 패턴과 선호도를 모사함으로써 보다 개인화된 사용자 경험을 제공할 수 있습니다.
인간 중심 디자인 지원:
전통적인 인지 모델(GOMS, KLM 등)과 유사하게, Generative Agents는 사용자의 일상 패턴과 상호작용을 반영하여 디자인 과정에서 인간의 행동을 예측하고 프로토타입을 만드는 데 도움을 줄 수 있습니다.
이처럼 사용자를 대신하는 에이전트가 개인의 생활 패턴을 학습함으로써, 더욱 효율적이고 개인화된 기술 경험을 제공할 수 있습니다.
아키텍처 개선 및 비용 문제:
현재 제시된 에이전트 아키텍처는 초기 구현 단계에 머물러 있으며, 특히 정보 검색 모듈, 장기 기억 관리, 그리고 계획 및 반성 메커니즘 개선이 필요합니다.
또한, 25명의 에이전트를 2일간 시뮬레이션하는 데 드는 비용과 시간이 상당하여, 실시간 상호작용을 위해서는 에이전트 병렬 처리나 Generative Agents 전용 LLM 개발 등 효율성 향상이 요구됩니다.
평가의 한계:
이번 연구는 비교적 짧은 시간 동안의 시뮬레이션과 크라우드워커 기반의 인간 응답 조건을 사용했으나, 향후에는 장기간 시뮬레이션과 다양한 모델 및 하이퍼파라미터 조정을 통해 보다 정교한 벤치마크를 마련해야 합니다.
견고성 문제:
에이전트는 프롬프트 및 메모리 해킹, 환각(hallucination) 등의 문제에 취약할 수 있습니다. 따라서, 이러한 견고성 문제를 체계적으로 테스트하고, LLM이 이러한 공격에 강인해질 수 있도록 하는 연구가 필요합니다.
편향 및 데이터 제한:
Generative Agents는 기반이 되는 대형 언어 모델의 한계를 그대로 물려받기 때문에, 편향된 행동이나 소수자 집단에 대한 부적절한 대응이 발생할 수 있습니다. 이를 해결하기 위해서는 모델의 가치 정렬(value alignment)과 데이터 확장이 필수적입니다.
Parasocial 관계 형성:
사용자가 에이전트를 실제 인간처럼 과도하게 의인화할 위험이 있습니다. 이로 인해 에이전트와 정서적 유대가 형성되어, 과도한 의존이나 부적절한 관계가 발생할 수 있습니다.
→ 해결 방안: 에이전트는 자신이 컴퓨팅 시스템임을 명확히 공개하고, 가치 정렬을 통해 부적절한 행동을 방지해야 합니다.
오류로 인한 피해:
에이전트가 잘못된 추론을 하거나 행동할 경우, 사용자는 불편을 겪거나 심각한 피해로 이어질 수 있습니다.
→ 해결 방안: 특히 생활에 밀접한 응용 분야에서는 인간-AI 설계의 최선의 실천 사례를 따르고, 에러가 사용자 경험에 미치는 영향을 최소화해야 합니다.
오용 위험:
Generative Agents는 딥페이크, 잘못된 정보 생성, 맞춤형 설득 등 기존의 생성형 AI 문제를 악화시킬 수 있습니다.
→ 해결 방안: 플랫폼에서는 입력 및 출력의 감사 로그를 유지하여, 악의적인 사용을 탐지하고 개입할 수 있는 시스템을 마련해야 합니다.
과도한 의존:
에이전트가 인간 디자인 프로세스를 대체하게 되면, 실제 인간의 역할이 축소될 위험이 있습니다.
→ 해결 방안: Generative Agents는 초기 아이디어 프로토타이핑이나 위험 부담이 큰 실험적 연구에 활용되며, 최종 결정이나 설계에서는 여전히 인간의 참여가 필수적입니다.
이 연구는 인간 행동을 모사하는 인터랙티브 컴퓨팅 에이전트, 즉 Generative Agents를 소개합니다. 논문에서는 각 에이전트가 자신의 경험을 포괄적으로 기록하고, 반성을 통해 자신과 환경에 대한 이해를 심화하며, 필요한 정보만을 선택해 행동에 반영할 수 있는 아키텍처를 제안합니다.
이러한 시스템은 The Sims 스타일의 게임 세계에서 비플레이어 캐릭터(NPC)로 구현되어, 에이전트들이 일상적인 삶을 살아가는 모습을 시뮬레이션합니다. 평가 결과, 이 아키텍처를 통해 생성된 행동들이 매우 믿을 만하다는 것을 확인할 수 있었습니다.
앞으로 Generative Agents는 디자인 도구, 사회 컴퓨팅 시스템, 몰입형 환경 등 다양한 인터랙티브 응용 분야에서 중요한 역할을 할 것으로 기대됩니다.