¡Westworld está aquí! El popular "pueblo" de Stanford es de código abierto, 25 agentes de IA están enamorados y hacen amigos|Con tutoriales para niñeras
¡Prepárate, Stanford Smart Town, que ha causado sensación en toda la comunidad de IA, ahora es oficialmente de código abierto!
dirección del proyecto:
En esta ciudad virtual sandbox digital "Western World", hay escuelas, hospitales y familias.
25 agentes de IA no solo pueden trabajar aquí, chatear, socializar, hacer amigos e incluso enamorarse, sino que cada agente tiene su propia personalidad e historia de fondo.
Sin embargo, no tienen idea de que están viviendo en una simulación.
El científico sénior de Nvidia, Jim Fan, comentó:
Stanford Agent Town es uno de los experimentos de agentes de IA más emocionantes en 2023. A menudo hablamos de las capacidades emergentes de un solo modelo de lenguaje grande, pero ahora, con múltiples agentes de IA, la situación es más compleja y fascinante.
Un grupo de IA puede deducir el proceso de evolución de toda la civilización.
Ahora bien, lo primero que se verá afectado puede ser el campo de juego.
En resumen, ¡hay infinitas nuevas posibilidades por delante!
Internauta: Fabricantes de juegos, ¿entiendes lo que quiero decir?
Mucha gente cree que este documento de Stanford marca el comienzo de AGI.
Es concebible que varios juegos de rol y simulación utilicen esta tecnología.
Los internautas también estaban muy emocionados y sus cerebros estaban abiertos.
Algunos quieren ver Pokémon, otros quieren ver historias de detectives asesinos y otros quieren ver programas de variedades de amor...
"No puedo esperar a ver el triángulo amoroso entre los agentes de IA".
"El diálogo repetitivo y aburrido de Animal Crossing y el sistema de personalidad unidimensional compartido por todos los aldeanos es muy decepcionante. ¡Nintendo, apréndelo!"
"¿Pueden los Sims portar esto?"
Si puedes ver la IA ejecutándose en NPC en un juego de rol clásico como "God Realm", ¡toda la experiencia del juego será subvertida! "
Algunas personas también imaginan que esta tecnología también tiene muchos escenarios de aplicación en el espacio empresarial, como la forma en que los empleados interactúan con diferentes entornos de trabajo/cambios de procesos.
Por supuesto, algunas personas dijeron, ¿qué te emociona? De hecho, hemos estado viviendo en una simulación de este tipo, pero nuestro mundo tiene más poder de cómputo.
Sí, si magnificamos este mundo virtual suficientes veces, definitivamente podemos vernos a nosotros mismos.
### Karpathy: los agentes de IA son la próxima frontera
Anteriormente, Karpathy, exdirector de Tesla y gurú de OpenAI, dijo que los agentes de IA son ahora la dirección más avanzada en el futuro.
El equipo de OpenAI ha pasado los últimos cinco años en otros lugares, pero Karpathy ahora cree que "los agentes representan una especie de futuro para la IA".
Si un documento propone una forma diferente de entrenar un modelo de lenguaje grande, alguien en el grupo de Slack dentro de OpenAI dirá: "Este método que probé hace dos años y medio, no funcionó".
Sin embargo, cada vez que surge un agente de IA de un papel, todos los colegas están muy interesados.
Karpathy una vez llamó a AutoGPT la próxima frontera de la ingeniería rápida
25 agentes de IA en "Westworld"
En la serie de televisión estadounidense "Western World", un robot con una historia preestablecida se coloca en un parque temático, actúa como un ser humano, luego reinicia su memoria y se coloca en su propia historia central en un nuevo día.
En abril de este año, investigadores de Stanford y Google construyeron una ciudad virtual en la que 25 agentes de IA podrían sobrevivir y participar en comportamientos complejos. Se puede llamar "Mundo occidental" y se está haciendo realidad.
Dirección en papel:
Arquitectura
Para generar agentes, los investigadores proponen una nueva arquitectura que amplía el modelo de lenguaje grande y puede almacenar la experiencia del agente en lenguaje natural.
Con el tiempo, estos recuerdos se sintetizan en reflejos de mayor nivel que el agente puede recuperar dinámicamente para planificar sus acciones.
Al final, los usuarios pueden usar el lenguaje natural para interactuar con los 25 agentes de la ciudad.
Como arriba, la arquitectura del agente generativo implementa una función de "recuperación".
Esta función toma como entrada la situación actual del agente y devuelve un subconjunto del flujo de memoria para pasar al modelo de lenguaje.
La recuperación, por otro lado, tiene muchas implementaciones posibles, dependiendo de los factores importantes que el agente considere al decidir cómo actuar.
Un desafío central para las arquitecturas de agentes generativos es cómo administrar la gran cantidad de eventos y memorias que deben conservarse.
Para resolver este problema, el núcleo de la arquitectura es el flujo de memoria, que es una base de datos que registra toda la experiencia del agente.
El agente puede recuperar recuerdos relevantes del flujo de memoria, lo que lo ayuda a planificar acciones, responder correctamente y cada acción se retroalimenta al flujo de memoria para mejorar recursivamente acciones futuras.
Además, el estudio también introdujo un segundo tipo de memoria: la reflexión. La reflexión es el pensamiento abstracto de alto nivel generado por un agente basado en experiencias recientes.
En este estudio, la reflexión es un proceso desencadenado periódicamente, y el mecanismo de reflexión solo se activará cuando el agente juzgue las puntuaciones de importancia de la última serie de eventos y la acumulación exceda un umbral establecido.
Los agentes generativos generan más detalles recursivamente de arriba a abajo para crear planes plausibles.
Y estos planes inicialmente solo describían aproximadamente qué hacer ese día.
Durante la ejecución del plan, el agente generativo percibe continuamente el entorno circundante y almacena las observaciones percibidas en el flujo de memoria.
Al usar las observaciones como señales, deje que el modelo de lenguaje decida el próximo movimiento del agente: continuar con el plan actual o responder de otra manera.
En la evaluación experimental, los investigadores realizaron una evaluación controlada de este marco, así como una evaluación de extremo a extremo.
La evaluación de control consiste en comprender si el agente puede generar de forma independiente un comportamiento individual plausible. La evaluación de extremo a extremo es comprender la capacidad de emergencia y la estabilidad del agente.
Por ejemplo, Isabella planea una fiesta de San Valentín e invita a todos a asistir. De los 12 agentes, 7 aún están bajo consideración (3 tienen otros planes y 4 no tienen ideas).
Este enlace es muy similar al modo de interacción humana.
### Interactúa como una persona real
En esta ciudad del mundo de la caja de arena llamada Smallville, las áreas están marcadas. El nodo raíz describe el mundo entero, los nodos secundarios describen áreas (casas, cafeterías, tiendas) y los nodos hoja describen objetos (mesas, estanterías).
El agente recuerda un subgrafo que refleja las partes del mundo que ve.
Los investigadores programaron un lenguaje natural para describir la identidad de cada agente, incluida su ocupación y relación con otros agentes, como una memoria semilla.
Por ejemplo, la memoria semilla del agente John Lin es así:
John Lin es un útil propietario de farmacia que siempre está buscando formas de hacer que los medicamentos sean más accesibles para los clientes.
La esposa de John Lin, Mei Lin, es profesora universitaria, y su hijo, Eddy Lin, estudia teoría musical. Viven juntos. John Lin ama mucho a su familia.
John Lin conoce a la pareja de ancianos de al lado, Sam Moore y Jennifer Moore, desde hace varios años, y John Lin cree que Sam Moore es una persona amable.
John Lin es muy cercano a su vecina Yuriko Yamamoto. John Lin conocía a sus vecinas, Tamara Taylor y Carmen Ortiz, pero nunca las había conocido.
John Lin y Tom Moreno son compañeros de farmacia y amigos a los que les gusta hablar de política local, etc.
La siguiente es una mañana de John Lin: despertarse a las 6 en punto, comenzar a cepillarse los dientes, tomar una ducha, desayunar y antes de salir a trabajar, se reunirá con su esposa Mei y su hijo Eddy.
De esta forma, cuando comienza la simulación, cada agente tiene su propia memoria semilla.
Estos agentes interactúan socialmente entre sí. Cuando se notan, puede surgir una conversación.
Con el tiempo, estos agentes forman nuevas relaciones y recuerdan sus interacciones con otros agentes.
Una historia interesante es que al comienzo de la simulación, se inicializó a un agente para organizar una fiesta del Día de San Valentín.
Puede haber puntos de falla en la serie de cosas que suceden después, puede que el agente no siga insistiendo en esta intención, o se olvide de decírselo a los demás, o incluso se olvide de presentarse.
Afortunadamente, en la simulación, la fiesta del Día de San Valentín realmente sucedió y muchos agentes se reunieron y tuvieron interacciones interesantes.
Tutorial de nivel de niñera
Entorno de configuración
Antes de configurar el entorno, primero debe generar un archivo utils.py que contenga la clave API de OpenAI y descargar los paquetes necesarios.
Paso 1. Generar archivo Utils
En la carpeta reverie/backend_server (la carpeta donde se encuentra reverie.py), cree un nuevo archivo utils.py y copie y pegue el siguiente contenido en el archivo:
Copie y pegue su API de OpenAI Keyopenai_api_key = ""# Ponga su namekey_owner = ""maze_assets_loc = "../../environment/frontend_server/static_dirs/assets"env _matrix = f"{laberinto_assets_loc}/la_villa/matrix"env_visuals = f"{laberinto_activos_loc}/la_villa/visuales"fs_storage = "../../ environment/frontend_server/storage"fs_temp_storage = "../../environment/frontend_server/temp_storage"colision_block_id = "32125"# Depuración detallada = True
será reemplazada por su clave API de OpenAI y será reemplazada por su nombre.
Paso 2. Instalar requisitos.txt
Instale todo lo que se indica en el archivo requirements.txt (recomendamos encarecidamente configurar primero un entorno virtual).
Actualmente, el equipo ha realizado pruebas en Python 3.9.12.
Ejecutar la simulación
Para ejecutar una nueva simulación, debe iniciar dos servidores al mismo tiempo: el servidor de entorno y el servidor de simulación de agente.
Paso 1. Inicie el servidor de entorno
Dado que el entorno se implementa como un proyecto Django, es necesario iniciar un servidor Django.
Para hacer esto, primero vaya a environment/frontend_server (donde reside manage.py) en la línea de comandos. Luego ejecute el siguiente comando:
python manage.py servidor de ejecución
Luego, visítalo en tu navegador favorito.
Si ve el mensaje "Su servidor de entorno está funcionando", significa que el servidor se está ejecutando normalmente. Asegúrese de que el servidor de entorno siga funcionando mientras se ejecuta la simulación, así que mantenga abierta esta pestaña de la línea de comandos.
(Nota: se recomiendan Chrome o Safari. Firefox puede experimentar algunas fallas en el front-end, pero no debería afectar la simulación real).
Paso 2. Inicie el servidor simulado
Abra otra ventana de línea de comando (el servidor de entorno que usó en el paso 1 aún se está ejecutando y debe permanecer intacto). Navegue a ensueño/backend_server y ejecute ensueño.py para iniciar el servidor simulado:
python ensueño.py
En este punto, aparecerá un indicador de línea de comando que le pedirá lo siguiente: "Ingrese el nombre de la simulación bifurcada:".
Por ejemplo, ahora queremos iniciar una simulación que contenga tres agentes, Isabella Rodríguez, María López y Klaus Mueller, luego ingrese lo siguiente:
base_the_ville_isabella_maria_klaus
Luego, el aviso le preguntará: "Ingrese el nombre de la nueva simulación:".
En este momento, solo necesita ingresar un nombre arbitrario para representar la simulación actual (como "simulación de prueba").
simulación de prueba
Mantenga el servidor del emulador en ejecución. En esta etapa, mostrará el siguiente mensaje: "Ingresar opción"
Paso 3. Ejecutar y guardar la simulación
Vaya a simulator_home en su navegador y mantenga la pestaña abierta.
Ahora verá un mapa de la ciudad y una lista de agentes activos en el mapa, y puede usar las flechas del teclado para moverse por el mapa.
Para ejecutar la simulación, debe ingresar el siguiente comando en el servidor de simulación que solicita "Ingresar opción":
correr
Tenga en cuenta que lo anterior debe reemplazarse por un número entero que represente la cantidad de movimientos del juego para simular.
Por ejemplo, si desea simular un juego de 100 pasos, debe ingresar la carrera 100. Donde, un paso de juego representa 10 segundos en el juego.
Ahora, la simulación se ejecutará y podrá ver al agente moverse por el mapa en el navegador.
Una vez que se complete la ejecución, aparecerá nuevamente el mensaje "Ingresar opción". En este punto, puede continuar la simulación volviendo a ingresar el comando de ejecución y especificando el número deseado de pasos del juego, o escribiendo exit para salir sin guardar, o fin para guardar y salir.
La próxima vez que ejecute el servidor de simulación, puede acceder a la simulación guardada simplemente proporcionando el nombre de la simulación. De esta manera, puede reiniciar la simulación desde donde la dejó.
Paso 4. Simulación de reproducción
Para reproducir una simulación en ejecución, simplemente ejecute el servidor de entorno y vaya a la siguiente dirección en su navegador: reproducir//.
donde debe reemplazarse por el nombre de la simulación que se está reproduciendo, y se reemplazará el paso de tiempo entero en el que se iniciará la reproducción.
Paso 5. Simulación de demostración
Puede encontrar que todos los sprites de los personajes se ven iguales en la repetición. Esto se debe a que la función de reproducción es principalmente para la depuración y no prioriza la optimización del tamaño o las imágenes de la carpeta simulada.
Para demostrar correctamente una simulación con sprites de personajes, primero es necesario comprimir la simulación. Para hacer esto, use un editor de texto para abrir el archivo compress_sim_storage.py ubicado en el directorio de ensueño. Luego, la función de compresión se ejecuta con el nombre del simulacro de destino como entrada. De esta forma, el archivo de simulación quedará comprimido y listo para su presentación.
Para iniciar la demostración, abra la siguiente dirección en su navegador: demo///.
Tenga en cuenta que y tienen el mismo significado que se mencionó anteriormente. Puede usarse para controlar la velocidad de presentación, donde 1 es el más lento y 5 es el más rápido.
Simulación personalizada
Tienes dos opciones para personalizar simulacros.
Método 1: escribir y cargar el historial del agente
El primero es inicializar el agente con un historial único al comienzo de la simulación.
Para hacer esto, debe 1) comenzar con una de las simulaciones base, 2) escribir y cargar el historial del agente.
Paso 1. Inicie la simulación básica
Se incluyen dos simulaciones base en el repositorio: base_the_ville_n25 (25 agentes) y base_the_ville_isabella_maria_klaus (3 agentes). Una de las simulaciones base se puede cargar siguiendo los pasos anteriores.
Paso 2. Cargue el archivo de historial
Luego, cuando se le solicite "Ingresar opción", debe cargar el historial del agente con el siguiente comando:
llamar -- cargar historial the_ville/.csv
donde, debe reemplazarse con el nombre del archivo de historial existente.
En el repositorio se incluyen dos archivos de historial de ejemplo: agent_history_init_n25.csv (para base_the_ville_n25) y agent_history_init_n3.csv (para base_the_ville_isabella_maria _klaus). Estos archivos contienen una lista de registros de memoria para cada agente.
Paso 3. Personalización adicional
Para personalizar la inicialización escribiendo sus propios archivos de historial, coloque los archivos en la siguiente carpeta: environment/frontend_server/static_dirs/assets/the_ville.
El formato de columna del archivo de historial personalizado debe coincidir con el archivo de historial de muestra adjunto. Por lo tanto, el autor recomienda iniciar el proceso copiando y pegando los archivos que ya están en el repositorio.
Método 2: Crear una nueva simulación base
Para una personalización más profunda, deberá escribir su propio archivo de simulación base.
La forma más sencilla es copiar y pegar la carpeta de emulación base existente, luego cambiarle el nombre y editarla de acuerdo con sus requisitos.
Materiales de referencia:
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
¡Westworld está aquí! El popular "pueblo" de Stanford es de código abierto, 25 agentes de IA están enamorados y hacen amigos|Con tutoriales para niñeras
Fuente: "Xinzhiyuan" (ID: AI_era), autor: Xinzhiyuan
¡Prepárate, Stanford Smart Town, que ha causado sensación en toda la comunidad de IA, ahora es oficialmente de código abierto!
En esta ciudad virtual sandbox digital "Western World", hay escuelas, hospitales y familias.
25 agentes de IA no solo pueden trabajar aquí, chatear, socializar, hacer amigos e incluso enamorarse, sino que cada agente tiene su propia personalidad e historia de fondo.
Sin embargo, no tienen idea de que están viviendo en una simulación.
Ahora bien, lo primero que se verá afectado puede ser el campo de juego.
En resumen, ¡hay infinitas nuevas posibilidades por delante!
Internauta: Fabricantes de juegos, ¿entiendes lo que quiero decir?
Mucha gente cree que este documento de Stanford marca el comienzo de AGI.
Los internautas también estaban muy emocionados y sus cerebros estaban abiertos.
Algunos quieren ver Pokémon, otros quieren ver historias de detectives asesinos y otros quieren ver programas de variedades de amor...
"No puedo esperar a ver el triángulo amoroso entre los agentes de IA".
Anteriormente, Karpathy, exdirector de Tesla y gurú de OpenAI, dijo que los agentes de IA son ahora la dirección más avanzada en el futuro.
El equipo de OpenAI ha pasado los últimos cinco años en otros lugares, pero Karpathy ahora cree que "los agentes representan una especie de futuro para la IA".
Sin embargo, cada vez que surge un agente de IA de un papel, todos los colegas están muy interesados.
25 agentes de IA en "Westworld"
En la serie de televisión estadounidense "Western World", un robot con una historia preestablecida se coloca en un parque temático, actúa como un ser humano, luego reinicia su memoria y se coloca en su propia historia central en un nuevo día.
Arquitectura
Para generar agentes, los investigadores proponen una nueva arquitectura que amplía el modelo de lenguaje grande y puede almacenar la experiencia del agente en lenguaje natural.
Con el tiempo, estos recuerdos se sintetizan en reflejos de mayor nivel que el agente puede recuperar dinámicamente para planificar sus acciones.
Al final, los usuarios pueden usar el lenguaje natural para interactuar con los 25 agentes de la ciudad.
Esta función toma como entrada la situación actual del agente y devuelve un subconjunto del flujo de memoria para pasar al modelo de lenguaje.
La recuperación, por otro lado, tiene muchas implementaciones posibles, dependiendo de los factores importantes que el agente considere al decidir cómo actuar.
Un desafío central para las arquitecturas de agentes generativos es cómo administrar la gran cantidad de eventos y memorias que deben conservarse.
Para resolver este problema, el núcleo de la arquitectura es el flujo de memoria, que es una base de datos que registra toda la experiencia del agente.
El agente puede recuperar recuerdos relevantes del flujo de memoria, lo que lo ayuda a planificar acciones, responder correctamente y cada acción se retroalimenta al flujo de memoria para mejorar recursivamente acciones futuras.
Además, el estudio también introdujo un segundo tipo de memoria: la reflexión. La reflexión es el pensamiento abstracto de alto nivel generado por un agente basado en experiencias recientes.
Los agentes generativos generan más detalles recursivamente de arriba a abajo para crear planes plausibles.
Y estos planes inicialmente solo describían aproximadamente qué hacer ese día.
Al usar las observaciones como señales, deje que el modelo de lenguaje decida el próximo movimiento del agente: continuar con el plan actual o responder de otra manera.
En la evaluación experimental, los investigadores realizaron una evaluación controlada de este marco, así como una evaluación de extremo a extremo.
La evaluación de control consiste en comprender si el agente puede generar de forma independiente un comportamiento individual plausible. La evaluación de extremo a extremo es comprender la capacidad de emergencia y la estabilidad del agente.
Por ejemplo, Isabella planea una fiesta de San Valentín e invita a todos a asistir. De los 12 agentes, 7 aún están bajo consideración (3 tienen otros planes y 4 no tienen ideas).
Este enlace es muy similar al modo de interacción humana.
El agente recuerda un subgrafo que refleja las partes del mundo que ve.
Los investigadores programaron un lenguaje natural para describir la identidad de cada agente, incluida su ocupación y relación con otros agentes, como una memoria semilla.
Por ejemplo, la memoria semilla del agente John Lin es así:
La siguiente es una mañana de John Lin: despertarse a las 6 en punto, comenzar a cepillarse los dientes, tomar una ducha, desayunar y antes de salir a trabajar, se reunirá con su esposa Mei y su hijo Eddy.
Estos agentes interactúan socialmente entre sí. Cuando se notan, puede surgir una conversación.
Con el tiempo, estos agentes forman nuevas relaciones y recuerdan sus interacciones con otros agentes.
Una historia interesante es que al comienzo de la simulación, se inicializó a un agente para organizar una fiesta del Día de San Valentín.
Puede haber puntos de falla en la serie de cosas que suceden después, puede que el agente no siga insistiendo en esta intención, o se olvide de decírselo a los demás, o incluso se olvide de presentarse.
Afortunadamente, en la simulación, la fiesta del Día de San Valentín realmente sucedió y muchos agentes se reunieron y tuvieron interacciones interesantes.
Tutorial de nivel de niñera
Entorno de configuración
Antes de configurar el entorno, primero debe generar un archivo utils.py que contenga la clave API de OpenAI y descargar los paquetes necesarios.
Paso 1. Generar archivo Utils
En la carpeta reverie/backend_server (la carpeta donde se encuentra reverie.py), cree un nuevo archivo utils.py y copie y pegue el siguiente contenido en el archivo:
Copie y pegue su API de OpenAI Keyopenai_api_key = ""# Ponga su namekey_owner = ""maze_assets_loc = "../../environment/frontend_server/static_dirs/assets"env _matrix = f"{laberinto_assets_loc}/la_villa/matrix"env_visuals = f"{laberinto_activos_loc}/la_villa/visuales"fs_storage = "../../ environment/frontend_server/storage"fs_temp_storage = "../../environment/frontend_server/temp_storage"colision_block_id = "32125"# Depuración detallada = True
será reemplazada por su clave API de OpenAI y será reemplazada por su nombre.
Paso 2. Instalar requisitos.txt
Instale todo lo que se indica en el archivo requirements.txt (recomendamos encarecidamente configurar primero un entorno virtual).
Actualmente, el equipo ha realizado pruebas en Python 3.9.12.
Ejecutar la simulación
Para ejecutar una nueva simulación, debe iniciar dos servidores al mismo tiempo: el servidor de entorno y el servidor de simulación de agente.
Paso 1. Inicie el servidor de entorno
Dado que el entorno se implementa como un proyecto Django, es necesario iniciar un servidor Django.
Para hacer esto, primero vaya a environment/frontend_server (donde reside manage.py) en la línea de comandos. Luego ejecute el siguiente comando:
python manage.py servidor de ejecución
Luego, visítalo en tu navegador favorito.
Si ve el mensaje "Su servidor de entorno está funcionando", significa que el servidor se está ejecutando normalmente. Asegúrese de que el servidor de entorno siga funcionando mientras se ejecuta la simulación, así que mantenga abierta esta pestaña de la línea de comandos.
(Nota: se recomiendan Chrome o Safari. Firefox puede experimentar algunas fallas en el front-end, pero no debería afectar la simulación real).
Paso 2. Inicie el servidor simulado
Abra otra ventana de línea de comando (el servidor de entorno que usó en el paso 1 aún se está ejecutando y debe permanecer intacto). Navegue a ensueño/backend_server y ejecute ensueño.py para iniciar el servidor simulado:
python ensueño.py
En este punto, aparecerá un indicador de línea de comando que le pedirá lo siguiente: "Ingrese el nombre de la simulación bifurcada:".
Por ejemplo, ahora queremos iniciar una simulación que contenga tres agentes, Isabella Rodríguez, María López y Klaus Mueller, luego ingrese lo siguiente:
base_the_ville_isabella_maria_klaus
Luego, el aviso le preguntará: "Ingrese el nombre de la nueva simulación:".
En este momento, solo necesita ingresar un nombre arbitrario para representar la simulación actual (como "simulación de prueba").
simulación de prueba
Mantenga el servidor del emulador en ejecución. En esta etapa, mostrará el siguiente mensaje: "Ingresar opción"
Paso 3. Ejecutar y guardar la simulación
Vaya a simulator_home en su navegador y mantenga la pestaña abierta.
Ahora verá un mapa de la ciudad y una lista de agentes activos en el mapa, y puede usar las flechas del teclado para moverse por el mapa.
Para ejecutar la simulación, debe ingresar el siguiente comando en el servidor de simulación que solicita "Ingresar opción":
correr
Tenga en cuenta que lo anterior debe reemplazarse por un número entero que represente la cantidad de movimientos del juego para simular.
Por ejemplo, si desea simular un juego de 100 pasos, debe ingresar la carrera 100. Donde, un paso de juego representa 10 segundos en el juego.
Ahora, la simulación se ejecutará y podrá ver al agente moverse por el mapa en el navegador.
Una vez que se complete la ejecución, aparecerá nuevamente el mensaje "Ingresar opción". En este punto, puede continuar la simulación volviendo a ingresar el comando de ejecución y especificando el número deseado de pasos del juego, o escribiendo exit para salir sin guardar, o fin para guardar y salir.
La próxima vez que ejecute el servidor de simulación, puede acceder a la simulación guardada simplemente proporcionando el nombre de la simulación. De esta manera, puede reiniciar la simulación desde donde la dejó.
Paso 4. Simulación de reproducción
Para reproducir una simulación en ejecución, simplemente ejecute el servidor de entorno y vaya a la siguiente dirección en su navegador: reproducir//.
donde debe reemplazarse por el nombre de la simulación que se está reproduciendo, y se reemplazará el paso de tiempo entero en el que se iniciará la reproducción.
Paso 5. Simulación de demostración
Puede encontrar que todos los sprites de los personajes se ven iguales en la repetición. Esto se debe a que la función de reproducción es principalmente para la depuración y no prioriza la optimización del tamaño o las imágenes de la carpeta simulada.
Para demostrar correctamente una simulación con sprites de personajes, primero es necesario comprimir la simulación. Para hacer esto, use un editor de texto para abrir el archivo compress_sim_storage.py ubicado en el directorio de ensueño. Luego, la función de compresión se ejecuta con el nombre del simulacro de destino como entrada. De esta forma, el archivo de simulación quedará comprimido y listo para su presentación.
Para iniciar la demostración, abra la siguiente dirección en su navegador: demo///.
Tenga en cuenta que y tienen el mismo significado que se mencionó anteriormente. Puede usarse para controlar la velocidad de presentación, donde 1 es el más lento y 5 es el más rápido.
Simulación personalizada
Tienes dos opciones para personalizar simulacros.
Método 1: escribir y cargar el historial del agente
El primero es inicializar el agente con un historial único al comienzo de la simulación.
Para hacer esto, debe 1) comenzar con una de las simulaciones base, 2) escribir y cargar el historial del agente.
Paso 1. Inicie la simulación básica
Se incluyen dos simulaciones base en el repositorio: base_the_ville_n25 (25 agentes) y base_the_ville_isabella_maria_klaus (3 agentes). Una de las simulaciones base se puede cargar siguiendo los pasos anteriores.
Paso 2. Cargue el archivo de historial
Luego, cuando se le solicite "Ingresar opción", debe cargar el historial del agente con el siguiente comando:
llamar -- cargar historial the_ville/.csv
donde, debe reemplazarse con el nombre del archivo de historial existente.
En el repositorio se incluyen dos archivos de historial de ejemplo: agent_history_init_n25.csv (para base_the_ville_n25) y agent_history_init_n3.csv (para base_the_ville_isabella_maria _klaus). Estos archivos contienen una lista de registros de memoria para cada agente.
Paso 3. Personalización adicional
Para personalizar la inicialización escribiendo sus propios archivos de historial, coloque los archivos en la siguiente carpeta: environment/frontend_server/static_dirs/assets/the_ville.
El formato de columna del archivo de historial personalizado debe coincidir con el archivo de historial de muestra adjunto. Por lo tanto, el autor recomienda iniciar el proceso copiando y pegando los archivos que ya están en el repositorio.
Método 2: Crear una nueva simulación base
Para una personalización más profunda, deberá escribir su propio archivo de simulación base.
La forma más sencilla es copiar y pegar la carpeta de emulación base existente, luego cambiarle el nombre y editarla de acuerdo con sus requisitos.
Materiales de referencia: