diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 27d6e89..b96d9fc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,5 +20,8 @@ jobs: path: .cache - run: pip install mkdocs-material - run: pip install mike + - run: pip install markdown-callouts + - run: pip install mkdocs-callouts + - run: pip install mkdocs-click - run: pip install pillow cairosvg - run: mkdocs gh-deploy --force \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index 0f2fd24..46b7a30 100644 --- a/docs/README.md +++ b/docs/README.md @@ -14,36 +14,22 @@ - +*For the best experience, we recommend reading this document on the [website](https://sotopia-lab.github.io/awesome-social-agents/).* The rise of Large Language Models (LLMs)/foundational models presents new opportunities for simulating complex human **social behaviors**. As a result, there is a rapidly growing body of work emerging in this domain. We hope to categorize and synergize recent efforts to provide a comprehensive guidebook of **social agents** weaving together multiple domains, including language, embodiment, and robotics. Our goal is to offer insights crucial for understanding and harnessing **social agents'** potential impact on society. We strive to keep these updated regularly and continuously. **We greatly appreciate any contributions via PRs, issues, emails, or other methods.** -> [!Note] +> [!NOTE] > * **Agent** and **Environment** (Sutton and Barto 2018): An agent is a goal-driven decision-maker that sense and act upon the state of the environment. An environment comprises the state outside the agent, including the other agents if any. > * **Social Agent**: An agent that interacts with a multi-agent environment. > * **Socially Intelligent Agent**: A social agent that interacts and communicates with other agents in a human-interpretable way. >
more notes
    >
  1. The social intelligence that we are focusing on is human-like, excluding the collective intelligence in a lot of social animals like ants, bees, fishes.
  2. >
  3. To understand whether an entity is a (social) agent, we have to situate it in an environment. It is not possible to discuss an agent outside of an environment.
  4. +>
  5. We acknowledge there are many types of definitions for social agents. Our defitions here help narrow down the scope of our survey.
  6. -
    Social Agent Examples: - -| Examples | Social agent | Socially intelligent agent | -| -------- | ------- | ------- | -| Agent outputing only yes or no | βœ”, if the yes or no is somewhat meaningful | βœ”, if the yes or no is interpretable by a certain group of people. But the communication bandwidth is quite limited, so its social intelligence level could be low. | -| Agent outputting only yes | ❌, the agent could not perceive environment and act accordingly | ❌ | -| [StarCraft](https://www.nature.com/articles/s41586-019-1724-z) Agents | βœ”, they interact |❌, humans cannot understand their internal signals | -| Agents speak an artificial code language that only few people understand | βœ”, they interact | βœ”, they interact and communicate in a human-interpretable way | -| [Trisolarans](https://aliens.fandom.com/wiki/Trisolaran) | βœ”, they interact | ❌, their way of interaction is different from how humans communicate. They are essentially mind readers, and they don't need theory of mind | -| A newspaper, or a bot that only responds you with today's weather in Pittsburgh | ❌, it doesn't interact | ❌ | -| A [Webareana](https://webarena.dev/) agent | ❌, it only interacts with the browser environment | ❌ | -| A tree | ❌, it doesn't interact | ❌ | -| A lightbulb with motion sensor that turns on when you walk by | ? | ? | -| Self-driving cars on the real road | βœ”, they interact |?| - -
    +πŸ‡ͺ *Check out the [examples](examples.md) of social agents.* πŸ“ *We are currently working on a survey paper related to content of this repository. Stay tuned for updates!* @@ -73,64 +59,7 @@ Our goal is to offer insights crucial for understanding and harnessing **social - [Ethics](#ethics) -# Taxonomy -## 1 Social interaction types -*The objectives of different agents* -### 1.1 Pure collaboration -*The objectives are shared among agents* - -### 1.2 Pure Competition -*The objectives are zero-sum* - -### 1.3 Mixed Objectives -*Agents’ have different goals, but they are not zero-sum* - -### 1.4 Implicit Objectives -*Goals are not expressed explicitly* - -## 2 Number of agents -### 2.1 Two agents -### 2.2 More than three agents -### 2.3 Multiple teams of agents - -## 3 Social interaction environments -### 3.1 Closed simulation -*A fixed hand-crafted world* - -### 3.2 Open simulation -*Procedurally expanded or naturally large env* - -### 3.3 Real physical world -* Indoor scenes -* Outdoor scenes - - -## 4 Communication protocol -### 4.1 Non-human-like (?) communication -*Centralized control instead of modeling each agent on their own* - -### 4.2 Text Communication -### 4.3 Speech Communication -### 4.4 Non-verbal communication - -## 5 Modeling Techniques -### 5.1 Prompting -### 5.2 In-context learning -### 5.3 Fine-tuning -### 5.4 Reinforcement learning - -## 6 Human involvement -### 6.1 No human involvement -### 6.2 Simulated humans -### 6.3 Human-in-loop - -## 7 Evaluation Protocol -### 7.1 Rule-based evaluation -### 7.2 Human evaluation -### 7.3 Model-based evaluation -## 8 Smaller categories -### 8.1 Non-turn-based social interaction ## Papers diff --git a/docs/examples.md b/docs/examples.md new file mode 100644 index 0000000..0f10948 --- /dev/null +++ b/docs/examples.md @@ -0,0 +1,14 @@ +Social Agent Examples: + +| Examples | Social agent | Socially intelligent agent | +| -------- | ------- | ------- | +| Agent outputing only yes or no | βœ”, if the yes or no is somewhat meaningful | βœ”, if the yes or no is interpretable by a certain group of people. But the communication bandwidth is quite limited, so its social intelligence level could be low. | +| Agent outputting only yes | ❌, the agent could not perceive environment and act accordingly | ❌ | +| [StarCraft](https://www.nature.com/articles/s41586-019-1724-z) Agents | βœ”, they interact |❌, humans cannot understand their internal signals | +| Agents speak an artificial code language that only few people understand | βœ”, they interact | βœ”, they interact and communicate in a human-interpretable way | +| [Trisolarans](https://aliens.fandom.com/wiki/Trisolaran) | βœ”, they interact | ❌, their way of interaction is different from how humans communicate. They are essentially mind readers, and they don't need theory of mind | +| A newspaper, or a bot that only responds you with today's weather in Pittsburgh | ❌, it doesn't interact | ❌ | +| A [Webareana](https://webarena.dev/) agent | ❌, it only interacts with the browser environment | ❌ | +| A tree | ❌, it doesn't interact | ❌ | +| A lightbulb with motion sensor that turns on when you walk by | ? | ? | +| Self-driving cars on the real road | βœ”, they interact |?| \ No newline at end of file diff --git a/docs/paper_table.md b/docs/paper_table.md new file mode 100644 index 0000000..cfbe253 --- /dev/null +++ b/docs/paper_table.md @@ -0,0 +1 @@ +# Table of Papers \ No newline at end of file diff --git a/docs/taxonomy.md b/docs/taxonomy.md new file mode 100644 index 0000000..227e0c6 --- /dev/null +++ b/docs/taxonomy.md @@ -0,0 +1,58 @@ +# Taxonomy +## 1 Social interaction types +*The objectives of different agents* +### 1.1 Pure collaboration +*The objectives are shared among agents* + +### 1.2 Pure Competition +*The objectives are zero-sum* + +### 1.3 Mixed Objectives +*Agents’ have different goals, but they are not zero-sum* + +### 1.4 Implicit Objectives +*Goals are not expressed explicitly* + +## 2 Number of agents +### 2.1 Two agents +### 2.2 More than three agents +### 2.3 Multiple teams of agents + +## 3 Social interaction environments +### 3.1 Closed simulation +*A fixed hand-crafted world* + +### 3.2 Open simulation +*Procedurally expanded or naturally large env* + +### 3.3 Real physical world +* Indoor scenes +* Outdoor scenes + + +## 4 Communication protocol +### 4.1 Non-human-like (?) communication +*Centralized control instead of modeling each agent on their own* + +### 4.2 Text Communication +### 4.3 Speech Communication +### 4.4 Non-verbal communication + +## 5 Modeling Techniques +### 5.1 Prompting +### 5.2 In-context learning +### 5.3 Fine-tuning +### 5.4 Reinforcement learning + +## 6 Human involvement +### 6.1 No human involvement +### 6.2 Simulated humans +### 6.3 Human-in-loop + +## 7 Evaluation Protocol +### 7.1 Rule-based evaluation +### 7.2 Human evaluation +### 7.3 Model-based evaluation + +## 8 Smaller categories +### 8.1 Non-turn-based social interaction \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index b0a9d59..7c6bfc3 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -36,6 +36,9 @@ extra: provider: mike generator: false +repo_name: awesome-social-agents +repo_url: https://github.com/sotopia-lab/awesome-social-agents + markdown_extensions: - toc: permalink:  @@ -47,9 +50,8 @@ markdown_extensions: - pymdownx.snippets - pymdownx.superfences - callouts - - mdx_gh_links: - user: mkdocs - repo: mkdocs + - admonition + - pymdownx.details - mkdocs-click plugins: @@ -58,4 +60,5 @@ plugins: canonical_version: null css_dir: css javascript_dir: js - - search: \ No newline at end of file + - search: + - callouts \ No newline at end of file