Entenda como LLMs se tornam agentes autônomos com o padrão ReACT, personas geradas por grafos de conhecimento, memória de longo prazo e ferramentas especializadas.
Um LLM sozinho não é um agente. Ele é uma função que recebe texto e gera texto - sem memória entre chamadas, sem capacidade de usar ferramentas e sem loop de raciocínio. Para transformar um LLM em agente, é preciso adicionar camadas de infraestrutura ao redor dele.
Um agente é composto por: (1) LLM como cérebro - processa informações e gera respostas; (2) Memória persistente - lembra de interações passadas entre chamadas; (3) Ferramentas - pode executar ações no mundo (buscar informações, salvar dados, interagir com APIs); (4) Loop de raciocínio - pode pensar, agir, observar o resultado e pensar novamente. Sem essas camadas, o LLM é apenas um gerador de texto sofisticado.
O ReACT (Reasoning + Acting) é o padrão arquitetural que permite a LLMs resolver problemas complexos combinando raciocínio explícito com ações concretas em um loop iterativo. É a base cognitiva dos agentes do MiroFish.
O loop ReACT funciona em três passos que se repetem: Thought (Raciocínio): O agente pensa sobre a situação atual, o que sabe e o que precisa fazer. Action (Ação): Baseado no raciocínio, executa uma ação (postar, buscar informação, responder). Observation (Observação): Observa o resultado da ação (reações dos outros agentes, novos dados disponíveis). O ciclo se repete até o agente completar sua tarefa no turno.
"Vi um post controverso sobre energia nuclear. Dado minha personalidade ambientalista, devo expressar preocupação mas reconhecer os dados apresentados."
Escreve um comentário ponderado que questiona os riscos ambientais enquanto reconhece os benefícios de emissão zero.
Observa que 3 agentes curtiram e 1 respondeu discordando. Atualiza sua memória com essa interação para o próximo turno.
O paper original do ReACT (Yao et al., 2022) demonstrou que a combinação de raciocínio e ação melhora significativamente a performance de LLMs em tarefas que exigem tomada de decisão. No contexto do MiroFish, o ReACT permite que agentes ajam de forma contextual e consistente com sua personalidade ao longo de toda a simulação.
O MiroFish gera personalidades únicas para cada agente a partir do grafo de conhecimento. Cada persona inclui opiniões sobre o tema, valores pessoais, estilo de comunicação, nível de influência social e predisposição a diferentes tipos de comportamento.
O processo de geração de personas: (1) O grafo de conhecimento é analisado para identificar diferentes perspectivas sobre o tema; (2) Um LLM gera personas diversas que representam essas perspectivas; (3) Cada persona recebe: nome, background, opiniões sobre o tema, estilo de comunicação (formal/informal, agressivo/diplomático), nível de atividade (muito ativo/lurker) e susceptibilidade a influência. A diversidade das personas é o que garante fenômenos emergentes realistas.
Revise as personas geradas antes de rodar uma simulação importante. Verifique se há diversidade suficiente de opiniões, estilos de comunicação e níveis de influência. Personas muito similares entre si geram simulações monótonas e previsíveis. Se necessário, ajuste os parâmetros de geração para aumentar a diversidade.
A memória é o que torna os agentes consistentes ao longo da simulação. Sem memória, cada turno seria independente e o agente poderia se contradizer. O MiroFish implementa três tipos de memória inspirados na psicologia cognitiva.
Memória Episódica: Registra eventos específicos vivenciados pelo agente. "No turno 3, respondi ao post de @AgenteMaria sobre energia nuclear e recebi 5 curtidas." Usada para manter consistência comportamental.
Memória Semântica: Conhecimento geral sobre o tema, extraído do grafo de conhecimento. "Energia nuclear gera 10% da eletricidade mundial." Usada para fundamentar opiniões.
Memória Temporal: Registra quando cada informação foi aprendida e como opiniões evoluíram. "Antes do turno 5 eu era neutro sobre o tema, depois de ler os argumentos mudei para levemente favorável." Usada para modelar evolução de opinião.
O sistema de memória é o componente que mais consome tokens: a cada turno, as memórias relevantes precisam ser incluídas no prompt do agente. Para uma simulação com 100 agentes e 10 turnos, o custo de memória pode representar 30-40% do total de tokens consumidos. O MiroFish usa técnicas de compressão e seleção de memórias para otimizar esse custo.
Os agentes do ecossistema MiroFish/BettaFish não apenas geram texto - eles têm acesso a ferramentas que estendem suas capacidades, permitindo buscas, análises e interações estruturadas com outros agentes.
insight_forge: Ferramenta de geração de insights estruturados. O agente pode usar para sintetizar informações de múltiplas fontes em um insight formatado com evidências, confiança e recomendações.
panorama_search: Busca contextual ampla que combina múltiplas fontes de dados. Permite que o agente encontre informações relevantes não apenas no grafo de conhecimento, mas também em dados coletados pelo BettaFish.
interview_agents: Permite que um agente "entreviste" outros agentes, fazendo perguntas específicas e coletando respostas para validação cruzada de informações. Isso cria uma dinâmica de verificação mútua entre agentes.
As ferramentas usam o padrão de "function calling" dos LLMs modernos. Quando o agente decide usar uma ferramenta, ele gera uma chamada estruturada (JSON) que o sistema executa, retornando o resultado para o agente continuar seu raciocínio. Isso é mais confiável do que pedir ao agente para gerar saídas formatadas manualmente.
No loop ReACT, o agente identifica que precisa de informação adicional e escolhe a ferramenta adequada.
O sistema executa a ferramenta (panorama_search, insight_forge, etc.) e retorna os resultados.
O agente usa a informação retornada para fundamentar sua próxima ação na simulação.
O ecossistema MiroFish/BettaFish não se limita a um único LLM. Diferentes modelos têm diferentes pontos fortes, e o fork inematds permite configurar qual LLM usar para cada tipo de tarefa, otimizando custo e qualidade.
DeepSeek: Excelente para raciocínio profundo e análise complexa. Usado para tarefas que exigem cadeia de pensamento longa, como geração de relatórios e análise de tendências. Custo-benefício muito alto.
Gemini: Forte em análise multimodal (texto + imagens). Útil quando os dados incluem conteúdo visual (screenshots de redes sociais, infográficos).
Qwen: Otimizado para tarefas em chinês e multilíngues. Usado quando os dados de entrada incluem conteúdo em mandarim (muito comum no ecossistema original).
Kimi: Especializado em contextos longos (até 200k tokens). Ideal para processar documentos extensos na fase de GraphRAG building.
A estratégia multi-LLM pode reduzir custos em até 70% sem perda significativa de qualidade. O truque é usar modelos mais baratos (como DeepSeek) para tarefas de alto volume (respostas de agentes na simulação) e modelos mais caros (como GPT-4) apenas para tarefas críticas (geração de relatório final, extração de entidades no GraphRAG). A configuração é feita via arquivo .env com chaves API para cada provedor.
Comece com DeepSeek para tudo - é o melhor custo-benefício. Depois, experimente usar Gemini para a fase de GraphRAG (boa extração de entidades) e mantenha DeepSeek para a simulação (alto volume de chamadas). Só use modelos premium para tarefas onde a qualidade superior é mensurável.