Memória procedural (biblioteca de habilidades)
Uma biblioteca de sequências bem-sucedidas de prompts e ferramentas que o agente pode reproduzir em tarefas recorrentes.
Memória procedural (biblioteca de habilidades) é uma aula grátis de AI Agents no CoddyKit. Esta é a aula 3 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.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
O que é memória procedural?
A memória procedural armazena "como fazer as coisas" — sequências reutilizáveis de ações que tiveram êxito. Pense nela como uma biblioteca de pequenas receitas que o agente pode reproduzir.
Exemplos:
- "Para registrar um relatório de despesas, faça A, depois B e depois C."
- "Para implantar a versão de homologação, execute X, espere Y e depois faça Z."
Por que usar memória procedural?
Sem ela, o agente deduz novamente o mesmo plano do zero todas as vezes — o que é lento, caro e inconsistente. Com uma biblioteca de habilidades, tarefas recorrentes são resolvidas instantaneamente.
Storage Format
CREATE TABLE skills (
id UUID PRIMARY KEY,
name TEXT NOT NULL,
description TEXT NOT NULL,
embedding vector(1536),
steps JSONB NOT NULL, -- list of tool calls
success_rate REAL DEFAULT 1.0,
use_count INT DEFAULT 0,
created_at TIMESTAMPTZ
);Capturar uma nova habilidade
Após uma execução bem-sucedida, peça ao LLM para extrair a receita:
extract_prompt = '''
The agent successfully completed: {user_request}
The trace was:
{trace}
Write this as a reusable skill with name, description, and step list.
Return JSON: {name, description, steps: [{tool, args_template}]}
'''
print(extract_prompt.strip())
Storing the Skill
skill = json.loads(llm.invoke(extract_prompt).content)
vec = embed(skill['description'])
conn.execute('''
INSERT INTO skills (id, name, description, embedding, steps)
VALUES (%s, %s, %s, %s, %s::jsonb)
''', (str(uuid.uuid4()), skill['name'], skill['description'], vec, json.dumps(skill['steps'])))Recuperando uma habilidade relevante
Quando uma nova solicitação de usuário chega, pesquise na biblioteca de habilidades:
def find_skill(query):
qvec = embed(query)
rows = conn.execute('''
SELECT name, steps FROM skills
ORDER BY embedding <=> %s LIMIT 3
''', (qvec,))
return rowsModelos de habilidades
As habilidades são modelos com espaços para parâmetros. O agente preenche os valores reais a cada execução:
skill = {
'name': 'file_expense_report',
'steps': [
{'tool': 'open_form', 'args': {'form_id': 'expense'}},
{'tool': 'fill_field', 'args': {'field': 'amount', 'value': '{amount}'}},
{'tool': 'fill_field', 'args': {'field': 'category', 'value': '{category}'}},
{'tool': 'submit'}
]
}
import json
print(json.dumps(skill, indent=2))
Sugerindo habilidades ao LLM
Injete habilidades candidatas na instrução do sistema e deixe o LLM decidir qual usar:
candidates = find_skill(user_request)
prompt = f'''
You can use these existing skills if applicable:
{json.dumps(candidates, indent=2)}
Or you can plan a new sequence.
'''Acompanhando o sucesso das habilidades
Após cada uso, atualize as estatísticas da habilidade:
UPDATE skills
SET use_count = use_count + 1,
success_rate = (success_rate * use_count + (CASE WHEN %s THEN 1 ELSE 0 END)) / (use_count + 1)
WHERE id = %s;Removendo habilidades ruins
As habilidades com baixa taxa_de_sucesso ou baixa contagem_de_uso devem ser removidas:
DELETE FROM skills
WHERE (success_rate < 0.5 AND use_count >= 5)
OR (use_count = 0 AND created_at < NOW() - INTERVAL '30 days');Voyager: um exemplo famoso
Voyager (Wang et al. 2023) é um agente que joga Minecraft e constrói uma "biblioteca de habilidades" com trechos de código — um artigo marcante sobre memória procedural.
Composição de habilidades
As habilidades podem chamar outras habilidades. O agente aprende procedimentos cada vez mais abstratos:
low_level_skill = {'name': 'open_email', 'steps': [...]}
high_level_skill = {'name': 'process_inbox', 'steps': [
{'skill': 'open_email'},
{'skill': 'reply_or_archive'}
]}
print(low_level_skill)
print(high_level_skill)
Privacidade das habilidades
As habilidades geralmente são genéricas o suficiente para serem compartilhadas entre usuários. Mas verifique: algumas "habilidades" revelam detalhes específicos do usuário, como um número de conta específico. Anonimize esses dados antes de armazená-los em uma biblioteca compartilhada.
Definição procedural
O que a memória procedural armazena?
Recapitulação
Memória procedural = biblioteca de habilidades. Extraia receitas de execuções bem-sucedidas, recupere as relevantes para novas solicitações, acompanhe as taxas de sucesso e remova as que não têm mais utilidade.
Perguntas Frequentes
A aula “Memória procedural (biblioteca de habilidades)” é grátis?
Sim — o texto completo de “Memória procedural (biblioteca de habilidades)” é 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 “Memória procedural (biblioteca de habilidades)”?
Uma biblioteca de sequências bem-sucedidas de prompts e ferramentas que o agente pode reproduzir em tarefas recorrentes. 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 3 de 4.
Quanto tempo leva a aula “Memória procedural (biblioteca de habilidades)”?
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 episódica (histórico por sessão)
- Memória semântica (fatos vetorizados)
- Memória procedural (biblioteca de habilidades)
- Decaimento da memória e coleta de lixo