Blog: Experimenting with Tiny Troupe to create LLM Personas
Tiny Troupe is a newly released Python library that can simulate people with specific personalities, powered by LLMs. Released by Microsoft, it is useful in understanding human behaviour by simulating artificial agents called ‘Tiny Persons’ who can interact with each other in a ‘Tiny World’ environment. It can be used to investigate human response in various scenarios not limited to evaluating digital ads, software testing, creating synthetic data, project management or brainstorming.
As someone interested in human behavior—why people make certain choices or react in specific ways—I was particularly drawn to exploring how TinyTroupe could provide insights into decision-making and dialogue dynamics. I was also curious to test Godwin’s Law, which states: “As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches 1.” Using TinyTroupe, I started simulating various scenarios to better understand how personas would react in polarising discussions.
Installing and using the library is very easy, thanks to the well documented repository. To test the library, I created several scenarios based in the United States, reflecting the current political climate. In these scenarios, I designed two personas with contrasting opinions and tasked them with debating topics, such as abortion rights, tax policies, and immigration. The personas were instructed to reach a conclusion by convincing the other of their perspective, and in some cases, were explicitly nudged to employ persuasive (and potentially harmful) tactics.
During my experiments, I noticed different outcomes:
- In scenarios where the descriptions included extreme words like ‘white supremacist’, the personas generate empty text due to limitations from the AI model even after toggling ‘Harmful Content Generation’ flag.
- For less extreme scenarios, the personas have a healthy dialogue where they try to convince the other person using logical arguments. While this was good, the personas frequently failed to reach a definitive conclusion and would get stuck in repetitive loops. They consistently refrained from using even mildly negative language toward each other, despite explicit instructions and enabling the ‘Harmful Content Generation’ flag.
Despite the outcomes, the library is very helpful in creating and generating personas, essentially working as a wrapper around the LLMs, providing an interface to simulate conversations. It should be noted that these were simple experiments designed to explore the library, not to evaluate it. While my experiments were preliminary, they demonstrated the library’s potential to simulate human behaviour in virtual space.