Westworld está aqui! A popular "cidade" de Stanford é de código aberto, 25 agentes de IA estão apaixonados e fazem amigos|Com tutoriais em nível de babá

Fonte: "Xinzhiyuan" (ID: AI_era), autor: Xinzhiyuan

Prepare-se, Stanford Smart Town, que causou sensação em toda a comunidade de IA, agora é oficialmente de código aberto!

endereço do projeto:

Nesta cidade virtual sandbox digital do "Mundo Ocidental", existem escolas, hospitais e famílias.

25 Os agentes de IA podem não apenas trabalhar aqui, conversar, socializar, fazer amigos e até se apaixonar, mas cada agente tem sua própria personalidade e história de fundo.

No entanto, eles não têm ideia de que estão vivendo em uma simulação.

O cientista sênior da Nvidia, Jim Fan, comentou -

Stanford Agent Town é um dos experimentos de agente de IA mais emocionantes em 2023. Costumamos falar sobre as capacidades emergentes de um único grande modelo de linguagem, mas agora com vários agentes de IA, a situação é mais complexa e fascinante. Um grupo de AI pode deduzir o processo de evolução de toda a civilização.

Agora, a primeira coisa a ser afetada pode ser o campo de jogo.

Em suma, existem infinitas novas possibilidades pela frente!

Internauta: Fabricantes de jogos, vocês entendem o que quero dizer?

Muitas pessoas acreditam que este artigo de Stanford marca o início da AGI.

É concebível que vários jogos de RPG e simulação usem essa tecnologia.

Os internautas também ficaram muito animados e seus cérebros bem abertos.

Alguns querem assistir Pokémon, alguns querem assistir histórias de detetives de assassinato e alguns querem assistir programas de variedades de amor...

"Mal posso esperar para ver o triângulo amoroso entre agentes de IA."

"O diálogo monótono e repetitivo de Animal Crossing e o sistema de personalidade unidimensional compartilhado por todos os aldeões são tão decepcionantes. Nintendo, aprenda!"

"Os Sims podem transferir isso?"

Se você puder ver a IA rodando no NPC em um jogo de RPG clássico como "God Realm", toda a experiência do jogo será subvertida! "

Algumas pessoas também imaginam que essa tecnologia também tem muitos cenários de aplicação no espaço corporativo, como a forma como os funcionários interagem com diferentes ambientes de trabalho/mudanças de processos.

Claro, algumas pessoas disseram, com o que você está animado? Na verdade, vivemos em tal simulação, mas nosso mundo tem mais poder de computação.

Sim, se ampliarmos este mundo virtual o suficiente, podemos definitivamente nos ver.

### Karpathy: agentes de IA são a próxima fronteira

Anteriormente, Karpathy, o ex-diretor da Tesla e guru da OpenAI, disse que os agentes de IA são agora a direção mais avançada no futuro.

A equipe da OpenAI passou os últimos cinco anos em outro lugar, mas Karpathy agora acredita que "os agentes representam uma espécie de futuro para a IA".

Se um artigo propõe uma maneira diferente de treinar um grande modelo de linguagem, alguém do grupo Slack dentro do OpenAI dirá: "Este método que tentei há dois anos e meio não funcionou."

No entanto, sempre que um agente de IA sai de um papel, todos os colegas ficam muito interessados.

Karpathy certa vez chamou o AutoGPT de a próxima fronteira da engenharia rápida

25 agentes de IA em "Westworld"

Na série de TV americana "Western World", um robô com um enredo predefinido é colocado em um parque temático, age como um ser humano e, em seguida, redefine sua memória e é colocado em seu próprio enredo central em um novo dia.

E em abril deste ano, pesquisadores de Stanford e do Google realmente construíram uma cidade virtual na qual 25 agentes de IA podem sobreviver e se envolver em comportamentos complexos. Pode ser chamado de "Mundo Ocidental" tornando-se realidade.

Endereço de papel:

Arquitetura

Para gerar agentes, os pesquisadores propõem uma nova arquitetura que estende o modelo de linguagem grande e pode armazenar a experiência do agente em linguagem natural.

Com o tempo, essas memórias são sintetizadas em reflexões de alto nível que o agente pode recuperar dinamicamente para planejar suas ações.

No final, os usuários podem usar a linguagem natural para interagir com todos os 25 Agentes da cidade.

Como acima, a arquitetura do agente generativo implementa uma função de "recuperação".

Esta função toma como entrada a situação atual do agente e retorna um subconjunto do fluxo de memória para passar para o modelo de linguagem.

A recuperação, por outro lado, tem muitas implementações possíveis, dependendo dos fatores importantes que o agente considera ao decidir como agir.

Um desafio central para arquiteturas de agentes generativos é como gerenciar o grande número de eventos e memórias que devem ser retidos.

Para resolver esse problema, o núcleo da arquitetura é o fluxo de memória, que é um banco de dados que registra toda a experiência do agente.

O agente pode recuperar memórias relevantes do fluxo de memória, o que o ajuda a planejar ações, responder corretamente e cada ação é realimentada no fluxo de memória para melhorar recursivamente as ações futuras.

Além disso, o estudo também introduziu um segundo tipo de memória – a reflexão. A reflexão é o pensamento abstrato de alto nível gerado por um agente com base em experiências recentes.

Neste estudo, a reflexão é um processo acionado periodicamente, e o mecanismo de reflexão só será ativado quando o agente julgar as pontuações de importância de uma série de eventos recentes e o acúmulo exceder um limite definido.

Agentes generativos geram mais detalhes recursivamente de cima para baixo para criar planos plausíveis.

E esses planos inicialmente descreviam apenas aproximadamente o que fazer naquele dia.

Durante a execução do plano, o agente gerador percebe continuamente o ambiente circundante e armazena as observações percebidas no fluxo de memória.

Ao usar observações como pistas, deixe o modelo de linguagem decidir o próximo movimento do agente: continuar com o plano atual ou responder de outra forma.

Na avaliação experimental, os pesquisadores realizaram uma avaliação controlada desse framework, bem como uma avaliação de ponta a ponta.

A avaliação do controle é entender se o agente pode gerar de forma independente um comportamento individual plausível. A avaliação de ponta a ponta é entender a capacidade de emergência e estabilidade do agente.

Por exemplo, Isabella planeja uma festa de Dia dos Namorados e convida a todos. Dos 12 agentes, 7 ainda estão em estudo (3 têm outros planos e 4 não têm ideias).

Este link é muito semelhante ao modo de interação humana.

### Interaja como uma pessoa real

Nesta cidade mundial sandbox chamada Smallville, as áreas são marcadas. O nó raiz descreve o mundo inteiro, os nós filhos descrevem áreas (casas, cafés, lojas) e os nós folhas descrevem objetos (mesas, estantes).

O agente se lembra de um subgrafo que reflete as partes do mundo que ele vê.

Os pesquisadores programaram uma linguagem natural para descrever a identidade de cada agente, incluindo sua ocupação e relacionamento com outros agentes, como uma memória-semente.

Por exemplo, a memória semente do agente John Lin é assim -

John Lin é um proprietário de farmácia prestativo que está sempre procurando maneiras de tornar os medicamentos mais acessíveis aos clientes. A esposa de John Lin, Mei Lin, é professora universitária, e seu filho Eddy Lin está estudando teoria musical. Eles moram juntos. John Lin ama muito sua família. John Lin conhece o velho casal vizinho, Sam Moore e Jennifer Moore, há vários anos, e John Lin acha que Sam Moore é uma pessoa gentil. John Lin é muito próximo de sua vizinha Yuriko Yamamoto. John Lin conhecia suas vizinhas, Tamara Taylor e Carmen Ortiz, mas nunca as conheceu. John Lin e Tom Moreno são colegas de farmácia e amigos que gostam de discutir política local e assim por diante.

O seguinte é uma manhã de John Lin: acordar às 6 horas, começar a escovar os dentes, tomar banho, tomar café da manhã e, antes de sair para o trabalho, encontrará sua esposa Mei e seu filho Eddy.

Dessa forma, ao iniciar a simulação, cada agente possui sua própria memória semente.

Esses agentes interagem socialmente uns com os outros. Quando eles percebem um ao outro, uma conversa pode acontecer.

Com o tempo, esses agentes formam novos relacionamentos e se lembram de suas interações com outros agentes.

Uma história interessante é que no início da simulação, um agente foi inicializado para dar uma festa de Dia dos Namorados.

Pode haver pontos de falha na série de coisas que acontecem depois, o agente pode não continuar a insistir nessa intenção, ou esquecer de contar para os outros, ou mesmo esquecer de comparecer.

Felizmente, na simulação, a festa do Dia dos Namorados realmente aconteceu, e muitos agentes se reuniram e tiveram interações interessantes.

Tutorial de nível de babá

Ambiente de configuração

Antes de configurar o ambiente, primeiro você precisa gerar um arquivo utils.py contendo a chave da API OpenAI e baixar os pacotes necessários.

Etapa 1. Gerar arquivo Utils

Na pasta reverie/backend_server (a pasta onde reverie.py está localizado), crie um novo arquivo utils.py e copie e cole o seguinte conteúdo no arquivo:

Copie e cole sua OpenAI API Keyopenai_api_key = ""# Coloque sua namekey_owner = ""maze_assets_loc = "../../environment/frontend_server/static_dirs/assets"env _matrix = f"{maze_assets_loc}/the_ville/matrix"env_visuals = f"{maze_assets_loc}/the_ville/visuals"fs_storage = "../../ environment/frontend_server/storage"fs_temp_storage = "../../environment/frontend_server/temp_storage"collision_block_id = "32125"# Verbose debug = True

será substituído por sua chave API OpenAI e será substituído por seu nome.

Etapa 2. Instalar requirements.txt

Instale tudo listado no arquivo requirements.txt (recomendamos configurar um ambiente virtual primeiro).

Atualmente, a equipe testou no Python 3.9.12.

Execute a simulação

Para executar uma nova simulação, você precisa iniciar dois servidores ao mesmo tempo: o servidor de ambiente e o servidor de simulação do agente.

Etapa 1. Inicie o servidor do ambiente

Como o ambiente é implementado como um projeto Django, um servidor Django precisa ser iniciado.

Para fazer isso, primeiro navegue até environment/frontend_server (onde reside manage.py) na linha de comando. Em seguida, execute o seguinte comando:

python manage.py runserver

Em seguida, visite-o em seu navegador favorito.

Se você vir o prompt "Seu servidor de ambiente está funcionando", isso significa que o servidor está funcionando normalmente. Certifique-se de que o servidor do ambiente continue em execução durante a execução da simulação, portanto, mantenha esta guia de linha de comando aberta.

(Observação: Chrome ou Safari são recomendados. O Firefox pode apresentar algumas falhas de front-end, mas não deve afetar a simulação real.)

Etapa 2. Inicie o servidor fictício

Abra outra janela de linha de comando (o servidor de ambiente usado na etapa 1 ainda está em execução e precisa permanecer intocado). Navegue até reverie/backend_server e execute reverie.py para iniciar o servidor fictício:

python reverie.py

Neste ponto, um prompt de linha de comando aparecerá solicitando o seguinte: "Digite o nome da simulação bifurcada: ".

Por exemplo, agora queremos iniciar uma simulação que contém três agentes, Isabella Rodriguez, Maria Lopez e Klaus Mueller, então insira o seguinte:

base_the_ville_isabella_maria_klaus

Em seguida, o prompt perguntará: "Digite o nome da nova simulação: ".

Neste momento, você só precisa inserir um nome arbitrário para representar a simulação atual (como "teste-simulação").

simulação de teste

Mantenha o servidor do emulador em execução. Nesta fase, ele exibirá o seguinte prompt: "Enter option"

Etapa 3. Execute e salve a simulação

Acesse o simulator_home em seu navegador e mantenha a aba aberta.

Agora você verá um mapa da cidade e uma lista de agentes ativos no mapa e poderá usar as setas do teclado para se mover pelo mapa.

Para executar a simulação, você precisa inserir o seguinte comando no servidor de simulação solicitando "Enter option":

correr

Observe que o acima precisa ser substituído por um inteiro representando o número de movimentos do jogo a serem simulados.

Por exemplo, se você quiser simular um jogo de 100 etapas, insira a execução 100. Em que uma etapa do jogo representa 10 segundos no jogo.

Agora, a simulação será executada e você poderá observar o agente se mover pelo mapa no navegador.

Quando a execução estiver concluída, o prompt "Inserir opção" aparecerá novamente. Neste ponto, você pode continuar a simulação digitando novamente o comando de execução e especificando o número desejado de etapas do jogo, ou digitando exit para sair sem salvar, ou fin para salvar e sair.

Na próxima vez que executar o servidor de simulação, você poderá acessar a simulação salva simplesmente fornecendo o nome da simulação. Dessa forma, você pode reiniciar a simulação de onde parou.

Etapa 4. Simulação de Repetição

Para reproduzir uma simulação em execução, basta executar o servidor do ambiente e acessar o seguinte endereço em seu navegador: replay//.

onde precisa ser substituído pelo nome da simulação que está sendo reproduzida, e o intervalo de tempo inteiro no qual iniciar a reprodução será substituído.

Etapa 5. Simulação de Demonstração

Você pode descobrir que todos os sprites dos personagens parecem iguais no replay. Isso ocorre porque o recurso de reprodução é principalmente para depuração e não prioriza a otimização do tamanho ou do visual da pasta fictícia.

Para demonstrar adequadamente uma simulação com sprites de personagens, primeiro é necessário compactar a simulação. Para fazer isso, use um editor de texto para abrir o arquivo compress_sim_storage.py localizado no diretório devaneio. Em seguida, a função de compactação é executada com o nome do mock de destino como entrada. Desta forma, o arquivo de simulação estará compactado e assim pronto para apresentação.

Para iniciar a demonstração, abra o seguinte endereço em seu navegador: demo///.

Observe que e tem o mesmo significado mencionado acima. Pode ser usado para controlar a velocidade da apresentação, onde 1 é o mais lento e 5 é o mais rápido.

Simulação personalizada

Você tem duas opções para personalizar os mocks.

Método 1: gravar e carregar o histórico do agente

A primeira é inicializar o agente com um histórico único no início da simulação.

Para fazer isso, você precisa 1) começar com uma das simulações básicas, 2) escrever e carregar o histórico do agente.

Etapa 1. Inicie a simulação básica

Duas simulações básicas estão incluídas no repositório: base_the_ville_n25 (25 agentes) e base_the_ville_isabella_maria_klaus (3 agentes). Uma das simulações básicas pode ser carregada seguindo as etapas acima.

Etapa 2. Carregar arquivo de histórico

Então, quando solicitado a "Enter option", você precisa carregar o histórico do agente com o seguinte comando:

chamada -- carregar histórico the_ville/.csv

onde, precisa ser substituído pelo nome do arquivo de histórico existente.

Dois arquivos de histórico de exemplo estão incluídos no repositório: agent_history_init_n25.csv (para base_the_ville_n25) e agent_history_init_n3.csv (para base_the_ville_isabella_maria _klaus). Esses arquivos contêm uma lista de registros de memória para cada agente.

Etapa 3. Mais personalização

Para personalizar a inicialização escrevendo seus próprios arquivos de histórico, coloque os arquivos na seguinte pasta: environment/frontend_server/static_dirs/assets/the_ville.

O formato da coluna do arquivo de histórico personalizado deve corresponder ao arquivo de histórico de amostra anexado. Portanto, o autor recomenda iniciar o processo copiando e colando os arquivos já existentes no repositório.

Método 2: Criar uma nova simulação de base

Para uma personalização mais aprofundada, você precisará escrever seu próprio arquivo de simulação básico.

A maneira mais direta é copiar e colar a pasta de emulação base existente, renomeá-la e editá-la de acordo com suas necessidades.

Materiais de referência:

Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • Comentário
  • Compartilhar
Comentário
0/400
Sem comentários
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)