Show HN: AI-town - JavaScript ile kişiselleştirilmiş yapay zeka dünyası simülasyonları çalıştırmak için başlangıç kiti
(github.com/a16z-infra)- AI Town, yapay zeka karakterlerinin yaşadığı, sohbet ettiği ve sosyalleştiği sanal bir kasabadır; kullanıcıların kendi AI Town sürümlerini kolayca oluşturup özelleştirebilmesi için dağıtılabilir bir başlangıç kitidir
- Generative Agents: Interactive Simulacra of Human Behavior makalesinden ilham almıştır; genişletme için temel bir platform ve JS/TS framework’ü sunmak başlıca hedefleridir
- Backend, paylaşılan global durum, transaction’lar ve simülasyon motoru için yerleşik destek sunar; basit deneysel projelerden ölçeklenebilir multiplayer oyunlara kadar kullanım hedeflenir
- Ana stack; oyun motoru, veritabanı ve vektör arama için Convex, isteğe bağlı kimlik doğrulama için Clerk, yerel çıkarım için Ollama, render ve etkileşim için PixiJS bileşenlerinden oluşur
- Varsayılan sohbet modeli
llama3, embedding modelimxbai-embed-large’dır; Together.ai veya OpenAI API uyumlu API’lerle bulut LLM yapılandırılabilir - Çalıştırma seçenekleri; standart Convex kurulumu, self-hosted Convex tabanlı Docker Compose, Pinokio topluluk fork’u için tek tıkla kurulum ve Fly.io dağıtımından oluşur
- Özelleştirme akışı;
data/characters.tsiçindeki karakter, hikâye ve spritesheet referanslarını değiştirmek,data/gentle.jstabanlı haritayı değiştirmek ve Tiled JSON’unuconvertMap.jsile motor formatına dönüştürmektir - Arka plan müziği üretimi isteğe bağlı olarak Replicate ve MusicGen kullanır;
REPLICATE_API_TOKENayarı ve Replicate webhook’larını alabilecek bir ortam gerekir - LLM sağlayıcısı veya embedding modeli değiştirildiğinde, belleğe yazılan embedding’lerin vektör veritabanı boyutlarıyla eşleşmesi gerekir; bu yüzden veriler silinip yeniden başlatılmalıdır
- Windows kurulumu için Windows 10/11, WSL2 ve internet bağlantısı ön koşuldur; Node.js 18 kararlı sürüm olarak önerilir
1 yorum
Hacker News yorumları
OP’nin bahsettiği Generative Agents projesine henüz bakmadıysanız kesinlikle görülmeye değer; açık kaynak: https://github.com/joonspk-research/generative_agents
Hafta sonu Lance Martin, llama.cpp ve ollama.ai ile yerel modellerde çalıştırmayı başardı; böylece uzun simülasyonlarda tüm çıkarım yerelde gerçekleşip maliyetten tasarruf edilebiliyor: https://twitter.com/RLanceMartin/status/1690829179615657985
Yapay zeka ajanlarının birbirleriyle etkileşim biçimi de ilginç; örneğin bir ajan parti verdiğinde davet tüm gruba yayılıyor
Tabii insanlar da o kadar rasyonel değil; belki de bu daha doğru bir simülasyon olur
Bu gerçekten harika
Bunun üzerine kurulabilecek bir oyun fikri olarak, her ajanın gerçek kullanıcılara kendisinin de gerçek bir kullanıcı olduğunu ikna etmeye çalıştığı bir masaüstü aldatmaca oyunu düşünülebilir. Yani yapı, her ajanın Turing testini geçmeye çalışması üzerine kurulu
Tüm yapay zeka ajanları, insan oyuncularla nasıl sohbet etmeleri gerektiği konusunda kendi kişisel LLM’lerini en iyi şekilde yönlendirmek için pekiştirmeli öğrenme kullanır. Örneğin belirli bir kişiye iftira atmak mı, aptal numarası yapmak mı, gaslighting uygulamak mı gibi seçimler yaparlar
Yapay zeka yöneticisinin rolü üstlenmesi kolaylaşır, yük oyuncuya geçer
Bir insan eninde sonunda “Ne diyorsun sen?” gibi bir tepki verir, ama LLM’lerde böyle bir cevap görmek zor
Generative Agents projesinin çok ilginç bir kullanım örneği
Şimdilik bununla etkileşimli deneyimler yaratmaya yönelik erken girişimlerden biri gibi hissettiriyor, ancak teknoloji daha da olgunlaştığında geleceğin oyunları için potansiyeli çok büyük. NPC’lerle etkileşimin oynanışın merkezinde olduğu Animal Crossing gibi oyunları düşünmek yeterli
Sınırlı, önceden yazılmış diyaloglara dayanmak yerine, tamamen benzersiz kişiliklere sahip karakterlerin yeni replikler üretmesi veya oyuncu davranışlarına kendilerine özgü tepkiler vermesi mümkün hale geliyor
Dünya, LLM’in tanımladığı semantik özelliklere göre oluşturulabilir; NPC’lerle konuşmalar gibi şeyler de ortam ve oyuncu geçmişiyle başlatılan bağlam farkındalıklı ajanlar olabilir
Gelecekte içerik üreticileri, oyun varlıkları olarak kullanılacak stiller, ControlNet’ler, dil korpusları ve insan tarafından yazılmış dünya kurgusunu RAG ile oyun bağlamına ekleyen materyaller oluşturacak; bunlar da LoRA ve ince ayar için kullanılacak gibi görünüyor
Oyunun tüm varlıklarını tek tek, monoton biçimde üretmek yerine sanatçılar, yalnızca tek bir resim çizmekten çok daha zengin biçimde katkı sunabilecek gibi
Makale yayımlandığında benzer bir şey yapmıştım; GPT'nin konuşmanın iki tarafını da çıktılaması durumuna dikkat etmek gerekiyor
Örneğin sohbet geçmişi içeren bir prompt'u çıktı formatı örneği olarak yorumlayıp “Jack” ve “Jill”in sözlerini birlikte üretmesi gibi. İlk gördüğüm örnekte de bu sorun vardı. Aşağıdaki çıktı “Lucky” bakış açısından
“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”
Böylece model karşı tarafın konuşmasını da sürdürmeye çalıştığı anda hemen duruyor
Demo kasabasını gezerken de buna rastladım; bazı konuşmalarda iki rolü birden üstlenmişti
Bir arkadaşımla yakın zamanda bu makaleden çok ilham alarak bir oyun stüdyosu kurduk
Bu harika bir temel ve bunun üstüne daha karmaşık bir strateji oyunu inşa etme fikri heyecan verici
Bu kavramı benzer şekilde tüketici oyunlarına uygulama üzerinde çalışıyorsanız ne yaptığınızı duymak isterim: dru[at]chromagolem.com
AI-town'ın kendisi de güzel, ama asıl avantajı arka taraftaki framework'lerin zaten entegre edilmiş olması
Bir sonraki LLM projemi başlatırken başlangıç noktası olarak kesinlikle kullanmayı düşünüyorum
Bugün öğrendim ki a16z'nin içinde pek çok güzel şey bulunan bir GitHub deposu var
Bu projenin daha gelişmiş bir sürümünün içinde yaşıyor olabilir miyiz?
Devamındaki mantık şu: Eğer biz bunu yaparsak, dünyamızın sakinleri de bir gün aynısını yapacak ve bu süreç sonsuza kadar tekrarlanacak. Böyle bir yığın varsa, hâlâ en üst katmanda olma olasılığımız çok küçülür.
https://en.wikipedia.org/wiki/Averroes%27s_theory_of_the_uni...
“Yapay zeka karakterlerinin yaşadığı, sohbet ettiği ve sosyalleştiği sanal bir köy” deniyor; açıklamada “yaşar”, “sohbet eder” ve “sosyalleşir” dense de benim gördüğüm yalnızca sohbetti.
Burada “yaşamak” ve “sosyalleşmek” tam olarak ne anlama geliyor?
Ajanların dünya içinde AI Town’ı yeniden üretmesi ne kadar sürer? Biz göremeyebiliriz ama birileri bu hikâyeyi başlatabilir ;)