TinyTroupe 세 줄 요약
github: https://github.com/microsoft/TinyTroupe
TinyTroupe는 AI 기반의 다중 에이전트 시뮬레이션 라이브러리로, 사용자가 특정 개인성과 목표를 가진 인공 에이전트인 `TinyPerson`을 생성하여 다양한 비즈니스 시나리오를 실험할 수 있도록 돕는다. 이 도구는 상상력 향상과 소비자 행동 이해를 목표로 하며, 광고 평가, 소프트웨어 테스트, 제품 관리 등 여러 분야에서 활용될 수 있다. TinyTroupe는 연구 및 실험 목적으로 개발되었으며, 사용자 피드백을 통해 지속적으로 발전할 예정이다.
TinyTroupe 개요
- TinyTroupe는 특정 성격, 관심사, 목표를 가진 사람들을 시뮬레이션할 수 있는 실험적인 Python 라이브러리임 .
- 이 라이브러리는 대규모 언어 모델(LLM), 특히 GPT-4를 활용하여 현실적인 시뮬레이션 행동을 생성함 -> 모델은 수정 가능!
- TinyPerson이라는 인공 에이전트들이 서로 소통하고, TinyWorld라는 환경에서 생활함
- 이 라이브러리는 인간 행동을 이해하는 데 중점을 두며, 생산성과 비즈니스 시나리오를 밝히는 데 기여함
활용 사례
- 광고: TinyTroupe는 디지털 광고를 시뮬레이션된 청중과 함께 오프라인에서 평가할 수 있음 .
- 소프트웨어 테스트: 시스템에 테스트 입력을 제공하고 결과를 평가할 수 있음
- 훈련 및 탐색 데이터: 현실적인 합성 데이터를 생성하여 모델 훈련이나 기회 분석에 사용할 수 있음 .
- 제품 및 프로젝트 관리: 특정 인물의 관점에서 피드백을 제공할 수 있음
- 브레인스토밍: 포커스 그룹을 시뮬레이션하여 저렴한 비용으로 훌륭한 제품 피드백을 제공함
-> 마케팅에 특히 좋은 듯 합니다.
핵심 구성 요소
- TinyTroupe는 ` TinyWorld`라는 환경에서 에이전트들이 존재하고 상호작용하는 구조로 설계되어 있다.
- ` TinyPerson`은 특정 성격, 관심사, 목표를 가진 시뮬레이션된 인물로, 환경으로부터 자극을 받아 행동하는 방식으로 작동한다.
- 에이전트 생성은 pre-defined agent builders를 사용하거나, JSON 파일을 통해 상세 정보를 로드하거나, 프로그래밍 방식으로 직접 정의하는 세 가지 방법이 있다.
- 에이전트 정의에는 이름, 나이, 국적, 직업, 성격 특성, Big Five 성격 요인 등 다양한 개인 정보가 포함되어 현실적인 행동을 구현한다.
- Fragment를 사용하여 여러 에이전트에서 공통적으로 사용할 수 있는 세부 사항을 정의하고 재사용할 수 있다.
- TinyPersonFactory 클래스를 활용하면 LLM을 통해 자동으로 에이전트 사양을 생성할 수 있어 편리하다.
- ` config.ini` 파일을 통해 API 유형, 모델 매개변수, 로깅 수준 등 다양한 시스템 설정을 사용자 정의할 수 있다.
- TinyTroupe는 시뮬레이션 생성과 분석을 돕는 다양한 유틸리티(TinyTool, TinyStory 등)를 제공하며, 비용 절감을 위한 캐싱 전략도 지원한다.
프로젝트 기여 및 법적 고려사항
- TinyTroupe는 메모리 메커니즘, 데이터 접지 메커니즘, 추론 메커니즘, 새로운 환경 유형, 외부 세계와의 인터페이스 등 다양한 분야에서 기여를 환영한다고 한다.
- 프로젝트 기여 시 'Tiny' 명명 규칙을 따라야 하며, 시뮬레이션 요소에는 'Tiny' 접두사를 사용하고 보조 및 인프라 메커니즘에는 사용하지 않는다.
- 새로운 메커니즘 개발 시 단위 테스트와 기능 시나리오 테스트를 작성해야 하며, 새로운 시나리오 시연은 주피터 노트북으로 설계하는 것이 좋다.
- TinyTroupe는 연구 및 시뮬레이션 목적으로만 사용되어야 하며, AI 모델 출력의 부정확성과 잠재적 위험성을 인지하고 사용자의 책임 하에 내용을 검토해야 한다.
- 프로젝트는 민감한 상황 시뮬레이션을 금지하며, 출력물은 사람을 속이거나 해치는 데 사용해서는 안 되며, 모든 관련 법규를 준수해야 한다.
설치 및 사용법
- 설치 방법: 이 저장소에서 직접 라이브러리를 설치하는 것이 권장됨(이렇게 안하면 안되던데영ㅜ)
- Conda를 사용하여 새로운 Python 환경 생성 .
- `pip`을 사용하여 저장소에서 직접 라이브러리 설치
- 예제 실행: 로컬 머신에 예제를 다운로드하여 실행 가능 .
예제 실행해보기
1. https://github.com/microsoft/TinyTroupe 저장소 clone
2. TinyTroupe > examples 아래 노트북 파일 실행해보면 되는데, 그냥 하면 안돌아간다.
3. 루트에 있는 .envexample 을 .env 로 이름을 바꾸고, openai key를 넣어준다.
4. 필요한 라이브러리 설치. 노트북 맨 앞에 이 줄을 실행해준다.
5. 하나하나 실행해보면 감이 옵니다!
추가 연구 과제
구조가 재미있어서 더 간단한 버전으로 하나 만들어보았다.
https://github.com/muniv/agent_simulation
GitHub - muniv/agent_simulation
Contribute to muniv/agent_simulation development by creating an account on GitHub.
github.com
추가로 실제 업무에 쓸 마케팅 프로젝트 데모를 만들었는데, 세션 문제 해결을 하고 있다. 이건 해결해서 다음 주에 업로드 예정 !
댓글