에이전트 기반 시뮬레이션
규칙 기반 행위자 모델링
- 자율성을 가진 다수 행위자의 개별적 행동과 상호작용 규칙을 정의하고, 이를 통해 시스템 전체 수준의 거시적 현상이 어떻게 나타나는지(창발하는지) 탐구하는 시뮬레이션 방법론
- 전통적인 이론이 하향식(Top-down)인 것과 달리 상향식(Bottom-up) 접근을 취하는 것이 핵심
- 개별 행위자의 행동에서 복잡한 시스템 행동을 도출
- 전통적인 ABM에서는 행위자의 행동을 비교적 단순하게 프로그래밍했으나, LLM의 등장으로 각 행위자의 행동을 좀 더 사실적으로 모방할 수 있음
셸링의 "분리 모델"
- 인종, 소득, 이념에 따른 분리가 어떻게 일어나는가?
- http://nifty.stanford.edu/2014/mccown-schelling-model-segregation/


상호작용 구조와 환경 설정
- 행위자(Agents): 모델 내에서 자율적으로 판단하고 행동하는 기본 단위
- 예: 사람, 기업, 세포, 차량
- 자율성(Autonomy): 외부의 직접적 통제 없이 스스로의 규칙에 따라 행동
- 이질성(Heterogeneity): 각 행위자가 서로 다른 특성, 정보, 자원, 규칙을 소유 가능
- 목표 지향성(Goal-directed): 특정 목표(예: 이윤 극대화, 생존)를 추구
- 적응성(Adaptivity): 환경 또는 다른 행위자와의 상호작용을 통해 학습하고 자신의 행동 규칙을 변경
- 제한된 합리성(Bounded Rationality): 완전한 정보가 아닌, 제한된 정보와 인지 능력 하에 의사결정
- 환경(Environment)
- 행위자가 존재하고 활동하는 공간
- 예: 물리적 격자(Grid), 지리 정보, 네트워크
- 행위자에게 자원을 제공하거나 제약 조건으로 작용
- 행위자는 환경과 상호작용하며 환경을 변화시키기도 함
- 상호작용(Interactions)
- 행위자 간(Agent-Agent) 상호작용: 의사소통, 경쟁, 협력
- 행위자와 환경 간(Agent-Environment) 상호작용: 자원 획득, 이동
행위자 상태와 전이 규칙 설계
- 창발성(Emergence)
- ABM의 가장 중요한 개념
- 개별 행위자 수준에서는 의도하지 않았던 복잡하고 조직화된 패턴이 시스템 전체 수준에서 자발적으로 나타나는 현상
- 예: 새 떼의 군집 비행, 교통 체증 형성, 금융 시장의 거품
- "전체는 부분의 합보다 크다"는 복잡계(Complex Systems)의 특성을 구현
- 복잡성 및 비선형성(Complexity & Non-linearity)
- 행위자 간의 단순한 상호작용이 증폭되어 예측 불가능한 비선형적 결과를 초래
- 작은 초기 조건의 차이가 큰 결과의 차이로 이어지는 현상(민감성) 포착에 용이
- 자연스러운 기술(Natural Description)
- 시스템을 방정식이 아닌, 행위자와 그들의 행동 규칙으로 자연스럽게 기술 가능
시나리오 설계와 변수 설정
- 시나리오 설계: 시뮬레이션에서 "어떤 상황을 재현할 것인지"를 정하는 단계
- 예: 매장 혼잡, 물류 지연, 감염 확산, 온라인 여론 변화
- 설계할 요소
- 에이전트: 참여자 유형, 수, 역할
- 환경: 공간 구조, 시간 단위, 외부 조건
- 행동 규칙: 에이전트가 어떤 조건에서 어떻게 행동하는지
- 상호작용: 에이전트끼리 영향을 주고받는 방식
- 변수 설정
- 고정 변수: 실험 내내 변하지 않는 조건
- 조작 변수: 결과 변화를 보기 위해 바꾸는 조건
- 결과 변수: 관찰하고 싶은 최종 지표
시뮬레이션 결과 해석
- 결과 해석: 시뮬레이션이 만든 숫자나 패턴이 무엇을 의미하는지 설명하는 과정
- 확인할 것
- 전체 경향: 시간이 지날수록 증가, 감소, 안정화되는가
- 집단 차이: 에이전트 유형별로 결과가 다르게 나타나는가
- 임계점: 특정 조건을 넘으면 결과가 급격히 바뀌는가
- 반복 결과: 같은 조건에서 여러 번 실행해도 비슷한 패턴이 나오는가
- 해석 시 주의점
- 시뮬레이션 결과는 현실의 예측값이 아니라 가정에 따른 가능성이다
- 입력 규칙이 틀리면 결과가 그럴듯해 보여도 의미가 약하다
- 단일 실행 결과보다 여러 번 반복한 평균과 분포를 봐야 한다
장점 및 유용성
- 복잡계(Complex Systems) 연구 최적화
- 개별 구성원의 행동이 중요한 시스템(예: 사회, 경제, 생태계) 분석에 강력함
- 이질성 포착
- 평균적인(Average) 개인을 가정하는 대신, 다양한 특성을 가진 개인들의 영향을 분석 가능
- What-if 시나리오 실험
- 현실에서 실험하기 어렵거나 불가능한 정책(예: 전염병 격리 정책)의 효과를 시뮬레이션을 통해 테스트
- 경로 의존성(Path Dependency) 탐구
- 초기 조건이나 사건의 순서가 시스템의 최종 결과에 미치는 영향을 추적 가능
ABM의 주요 적용 분야
- 사회 과학
- 여론 형성 및 확산, 집단행동(군중 시위), 사회적 규범의 진화
- 주거 분리 현상(셸링의 분리 모델)
- 경제학 및 경영학
- 금융 시장의 변동성, 소비자 행동 및 신제품 확산, 공급망 교란 효과
- 생태학 및 생물학
- 전염병 확산 모델링
- 포식자-피식자 관계, 생태계 동태, 진화 게임 이론
- 교통 및 도시 계획
- 교통 흐름 시뮬레이션, 보행자 동선 분석, 도시 성장 패턴 예측
- 군사
- 전장 시뮬레이션, 지휘 통제 전략 분석
LLM을 적용한 ABM
- 죄수의 딜레마
- 경제 현상
- 일상적인 사회적 상호작용
- 인터넷 커뮤니티 시뮬레이션
- 역사 시뮬레이션
죄수의 딜레마
- 서로 협력하면 최대 이익이지만, 배신 당하는 것보다는 배신하는 것이 이익
- 상대방의 행동을 사전에 알 수는 없음
- 반복적(iterated) 죄수의 딜레마(IPD): 위의 게임을 반복
- IPD 실험에서 사람들의 행동
- 배신을 장려하는 환경: 항상 배신
- 협력을 장려하는 환경: 기본적으로 협력하나 상대방이 배신하면 다음 번에 응징 후 용서하고 다시 협력하거나(Tit-for-Tat), 절대 용서하지 않고 다시는 협력하지 않음(Grim Trigger)

죄수의 딜레마: LLM은 인간보다 관대하다
- Nice(착함): 먼저 배신하지 않는 경향
- Forgiving(관대함): 상대방의 배신 후 다시 협력하려는 경향
- Retaliatory(보복적): 상대방의 부당한 배신 직후 배신하는 경향
- Troublemaking(문제 유발): 도발되지 않은 배신(선제적 배신)을 하는 경향
- Emulative(모방적): 상대방의 지난 행동을 따라하는 경향

경제 현상
- 현실의 인구 분포에 맞춰 개별 에이전트에게 프로필 부여
- LLM이 개개인의 입장에서 매월 노동과 소비를 결정
- 필립스 곡선(실업률과 인플레이션의 역상관)과 오쿤의 법칙(실업률 증가와 실질 GDP 증가의 역상관)이 시뮬레이션으로 재현됨
- COVID-19으로 인한 2020년 1분기 실업률 급증을 시뮬레이션으로 재현함
- Normal은 COVID-19이 없었을 경우
- 수치적으로 일치하지는 않음



AI들이 마을을 이루고 산다면?
- 자율 에이전트들에게 역할과 성격을 부여하고 가상의 마을에서 상호작용하게 하여 시뮬레이션
- 시장 출마, 발렌타인 데이 파티 등을 준비하는 과정에서 다양한 예상하지 못한 창발적 상호작용이 관찰됨
- 소문 퍼트리기, 협력 등
- 온라인 포럼, 가상 현실 메타버스, 소셜 로봇 등에서 장기 경험 기반 인간 행동 모델을 제공
- 다양한 서비스에서 사용자 경험 설계에 활용 가능


출처: Generative Agents: Interactive Simulacra of Human Behavior (https://arxiv.org/abs/2304.03442)
인터넷 커뮤니티 시뮬레이션
- 가상의 인터넷 커뮤니티를 만들고 다양한 사용자의 프로필에 바탕을 둔 에이전트들로 시뮬레이션
- 실제 대화와 가상 대화 중에서 실제 대화를 선택
- 32%가 인간 작업자가 생성한 가상 대화를 선택
- 41%가 시뮬레이션으로 생성된 가상 대화 선택
- 다양한 가상 상황을 발견
- 지역 이벤트 공유 커뮤니티에서 동네 친구를 찾는 행동
- 국제 정치 토론 커뮤니티에서 반사회적 행동
- 인터넷 커뮤니티 설계 및 운영에 대한 다양한 통찰을 발견



역사 시뮬레이션
- LLM으로 1, 2차 세계대전의 역사를 시뮬레이션하고, 에이전트들은 각국 정부 역할을 수행
- 국가별 리더십, 군사 능력, 자원, 역사적 배경, 주요 정책, 대중의 사기 등의 정보를 제공
- 평화조약, 불가침조약, 군사동맹 등의 행동을 선택
- 실제 역사 정보를 인출하는 것을 막기 위해 고유 명사는 익명화
- Germany -> Country G
- 실제 역사와 비슷하게 진행됨
- 다양한 조건을 바꿔가면서 세계대전이 발발하지 않은 경우를 탐색


출처: War and Peace (WarAgent): Large Language Model-based Multi-Agent Simulation of World Wars (https://arxiv.org/abs/2311.17227)
마피아 게임
- LLM 에이전트들에게 마피아 게임에서 각각의 역할을 수행하게 함
- 실제 마피아 게임과 마찬가지로 각 에이전트는 서로 다른 정보를 알고 있음
- LLM의 제한된 컨텍스트를 극복하기 위해 다음과 같은 조건에 따라 "기억"을 구성
- Freshness: 최근 K개의 메시지
- Informativeness: 규칙에 따라 선정된 중요한 메시지(에이전트의 역할, 다른 캐릭터의 죽음 등)
- Completeness: 질문 목록을 미리 만들어 두고 최근의 메시지를 바탕으로 에이전트가 질문을 선택, 선택된 질문을 이용하여 각 메시지를 BERT로 평가하여 선택
- Experience Pool
- LLM을 미세 조정하는 대신 마피아 게임의 경험과 승패 및 걸린 기간을 이용해 만든 점수를 저장
- 상황에 따라 과거 경험 중 유사한 상황들을 불러와 참조
출처: Exploring Large Language Models for Communication Games: An Empirical Study on Werewolf (https://arxiv.org/abs/2309.04658)
AI들이 욕구와 감정을 가지게 된다면
- Generative Agents의 확장
- 에이전트에 인간과 같은 다양한 내부 상태를 설정
- 감정: 분노, 슬픔, 두려움, 놀람, 행복, 중립 및 혐오감
- 욕구: 포만감, 재미, 건강, 사교 및 에너지
- 에이전트 간의 관계 및 친밀감
- 에이전트의 내부 상태를 자연어로 표현하여 계획에 반영

출처: Humanoid Agents: Platform for Simulating Human-like Generative Agents (https://arxiv.org/abs/2310.05418)
BOLAA Benchmarking and Orchestrating LLM-augmented Autonomous Agents
- 에이전트 풀: 웹 검색, 도구 사용 등 한정된 업무만 수행하는 에이전트들로 구성
- 콘트롤러 에이전트: 에이전트들 간의 통신 중개, 및 업무 할당/조정


출처: BOLAA: Benchmarking and Orchestrating LLM-augmented Autonomous Agents (https://arxiv.org/abs/2308.05960)
합성 데이터
- 1,052명의 실제 인터뷰 데이터를 LLM에 결합해 개인의 태도와 행동을 복제한 생성 에이전트를 구축하고, 사회 조사(GSS) 및 성격 검사에서 실제 인간의 일관성에 근접한 높은 정확도를 확인
- 5가지 사회 과학 실험 중 4개를 성공적으로 재현했으며, 인간과 에이전트 간 효과 크기 상관관계가 0.98을 기록하는 등 사회적 상호작용 및 실험 재현 능력이 매우 탁월함을 증명
- 단순 인구통계 기반 모델보다 정치적, 사회적 편향(DPD)이 유의미하게 낮게 나타나, 정성적 데이터를 활용한 시뮬레이션이 인구통계학적 공정성과 정교함을 동시에 확보할 수 있음을 입증
- 참고: Generative Agent Simulations of 1,000 People