中文 | Anglais
Real Agents est un cadre de planification qui combine des méthodes d'intelligence artificielle traditionnelles avec de grands modèles de langage (LLM) et convient aux agents d'IA génératifs. Il comprend un projet de plug-in et de démonstration Unity.
La raison du développement de ce projet est de terminer ma thèse de premier cycle (conception) et mon intérêt personnel pour le jeu AI.

Les modèles de grandes langues peuvent effectuer des problèmes de raisonnement, de décision et de planification. Nous avons déjà de nombreux cadres d'agent matures pour aider les utilisateurs à exploiter certains outils, tels que la recherche de documents et la création de pages Web.
Mais je pense qu'il y a plusieurs problèmes lors de la mise en œuvre dans le jeu:
Difficile à déboguer: si l'exécution du comportement repose sur LLM, cela entraînera une utilisation des jetons difficiles à estimer et comment gérer les exceptions des agents;
Réponse lente: par exemple, si l'état du jeu change, nous devrons peut-être reconstruire le mot et le contexte rapides. Si vous laissez NPC générer des plans comme dans l'IA génératif, il faudra beaucoup de temps pour attendre que LLM soit généré, qui ne peut pas être appliqué à des jeux en temps réel.
Par conséquent, j'ai essayé de créer LLM sur la base de la méthode d'IA traditionnelle, permettant à l'agent de planifier en comprenant la relation entre les quantités d'état et les comportements, tandis que l'exécution du comportement et le suivi de l'état sont terminées par le programme, et l'agent ne déclenchera les actions de planification que lorsque le statut change. .
{
"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 "
}
}Téléchargez la version Windows Build à partir de la page de version
Utilisez d'abord LLM pour étiqueter l'action et l'objectif en fonction des données GOAP.
Laissez l'agent et le planificateur générer et les plans de recherche basés sur les États mondiaux (WorldSates) pendant l'exécution.
Comparez le plan, LLM reflète et itère sur la mémoire.
Vous pouvez ensuite fermer le planificateur et laisser l'agent générer le plan.

Tout d'abord, le développeur définit un ensemble d'action exécutable ( ActionSet ) et un ensemble de buts ( GoalSet ).

Chaque comportement est basé sur les règles GOAP et a une condition préalable Precondition et un Effect d'effet.
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 ;
}
} Deuxièmement, Action d'entrée dans le modèle de grande langue, le résume en langage naturel en tant qu'impression initiale de l'agent du comportement ( InitialImpression ) et de la mémoire à long terme ( Summary ) et laisse la mémoire à court terme ( Comments ) vide.
"Name" : " Cook " ,
"InitialImpression" : " To Cook, you need to have energy and ingredients, and as a result, you will have food. " ,
"Summary" : " Latest summary " ,
"Comments" : [
" " ,
" " ,
" " ,
" " ,
" "
] Goal d'entrée au modèle de grande langue et laissez LLM générer un langage naturel comme explication ( Explanation ) pour l'utilisation de l'objectif. Et les combiner pour obtenir l'interprétation de l'ensemble G.
Dans les vrais agents, vous pouvez cliquer directement sur Self Description dans l'éditeur de RealAgentSet pour générer les données ci-dessus.

Ajustez le mode agent ( AgentMode ) et définissez-le sur Training .
Le Plan fonctionnant pour le moment est recherché par Planner et l'agent génère un Plan en même temps. S'il y a une différence de comportement, LLM réfléchit à la raison et génère un Comment en tant que mémoire à court terme.
Lorsque la mémoire à court terme atteint le seuil, l'agent le résume sur la base de l'impression initiale, des commentaires et de la mémoire à long terme actuelle, écrase la mémoire à long terme et itéère.
Sur la base de l'entrée des objectifs de l'extérieur, l'agent raisonne en temps réel dans l'espace virtuel.

LLM trouve un Plan approprié basé sur sa propre mémoire de chaque comportement. Puisqu'il n'y a pas de comparaison du planificateur, il détermine seulement si le Plan est possible. Sinon, LLM génère ( Comment ) et l'injecte dans la mémoire.


L'expérience utilise le chatppt3.5 d'OpenAI comme modèle d'inférence. Vous devez remplir votre propre clé API dans l'interface des paramètres du jeu.
Mit
Pour les modèles VRM, veuillez consulter les relevés de licence de l'auteur individuel.
Polygon Fantasy Kingdom est un actif payant.
https://assetstore.unity.com/packages/3d/envirmements/fantasy/polygon-fantasy-kingdom-low-poly-3d-art-by-synty-164532
Exemple de scène est optimisé par l'optimiseur de scène créé par les mondes procéduraux.
L'environnement LowPoly peut être téléchargé gratuitement dans Assetstore.
https://assetstore.unity.com/packages/3d/envirmements/lowpoly-environment-nature-free-medieval-fantasy-series-187052
Heat - L'interface utilisateur moderne complète est un actif payé.
https://assetstore.unity.com/packages/2d/gui/heat-complete-modern-ui-264857
Gui-Casualfantasy est un actif payant.
https://assetstore.unity.com/packages/2d/gui/gui-Casual-Fantasy-265651
Unity Chan Animation appartient à Unity Technology Japan et sous Licence UC2.
Animations médiévales Mega Pack est un actif payant.
https://assetstore.unity.com/packages/3d/animations/medieval-animations-mega-pack-12141
Unity Starter Asset est sous la licence compagnon Unity et peut être téléchargé gratuitement dans Assetstore.
https://assetstore.unity.com/packages/essifals/starter-assets-thirdperson-updates-in-new-charactercontroller-pa-196526
Univrm est sous licence MIT.
https://github.com/vrm-c/univrm
AKiframework est sous licence MIT.
https://github.com/akikurisu/akiframework
D'autres ressources d'animation, de musique, d'interface utilisateur et de police utilisées dans la démo sont les ressources du réseau et ne doivent pas être utilisées à des fins commerciales.
@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: Collected Wisdom of Game Ai Professionals , International Standard Book.
[Orkin 06] Orkin, J. 2006. 3 États et un plan: The Ai of Fear , Game Developers Conference, San Francisco, CA.
Joon Sung Park, Joseph C. O'Brien, Carrie J. Cai, Meredith Ringel Morris, Percy Liang et Michael S. Bernstein. 2023. Agents génératifs: Simulacra interactive du comportement humain.
Wang, Zihao et al. «Décrire, expliquer, planifier et sélectionner: la planification interactive avec de grands modèles de langue permet aux agents multi-tâches en monde ouvert.» Arxiv ABS / 2302.01560 (2023): n. Pag.
Lin J, Zhao H, Zhang A, et al. AgentsIms: un bac à sable open source pour l'évaluation des modèles de langues grand [J]. ARXIV Préprint 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, Wang, W., Jiang, C., Zou, Y., Liu, Y., Wang, W. Yin, Z., Dou, S., Weng, R., Cheng, W., Zhang, Q., Qin, W., Zheng, Y., Qiu, X., Huan, X., & Gui, T. (2023). L'essor et le potentiel des agents basés sur un modèle de langue grande: une enquête. Arxiv, ABS / 2309.07864.