Pipeline de geração de personas, perfis de plataforma e análise de diversidade e viés
O OasisProfileGenerator é o componente responsável por gerar populações de agentes com diversidade controlada. Ele opera em três fases: (1) Definição de distribuições demográficas via arquivo YAML (ex: 40% jovens, 30% adultos, 30% idosos; distribuição de interesses políticos; distribuição geográfica). (2) Amostragem estocástica de perfis base a partir dessas distribuições. (3) Enriquecimento via LLM que gera biografias, estilos de comunicação e personalidades únicas para cada agente, usando os traços amostrados como seed. O resultado é um arquivo de perfis (CSV ou JSON) pronto para ser carregado na simulação.
A qualidade da simulação começa na qualidade das personas. Populações homogêneas produzem resultados triviais. Populações muito diversas sem estrutura produzem ruído. O OasisProfileGenerator permite controlar precisamente a composição da população simulada.
Cada agente OASIS é composto por quatro pilares que são injetados no system prompt do LLM: (1) Personalidade - traços Big Five que influenciam estilo de comunicação (alto extraversion = posts mais frequentes e expressivos). (2) Perspectiva - visão de mundo e vieses (conservador/progressista, otimista/pessimista). (3) Posicionamento - opinião numérica sobre tópicos específicos em escala Likert 1-7 (1=totalmente contra, 7=totalmente a favor). (4) Memória - histórico de interações recuperado via busca híbrida. Esses quatro pilares juntos definem "quem" o agente é e como ele responde a estímulos.
Entender a estrutura interna permite criar agentes com características precisas para cenários específicos. Quer simular um debate entre libertários e socialistas? Configure posicionamento. Quer agentes introvertidos? Ajuste personalidade. Cada pilar é um dial de controle.
Cada plataforma simulada espera perfis em formato diferente. O TwitterEnv usa profiles.csv com colunas: agent_id, username, display_name, bio, followers_count, following_count, interests (comma-separated), personality_traits (JSON string), position_scores (JSON string). O RedditEnv usa profiles.json com estrutura aninhada que inclui campos adicionais: subreddits_active (lista), karma_post, karma_comment, account_age_days, e preferred_sorting (hot/new/top). A diferença reflete as mecânicas distintas de cada plataforma.
Erros de formato de perfis são a causa #1 de falhas na inicialização de simulações OASIS. Conhecer a estrutura exata de cada formato previne horas de debug e permite gerar perfis programaticamente com scripts customizados.
O Environment Configuration Agent (ECA) é um meta-agente que funciona como o "game master" da simulação. Antes da simulação começar, o ECA lê um arquivo de configuração YAML e configura: número total de rounds, ações permitidas por round por agente, tópicos seed (conteúdo inicial que dispara a simulação), eventos programados (injeção de notícias ou eventos em rounds específicos), regras de moderação (filtros de conteúdo, rate limiting de posts), e parâmetros do sistema de recomendação. O ECA pode ser configurado manualmente via YAML ou gerado por LLM a partir de uma descrição em linguagem natural do cenário desejado.
O ECA determina completamente o "mundo" da simulação. Sem entendê-lo, você está limitado a cenários pré-definidos. Com domínio do ECA, pode criar qualquer cenário: desde eleições até crises de saúde pública, lançamentos de produtos ou campanhas de desinformação.
Cada chamada LLM para decisão de um agente segue uma estrutura de prompt de 4 camadas: (1) System prompt com persona fixa (~500 tokens): "Você é {name}, {age} anos, {bio}. Seus traços de personalidade: {traits}. Sua posição sobre {topic}: {score}/7." (2) Memory injection (~200 tokens): top-k memórias recuperadas via busca híbrida. (3) Context prompt (~300 tokens): estado atual do feed, posts visíveis, notificações. (4) Action instruction (~100 tokens): lista de ações válidas com formato de resposta esperado. O LLM gera um chain-of-thought interno e retorna a ação escolhida com parâmetros.
O prompt é a interface entre a persona abstrata e o comportamento concreto. Prompts mal estruturados fazem agentes ignorarem sua personalidade, agirem de forma inconsistente ou produzirem outputs impossíveis de parsear. Otimizar o prompt é a forma mais direta de melhorar a qualidade da simulação.
O paper arXiv:2411.11581 identificou que agentes LLM exibem "herd behavior" significativamente mais intenso que humanos reais em datasets comparáveis. Em experimentos de polarização, agentes convergiram para a opinião majoritária 2.3x mais rápido que populações humanas em cenários equivalentes. Este viés é atribuído ao treinamento RLHF que otimiza por "respostas socialmente aceitáveis", fazendo LLMs naturalmente gravitarem para posições de consenso. Técnicas de mitigação incluem: aumentar temperature (0.9-1.2), usar diverse sampling (top-p com p=0.95), e adicionar instruções explícitas de "resistência à pressão social" no system prompt.
Este é o viés mais perigoso em simulações sociais com LLMs. Se você não sabe que o consenso é artificialmente amplificado, pode interpretar convergência simulada como evidência de que uma opinião é "naturalmente dominante" - uma conclusão potencialmente falsa e perigosa. Conhecer o viés é essencial para interpretação responsável.