Show HN: AI-town - Starter kit untuk menjalankan simulasi dunia AI yang dapat dikustomisasi dengan JavaScript
(github.com/a16z-infra)- AI Town adalah desa virtual tempat karakter AI hidup, bercakap-cakap, dan bersosialisasi, sekaligus starter kit yang dapat di-deploy agar pengguna dapat dengan mudah membuat dan menyesuaikan versi AI Town mereka sendiri
- Terinspirasi oleh makalah Generative Agents: Interactive Simulacra of Human Behavior, dengan tujuan utama menyediakan platform dasar untuk ekspansi serta framework JS/TS
- Backend mendukung shared global state, transaksi, dan engine simulasi secara bawaan, dengan sasaran penggunaan dari proyek eksperimen sederhana hingga game multiplayer yang skalabel
- Stack utamanya terdiri dari Convex untuk game engine, database, dan pencarian vektor; Clerk untuk autentikasi opsional; Ollama untuk inferensi lokal; serta PixiJS untuk rendering dan interaksi
- Model chat default adalah
llama3, embedding menggunakanmxbai-embed-large, dan LLM cloud dapat dikonfigurasi melalui API yang kompatibel dengan Together.ai atau OpenAI API - Cara menjalankannya mencakup opsi konfigurasi standar Convex, Docker Compose berbasis Convex self-hosted, instalasi sekali klik dari fork komunitas Pinokio, serta deployment ke Fly.io
- Kustomisasi dilakukan dengan mengubah referensi karakter, cerita, dan spritesheet di
data/characters.ts, mengganti peta berbasisdata/gentle.js, serta mengonversi JSON Tiled ke format untuk engine menggunakanconvertMap.js - Pembuatan musik latar secara opsional menggunakan Replicate dan MusicGen, serta memerlukan pengaturan
REPLICATE_API_TOKENdan lingkungan yang dapat menerima webhook Replicate - Jika mengganti penyedia LLM atau model embedding, dimensi embedding yang ditulis ke memori harus cocok dengan dimensi database vektor, sehingga data perlu dihapus dan dimulai ulang
- Instalasi di Windows mensyaratkan Windows 10/11, WSL2, dan koneksi internet, dengan Node.js 18 direkomendasikan sebagai versi stabil
1 komentar
Komentar Hacker News
Kalau belum melihat proyek Generative Agents yang disebut OP, ini sangat layak dilihat, dan bersifat open source: https://github.com/joonspk-research/generative_agents
Akhir pekan lalu Lance Martin berhasil menjalankannya pada model lokal dengan llama.cpp dan ollama.ai, sehingga dalam simulasi panjang semua inferensi bisa terjadi secara lokal dan menghemat biaya: https://twitter.com/RLanceMartin/status/1690829179615657985
Cara agen-agen AI saling berinteraksi juga menarik; misalnya, jika satu agen mengadakan pesta, undangannya menyebar ke seluruh grup
Tentu manusia juga tidak serasional itu, jadi mungkin justru akan menjadi simulasi yang akurat
Ini benar-benar keren
Sebagai ide game yang bisa dibuat di atasnya, bisa dibayangkan game tipu daya tabletop di mana setiap agen meyakinkan pengguna sungguhan bahwa dirinya juga pengguna sungguhan. Dengan kata lain, strukturnya adalah setiap agen mencoba lolos uji Turing
Semua agen AI, melalui reinforcement learning, mengoptimalkan prompt untuk LLM pribadi mereka sendiri tentang bagaimana harus mengobrol dengan pemain manusia. Misalnya memilih apakah akan menjebak orang tertentu, pura-pura bodoh, atau melakukan gaslighting
Moderator AI menjadi lebih mudah menjalankan perannya, dan bebannya berpindah ke pemain
Manusia pada akhirnya akan bereaksi seperti “Sebenarnya kamu ngomong apa?”, tetapi jawaban seperti itu sulit ditemukan pada LLM
Ini adalah kasus penggunaan yang sangat menarik dari proyek Generative Agents
Untuk saat ini rasanya masih seperti salah satu upaya awal membuat pengalaman interaktif dengan ini, tetapi jika teknologinya semakin dipoles, potensinya untuk game masa depan sangat besar. Bayangkan game seperti Animal Crossing, di mana interaksi dengan NPC menjadi inti gameplay
Tanpa bergantung pada dialog terbatas yang ditulis sebelumnya, karakter dengan kepribadian yang benar-benar unik bisa menghasilkan dialog baru atau merespons tindakan pemain secara khas
Dunia dapat dibuat berdasarkan karakteristik semantik yang didefinisikan LLM, sementara percakapan dengan NPC dan semacamnya dapat menjadi agen sadar konteks yang diinisialisasi dengan lingkungan dan riwayat pemain
Ke depan, pembuat konten tampaknya akan membuat gaya, controlnet, korpus bahasa, serta materi seperti worldbuilding buatan manusia yang dimasukkan ke konteks game melalui RAG, untuk digunakan dalam LoRA dan fine-tuning
Alih-alih membuat semua aset game satu per satu secara monoton, para seniman tampaknya bisa berkontribusi jauh lebih kaya daripada sekadar menggambar satu ilustrasi
Saat makalahnya keluar, saya pernah membuat sesuatu yang mirip, dan perlu berhati-hati terhadap kasus ketika GPT mengeluarkan kedua sisi percakapan
Misalnya, prompt yang berisi riwayat chat ditafsirkan sebagai contoh format keluaran, lalu ia mengeluarkan ucapan “Jack” dan “Jill” sekaligus. Sampel pertama yang saya lihat juga punya masalah ini. Berikut ini keluaran dari sudut pandang “Lucky”
“Hey Stella! It's so great to see you! You'll never believe what I've been up to recently. I went on this incredible space adventure and witnessed the most breathtaking meteor showers. And guess what? I even encountered alien beings who communicate through colors! It was absolutely mesmerizing. Stella: Wow, Lucky! That sounds absolutely fascinating. I've always been intrigued by space and the wonders it holds. I would love to hear more about your adventure. Lucky: I'm thrilled that you're interested, Stella! I can't wait to share all the details with you. But before we dive into that, I heard you're passionate about gardening. Is that right? Stella: Yes, that's true! Gardening is one of my favorite hobbies. I find it so peaceful and fulfilling. Lucky: That's fantastic! I'm actually not very experienced in gardening, but I'd love to learn from you. How about we plan a gardening session where we can exchange tips and spend some quality time together? Stella: That sounds wonderful, Lucky! I'd be more than happy to share my gardening knowledge with you. Let's find a time that works for both of us. Lucky: Absolutely! I'm really looking forward to it. But hey, no rush. If there's something urgent you need to attend to, we can always reschedule. Just promise me we'll find another time to connect. Stella: Don't worry, Lucky”
Dengan begitu, model langsung berhenti saat mencoba melanjutkan percakapan dari sisi lawan bicara
Saat melihat-lihat desa demo, saya juga melihat hal seperti ini, dan sebagian percakapan malah memainkan kedua peran sekaligus
Baru-baru ini saya dan seorang teman memulai studio game yang sangat terinspirasi oleh makalah ini
Ini fondasi yang bagus, dan saya antusias membangun game strategi yang lebih kompleks di atasnya
Kalau ada yang sedang mengerjakan penerapan konsep serupa untuk game konsumen, saya ingin mendengar apa yang sedang Anda buat: dru[at]chromagolem.com
AI-town sendiri memang keren, tetapi keunggulan sebenarnya adalah framework-framework di belakangnya sudah terintegrasi
Saya pasti akan mencobanya sebagai titik awal saat memulai proyek LLM berikutnya
Hari ini saya baru tahu bahwa a16z punya repositori GitHub berisi banyak hal keren
Mungkinkah kita hidup di dalam versi yang lebih maju dari proyek ini?
Logika lanjutannya adalah, jika kita melakukan itu, penghuni dunia kita juga suatu hari akan melakukannya, dan proses itu berulang tanpa batas. Jika ada stack seperti itu, kemungkinan kita masih berada di lapisan paling atas menjadi sangat kecil
https://en.wikipedia.org/wiki/Averroes%27s_theory_of_the_uni...
Disebut sebagai “desa virtual tempat karakter AI hidup, mengobrol, dan bersosialisasi”, dan dalam penjelasannya tertulis “hidup”, “mengobrol”, dan “bersosialisasi”, tetapi yang saya lihat hanya mengobrol
Di sini, apa tepatnya yang dimaksud dengan “hidup” dan “bersosialisasi”?
Berapa lama sampai para agen mereproduksi AI Town di dalam dunia itu? Kita mungkin tidak akan bisa melihatnya, tapi seseorang tampaknya bisa mulai menceritakan kisah itu ;)