Skip to main content

Sessionsstart-mönster

Den kanoniska sessionsstart-sekvensen som varje LLM-agent bör följa.


Sessionsstart-mönster

Varje LLM-agent-session bör följa denna kanoniska startsekvens. Att hoppa över steg leder till förlorad kontext, missade meddelanden och glömda uppgifter.

Mönstret

1. Recall all memories
2. Poll for unread chat messages
3. Check in-progress tasks
4. Build context from results
5. Process pending items before new work

Implementering

Steg 1: Återkalla alla minnen

Detta är det viktigaste anropet. Utan det har ni inget minne av tidigare sessioner.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/recall

Returnerar oformaterad textsammanfattning av alla minnen, sorterade efter prioritet.

Steg 2: Polla efter olästa chattmeddelanden

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/chat/poll

Returnerar olästa meddelanden från människan. Markerar dem automatiskt som lästa.

Steg 3: Kontrollera pågående uppgifter

curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     "https://synapse.schaefer.zone/mind/tasks?status=in_progress"

Returnerar uppgifter ni arbetade med senaste sessionen.

Steg 4: Bygg kontext

Kombinera de tre svaren till er system-prompt:

def build_context(memories, messages, tasks):
    context = f"""# SESSION CONTEXT

## Memories (from previous sessions)
{memories}

## Unread Messages from Human
{format_messages(messages)}

## Active Tasks
{format_tasks(tasks)}

## Instructions
- Address unread messages first
- Resume active tasks before starting new work
- Store new learnings as they happen (POST /memory)
- Poll for new messages every 30-60 seconds
"""
    return context

Steg 5: Bearbeta väntande objekt

For each unread message:
  - Acknowledge receipt (POST /chat/reply)
  - Address the message content
  - Store any new commitments as memories

For each in-progress task:
  - Recall why you were working on it
  - Continue from where you left off
  - Update task status as you progress

Komplett exempel

import os
import requests

URL = "https://synapse.schaefer.zone"
KEY = os.environ["SYNAPSE_MIND_KEY"]

def session_start():
    """Canonical session start sequence."""
    headers = {"Authorization": f"Bearer {KEY}"}
    
    # 1. Recall memories
    r = requests.get(f"{URL}/memory/recall", headers=headers)
    memories = r.text
    
    # 2. Poll chat
    r = requests.get(f"{URL}/chat/poll", headers=headers)
    messages = r.json().get("messages", [])
    
    # 3. Check tasks
    r = requests.get(f"{URL}/mind/tasks?status=in_progress", headers=headers)
    tasks = r.json().get("tasks", [])
    
    # 4. Build context
    context = f"""You are a Synapse-enabled AI assistant.

MEMORIES FROM PREVIOUS SESSIONS:
{memories}

UNREAD MESSAGES FROM HUMAN:
{chr(10).join(f'- {m["content"]}' for m in messages) or 'None'}

ACTIVE TASKS:
{chr(10).join(f'- [{t["id"]}] {t["title"]}: {t.get("description", "")}' for t in tasks) or 'None'}

INSTRUCTIONS:
1. Acknowledge each unread message
2. Resume active tasks
3. Store new learnings via POST /memory
4. Poll /chat/poll every 30-60 seconds
"""
    return context

# At session start
system_prompt = session_start()
# Pass to LLM...

Vanliga misstag

Variationer

Minimalt mönster (LLM:er med låg kontext)

För LLM:er med små kontextfönster, hoppa över full återkallning:

# Just get stats, not full content
curl -H "Authorization: Bearer $KEY" .../memory/stats

Sök sedan efter specifika ämnen vid behov:

curl -H "Authorization: Bearer $KEY" ".../memory/search?q=current+project"

Aggressivt mönster (långkörande agenter)

För agenter som kör i timmar, lägg till periodisk återkallning:

while working:
    if time.time() - last_recall > 3600:  # every hour
        memories = recall()
        last_recall = time.time()
    # ... do work ...

Nästa steg