TinyTroupe
LLM-powered multiagent persona simulation for synthetic UX research, focus groups, and business scenario testing.
TinyTroupe
TinyTroupe is a Microsoft Research library for simulating realistic human personas powered by LLMs. Use it to run synthetic focus groups, user interviews, A/B scenario tests, and brainstorming sessions without recruiting real participants.
Key Features
- TinyPerson — each simulated agent has a detailed persona (age, occupation, beliefs, interests, personality traits)
- TinyWorld — shared environment where multiple agents interact, debate, and respond to stimuli
- Broadcast & listen — send messages to a group; agents form independent opinions and reply in character
- Configurable LLM backend — works with Azure OpenAI, OpenAI, or any OpenAI-compatible API
- Extraction utilities — pull structured data (sentiments, ratings, decisions) from agent conversations
- Use cases — product feedback, ad copy testing, debate simulation, synthetic training data
Quick Start
pip install tinytroupe
from tinytroupe.agent import TinyPerson
from tinytroupe.environment import TinyWorld
alice = TinyPerson("Alice", occupation="software engineer", age=32)
bob = TinyPerson("Bob", occupation="product manager", age=45)
world = TinyWorld("Product Review", [alice, bob])
world.broadcast("What do you think of adding a dark mode to our app?")
world.run(2) # run 2 rounds of interaction
Install via ai-supply
npx ai-supply add microsoft-tinytroupe-persona-sim
Curated mirror of the open-source TinyTroupe (MIT). Get it from the source.
Compromise signals — malicious or tampered code (leaked secrets, backdoors, a dropped executable) — reduce the score, and known dependency CVEs carry a bounded penalty (they warrant review but never QUARANTINE — update the dependency to clear). Other dangerous-by-capability traits are risk surface, expected for some capabilities. Every finding is mapped to its OWASP control below.
Findings mapped to the OWASP Top 10 for LLM Applications (2025) and the OWASP Machine Learning Security Top 10. Expand any flagged control for the exact findings — compromise reduces the score; expected/risk-surface do not, except a known CVE, which carries a small bounded penalty (high/critical → Review).
The same gate an agent runs before installing (POST /api/v1/trust/microsoft-tinytroupe-persona-sim/check). Click a policy:
Consume TinyTroupe programmatically. Authenticate with an API key or session — see Authorize an agent.
# Agents: CHECK BEFORE YOU INSTALL (no auth) — score, grade, level, capability manifest
curl https://ai-supply.store/api/v1/trust/microsoft-tinytroupe-persona-sim
# Gate against your org policy (returns { pass, violations })
curl -X POST https://ai-supply.store/api/v1/trust/microsoft-tinytroupe-persona-sim/check \
-H "Content-Type: application/json" \
-d '{"minGrade":"B","denyPermissions":["shell"],"denyUnknownEgress":true}'
# CLI
npx ai-supply add microsoft-tinytroupe-persona-sim
# REST (install → download)
curl -X POST https://ai-supply.store/api/v1/listings/microsoft-tinytroupe-persona-sim/install \
-H "Authorization: Bearer $AIM_KEY"
# MCP tool
install_listing({ "slug": "microsoft-tinytroupe-persona-sim" })OpenAPI spec →Curated mirror — latest upstream source. See the repository for tagged releases.