/synthetic-user-research

Example Notebook for Synthetic User Research with Persona Prompting and Autonomous Agents

Primary LanguageJupyter NotebookOtherNOASSERTION

Synthetic User Research

Persona Prompting & Autonomous Agents with Autogen Framework

Overview

This project explores the innovative domain of synthetic user research by leveraging generative AI and autonomous agents to simulate digital customer personas. Traditional user research methodologies face challenges such as scalability and accessing diverse user groups. Our approach, using generative AI, allows for the creation and interaction with digital personas in simulated research scenarios, unlocking unprecedented insights into consumer behaviors and preferences. The notebook also has an example report card generation, you can see the example report card EXAMPLE_REPORT.md.

Visual depiction of simulated user research session

Key Features

  • Persona Prompting: Crafting detailed prompts to generate synthetic personas with rich backgrounds, goals, and frustrations.
  • Autonomous Agent Fusion: Combining technology and linguistics to create digital personas that interact in simulated environments, mimicking real consumer interactions.
  • Advanced Research Frameworks: Utilizing frameworks like Autogen, BabyAGI, and CrewAI to manage complex agent architectures and interactions.

Getting Started

Prerequisites

  • Python 3.8 or higher
  • Installation of Autogen and other necessary libraries

Installation

Clone the repository to your local machine:

git clone https://github.com/koconder/synthetic-user-research.git
cd synthetic-user-research

Running the Notebook

Open the provided Jupyter Notebook in your preferred environment, such as Jupyter Lab or Google Colab. The notebook contains detailed steps and code snippets for setting up the environment, configuring the LLM and API keys, and running the synthetic user research simulations.

Usage

Follow the instructions within the notebook to:

  1. Setup your environment and configure the Large Language Model (LLM).
  2. Define personas using the persona prompting method.
  3. Initialize autonomous agents and simulate user research sessions.
  4. Analyze the outcomes and generate summaries using a Summary Agent.

Contributing

We welcome contributions to this project! Whether it's adding new features, improving documentation, or reporting issues, your help is appreciated. Please feel free to submit pull requests or open issues on GitHub.

License

This respository is licensed under the CC BY-NC-SA 4.0. - see the LICENSE file or creative commons for details.

This license requires that reusers give credit to the creator. It allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, for noncommercial purposes only. If others modify or adapt the material, they must license the modified material under identical terms

Acknowledgments

  • Stefano De Paoli for the research paper and process write up for the generation of personas.
  • The Autogen, BabyAGI, and CrewAI frameworks for enabling the architecture of autonomous agents.
  • Support of my readers on thier use-cases.

About the Author

Vincent Koc is a author, lecturer and futurist with extensive experience in data-driven and digital disciplines with AI. Follow Vincent on LinkedIn and X.


This project is a part of ongoing experiments into generative AI and agent architectures. Your feedback and contributions are welcome!