컴퓨터 소프트웨어 에이전트가 믿을 만한 인간 행동을 시뮬레이션하고, AI 아티스트가 그림을 그리고 작가가 글을 쓰는 세상, 이러한 AI 에이전트가 의견을 형성하고 대화를 시작하며, 기억이 고차원적 성찰로 합성되어 행동을 계획하는 세상을 상상해 보세요. 이것이 바로 생성적 에이전트의 세계입니다. 이 글에서는 생성적 에이전트를 소개하는 획기적인 논문과 그것이 게임 및 기타 애플리케이션의 미래에 미치는 영향에 대해 살펴보겠습니다.
논문 개요
스탠퍼드와 구글에서 발표한 “생성적 에이전트: 인간 행동의 인터랙티브 시뮬라크르”라는 제목의 흥미로운 새 논문에서는 믿을 만한 인간 행동을 시뮬레이션하는 컴퓨터 소프트웨어 에이전트인 생성적 에이전트를 소개합니다. 연구자들은 각각 고유한 개성을 가진 25개의 생성적 에이전트를 배치한 시뮬레이션 세계를 만들었습니다.
이 에이전트들은 인간처럼 일어나서 아침을 요리하고, 일하러 가고, 의견을 형성합니다. 흥미로운 점은 이 에이전트들이 자신이 가졌던 상호 작용에 대한 기억을 사용하여 다음 날을 계획하면서 과거의 날들을 기억하고 되돌아본다는 것입니다. 이 모든 에이전트는 대규모 언어 모델에 의해 구동되며, 아키텍처는 대규모 언어 모델을 확장하여 에이전트 경험에 대한 복잡한 기록을 자연어로 저장합니다.
에이전트는 인간과 마찬가지로 믿을 수 있는 개인적 및 창발적 사회적 행동을 생성합니다. 이 연구는 비디오 게임의 NPC(Non-Playable Character)가 자신만의 캐릭터와 개성을 갖고 플레이어와 보다 자연스럽게 상호 작용할 수 있도록 해주기 때문에 게임 산업에 큰 영향을 미칩니다.
시뮬레이션 환경: 스마트빌
저자들은 인기 게임 “심즈”에서 영감을 얻은 스마트빌이라는 작은 샌드박스 세계를 시뮬레이션했습니다. 스마트빌은 공동 생활 공간, 주택, 카페, 바, 상점, 공원, 대학, 식료품점 및 약국으로 구성됩니다. 아이디어는 AI 에이전트 간에 사회적 행동이 어떻게 나타날 수 있는지 탐구하는 것이었습니다.
에이전트 아키텍처에는 세 가지 주요 구성 요소가 포함되었습니다.
- 메모리 스트림: 에이전트의 경험을 기록합니다.
- 성찰: 기억을 더 높은 수준의 추론으로 합성합니다.
- 계획: 결론을 실행 계획으로 변환합니다.
이러한 성찰과 계획은 에이전트의 미래 행동에 영향을 미쳐 독립적으로 행동할 수 있도록 합니다.
게임 내 이벤트 및 상호 작용 만들기
생성적 에이전트는 게임 내 이벤트 및 상호 작용 생성 프로세스를 단순화할 수 있습니다. 예를 들어, 발렌타인데이 파티를 위해 여러 캐릭터의 행동을 수동으로 스크립팅하는 대신 한 에이전트에게 파티를 열고 싶다고 말하는 것으로 충분합니다. 이러한 에이전트는 서로 독립적으로 상호 작용할 수 있으며, 환경은 파티에 대한 소문을 퍼뜨리고 나타나는 데 성공했습니다. 한 에이전트는 심지어 다른 에이전트에게 파티에 데이트 신청을 하는데, 이 모든 것이 사용자 생성 시드 제안에서 비롯됩니다.
에이전트 개성 및 상호 작용
저자들은 각 에이전트의 직업과 다른 에이전트와의 관계를 포함하여 각 에이전트의 정체성에 대한 한 단락의 자연어 설명을 만들었습니다. 이러한 설명은 에이전트의 시드 메모리 역할을 합니다. 예를 들어, John Lin은 다음과 같은 설명과 함께 약국 점원으로 설명됩니다.
“John Lin은 The Vito Market and Pharmacy의 약국 점원으로 사람들을 돕는 것을 좋아합니다. 그는 항상 고객이 약을 더 쉽게 구할 수 있도록 하는 방법을 찾고 있습니다.”
이러한 에이전트의 세계 및 상호 작용은 모두 자연어를 통해 이루어집니다. 각 타임스탬프에서 에이전트는 현재 동작을 설명하는 자연어 문을 출력하며, 이는 현재 움직임으로 변환되어 샌드박스 인터페이스에 이모티콘 세트로 표시됩니다.
에이전트 제어 및 조작
이러한 AI 에이전트는 독립적이고 상호 작용이 유기적으로 이루어지지만 사용자는 어느 정도 제어할 수도 있습니다. 사용자가 게임과 상호 작용할 수 있는 방법은 두 가지입니다.
- 대화를 통해 에이전트와 통신합니다.
- 에이전트의 행동을 제어하는 내부 음성의 형태로 에이전트에 지시를 내립니다.
예를 들어, 사용자가 John의 내부 음성으로 “다가오는 선거에서 Sam과 경쟁할 거야”라고 말하면 John은 출마하기로 결정하고 아내와 아들에게 입후보 사실을 알립니다. 이는 사용자가 이러한 에이전트의 환경과 행동을 제어하고 조작할 수 있는 방법을 보여줍니다.
에이전트의 하루
에이전트의 하루는 한 단락의 설명으로 시작되며, 행동은 서로 및 세계와 상호 작용하면서 진화합니다. 예를 들어, Jonathan은 오전 7시경에 일어나서 양치질을 하고, 샤워를 하고, 아침 식사를 준비하고 먹고, 식탁에서 뉴스를 확인합니다. 그의 아들 Eddie가 일어나서 하루를 시작하기 전에 간단한 대화를 나눕니다.
에이전트의 행동은 다른 에이전트와의 상호 작용에 따라 변경됩니다. 에이전트 아키텍처는 각 에이전트의 행동을 제어하여 환경을 인식하고 메모리 스트림에 인식을 저장할 수 있도록 합니다. 작업을 수행해야 할 때 메모리 스트림에서 정보를 검색하고 해당 정보를 기반으로 다음 작업을 계획합니다. 저장된 메모리는 에이전트의 행동을 변경하는 데에도 사용되어 과거의 메모리를 되돌아보고 환경 및 다른 에이전트와의 상호 작용을 조정할 수 있습니다.
실제 적용
게임 및 NPC 외에도 생성적 에이전트는 실제 적용 분야가 있습니다. 예를 들어, 까다로운 사람이나 개성을 가진 사람과의 인터뷰를 준비하는 경우 AI 에이전트를 사용하여 행동을 시뮬레이션하고 상호 작용할 수 있습니다. 이는 인터뷰 또는 기타 사회적 상황에 대비하는 데 도움이 될 수 있습니다.
온라인 데모
온라인 데모는 실시간이 아니고 이전에 발생한 시뮬레이션의 미리 계산된 재생을 제공하지만 상호 작용과 다양한 에이전트의 활동을 볼 수 있습니다. 25개의 다른 에이전트 중 하나를 선택하고 특정 시간에 에이전트가 무엇을 하고 있는지 확인할 수 있습니다. 이 흥미로운 작업은 게임 산업과 다양한 AI 에이전트와 상호 작용하는 방식을 바꿔 새로운 가능성의 세계를 열어줄 잠재력이 있습니다.
https://reverie.herokuapp.com/arXiv_Demo/
결론적으로, 생성적 에이전트는 AI 세계에서 중요한 진전을 나타내며, 믿을 만한 인간 행동이 시뮬레이션되고 상호 작용하는 미래를 엿볼 수 있게 해줍니다. 이 기술은 게임 및 기타 애플리케이션에 혁명을 일으킬 것으로 예상되며, AI 기반 경험 및 상호 작용을 위한 무한한 기회를 제공합니다.
연구 논문
https://arxiv.org/pdf/2304.03442.pdf