AI-agenter · Lektion

Procedurminne (färdighetsbibliotek)

Ett bibliotek med fungerande prompt- och verktygssekvenser som agenten kan spela upp igen för återkommande uppgifter.

Lektion 3 av 415 steg

Procedurminne (färdighetsbibliotek) är en gratis lektion i AI-agenter på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för AI-agenter, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i AI-agenter innehåller totalt 4 lektioner.

Delar av den här lektionen har ännu inte översatts och visas på engelska.

Vad är procedurellt minne?

Procedurellt minne lagrar "hur man gör saker" — återanvändbara sekvenser av åtgärder som har lyckats. Tänk på det som ett bibliotek med små recept som agenten kan spela upp igen.

Exempel:

  • "För att registrera en utgiftsrapport gör du A, sedan B och sedan C."
  • "För att distribuera staging-bygget kör du X, väntar på Y och kör sedan Z."

Varför procedurellt minne?

Utan det här minnet måste agenten härleda samma plan från grunden varje gång — långsamt, dyrt och inkonsekvent. Med ett färdighetsbibliotek löses återkommande uppgifter direkt.

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
);

Fånga en ny färdighet

Efter en lyckad körning ber du LLM:en extrahera receptet:

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'])))

Hämta en relevant färdighet

När en ny användarförfrågan kommer in söker ni i färdighetsbiblioteket:

def find_skill(query):
    qvec = embed(query)
    rows = conn.execute('''
        SELECT name, steps FROM skills
        ORDER BY embedding <=> %s LIMIT 3
    ''', (qvec,))
    return rows

Färdighetsmallar

Färdigheter är mallar med parameterplatser. Agenten fyller i de faktiska värdena vid varje körning:

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))

Föreslå färdigheter för LLM

Infoga möjliga färdigheter i systemprompten och låt LLM avgöra vilken som ska användas:

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.
'''

Spåra färdighetens framgång

Uppdatera färdighetens statistik efter varje användning:

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;

Rensa bort dåliga färdigheter

Färdigheter med lågt success_rate eller lågt use_count bör tas bort:

DELETE FROM skills
WHERE (success_rate < 0.5 AND use_count >= 5)
   OR (use_count = 0 AND created_at < NOW() - INTERVAL '30 days');

Voyager: Ett berömt exempel

Voyager (Wang et al. 2023) är en agent som spelar Minecraft och bygger ett "skill library" med kodsnuttar — en banbrytande artikel om procedurellt minne.

Sammansättning av färdigheter

Färdigheter kan anropa andra färdigheter. Agenten lär sig allt mer abstrakta procedurer:

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)

Färdigheternas integritet

Färdigheter är vanligtvis tillräckligt generella för att kunna delas mellan användare. Men kontrollera — vissa "färdigheter" läcker användarspecifika uppgifter, till exempel ett visst kontonummer. Anonymisera uppgifterna innan de lagras i ett delat bibliotek.

Definition av procedurminne

Vad lagrar det procedurella minnet?

Sammanfattning

Procedurminne = färdighetsbibliotek. Extrahera recept från lyckade körningar, hämta relevanta recept för nya förfrågningar, spåra framgångsfrekvenser och rensa bort de oanvändbara.

Gratis att börja

Lär dig AI-agenter med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
60
Lektioner
239

Vanliga frågor

Är lektionen ”Procedurminne (färdighetsbibliotek)” gratis?

Ja – hela texten till ”Procedurminne (färdighetsbibliotek)” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i AI-agenter, kan Ni uppgradera till CoddyKit PRO. Kursen i AI-agenter innehåller totalt 4 lektioner.

Vad lär jag mig i ”Procedurminne (färdighetsbibliotek)”?

Ett bibliotek med fungerande prompt- och verktygssekvenser som agenten kan spela upp igen för återkommande uppgifter. Ni övar på AI-agenter med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig AI-agenter?

Du behöver inga förkunskaper. Utbildningen i AI-agenter på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Procedurminne (färdighetsbibliotek)”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här AI-agenter-lektionen?

Ja. Varje AI-agenter-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Episodiskt minne (historik per session)
  2. Semantiskt minne (vektoriserade fakta)
  3. Procedurminne (färdighetsbibliotek)
  4. Minnesförfall och skräpsamling
← Tillbaka till AI-agenter