中文 | Bahasa inggris
Agen nyata adalah kerangka kerja perencanaan yang menggabungkan metode kecerdasan buatan tradisional dengan model bahasa besar (LLM) dan cocok untuk agen AI generatif. Ini termasuk proyek plug-in dan demonstrasi Unity.
Alasan untuk pengembangan proyek ini adalah untuk menyelesaikan tesis sarjana (desain) saya dan minat pribadi saya pada game AI.

Model bahasa besar dapat melakukan penalaran, pengambilan keputusan, dan masalah perencanaan. Kami sudah memiliki banyak kerangka kerja agen dewasa untuk membantu pengguna mengoperasikan beberapa alat, seperti mencari dokumen dan membuat halaman web.
Tapi saya pikir ada beberapa masalah saat menerapkannya dalam permainan:
Sulit untuk debug: Jika eksekusi perilaku bergantung pada LLM, itu akan membawa penggunaan token yang sulit diperkirakan dan bagaimana menangani pengecualian agen;
Respons Lambat: Misalnya jika keadaan dalam permainan berubah, kita mungkin perlu merekonstruksi kata dan konteks yang cepat. Jika Anda membiarkan NPC menghasilkan rencana seperti di AI generatif, perlu banyak waktu untuk menunggu LLM dihasilkan, yang tidak dapat diterapkan pada game real-time.
Oleh karena itu, saya mencoba membuat LLM berdasarkan metode AI tradisional, memungkinkan agen untuk merencanakan dengan memahami hubungan antara jumlah dan perilaku negara, sementara pelaksanaan perilaku dan pemantauan status diselesaikan oleh program, dan agen hanya akan memicu tindakan perencanaan ketika status berubah. .
{
"dependencies" : {
"com.cysharp.unitask" : " https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask " ,
"com.huggingface.sharp-transformers" : " https://github.com/AkiKurisu/sharp-transformers.git " ,
"com.kurisu.akiai" : " https://github.com/AkiKurisu/AkiAI.git " ,
"com.kurisu.akibt" : " https://github.com/AkiKurisu/AkiBT.git " ,
"com.kurisu.akiframework" : " https://github.com/AkiKurisu/AkiFramework.git " ,
"com.kurisu.akigoap" : " https://github.com/AkiKurisu/AkiGOAP.git " ,
"com.kurisu.unichat" : " https://github.com/AkiKurisu/UniChat.git "
}
}Unduh versi Windows Build dari halaman rilis
Pertama gunakan LLM untuk memberi label aksi dan sasaran berdasarkan data GOAP.
Biarkan agen dan perencana menghasilkan dan mencari rencana berdasarkan negara -negara dunia (WorldStates) selama runtime.
Bandingkan rencananya, LLM mencerminkan dan mengulangi pada memori.
Anda kemudian dapat menutup perencana dan membiarkan agen menghasilkan rencana.

Pertama, pengembang mendefinisikan set tindakan yang dapat dieksekusi ( ActionSet ) dan set gol ( GoalSet ).

Setiap perilaku didasarkan pada aturan GOAP dan memiliki prasyarat Precondition dan Effect efek.
public class Eat : DescriptiveTask
{
protected sealed override void SetupDerived ( )
{
Preconditions [ States . HasFood ] = true ;
Preconditions [ States . IsHungry ] = true ;
}
protected sealed override void SetupEffects ( )
{
Effects [ States . IsHungry ] = false ;
}
} Kedua, input Action ke model bahasa yang besar, merangkumnya ke dalam bahasa alami sebagai kesan awal agen dari perilaku ( InitialImpression ) dan memori jangka panjang ( Summary ), dan meninggalkan memori jangka pendek ( Comments ) kosong.
"Name" : " Cook " ,
"InitialImpression" : " To Cook, you need to have energy and ingredients, and as a result, you will have food. " ,
"Summary" : " Latest summary " ,
"Comments" : [
" " ,
" " ,
" " ,
" " ,
" "
] Masukkan Goal ke model bahasa besar dan biarkan LLM menghasilkan bahasa alami sebagai penjelasan ( Explanation ) untuk menggunakan tujuan. Dan menggabungkannya untuk mendapatkan interpretasi dari himpunan G.
Dalam agen nyata, Anda dapat secara langsung mengklik Self Description di editor RealAgentSet untuk menghasilkan data di atas.

Sesuaikan mode agen ( AgentMode ) dan atur ke Training .
Plan yang berjalan pada saat ini dicari oleh Planner, dan agen menghasilkan Plan pada saat yang sama. Jika ada perbedaan dalam perilaku, LLM merefleksikan alasannya dan menghasilkan Comment sebagai memori jangka pendek.
Ketika memori jangka pendek mencapai ambang batas, agen merangkumnya berdasarkan kesan awal, komentar dan memori jangka panjang saat ini, menimpa memori jangka panjang, dan iterasi.
Berdasarkan input tujuan dari luar, agen beralasan secara real time di ruang virtual.

LLM menemukan Plan yang cocok berdasarkan ingatannya sendiri tentang setiap perilaku. Karena tidak ada perbandingan perencana, itu hanya menentukan apakah Plan tersebut layak. Jika tidak, LLM menghasilkan ( Comment ) dan menyuntikkannya ke dalam memori.


Eksperimen ini menggunakan chatgpt3.5 Openai sebagai model inferensi. Anda perlu mengisi kunci API Anda sendiri di antarmuka pengaturan game.
Mit
Untuk model VRM, silakan lihat pernyataan lisensi penulis individu.
Polygon Fantasy Kingdom adalah aset berbayar.
https://assetstore.unity.com/packages/3d/environments/fantasy/polygon-fantasy-kingdom-low-poly-3d-art-by-synty-164532
Contoh adegan dioptimalkan oleh adegan pengoptimal yang dibuat oleh dunia prosedural.
Lingkungan Lowpoly dapat diunduh di AssetStore secara gratis.
https://assetstore.unity.com/packages/3d/environments/lowpoly-environment-nature-free-medieval-fantasy-series-187052
Panas - Lengkap UI modern adalah aset berbayar.
https://assetstore.unity.com/packages/2d/gui/heat-complete-modern-ui-264857
GUI-kasualfantasy adalah aset dibayar.
https://assetstore.unity.com/packages/2d/gui/gui-casual-fantasy-265651
Unity Chan Animation dimiliki oleh Unity Technology Jepang dan di bawah lisensi UC2.
Animasi Abad Pertengahan Mega Pack adalah aset berbayar.
https://assetstore.unity.com/packages/3d/animations/medieval-animations-mega-pack-12141
Unity Starter Asset berada di bawah lisensi Unity Companion dan dapat diunduh di AssetStore secara gratis.
https://assetstore.unity.com/packages/essentials/starter-assets-thirdperperson-updates-in-new-charactercontroller-pa-196526
Univrm berada di bawah lisensi MIT.
https://github.com/vrm-c/univrm
Akiframework berada di bawah lisensi MIT.
https://github.com/akikurisu/akiframework
Sumber daya animasi, musik, UI, dan font lainnya yang digunakan dalam demo ini adalah sumber daya jaringan dan tidak boleh digunakan untuk tujuan komersial.
@misc{realagents,
author = {YiFei Feng},
title = {Real Agents: An planning framework for generative artificial intelligence agents},
year = {2024},
publisher = {GitHub},
journal = {https://github.com/AkiKurisu/Real-Agents},
school = {East China University of Political Science and Law},
location = {Shanghai, China}
}
Steve Rabin, Game AI Pro 3: Dikumpulkan Kebijaksanaan Profesional Game AI , Buku Standar Internasional.
[Orkin 06] Orkin, J. 2006. 3 Negara dan Rencana: AI Ketakutan , Konferensi Pengembang Game, San Francisco, CA.
Joon Sung Park, Joseph C. O'Brien, Carrie J. Cai, Meredith Ringel Morris, Percy Liang, dan Michael S. Bernstein. 2023. Agen generatif: simulacra interaktif perilaku manusia.
Wang, Zihao et al. "Jelaskan, jelaskan, rencanakan, dan pilih: Perencanaan interaktif dengan model bahasa besar memungkinkan agen multi-tugas dunia terbuka." ARXIV ABS/2302.01560 (2023): n. PAG.
Lin J, Zhao H, Zhang A, dkk. AgentSims: Kotak pasir sumber terbuka untuk evaluasi model bahasa besar [J]. ARXIV Preprint ARXIV: 2308.04026, 2023.
Xi, Z., Chen, W., Guo, X., He, W., Ding, Y., Hong, B., Zhang, M., Wang, J., Jin, S., Zhou, E., Zheng, R., Fan, X., Wang, X., Xiong, L., Liu, Q., Zhou, Y., Wang, W., Jiang, C., Zou, Y., Liu, X., Yin, Z., Dou, S., Weng, R., Cheng, W., Zhang, Q., Qin, W., Zheng, Y., Qiu, X., Huan, X., & Gui, T. (2023). Kenaikan dan potensi agen berbasis model bahasa besar: survei. Arxiv, ABS/2309.07864.