Eu mesmo fiz Claude’s Dreams usando Mem0 e Codex e isso mudou a maneira como eu codifiquei

A Anthropic anunciou recentemente um dos recursos de IA mais interessantes que já vi em muito tempo – Dreaming. Quando o agente está ocioso, esse recurso permite revisitar conversas passadas, memórias e tarefas concluídas e, em seguida, refletir sobre elas para melhorar a memória e o comportamento futuro. Ele pode identificar padrões, combinar informações duplicadas, descobrir insights úteis e aprender com os erros do passado. Na próxima vez que enfrentar uma tarefa semelhante, poderá usar esses insights em vez de repetir os mesmos erros. Ele aborda um dos maiores desafios atuais nos fluxos de trabalho dos agentes, que é manter a memória útil de longo prazo sem acumular ruído.

Infelizmente, esse recurso está disponível atualmente apenas como uma visualização exploratória. A Anthropic não anunciou um cronograma de lançamento público e o acesso é limitado a pesquisadores e organizações selecionados que constroem os sistemas de agentes. Se quiser experimentar, você deve se inscrever e ser aceito no programa.

Como não consegui acessá-lo, decidi criar algo semelhante para meu fluxo de trabalho usando Mem0 como camada de memória e Codex como agente. Eu não diria que é idêntico ao Claude Dreaming, mas é baseado na mesma ideia básica e dá conta do recado.

Se o Claude Code não estiver mais disponível para usuários Pro, não posso mais recomendar Claude

Isso é doloroso de escrever.

Claude Dreams pode ser uma virada de jogo

Isso resolve um dos maiores problemas dos agentes de IA

Claude Dreams resolve o problema dos agentes de IA serem apátridas. Quando a conversa termina, o agente pode acessar as memórias armazenadas, mas não reflete automaticamente o que aconteceu, não aprende com os erros ou melhora a qualidade dessas memórias ao longo do tempo. Claude Dreams pretende mudar isso introduzindo um processo em segundo plano que analisa conversas anteriores e reorganiza o que o agente sabe.

A Anthropic diz que a ideia foi inspirada na forma como as pessoas consolidam memórias durante o sono. Em vez de apenas armazenar tudo para sempre, Claude analisa periodicamente sessões antigas, procurando padrões, identificando erros recorrentes e extraindo insights úteis. A empresa chama esses empregos secundários de “sonhos”.

O sonho requer duas entradas principais – os armazenamentos de memória existentes do agente e transcrições de até 100 sessões anteriores. O processo é executado de forma assíncrona em segundo plano e pode levar vários minutos, dependendo da quantidade de dados que precisam ser analisados. Durante esse período, Claude procura coisas como preferências do usuário, fluxos de trabalho bem-sucedidos, erros recorrentes e outros padrões que possam ajudá-lo a ter um melhor desempenho em sessões futuras.

Um dos aspectos mais interessantes do sistema é que ele também limpa a memória. Informações duplicadas são mescladas, conflitos são resolvidos e referências ambíguas como “semana passada” ou “ontem” podem ser transformadas em datas absolutas. A Anthropic descreve isso como uma forma de evitar o apodrecimento da memória, quando um conjunto crescente de memória se torna barulhento e menos útil com o tempo.

Construindo seus sonhos de Claude

Você precisa de Codex, Mem0 e um script Python

Comecei com Codex para o loop do agente e Mem0 para a memória. O Mem0 integra-se diretamente ao Codex via MCP, permitindo ao agente pesquisar memórias anteriores, recuperar o contexto apropriado e armazenar novas informações à medida que é executado. Isso fornece ao agente memória persistente entre sessões, em vez de forçá-lo a iniciar do zero todas as vezes.

Colocar essa parte em funcionamento foi relativamente fácil, mas resolveu apenas metade do problema. O maior desafio foi ajudar o agente a distinguir entre informações úteis, informações desatualizadas e ruído. É aqui que Claude Dreams fica interessante. Antrópico significa mais do que dar memória aos agentes. Isto lhes dá a oportunidade de revisar e melhorar periodicamente essa memória.

Para aumentar o zoom, adicionei uma camada de reflexão separada usando um script Python simples. Em intervalos regulares, o script extrai dados de memória e de sessões anteriores do Mem0 e os alimenta em outro modelo para análise. Este modelo analisa interações anteriores e procura padrões recorrentes, erros recorrentes, fluxos de trabalho bem-sucedidos e preferências de longo prazo. A saída é então escrita de volta em Mem0 como um novo conjunto de memórias de nível superior. O sistema constrói gradualmente uma base de conhecimento mais ampla que pode ser usada em sessões futuras.

A camada de pesquisa do Mem0 é construída para recuperação de linguagem natural com filtros, reordenação e limite, e sua API get_memories suporta recuperação de página com filtros lógicos como AND, OR e NOT. Na prática, isso significa que você pode capturar memórias por usuário, projeto, categoria ou tempo, em vez de jogar tudo em uma pilha. Para tais configurações, esta é a diferença entre contexto útil e desordem.

Adicionando uma camada de reflexão

O verdadeiro truque é dividir a memória em camadas

A camada reflexiva funciona independentemente do agente principal. Em intervalos regulares, o script extrai memória e dados recentes da sessão do Mem0 e os envia para outro modelo para análise. Em vez de resolver a tarefa do usuário, esse modelo analisa o histórico do agente e procura padrões recorrentes, erros recorrentes, fluxos de trabalho bem-sucedidos, conflitos e preferências de longo prazo.

O verdadeiro truque é dividir a memória em camadas. Eu manteria memórias brutas, resumos de sessões e insights sintetizados em vários segmentos. Memórias brutas são matéria-prima. Os resumos das sessões refletem o que aconteceu. Os insights sintetizados são o material de nível superior que um trabalhador reflexivo desenvolve depois de seguir o mesmo padrão repetidas vezes. Essa separação evita que a loja se transforme em uma revista enorme e ilegível.

Para um trabalho em lote, não trate get_all() como uma exportação cega. Os documentos atuais do Mem0 exigem filtros get_all(), que são úteis aqui porque forçam você a cobrir a reflexão feita por um usuário, agente, aplicativo ou inicialização. Isso torna o sonho mais fácil de controlar e verificar posteriormente.

Se o processo de pensamento for separado do agente, o sistema torna-se mais facilmente justificável. Codex se concentra em completar tarefas, enquanto o trabalho de reflexão se concentra em melhorar a qualidade do armazenamento de memória. O resultado é um agente que não apenas se lembra de interações passadas, mas também pode aprender com elas ao longo do tempo.

Você pode criar tantos recursos

Os agentes de codificação e as ferramentas de IA atingiram o ponto em que quase qualquer pessoa pode incorporar os recursos necessários em sua configuração. E se você não gosta de construir coisas do zero, existem vários mods com ferramentas como Claude Code que podem ajudá-lo a levar isso para o próximo nível.

A memória de Claude supera a de Gêmeos em um aspecto importante: você pode controlar facilmente o que ele lembra

Dar à IA absolutamente tudo sobre si mesma é menos útil do que parece.

Link da fonte