본문 바로가기

PAPER

[논문 리뷰] Generative Agents: Interactive Simulacra of Human Behavior

728x90

논문 소개

https://arxiv.org/abs/2304.03442

 

Generative Agents: Interactive Simulacra of Human Behavior

Believable proxies of human behavior can empower interactive applications ranging from immersive environments to rehearsal spaces for interpersonal communication to prototyping tools. In this paper, we introduce generative agents--computational software ag

arxiv.org

키워드

  • Human-AI interaction
  • Agents
  • Generative AI
  • LLM

 

학습 내용

Introduction of Generative Agents

  • 이 논문은 인간의 행동과 유사하게 행동하는 generative agent 소개한다.
  • 인간처럼 상호작용하는 generative agents를 생성하여 연구를 진행하였다.
  • 교류 → 이벤트 → 기억 → 행동가 중요한 요소이다
  • We demonstrate through ablation that the components of our agent architecture—observation, planning, and reflection—each contribute critically to the believability of agent behavior.
  • By fusing large language models with computational interactive agents, this work introduces architectural and interaction patterns for enabling believable simulations of human behavior.

 

Architecture

  • 문제 상황 : 기억을 단순히 summarize 하게 되면 기억이 소실되고 제대로 된 대답을 내지 못할 수 있음
  • 접근 방법 (해결) : Memory Stream을 이용
    • The Memory Stream
      • agent의 기억 관리 수단
      • observation을 이용한다
        • 직접적으로 agent에게 인지되는 것
        • 그들 자신의 행동, 다른 agent가 행하는게 인지되는 것
        • object의 변화를 '관찰' 한 것
      • retrieval function
        • input : 현재 상황
        • output : 메모리 스트림의 하위 집합
    • 그렇다면 어떤 기억을 사용하는 것이 좋을까?
      • Recency : 최근에 기억된 것
        • 최근 기억이 중요도가 높다
      • Importance : 중요한 것, 여기서는 비 일상적인 것의 우선순위가 높게 측정된다
        • 해당 문장에 대한 중요도를 chatGPT에게 질문해서 점수화를 진행하는 것으로 보인다
          • 이 부분은 실제로 어떻게 구현되어 있는지 모르겠지만 개인적으로는 각각의 Agent의 character마다 중요도가 다른데 이를 고려하지 못하는 점이 아쉬운 것 같다.
      • Relevance : 관련성
        • 현재의 상황과 가장 연관된 기억의 중요도가 높다
      • 위 세 개의 가중합으로 memory를 뽑아와서 사용하는 구조로 보인다.

 

Evaluation and Demonstration

  • Controlled Evaluation
    • 특정 상황에서 신뢰할 수 있는 행동을 생성하는지 여부를 개별적으로 평가
    • 과거 경험을 검색하고 환경과 경험을 기반으로 현실적인 계획, 반응 및 생각을 생성하는 능력을 테스트
    • 통제된 환경에서 Agent의 행동을 이해하기 위해 좁게 정의된 시나리오에서 Agent의 성능을 평가하는 데 중점을 둔다
  • End-to-End Evaluation
    • 전체 게임 두 번에 걸쳐 개방형 방식으로 상호 작용하여
      • 집단으로서 발생하는 행동을 연구하고
      • 에러나 경계 조건들을 알아내고자 한다
  • Technical Evaluation
    • 에이전트가 기억, 계획 및 성찰 능력을 평가하기 위해 자연어로 'interview' 를 진행한다
      • Agent의 성격 유지
      • 기억, 계획, 반응 및 정확한 반영 능력을 평가

 

Contributions

  • 생성 모델을 활용하여 generative agent를 생성하여 그럴싸한 인간의 행동을 시뮬레이션화 했다.
    • 이에 따라 상호 작용하고 다양한 agent를 만들어냈다.
    • 이 agent는 기억(remember), 검색(retrieve), 성찰(reflect), 다른 agent들과 상호작용(interact)하고 계획(plan)하며 신뢰성을 올릴 수 있다
  • 평가 방식
    • 개별 행동을 평가
    • 상호 작용 중에 나타나는 사회적 행동을 관찰
      • 이러한 구성 요소가 좋은 성능을 내는 데 중요한 요소이다

 

Future Applications

  • generative agents는 디자인 도구에서부터 소셜 컴퓨팅 시스템, 몰입형 환경에 이르기까지 많은 대화영 어플리케이션에서까지 많은 영역에 적용할 수 있을 것으로 보인다

 

 

생각 정리

  • 단순히 게임의 차원을 넘어서 chatGPT의 한계를 극복하는 방향성을 제시했다고도 생각했다.
  • 요약 정보를 기억하는 것이 아니라 메모리에 관찰값을 넣어서 현재 행동들과 관련이 있는 메모리들, 중요한 메모리를 가중합으로 계산해서 메모리를 꺼내오는 과정이 어떻게 말하면 실제 사람의 행동, 사고방식과 유사하다는 생각이 들었다.
  • 버츄얼 휴먼 등을 구현할 때 이 아이디어를 참고해서 계발하면 좋을 것 같다는 생각도 들었다
  • Github 코드를 직접 확인해서 어떻게 구현했는지 보는 것도 재미있을 것 같다는 생각이 들었다.
  • https://github.com/joonspk-research/generative_agents
728x90