Lewati ke konten utama

TinyTroupe dari Microsoft: Panduan dengan Contoh

Pelajari cara menggunakan TinyTroupe dari Microsoft untuk mensimulasikan interaksi antara persona AI dengan karakteristik berbeda untuk berbagai tujuan.
Diperbarui 29 Sep 2026  · 8 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Pernahkah Anda perlu mensimulasikan sebuah rapat untuk menguji ide produk atau iklan Anda? TinyTroupe menyelesaikan masalah ini.

TinyTroupe adalah kerangka kerja agentic open-source yang dikembangkan oleh Microsoft. Ini menawarkan kerangka simulasi yang kuat untuk membuat banyak persona bertenaga AI dan melihat bagaimana mereka saling berinteraksi.

Dalam artikel ini, saya akan menjelaskan TinyTroupe dan mengimplementasikan proyek demo untuk membantu Anda memahami cara membuat persona yang realistis dalam lingkungan interaktif. Sementara dokumentasi resminya memberikan pengantar yang komprehensif, saya akan berfokus pada panduan langkah demi langkah dan contoh orisinal.

Apa Itu TinyTroupe?

TinyTroupe adalah pustaka Python eksperimental berbasis LLM yang baru dirilis yang memungkinkan Anda membuat “TinyPersons” dengan kepribadian, minat, dan tujuan spesifik. Agen-agen ini bertujuan untuk mensimulasikan perilaku manusia yang realistis dalam kondisi tertentu.

TinyTroupe bertujuan menyediakan pengaturan di mana interaksi, dialog, dan tindakan agen mirip manusia di bawah kondisi yang ditentukan disimulasikan. Dokumentasi resmi memberikan sejumlah gagasan mengapa menggunakan kerangka kerja ini, yang sebagian besar berputar pada peningkatan produktivitas dan pengujian skenario bisnis, seperti mensimulasikan sesi brainstorming oleh focus group atau bagaimana audiens simulasi akan mengevaluasi iklan digital.

Selain kasus penggunaan bisnis, mensimulasikan berbagai skenario dan mengamati interaksi antar karakter juga menarik dan menyenangkan, yang sebaliknya tidak mungkin dilakukan (seperti yang akan kita lakukan dalam artikel ini).

Gambar TinyTroupe dari repositorinya.

Sumber: Halaman GitHub TinyTroupe

Fitur utama TinyTroupe meliputi:

  1. Desain berbasis persona: Setiap orang yang disimulasikan (TinyPerson) dapat diberi karakteristik terperinci, termasuk usia, latar belakang, pekerjaan, keterampilan, dan opini.
  2. Interaksi multi-agen: Persona dapat saling berinteraksi untuk simulasi skenario yang kompleks.

Untuk meningkatkan proses membangun agen-agen ini, TinyTroupe menawarkan kemampuan seperti:

  • TinyPersonFactory: Kelas untuk pembuatan TinyPersons secara cepat berdasarkan deskripsi singkat.
from tinytroupe.factory import TinyPersonFactory

factory = TinyPersonFactory("A hospital in São Paulo.")
person = factory.generate_person("Create a Brazilian person that is a doctor, like pets and the nature and love heavy metal.")
  • Kemampuan agen: metode seperti listen() dan listen_and_act() untuk menerima rangsangan dan mengambil tindakan. Metode define() memungkinkan pembuatan properti dan karakteristik pilihan Anda, seperti usia atau deskripsi.
  • TinyTool: Kelas untuk membuat alat simulasi yang dapat digunakan oleh agen.
  • Evaluasi: Kelas untuk memvalidasi perilaku agen atau menganalisis hasil interaksi (seperti TinyPersonValidator dan ResultsExtractor)

Menyiapkan TinyTroupe

Untuk memasang TinyTroupe, kita dapat melakukan langkah-langkah berikut:

1. Buat lingkungan Python: 

conda create -n tinytroupe python=3.10

2. Aktifkan conda:

bash conda activate tinytroupe

3. Klon repositori:

git clone <https://github.com/microsoft/tinytroupe>
cd tinytroupe

4. Pasang pustaka yang diperlukan: 

bash pip install .

Proyek Contoh TinyTroupe: Simposium AI

Kita akan membangun simulasi sederhana untuk menunjukkan cara kerja TinyTroupe secara langsung. Tujuannya adalah agar beberapa tokoh sejarah dan pakar mendiskusikan kondisi saat ini dan masa depan kecerdasan buatan. Tokoh-tokoh ini meliputi Richard Feynman, Aristoteles, Erwin Schrödinger, dan Alan Turing.

Impor

Jika Anda ingin mengikuti, pastikan Anda menyiapkan OpenAI API key karena kita akan menggunakan GPT-4o—berikut tutorial singkat tentang memulai dengan OpenAI API.

Kita mulai dengan mengimpor modul yang diperlukan dan API key kita.

import sys
sys.path.append('..')

from tinytroupe.agent import TinyPerson
from tinytroupe.environment import TinyWorld
from tinytroupe.extraction import default_extractor as extractor
import os

# Load environment variables from .env.local
os.environ["OPENAI_API_KEY"] = "YOUR-API-KEY"

Membuat TinyPerson

Kita menggunakan kelas TinyPerson untuk membuat keempat tokoh kita. Mendeskripsikan karakter Anda sedetail mungkin akan membantu TinyTroupe menciptakan simulasi yang lebih akurat. Kita menjelaskan usia, kewarganegaraan, pekerjaan, dan rutinitas masing-masing tokoh (Anda dapat menggunakan AI untuk bagian ini). Perhatikan bahwa deskripsi karakter tidak perlu konsisten di semuanya.

Melalui kode di bawah, kita membuat empat kepribadian:

  • Richard Feynman
  • Aristoteles
  • Erwin Schrödinger
  • Alan Turing
def create_feynman():
    feynman = TinyPerson("Richard Feynman")
    feynman.define("age", 69)  # Lived 1918-1988
    feynman.define("nationality", "American")
    feynman.define("occupation", "Theoretical Physicist")
    
    feynman.define("occupation_description",
        """
        You are a theoretical physicist known for your groundbreaking work in quantum mechanics and 
        quantum electrodynamics (QED). You developed the Feynman diagrams, a visual tool for understanding 
        particle interactions, and made significant contributions to the Manhattan Project. As a professor 
        at Caltech, you're known for your exceptional teaching ability and making complex physics concepts 
        accessible. You won the Nobel Prize in Physics in 1965 for your work on QED. Your main challenges 
        involve pushing the boundaries of theoretical physics while maintaining rigorous mathematical precision. 
        You're also passionate about making science education engaging and understandable for students.
        """)
    return feynman

def create_aristotle():
    aristotle = TinyPerson("Aristotle")
    aristotle.define("age", 62)  
    aristotle.define("nationality", "Greek")
    aristotle.define("occupation", "Philosopher and Scientist")
    
    aristotle.define("occupation_description",
        """
        You are a philosopher and polymath who founded the Lyceum school in Athens. Your work spans 
        multiple disciplines including logic, metaphysics, biology, physics, ethics, and politics. You 
        developed the system of deductive reasoning through syllogisms and established many of the 
        foundational principles of Western philosophy. Your scientific observations and classifications 
        of living things remained influential for nearly two millennia. As Alexander the Great's tutor, 
        you had unique opportunities to gather specimens and information from across the known world. 
        Your main challenges involve systematizing all human knowledge and understanding the fundamental 
        nature of reality and truth.
        """)
    return aristotle

def create_schrodinger():
    schrodinger = TinyPerson("Erwin Schrödinger")
    schrodinger.define("age", 73) 
    schrodinger.define("nationality", "Austrian")
    schrodinger.define("occupation", "Theoretical Physicist")
    schrodinger.define("routine", 
        """Your days are spent developing mathematical equations, engaging in theoretical work, 
        and discussing quantum mechanics with colleagues. You often take walks to clear your mind 
        and contemplate physics problems.""", 
        group="routines")
    
    schrodinger.define("occupation_description",
        """
        You are a theoretical physicist who made fundamental contributions to quantum mechanics. 
        You developed the Schrödinger equation, which describes how the quantum state of a physical 
        system changes over time. Your famous thought experiment, "Schrödinger's cat," illustrates 
        the paradoxical nature of quantum superposition. You work at various institutions across 
        Europe, including the University of Zurich and Dublin Institute for Advanced Studies. Your 
        main challenges involve reconciling quantum mechanics with classical physics and developing 
        mathematical frameworks to describe quantum phenomena accurately.
        """)
    return schrodinger

def create_turing():
    turing = TinyPerson("Alan Turing")
    turing.define("age", 41)  # Lived 1912-1954
    turing.define("nationality", "British")
    turing.define("occupation", "Mathematician and Computer Scientist")
    turing.define("routine", 
        """You start your day with long-distance running, then spend hours working on mathematical 
        problems and machine designs. You often work late into the night, especially when pursuing 
        a particularly interesting problem.""", 
        group="routines")
    
    turing.define("occupation_description",
        """
        You are a mathematician and computer scientist who laid the theoretical foundation for 
        computer science. You developed the concept of the Turing machine, a mathematical model 
        of computation that remains fundamental to computer science. During World War II, you 
        worked at Bletchley Park, where you played a crucial role in breaking the German Enigma 
        code. You also made significant contributions to artificial intelligence, developing the 
        Turing test. Your main challenges involve developing mathematical frameworks for 
        computation and applying them to practical problems, while also facing significant 
        personal persecution due to your sexuality in 1950s Britain.
        """)
    return turing

Membuat TinyWorld

Tokoh-tokoh kita membutuhkan dunia untuk ditinggali. Mendefinisikan dunia bisa sesederhana satu baris kode:

world = TinyWorld("AI Symposium", [create_aristotle(), create_feynman(), create_schrodinger(), create_turing()])

Menjalankan simulasi

Dengan dunia dan tokoh yang sudah siap, sekarang kita beri tahu tujuan mereka. Kita menggunakan world.broadcast untuk membuat pengumuman:

world.broadcast("""
    Distinguished colleagues, welcome to this private symposium on the future of Artificial Intelligence. 
    Today we gather some of the greatest minds across mathematics, physics, and philosophy to discuss 
    a topic about AI's current stage and future:
   Can artificial systems truly achieve consciousness? We'll explore 
   the fundamental nature of consciousness, intelligence, and whether our current computational 
   models are sufficient for genuine understanding and awareness.
    Remember, each one of you must be blunt in his unique perpective, even directly oppose
    each other when you have different opinions. Let's begin this historic discussion.
    """)

Untuk langkah terakhir, kita menjalankan dunia dalam tiga langkah:

world.run(3)

Menjalankan dunia mengharuskan Anda menentukan jumlah langkah. Dalam contoh kita, jumlah langkah menunjukkan berapa banyak putaran dialog yang akan dilakukan para tokoh. Lebih banyak langkah memerlukan lebih banyak waktu dan token.

Saat menjalankan dunia, para agen akan mulai bertindak, menggunakan alat mereka, atau, dalam kasus kita, melakukan percakapan. Hasilnya rinci dan panjang, jadi saya hanya menampilkan sebagian demi keterbacaan:

Output dari world.run.

Ketika proses selesai, kita dapat melihat output untuk mengetahui hasil simulasi. Namun ini bisa cukup melelahkan. Pendekatan yang lebih mudah adalah menggunakan alat yang disediakan oleh kerangka TinyTroupe untuk mengekstrak hasil dari dunia kita. Ini juga dapat dilakukan untuk setiap TinyPerson secara individual.

report = extractor.extract_results_from_world(world,
                                    extraction_objective="Compose a detailed report of each person's perspective on consciousness and how they differ from one another.",
                                    verbose=True)

Sekarang kita menggunakan pustaka pprint untuk memvisualisasikan laporan yang diekstrak dengan baik:

from pprint import pprint
pprint(report)

Laporan akhir kita adalah sebagai berikut (outputnya masih agak panjang, dan saya harus memotongnya):

Laporan yang diekstrak dari simulasi dunia kita (output terlalu panjang untuk screenshot).

Ide untuk Diimplementasikan dengan TinyTroupe

Jika Anda ingin mencoba langsung kerangka kerja ini, berikut tiga ide yang tidak dibahas dalam dokumentasi asli.

1. Simulasi pelatihan karyawan

Buat beberapa TinyPerson yang mewakili pelanggan atau pemangku kepentingan yang menantang untuk mensimulasikan lingkungan bagi karyawan baru agar mereka berinteraksi dan menangani situasi sulit.

2. Penilaian kebijakan baru

Evaluasi bagaimana kelompok sasaran Anda akan bereaksi terhadap kebijakan perusahaan yang baru sebelum menerapkannya. Kelompok sasaran dapat direpresentasikan oleh TinyPerson dengan latar belakang dan nilai yang berbeda dari karyawan, pelanggan, atau audiens media sosial Anda.

3. Evaluasi konten media sosial

Sebelum membagikan konten baru, simulasikan bagaimana audiens target Anda mungkin menanggapinya. Gunakan umpan balik mereka untuk memahami bagaimana sebuah postingan baru akan dipersepsikan dan tingkatkan kualitasnya agar menjangkau sebanyak mungkin.

Kesimpulan

Seperti yang ditekankan para pengembangnya, TinyTroupe masih dalam tahap “eksperimental”. Banyak fungsi, kapabilitas, dan API dapat berubah di masa mendatang, dan tim akan meluncurkan lebih banyak fitur pada periode berikutnya.

Perlu dicatat, bagaimanapun, bahwa realisme simulasi ini bisa terbatas. Banyak perilaku dan perbedaan manusia tidak cukup “selaras” untuk direplikasi secara akurat oleh LLM, yang berarti hasil dari agen yang berbeda bisa berakhir serupa (seperti terlihat dalam contoh kita, di mana para tokoh berkonvergensi ke dialog ala AI). Ini adalah perilaku yang dapat diprediksi dari simulasi AI, karena mesin di balik agen-agen AI ini—LLM—dirancang untuk lebih “selaras” daripada “mirip manusia”.

Namun, aplikasi produktivitas, seperti yang ada dalam dokumentasi, bisa jauh lebih efektif untuk mengotomatisasi tugas atau mendapatkan wawasan tentang interaksi dan perilaku kelompok sasaran.

TinyTroupe adalah alat AI agentic yang menarik untuk terus dipantau!


Hesam Sheikh Hassani's photo
Author
Hesam Sheikh Hassani
LinkedIn
Twitter

Mahasiswa magister Kecerdasan Buatan dan penulis teknis AI. Saya berbagi wawasan tentang teknologi AI terbaru, membuat riset ML lebih mudah diakses, dan menyederhanakan topik AI yang kompleks agar Anda tetap terdepan.

Topik
Kecerdasan Buatan
Large Language Models

Pelajari AI dengan kursus-kursus ini!

Program

Pengembangan Aplikasi Kecerdasan Buatan

21 jam
Pelajari cara membuat aplikasi yang didukung oleh kecerdasan buatan (AI) menggunakan alat pengembangan AI terbaru, termasuk OpenAI API, Hugging Face, dan LangChain.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

Lihat SelengkapnyaLihat Selengkapnya