Agent Profile
The first step in using OASIS is to generate user data. This section provides a detailed overview of how user data should be prepared for simulation.
Data Formats
OASIS supports multiple social media platforms, each with its own data format. Note that the type of data format must align with the DefaultPlatformType or RecsysType specified for the platform.
Twitter Format (CSV)
For Twitter simulations, OASIS stores user data in CSV files. Each user (agent) requires the following information:
Field | Description |
---|---|
user_id | A unique identifier assigned to each agent |
name | The real name of the agent |
username | The username of the agent within the system |
created_at | The registration timestamp of the agent on the platform (agents will perform a sign-up action at the start of the simulation) |
following_agentid_list | A list containing the IDs of other agents this user follows |
previous_tweets | Initial tweets from the user, which are injected into the environment during simulation |
user_char | A brief self-description of the agent (included in the agent’s system prompt to establish an initial identity) |
description | Similar to user_char , serving as the agent’s self-description |
Example Twitter CSV Format
user_id | name | username | following_agentid_list | previous_tweets | user_char | description |
---|---|---|---|---|---|---|
14529063 | user_9 | user9 | [32] | [“hello world”] | Beach bum, web developer, nerd 🤓, crocheter, avid reader 📚, a singer in the shower, a notorious heart breaker. I blog about books @ https://t.co/JjnKtEnq4R | Beach bum, web developer, nerd 🤓, crocheter, avid reader 📚, a singer in the shower, a notorious heart breaker. I blog about books @ https://t.co/JjnKtEnq4R |
Reddit Format (JSON)
For Reddit simulations, OASIS uses JSON files to store user data. Each user object contains the following fields:
Field | Description |
---|---|
realname | The real name of the agent |
username | The username of the agent within the Reddit platform |
bio | A brief bio displayed on the user’s profile |
persona | A detailed description of the agent’s personality, interests, and background (used for the agent’s system prompt) |
age | The age of the agent |
gender | The gender of the agent |
mbti | Myers-Briggs Type Indicator of the agent |
country | The country where the agent is based |
profession | The agent’s profession or field of work/study |
interested_topics | An array of topics the agent is interested in |
Example Reddit JSON Format
Preparing User Data
When preparing user data for OASIS, consider the following regardless of platform:
-
Diverse Personalities: Create agents with varied interests, opinions, and communication styles to simulate realistic social dynamics.
-
Realistic Social Connections: For Twitter, the
following_agentid_list
should reflect plausible social networks based on shared interests or characteristics. For Reddit, users with similarinterested_topics
may interact more frequently. -
Initial Content: For Twitter,
previous_tweets
help establish the agent’s voice. For Reddit, thebio
andpersona
fields serve a similar purpose. -
Consistent Identity: Ensure that the personality descriptors (
user_char
anddescription
for Twitter;bio
andpersona
for Reddit) align with the agent’s intended personality and behavior in the simulation. -
Platform-Specific Behaviors: Consider how users interact differently on Twitter versus Reddit. Twitter interactions are more brief and public, while Reddit discussions are often topic-focused and community-based.
In the next sections, we’ll explore how to use this user data to configure and run simulations in OASIS for different platforms.