Bersiaplah, Stanford Smart Town, yang telah membuat heboh di seluruh komunitas AI, kini resmi menjadi open source!
alamat proyek:
Di kota virtual kotak pasir "Dunia Barat" digital ini, ada sekolah, rumah sakit, dan keluarga.
25 Agen AI tidak hanya bisa bekerja di sini, mengobrol, bersosialisasi, berteman, bahkan jatuh cinta, tetapi setiap Agen memiliki kepribadian dan latar belakang cerita masing-masing.
Namun, mereka tidak tahu bahwa mereka hidup dalam simulasi.
Ilmuwan Senior Nvidia Jim Fan berkomentar -
Stanford Agent Town adalah salah satu eksperimen Agen AI paling menarik di tahun 2023. Kami sering berbicara tentang kemampuan yang muncul dari satu model bahasa besar, tetapi sekarang dengan banyak agen AI, situasinya menjadi lebih kompleks dan menarik.
Sekelompok AI dapat menyimpulkan proses evolusi seluruh peradaban.
Sekarang, hal pertama yang terpengaruh mungkin adalah bidang permainan.
Singkatnya, ada kemungkinan baru yang tak terbatas di depan!
Netizen: Pembuat game, apakah Anda mengerti maksud saya?
Banyak orang percaya bahwa makalah Stanford ini menandai awal dari AGI.
Bisa dibayangkan berbagai game RPG dan simulasi akan menggunakan teknologi ini.
Netizen juga sangat heboh dan otak mereka terbuka lebar.
Beberapa ingin menonton Pokemon, beberapa ingin menonton cerita detektif pembunuhan, dan beberapa ingin menonton variety show cinta...
"Saya tidak sabar untuk melihat cinta segitiga antara agen AI."
"Dialog repetitif, suram, dan sistem kepribadian satu dimensi dari Animal Crossing yang dimiliki oleh semua penduduk desa, sangat mengecewakan. Nintendo, pelajari!"
"Bisakah Sims memindahkan ini?"
Jika Anda dapat melihat AI berjalan di NPC dalam game RPG klasik seperti "God Realm", seluruh pengalaman game akan ditumbangkan! "
Beberapa orang juga membayangkan bahwa teknologi ini juga memiliki banyak skenario aplikasi di ruang perusahaan, seperti bagaimana karyawan berinteraksi dengan lingkungan kerja/perubahan proses yang berbeda.
Tentu saja, beberapa orang berkata, apa yang membuat Anda bersemangat? Faktanya, kita telah hidup dalam simulasi seperti itu, tetapi dunia kita memiliki daya komputasi yang lebih besar.
Ya, jika kita memperbesar dunia maya ini berkali-kali, kita pasti bisa melihat diri kita sendiri.
### Karpathy: Agen AI adalah perbatasan berikutnya
Sebelumnya, Karpathy, mantan direktur Tesla dan guru OpenAI, mengatakan bahwa agen AI sekarang menjadi arah paling mutakhir di masa depan.
Tim OpenAI telah menghabiskan lima tahun terakhir di tempat lain, tetapi Karpathy sekarang percaya bahwa "Agen mewakili semacam masa depan AI."
Jika sebuah makalah mengusulkan cara berbeda untuk melatih model bahasa besar, seseorang di grup Slack di dalam OpenAI akan berkata: "Metode ini saya coba dua setengah tahun yang lalu, tidak berhasil."
Namun, setiap kali agen AI muncul dari sebuah makalah, semua rekan sangat tertarik.
Karpathy pernah menyebut AutoGPT sebagai perbatasan berikutnya dari rekayasa cepat
25 agen AI di "Westworld"
Dalam serial TV Amerika "Western World", sebuah robot dengan alur cerita yang telah ditetapkan dimasukkan ke dalam taman hiburan, bertindak seperti manusia, dan kemudian mengatur ulang ingatannya, dan dimasukkan ke dalam alur cerita intinya sendiri di hari yang baru.
Pada bulan April tahun ini, para peneliti dari Stanford dan Google benar-benar membangun sebuah kota virtual di mana 25 agen AI dapat bertahan hidup dan terlibat dalam perilaku kompleks yang disebut "Dunia Barat" menjadi kenyataan.
Alamat kertas:
Arsitektur
Untuk menghasilkan agen, para peneliti mengusulkan arsitektur baru yang memperluas model bahasa besar dan dapat menyimpan pengalaman agen dalam bahasa alami.
Seiring waktu, ingatan ini disintesis menjadi refleksi tingkat tinggi yang dapat diambil secara dinamis oleh agen untuk merencanakan tindakannya.
Pada akhirnya, pengguna dapat menggunakan bahasa alami untuk berinteraksi dengan 25 Agen di kota.
Seperti di atas, arsitektur agen generatif mengimplementasikan fungsi "pengambilan".
Fungsi ini mengambil sebagai input situasi agen saat ini dan mengembalikan subset aliran memori untuk diteruskan ke model bahasa.
Pengambilan, di sisi lain, memiliki banyak kemungkinan implementasi, tergantung pada faktor penting yang dipertimbangkan agen saat memutuskan bagaimana bertindak.
Tantangan utama untuk arsitektur agen generatif adalah bagaimana mengelola sejumlah besar peristiwa dan memori yang harus dipertahankan.
Untuk mengatasi masalah ini, inti dari arsitektur adalah aliran memori, yang merupakan database yang merekam seluruh pengalaman agen.
Agen dapat mengambil memori yang relevan dari aliran memori, yang membantunya merencanakan tindakan, merespons dengan benar, dan setiap tindakan diumpankan kembali ke aliran memori untuk meningkatkan tindakan di masa mendatang secara rekursif.
Selain itu, penelitian ini juga memperkenalkan jenis ingatan kedua—refleksi. Refleksi adalah pemikiran abstrak tingkat tinggi yang dihasilkan oleh agen berdasarkan pengalaman terkini.
Dalam penelitian ini, refleksi adalah proses yang dipicu secara berkala, dan mekanisme refleksi hanya akan diaktifkan ketika agen menilai skor kepentingan dari rangkaian peristiwa terbaru dan akumulasinya melebihi ambang batas yang ditetapkan.
Agen generatif menghasilkan lebih banyak detail secara rekursif dari atas ke bawah untuk membuat rencana yang masuk akal.
Dan rencana ini awalnya hanya menggambarkan secara kasar apa yang harus dilakukan hari itu.
Selama pelaksanaan rencana, agen generatif terus-menerus merasakan lingkungan sekitar dan menyimpan pengamatan yang dirasakan ke dalam aliran memori.
Dengan menggunakan pengamatan sebagai isyarat, biarkan model bahasa menentukan langkah agen selanjutnya: lanjutkan dengan rencana saat ini, atau tanggapi sebaliknya.
Dalam evaluasi eksperimental, para peneliti melakukan evaluasi terkontrol terhadap kerangka kerja ini, serta evaluasi ujung ke ujung.
Evaluasi kontrol adalah untuk memahami apakah agen dapat secara mandiri menghasilkan perilaku individu yang masuk akal. Evaluasi end-to-end adalah untuk memahami kemampuan munculnya dan stabilitas agen.
Misalnya, Isabella merencanakan pesta Hari Valentine dan mengundang semua orang untuk datang. Dari 12 agen, 7 masih dalam pertimbangan (3 punya rencana lain, dan 4 tidak punya ide).
Tautan ini sangat mirip dengan mode interaksi manusia.
### Berinteraksi seperti orang sungguhan
Di kota dunia kotak pasir bernama Smallville ini, area ditandai. Simpul akar menggambarkan seluruh dunia, simpul anak menggambarkan area (rumah, kafe, toko), dan simpul daun menggambarkan objek (meja, rak buku).
Agen mengingat subgraf yang mencerminkan bagian dunia yang mereka lihat.
Para peneliti memprogram bahasa alami untuk mendeskripsikan identitas masing-masing agen, termasuk pekerjaan dan hubungan mereka dengan agen lain, sebagai benih memori.
Misalnya, seed memory dari agen John Lin adalah seperti ini -
John Lin adalah pemilik apotek yang membantu yang selalu mencari cara agar obat-obatan lebih mudah diakses oleh pelanggan.
Istri John Lin Mei Lin adalah seorang profesor universitas, dan putranya Eddy Lin sedang belajar teori musik. Mereka hidup bersama. John Lin sangat mencintai keluarganya.
John Lin telah mengenal pasangan tua di sebelah, Sam Moore dan Jennifer Moore, selama beberapa tahun, dan John Lin menganggap Sam Moore adalah orang yang baik.
John Lin sangat dekat dengan tetangganya Yuriko Yamamoto. John Lin mengenal tetangganya, Tamara Taylor dan Carmen Ortiz, tetapi belum pernah bertemu mereka.
John Lin dan Tom Moreno adalah rekan dan teman farmasi yang suka membahas politik lokal dan sebagainya.
Berikut ini adalah pagi John Lin: bangun jam 6, mulai gosok gigi, mandi, sarapan, dan sebelum berangkat kerja, dia akan bertemu dengan istrinya Mei dan putranya Eddy.
Dengan cara ini, saat simulasi dimulai, setiap agen memiliki seed memory sendiri.
Agen-agen ini berinteraksi secara sosial satu sama lain. Ketika mereka memperhatikan satu sama lain, percakapan dapat terjadi.
Seiring waktu, agen ini membentuk hubungan baru dan mengingat interaksi mereka dengan agen lain.
Cerita yang menarik adalah di awal simulasi, seorang agen diinisialisasi untuk mengadakan pesta Hari Valentine.
Mungkin ada poin kegagalan dalam rangkaian hal-hal yang terjadi setelahnya, Agen mungkin tidak terus memaksakan niat ini, atau lupa memberi tahu orang lain, atau bahkan lupa muncul.
Untungnya, dalam simulasi tersebut, pesta Hari Valentine benar-benar terjadi, dan banyak agen berkumpul dan melakukan interaksi yang menarik.
Tutorial Tingkat Pengasuh
Lingkungan Konfigurasi
Sebelum mengonfigurasi lingkungan, pertama-tama Anda harus membuat file utils.py yang berisi kunci OpenAI API dan mengunduh paket yang diperlukan.
Langkah 1. Buat file Utils
Di folder reverie/backend_server (folder tempat reverie.py berada), buat file utils.py baru, dan salin dan tempel konten berikut ke dalam file:
akan diganti dengan kunci OpenAI API Anda dan akan diganti dengan nama Anda.
Langkah 2. Instal requirements.txt
Instal semua yang tercantum dalam file requirements.txt (kami sangat menyarankan untuk menyiapkan lingkungan virtual terlebih dahulu).
Saat ini, tim telah menguji pada Python 3.9.12.
Jalankan simulasi
Untuk menjalankan simulasi baru, Anda perlu memulai dua server sekaligus: server lingkungan dan server simulasi agen.
Langkah 1. Mulai server lingkungan
Karena lingkungan diimplementasikan sebagai proyek Django, server Django harus dimulai.
Untuk melakukan ini, pertama arahkan ke environment/frontend_server (tempat manage.py berada) pada baris perintah. Kemudian jalankan perintah berikut:
python mengelola.py runserver
Kemudian, kunjungi di browser favorit Anda.
Jika Anda melihat prompt "Your environment server is up and running", itu berarti server berjalan normal. Pastikan server lingkungan tetap berjalan saat menjalankan simulasi, jadi biarkan tab baris perintah ini tetap terbuka.
(Catatan: Chrome atau Safari direkomendasikan. Firefox mungkin mengalami beberapa gangguan front-end, tetapi seharusnya tidak mempengaruhi simulasi yang sebenarnya.)
Langkah 2. Mulai server tiruan
Buka jendela baris perintah lain (server lingkungan yang Anda gunakan di langkah 1 masih berjalan dan harus tetap tidak tersentuh). Arahkan ke reverie/backend_server dan jalankan reverie.py untuk memulai server tiruan:
python reverie.py
Pada titik ini, prompt baris perintah akan muncul menanyakan hal berikut: "Masukkan nama simulasi bercabang: ".
Misalnya, sekarang kita ingin memulai simulasi yang berisi tiga agen, Isabella Rodriguez, Maria Lopez dan Klaus Mueller, lalu masukkan berikut ini:
base_the_ville_isabella_maria_klaus
Kemudian prompt akan bertanya: "Masukkan nama simulasi baru:".
Saat ini, Anda hanya perlu memasukkan nama arbitrer untuk mewakili simulasi saat ini (seperti "test-simulation").
tes-simulasi
Biarkan server emulator tetap berjalan. Pada tahap ini, akan muncul prompt berikut: "Enter option"
Langkah 3. Jalankan dan Simpan Simulasi
Buka simulator_home di browser Anda dan biarkan tab tetap terbuka.
Anda sekarang akan melihat peta kota, dan daftar agen yang aktif di peta, dan dapat menggunakan panah keyboard untuk bergerak di sekitar peta.
Untuk menjalankan simulasi, Anda harus memasukkan perintah berikut di server simulasi yang meminta "Enter option":
berlari
Perhatikan bahwa hal di atas perlu diganti dengan bilangan bulat yang mewakili jumlah gerakan permainan yang akan disimulasikan.
Misalnya, jika Anda ingin mensimulasikan permainan 100 langkah, masukkan run 100. Di mana, langkah permainan mewakili 10 detik dalam permainan.
Sekarang simulasi akan berjalan dan Anda dapat melihat agen bergerak melintasi peta di browser.
Setelah proses selesai, prompt "Enter option" akan muncul lagi. Pada titik ini, Anda dapat melanjutkan simulasi dengan memasukkan kembali perintah run dan menentukan jumlah langkah permainan yang diinginkan, atau mengetik exit untuk keluar tanpa menyimpan, atau fin untuk menyimpan dan keluar.
Lain kali Anda menjalankan server simulasi, Anda dapat mengakses simulasi yang disimpan hanya dengan memberikan nama simulasi. Dengan cara ini, Anda dapat memulai kembali simulasi dari bagian terakhir yang Anda tinggalkan.
Langkah 4. Simulasi Putar Ulang
Untuk memutar ulang simulasi yang sedang berjalan cukup jalankan server lingkungan dan buka alamat berikut di browser Anda: replay//.
di mana perlu diganti dengan nama simulasi yang diputar ulang, dan langkah waktu bilangan bulat untuk memulai pemutaran ulang akan diganti.
Langkah 5. Simulasi Demo
Anda mungkin menemukan bahwa semua sprite karakter terlihat sama di tayangan ulang. Ini karena fitur replay terutama untuk debugging dan tidak memprioritaskan optimalisasi ukuran atau visual folder tiruan.
Untuk mendemonstrasikan simulasi dengan sprite karakter dengan benar, pertama-tama perlu untuk mengompresi simulasi. Untuk melakukannya, gunakan editor teks untuk membuka file kompres_sim_storage.py yang terletak di direktori lamunan. Kemudian, fungsi kompresi dijalankan dengan nama mock target sebagai input. Dengan cara ini, file simulasi akan dikompresi dan siap untuk dipresentasikan.
Untuk memulai demo, silahkan buka alamat berikut di browser Anda: demo///.
Perhatikan bahwa dan memiliki arti yang sama seperti yang disebutkan di atas. Dapat digunakan untuk mengontrol kecepatan presentasi, di mana 1 paling lambat dan 5 paling cepat.
Simulasi Kustom
Anda memiliki dua opsi untuk menyesuaikan tiruan.
Metode 1: Menulis dan memuat riwayat agen
Yang pertama adalah menginisialisasi agen dengan riwayat unik di awal simulasi.
Untuk melakukannya, Anda perlu 1) memulai dengan salah satu simulasi dasar, 2) menulis dan memuat riwayat agen.
Langkah 1. Mulai simulasi dasar
Dua simulasi basis disertakan dalam repositori: base_the_ville_n25 (25 agen) dan base_the_ville_isabella_maria_klaus (3 agen). Salah satu simulasi dasar dapat dimuat dengan mengikuti langkah-langkah di atas.
Langkah 2. Muat file riwayat
Kemudian, saat diminta untuk "Masukkan opsi", Anda perlu memuat riwayat agen dengan perintah berikut:
panggilan -- muat riwayat_ville/.csv
dimana, perlu diganti dengan nama file history yang ada.
Dua contoh file histori disertakan dalam repositori: agent_history_init_n25.csv (untuk base_the_ville_n25) dan agent_history_init_n3.csv (untuk base_the_ville_isabella_maria _klaus). File-file ini berisi daftar catatan memori untuk setiap agen.
Langkah 3. Kustomisasi lebih lanjut
Untuk menyesuaikan inisialisasi dengan menulis file riwayat Anda sendiri, tempatkan file di folder berikut: environment/frontend_server/static_dirs/assets/the_ville.
Format kolom file histori kustom harus cocok dengan file histori sampel terlampir. Oleh karena itu, penulis merekomendasikan untuk memulai proses dengan menyalin dan menempelkan file yang sudah ada di repositori.
Metode 2: Buat mock basis baru
Untuk kustomisasi yang lebih mendalam, Anda harus menulis file simulasi dasar Anda sendiri.
Cara yang paling mudah adalah dengan menyalin dan menempelkan folder simulasi basis yang ada, lalu ganti nama dan edit sesuai kebutuhan Anda.
Bahan referensi:
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Dunia Barat ada di sini! "Kota" Stanford yang populer adalah open source, 25 agen AI sedang jatuh cinta dan berteman|Dengan tutorial tingkat pengasuh
Sumber: "Xinzhiyuan" (ID: AI_era), penulis: Xinzhiyuan
Bersiaplah, Stanford Smart Town, yang telah membuat heboh di seluruh komunitas AI, kini resmi menjadi open source!
Di kota virtual kotak pasir "Dunia Barat" digital ini, ada sekolah, rumah sakit, dan keluarga.
25 Agen AI tidak hanya bisa bekerja di sini, mengobrol, bersosialisasi, berteman, bahkan jatuh cinta, tetapi setiap Agen memiliki kepribadian dan latar belakang cerita masing-masing.
Namun, mereka tidak tahu bahwa mereka hidup dalam simulasi.
Sekarang, hal pertama yang terpengaruh mungkin adalah bidang permainan.
Singkatnya, ada kemungkinan baru yang tak terbatas di depan!
Netizen: Pembuat game, apakah Anda mengerti maksud saya?
Banyak orang percaya bahwa makalah Stanford ini menandai awal dari AGI.
Netizen juga sangat heboh dan otak mereka terbuka lebar.
Beberapa ingin menonton Pokemon, beberapa ingin menonton cerita detektif pembunuhan, dan beberapa ingin menonton variety show cinta...
"Saya tidak sabar untuk melihat cinta segitiga antara agen AI."
Sebelumnya, Karpathy, mantan direktur Tesla dan guru OpenAI, mengatakan bahwa agen AI sekarang menjadi arah paling mutakhir di masa depan.
Tim OpenAI telah menghabiskan lima tahun terakhir di tempat lain, tetapi Karpathy sekarang percaya bahwa "Agen mewakili semacam masa depan AI."
Namun, setiap kali agen AI muncul dari sebuah makalah, semua rekan sangat tertarik.
25 agen AI di "Westworld"
Dalam serial TV Amerika "Western World", sebuah robot dengan alur cerita yang telah ditetapkan dimasukkan ke dalam taman hiburan, bertindak seperti manusia, dan kemudian mengatur ulang ingatannya, dan dimasukkan ke dalam alur cerita intinya sendiri di hari yang baru.
Arsitektur
Untuk menghasilkan agen, para peneliti mengusulkan arsitektur baru yang memperluas model bahasa besar dan dapat menyimpan pengalaman agen dalam bahasa alami.
Seiring waktu, ingatan ini disintesis menjadi refleksi tingkat tinggi yang dapat diambil secara dinamis oleh agen untuk merencanakan tindakannya.
Pada akhirnya, pengguna dapat menggunakan bahasa alami untuk berinteraksi dengan 25 Agen di kota.
Fungsi ini mengambil sebagai input situasi agen saat ini dan mengembalikan subset aliran memori untuk diteruskan ke model bahasa.
Pengambilan, di sisi lain, memiliki banyak kemungkinan implementasi, tergantung pada faktor penting yang dipertimbangkan agen saat memutuskan bagaimana bertindak.
Tantangan utama untuk arsitektur agen generatif adalah bagaimana mengelola sejumlah besar peristiwa dan memori yang harus dipertahankan.
Untuk mengatasi masalah ini, inti dari arsitektur adalah aliran memori, yang merupakan database yang merekam seluruh pengalaman agen.
Agen dapat mengambil memori yang relevan dari aliran memori, yang membantunya merencanakan tindakan, merespons dengan benar, dan setiap tindakan diumpankan kembali ke aliran memori untuk meningkatkan tindakan di masa mendatang secara rekursif.
Selain itu, penelitian ini juga memperkenalkan jenis ingatan kedua—refleksi. Refleksi adalah pemikiran abstrak tingkat tinggi yang dihasilkan oleh agen berdasarkan pengalaman terkini.
Agen generatif menghasilkan lebih banyak detail secara rekursif dari atas ke bawah untuk membuat rencana yang masuk akal.
Dan rencana ini awalnya hanya menggambarkan secara kasar apa yang harus dilakukan hari itu.
Dengan menggunakan pengamatan sebagai isyarat, biarkan model bahasa menentukan langkah agen selanjutnya: lanjutkan dengan rencana saat ini, atau tanggapi sebaliknya.
Dalam evaluasi eksperimental, para peneliti melakukan evaluasi terkontrol terhadap kerangka kerja ini, serta evaluasi ujung ke ujung.
Evaluasi kontrol adalah untuk memahami apakah agen dapat secara mandiri menghasilkan perilaku individu yang masuk akal. Evaluasi end-to-end adalah untuk memahami kemampuan munculnya dan stabilitas agen.
Misalnya, Isabella merencanakan pesta Hari Valentine dan mengundang semua orang untuk datang. Dari 12 agen, 7 masih dalam pertimbangan (3 punya rencana lain, dan 4 tidak punya ide).
Tautan ini sangat mirip dengan mode interaksi manusia.
Agen mengingat subgraf yang mencerminkan bagian dunia yang mereka lihat.
Para peneliti memprogram bahasa alami untuk mendeskripsikan identitas masing-masing agen, termasuk pekerjaan dan hubungan mereka dengan agen lain, sebagai benih memori.
Misalnya, seed memory dari agen John Lin adalah seperti ini -
Berikut ini adalah pagi John Lin: bangun jam 6, mulai gosok gigi, mandi, sarapan, dan sebelum berangkat kerja, dia akan bertemu dengan istrinya Mei dan putranya Eddy.
Agen-agen ini berinteraksi secara sosial satu sama lain. Ketika mereka memperhatikan satu sama lain, percakapan dapat terjadi.
Seiring waktu, agen ini membentuk hubungan baru dan mengingat interaksi mereka dengan agen lain.
Cerita yang menarik adalah di awal simulasi, seorang agen diinisialisasi untuk mengadakan pesta Hari Valentine.
Mungkin ada poin kegagalan dalam rangkaian hal-hal yang terjadi setelahnya, Agen mungkin tidak terus memaksakan niat ini, atau lupa memberi tahu orang lain, atau bahkan lupa muncul.
Untungnya, dalam simulasi tersebut, pesta Hari Valentine benar-benar terjadi, dan banyak agen berkumpul dan melakukan interaksi yang menarik.
Tutorial Tingkat Pengasuh
Lingkungan Konfigurasi
Sebelum mengonfigurasi lingkungan, pertama-tama Anda harus membuat file utils.py yang berisi kunci OpenAI API dan mengunduh paket yang diperlukan.
Langkah 1. Buat file Utils
Di folder reverie/backend_server (folder tempat reverie.py berada), buat file utils.py baru, dan salin dan tempel konten berikut ke dalam file:
Salin dan tempel OpenAI API Keyopenai_api_key = ""# Masukkan namekey_owner Anda = ""maze_assets_loc = "../../environment/frontend_server/static_dirs/assets"env _matrix = f"{labirin_aset_loc}/_ville/matrix"env_visuals = f"{labirin_aset_loc}/_ville/visuals"fs_storage = "../../ environment/frontend_server/storage"fs_temp_storage = "../../environment/frontend_server/temp_storage"collision_block_id = "32125"# Verbose debug = True
akan diganti dengan kunci OpenAI API Anda dan akan diganti dengan nama Anda.
Langkah 2. Instal requirements.txt
Instal semua yang tercantum dalam file requirements.txt (kami sangat menyarankan untuk menyiapkan lingkungan virtual terlebih dahulu).
Saat ini, tim telah menguji pada Python 3.9.12.
Jalankan simulasi
Untuk menjalankan simulasi baru, Anda perlu memulai dua server sekaligus: server lingkungan dan server simulasi agen.
Langkah 1. Mulai server lingkungan
Karena lingkungan diimplementasikan sebagai proyek Django, server Django harus dimulai.
Untuk melakukan ini, pertama arahkan ke environment/frontend_server (tempat manage.py berada) pada baris perintah. Kemudian jalankan perintah berikut:
python mengelola.py runserver
Kemudian, kunjungi di browser favorit Anda.
Jika Anda melihat prompt "Your environment server is up and running", itu berarti server berjalan normal. Pastikan server lingkungan tetap berjalan saat menjalankan simulasi, jadi biarkan tab baris perintah ini tetap terbuka.
(Catatan: Chrome atau Safari direkomendasikan. Firefox mungkin mengalami beberapa gangguan front-end, tetapi seharusnya tidak mempengaruhi simulasi yang sebenarnya.)
Langkah 2. Mulai server tiruan
Buka jendela baris perintah lain (server lingkungan yang Anda gunakan di langkah 1 masih berjalan dan harus tetap tidak tersentuh). Arahkan ke reverie/backend_server dan jalankan reverie.py untuk memulai server tiruan:
python reverie.py
Pada titik ini, prompt baris perintah akan muncul menanyakan hal berikut: "Masukkan nama simulasi bercabang: ".
Misalnya, sekarang kita ingin memulai simulasi yang berisi tiga agen, Isabella Rodriguez, Maria Lopez dan Klaus Mueller, lalu masukkan berikut ini:
base_the_ville_isabella_maria_klaus
Kemudian prompt akan bertanya: "Masukkan nama simulasi baru:".
Saat ini, Anda hanya perlu memasukkan nama arbitrer untuk mewakili simulasi saat ini (seperti "test-simulation").
tes-simulasi
Biarkan server emulator tetap berjalan. Pada tahap ini, akan muncul prompt berikut: "Enter option"
Langkah 3. Jalankan dan Simpan Simulasi
Buka simulator_home di browser Anda dan biarkan tab tetap terbuka.
Anda sekarang akan melihat peta kota, dan daftar agen yang aktif di peta, dan dapat menggunakan panah keyboard untuk bergerak di sekitar peta.
Untuk menjalankan simulasi, Anda harus memasukkan perintah berikut di server simulasi yang meminta "Enter option":
berlari
Perhatikan bahwa hal di atas perlu diganti dengan bilangan bulat yang mewakili jumlah gerakan permainan yang akan disimulasikan.
Misalnya, jika Anda ingin mensimulasikan permainan 100 langkah, masukkan run 100. Di mana, langkah permainan mewakili 10 detik dalam permainan.
Sekarang simulasi akan berjalan dan Anda dapat melihat agen bergerak melintasi peta di browser.
Setelah proses selesai, prompt "Enter option" akan muncul lagi. Pada titik ini, Anda dapat melanjutkan simulasi dengan memasukkan kembali perintah run dan menentukan jumlah langkah permainan yang diinginkan, atau mengetik exit untuk keluar tanpa menyimpan, atau fin untuk menyimpan dan keluar.
Lain kali Anda menjalankan server simulasi, Anda dapat mengakses simulasi yang disimpan hanya dengan memberikan nama simulasi. Dengan cara ini, Anda dapat memulai kembali simulasi dari bagian terakhir yang Anda tinggalkan.
Langkah 4. Simulasi Putar Ulang
Untuk memutar ulang simulasi yang sedang berjalan cukup jalankan server lingkungan dan buka alamat berikut di browser Anda: replay//.
di mana perlu diganti dengan nama simulasi yang diputar ulang, dan langkah waktu bilangan bulat untuk memulai pemutaran ulang akan diganti.
Langkah 5. Simulasi Demo
Anda mungkin menemukan bahwa semua sprite karakter terlihat sama di tayangan ulang. Ini karena fitur replay terutama untuk debugging dan tidak memprioritaskan optimalisasi ukuran atau visual folder tiruan.
Untuk mendemonstrasikan simulasi dengan sprite karakter dengan benar, pertama-tama perlu untuk mengompresi simulasi. Untuk melakukannya, gunakan editor teks untuk membuka file kompres_sim_storage.py yang terletak di direktori lamunan. Kemudian, fungsi kompresi dijalankan dengan nama mock target sebagai input. Dengan cara ini, file simulasi akan dikompresi dan siap untuk dipresentasikan.
Untuk memulai demo, silahkan buka alamat berikut di browser Anda: demo///.
Perhatikan bahwa dan memiliki arti yang sama seperti yang disebutkan di atas. Dapat digunakan untuk mengontrol kecepatan presentasi, di mana 1 paling lambat dan 5 paling cepat.
Simulasi Kustom
Anda memiliki dua opsi untuk menyesuaikan tiruan.
Metode 1: Menulis dan memuat riwayat agen
Yang pertama adalah menginisialisasi agen dengan riwayat unik di awal simulasi.
Untuk melakukannya, Anda perlu 1) memulai dengan salah satu simulasi dasar, 2) menulis dan memuat riwayat agen.
Langkah 1. Mulai simulasi dasar
Dua simulasi basis disertakan dalam repositori: base_the_ville_n25 (25 agen) dan base_the_ville_isabella_maria_klaus (3 agen). Salah satu simulasi dasar dapat dimuat dengan mengikuti langkah-langkah di atas.
Langkah 2. Muat file riwayat
Kemudian, saat diminta untuk "Masukkan opsi", Anda perlu memuat riwayat agen dengan perintah berikut:
panggilan -- muat riwayat_ville/.csv
dimana, perlu diganti dengan nama file history yang ada.
Dua contoh file histori disertakan dalam repositori: agent_history_init_n25.csv (untuk base_the_ville_n25) dan agent_history_init_n3.csv (untuk base_the_ville_isabella_maria _klaus). File-file ini berisi daftar catatan memori untuk setiap agen.
Langkah 3. Kustomisasi lebih lanjut
Untuk menyesuaikan inisialisasi dengan menulis file riwayat Anda sendiri, tempatkan file di folder berikut: environment/frontend_server/static_dirs/assets/the_ville.
Format kolom file histori kustom harus cocok dengan file histori sampel terlampir. Oleh karena itu, penulis merekomendasikan untuk memulai proses dengan menyalin dan menempelkan file yang sudah ada di repositori.
Metode 2: Buat mock basis baru
Untuk kustomisasi yang lebih mendalam, Anda harus menulis file simulasi dasar Anda sendiri.
Cara yang paling mudah adalah dengan menyalin dan menempelkan folder simulasi basis yang ada, lalu ganti nama dan edit sesuai kebutuhan Anda.
Bahan referensi: