3 puan yazan GN⁺ 2023-08-15 | 1 yorum | WhatsApp'ta paylaş
  • 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 modeli mxbai-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.ts içindeki karakter, hikâye ve spritesheet referanslarını değiştirmek, data/gentle.js tabanlı haritayı değiştirmek ve Tiled JSON’unu convertMap.js ile 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_TOKEN ayarı 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

 
GN⁺ 2023-08-15
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

    • Little Computer People 2 gibi değil mi? https://en.m.wikipedia.org/wiki/Little_Computer_People
    • Bunu Stardew Valley’e eklemek gerçekten eğlenceli olabilir
    • llama’nın simülasyonu nasıl etkileyeceğini merak ediyorum. llama2 de basit akıl yürütme görevlerinde sürekli başarısız olabiliyor
      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

    • Tersini yapmak daha eğlenceli olabilir. Oyuncuların diğer oyuncuları ortaya çıkarması, bu süreçte de yapay zeka gibi davranması gereken bir yapı
      Yapay zeka yöneticisinin rolü üstlenmesi kolaylaşır, yük oyuncuya geçer
    • Bunu oldukça kolay kazanmak mümkün gibi. LLM ile insanı ayırt etmenin kesin yollarından biri anlamsız bir cümle girmek ve gerekirse bunu birkaç kez tekrarlamak
      Bir insan eninde sonunda “Ne diyorsun sen?” gibi bir tepki verir, ama LLM’lerde böyle bir cevap görmek zor
    • Mevcut durumda güçlü LLM’lerin bile konuşabileceği konular oldukça sınırlı. Tartışmalı bir konu hakkında fikir sorarsanız oyuncuyla yapay zekayı kolayca ayırt edebilirsiniz gibi geliyor
    • Battlestar Galactica benzeri bir yapı. Cylon kim? Cylon’un kendisi bile sonradan ortaya çıkana kadar insan olmadığını bilmiyor olabilir
  • 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

    • Bu, üretken dil, görüntü ve dokuları prosedürel roguelike tarzı dünya üretimiyle birleştiren, çok daha zengin bir tek oyunculu türün başlangıcı olabilir
      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”

    • Doğayı sevme hikâyesinden “hey, program ayarlamak zor değil mi” noktasına doğru bir düşüş olmuş
    • Ben de denedim; çözüm püf noktası karşı tarafın adını ve iki nokta üst üste önekini durdurma kelimesi olarak kullanmaktı. Bu durumda “Stella:” oluyor
      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
    • Bu sorunu hafifletmede başarılı olan bir yöntem var mıydı?
  • 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?

    • Evet. En yaygın argüman, “eksiksiz” bir sanal dünya yaratabiliyorsak bunu yapacağımız; bu tür projeler ve gösterdiğimiz coşkunun da gerçekten yapacağımıza işaret ettiği yönünde.
      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.
    • Bu proje ile Averroes’in evrensel akıl kavramı arasında oldukça doğrudan bir analoji kurulabilir; kökleri de Aristoteles’e dayanır.
      https://en.wikipedia.org/wiki/Averroes%27s_theory_of_the_uni...

      Averroes argues, as put by the historian of philosophy Peter Adamson, that "there is only one, single human capacity for human knowledge".[3] He calls it—using contemporary terminology—the "material intellect", which is one and the same for all human beings.[4] The intellect is eternal and continuously thinking about all that can be thought.[5] It uses faculties (e.g. the brain) of individual humans as a basis for its thinking process.[5] The process that happens in the human brain is called fikr by Averroes (known as cogitatio in Latin, often translated to "cogitation" in English), a process which contains not universal knowledge but "active consideration of particular things" that the person has encountered.[5] This use of human faculty explains why thinking can be an individual experience: if at one point the universal intellect is using one's brain to think about an object of thought, then that person is also experiencing the thinking.[5]
      Biraz daha açarsak, iki tür bilgiyi düşünmek ilginç. Biri ChatGPT’nin sinir ağında depolanan geniş, “evrensel” ve “zamanı aşan” bilgi; diğeri ise her bir ajan bağlamının bilgisi, yani hem mekân hem zaman bakımından bireysel ve yerel olan bilgi.
      “Akıl”, eyleme geçeceği somut bağlam sağlanmadıkça gerçekten hiçbir şey yapamaz.

    • Zaten öyle değil miyiz?
    • Sam Harris’in özgür iradenin var olmadığını ve bazı düşüncelerin sanki yoktan beliriyormuş gibi göründüğünü söylediği aklıma geldi. Belki de LLM bu tür düşünceleri enjekte ediyordur.
  • “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?

    • Burada yaşamak var olmak, sosyalleşmek de başka birine doğru yürümek anlamına geliyor gibi.
  • Ajanların dünya içinde AI Town’ı yeniden üretmesi ne kadar sürer? Biz göremeyebiliriz ama birileri bu hikâyeyi başlatabilir ;)