Pular para o conteúdo
Skillpedia
Agentes48 mil · #2649

conversation-memory

Ajuda seu agente a lembrar de conversas passadas. Ele cria uma memória de curto e longo prazo para que o agente possa manter o contexto em diálogos longos.

O que ela faz

Esta ferramenta ajuda a IA a lembrar de conversas passadas. Ela guarda o que foi dito recentemente e também informações importantes de longo prazo, como detalhes sobre pessoas ou coisas mencionadas.

Quando usar

  • ✓Ao construir qualquer tipo de chatbot ou assistente virtual.
  • ✓Quando você quer que a IA se lembre de detalhes específicos de conversas anteriores.
  • ✓Para criar uma experiência mais personalizada e contínua para o usuário.

Exemplo do que pedir para a IA

“IA, lembre-se que meu nome é João e que gosto de cachorros.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/conversation-memory/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/conversation-memory/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ela funciona como um cérebro para a IA. Guarda as últimas mensagens em uma memória de curto prazo e informações mais importantes em uma memória de longo prazo. Também anota fatos sobre pessoas, lugares ou coisas mencionadas.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill conversation-memory

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/conversation-memory/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Memória de Conversa

Sistemas de memória persistente para conversas de LLM, incluindo memória de curto prazo, de longo prazo e baseada em entidades.

Capacidades

  • memória-de-curto-prazo
  • memória-de-longo-prazo
  • memória-de-entidade
  • persistência-de-memória
  • recuperação-de-memória
  • consolidação-de-memória

Pré-requisitos

  • Conhecimento: Padrões de conversação de LLM, Noções básicas de banco de dados, Armazenamento chave-valor
  • Habilidades recomendadas: gerenciamento-de-janela-de-contexto, implementação-rag

Escopo

  • Não abrange: Construção de grafo de conhecimento, Implementação de busca semântica, Administração de banco de dados
  • Limites: O foco são os padrões de memória para LLMs, Abrange estratégias de armazenamento e recuperação.

Ecossistema

Ferramentas_primárias

  • Mem0 - Camada de memória para aplicações de IA
  • LangChain Memory - Utilitários de memória no LangChain
  • Redis - Armazenamento de dados em memória para memória de sessão

Padrões

Sistema de Memória em Camadas

Diferentes camadas de memória para diferentes propósitos.

Quando usar: Ao construir qualquer IA conversacional.

interface MemorySystem {
    // Buffer: Current conversation (in context)
    buffer: ConversationBuffer;
    // Short-term: Recent interactions (session)
    shortTerm: ShortTermMemory;
    // Long-term: Persistent across sessions
    longTerm: LongTermMemory;
    // Entity: Facts about people, places, things
    entity: EntityMemory;
}

class TieredMemory implements MemorySystem {
    async addMessage(message: Message): Promise<void> {
        // Always add to buffer
        this.buffer.add(message);
        // Extract entities
        const entities = await extractEntities(message);
        for (const entity of entities) {
            await this.entity.upsert(entity);
        }
        // Check for memorable content
        if (await isMemoryWorthy(message)) {
            await this.shortTerm.add({
                content: message.content,
                timestamp: Date.now(),
                importance: await scoreImportance(message)
            });
        }
    }

    async consolidate(): Promise<void> {
        // Move important short-term to long-term
        const memories = await this.shortTerm.getOld(24 * 60 * 60 * 1000);
        for (const memory of memories) {
            if (memory.importance > 0.7 || memory.referenced > 2) {
                await this.longTerm.add(memory);
            }
            await this.shortTerm.remove(memory.id);
        }
    }

    async buildContext(query: string): Promise<string> {
        const parts: string[] = [];
        // Relevant long-term memories
        const longTermRelevant = await this.longTerm.search(query, 3);
        if (longTermRelevant.length) {
            parts.push('## Relevant Memories\n' +
                longTermRelevant.map(m => `- ${m.content}`).join('\n'));
        }
        // Relevant entities
        const entities = await this.entity.getRelevant(query);
        if (entities.length) {
            parts.push('## Known Entities\n' +
                entities.map(e => `- ${e.name}: ${e.facts.join(', ')}`).join('\n'));
        }
        // Recent conversation
        const recent = this.buffer.getRecent(10);
        parts.push('## Recent Conversation\n' + formatMessages(recent));

        return parts.join('\n\n');
    }
}

Memória de Entidade

Armazena e atualiza fatos sobre entidades.

Quando usar: Quando precisar lembrar detalhes sobre pessoas, lugares ou coisas.

interface Entity {
    id: string;
    name: string;
    type: 'person' | 'place' | 'thing' | 'concept';
    facts: Fact[];
    lastMentioned: number;
    mentionCount: number;
}
interface Fact {
    content: string;
    confidence: number;
    source: string;  // De qual mensagem isso veio
    timestamp: number;
}

class EntityMemory {
    async extractAndStore(message: Message): Promise<void> {
        // Usa LLM para extrair entidades e fatos
        const extraction = await llm.complete(`
            Extraia entidades e fatos desta mensagem.
            Retorne JSON: { "entities": [
                { "name": "...", "type": "...", "facts": ["..."] }
            ]}

            Mensagem: "${message.content}"
        `);
        const { entities } = JSON.parse(extraction);
        for (const entity of entities) {
            await this.upsert(entity, message.id);
        }
    }

    async upsert(entity: ExtractedEntity, sourceId: string): Promise<void> {
        const existing = await this.store.get(entity.name.toLowerCase());
        if (existing) {
            // Mescla fatos, evitando duplicatas

…
Perguntas frequentes

Qual a diferença entre memória de curto e longo prazo?

A memória de curto prazo guarda as conversas mais recentes, como o que foi dito nos últimos minutos. A de longo prazo guarda informações importantes que precisam ser lembradas por mais tempo, mesmo depois de a conversa terminar.

A IA vai lembrar de tudo que eu disser?

Não, ela foca em guardar o que é mais relevante ou foi explicitamente marcado como importante. Ela tem limites e prioriza o que é essencial para a conversa.

O que são 'entidades'?

Entidades são pessoas, lugares, coisas ou conceitos sobre os quais a IA pode guardar informações específicas. Por exemplo, se você mencionar seu cachorro 'Rex', a IA pode guardar esse fato.

Detalhes

Descrição original do autor

Persistent memory systems for LLM conversations including short-term, long-term, and entity-based memory

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2649
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas