Armazenamentos simples de memória (chave-valor)
Persista fatos mencionados pelo usuário (nome, preferências) em um armazenamento de chave-valor e insira-os no prompt do sistema a cada interação.
Armazenamentos simples de memória (chave-valor) é uma aula grátis de AI Agents no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Agents, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Agents inclui 4 aulas no total.
A memória de longo prazo mais barata
Antes dos bancos de dados vetoriais e das incorporações, existe o simples armazenamento de chave-valor. Para armazenar fatos específicos do usuário (nome, preferências e configurações), isso é tudo de que você precisa.
O que armazenar
Bons candidatos para a memória KV:
- Nome e idioma do usuário
- Preferências (unidades, fuso horário e tom)
- Contexto persistente (projeto atual e tópico atual)
- Credenciais recentes de ferramentas / tokens de API
Um pequeno armazenamento em memória
Para um protótipo de processo único:
memory = {
'user_name': 'Alice',
'units': 'celsius',
'language': 'tr'
}
def remember(key, value):
memory[key] = value
def recall(key, default=None):
return memory.get(key, default)
remember('city', 'Istanbul')
print("Recalled user_name:", recall('user_name'))
print("Recalled city:", recall('city'))
print("Recalled missing key:", recall('country', 'unknown'))
Insira na instrução do sistema
A cada interação, renderize o armazenamento KV na instrução do sistema:
def build_system_prompt(user_id):
facts = load_facts(user_id)
rendered = '\n'.join(f'- {k}: {v}' for k, v in facts.items())
return f'''
You are AssistantBot.
Known facts about this user:
{rendered}
Use these to personalise replies.
'''Use Redis para vários usuários
Para um agente de produção, use Redis:
import redis
r = redis.Redis()
def remember(user_id, key, value):
r.hset(f'mem:{user_id}', key, json.dumps(value))
def recall_all(user_id):
raw = r.hgetall(f'mem:{user_id}')
return {k.decode(): json.loads(v) for k, v in raw.items()}Ou use apenas Postgres
Postgres também funciona — uma coluna JSON por usuário:
CREATE TABLE user_memory (
user_id TEXT PRIMARY KEY,
facts JSONB NOT NULL DEFAULT '{}'
);
-- Update one field:
UPDATE user_memory SET facts = facts || '{"units": "celsius"}' WHERE user_id = $1;A memória como ferramenta
Disponibilize operações de memória como ferramentas para que o próprio agente possa gravar na memória:
tools = [
{'name': 'remember', 'description': 'Save a fact about the user', 'parameters': {...}},
{'name': 'forget', 'description': 'Remove a stored fact', 'parameters': {...}}
]
# The agent can call remember('user_name', 'Alice') itself.
for t in tools:
print(f"{t['name']}: {t['description']}")
Evite o crescimento excessivo da memória
Limite o número de chaves armazenadas por usuário (50 ou 100). Caso contrário, a instrução do sistema crescerá sem limite.
Tempos de expiração e decaimento
Algumas memórias duram pouco. Use as expirações do Redis:
r.hset(f'mem:{user_id}', 'last_topic', 'pricing')
r.expire(f'mem:{user_id}', 3600) # 1 hourMemória editável pelo usuário
Permita que os usuários vejam e editem o que o agente lembra sobre eles — a memória do ChatGPT funciona assim. Isso cria confiança e evita erros incômodos.
Privacidade: cuidado com PII
Os fatos armazenados geralmente incluem PII. Criptografe os campos confidenciais em repouso, use chaves de criptografia por usuário e exclua-os quando a conta for encerrada.
De KV a vetores
KV é excelente para fatos estruturados. Para fatos não estruturados ("o usuário prefere um tom informal, gosta de referências a anime e detesta emojis"), um armazenamento vetorial é melhor. Isso será abordado no próximo curso.
Quando usar a memória KV
Para que tipo de memória um armazenamento simples de chave-valor é mais adequado?
Recapitulação
Para 90% dos casos de uso de assistentes pessoais, um armazenamento KV em Redis ou Postgres + sua inserção na instrução do sistema fornece memória suficiente.
Perguntas Frequentes
A aula “Armazenamentos simples de memória (chave-valor)” é grátis?
Sim — o texto completo de “Armazenamentos simples de memória (chave-valor)” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Agents, atualize para CoddyKit PRO. O curso de AI Agents inclui 4 aulas no total.
O que vou aprender em “Armazenamentos simples de memória (chave-valor)”?
Persista fatos mencionados pelo usuário (nome, preferências) em um armazenamento de chave-valor e insira-os no prompt do sistema a cada interação. Você pratica AI Agents com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar AI Agents?
Nenhuma experiência prévia é necessária. AI Agents no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Armazenamentos simples de memória (chave-valor)”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de AI Agents?
Sim. Cada aula de AI Agents inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Memória de curto prazo na janela de contexto
- Por que contextos longos não escalam
- Sumarização como compressão
- Armazenamentos simples de memória (chave-valor)