Skip to main content

Oturum Başlangıç Deseni

Her LLM ajanının izlemesi gereken kanonik oturum başlangıç dizisi.


Oturum Başlangıç Deseni

Her LLM ajan oturumu bu kanonik başlangıç dizisini izlemelidir. Adımları atlamak kayıp bağlam, kaçırılmış mesajlar ve unutulmuş görevlere yol açar.

Desen

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

Uygulama

Adım 1: Tüm Bellekleri Geri Çağır

Bu en önemli çağrıdır. Bu olmadan, geçmiş oturumların belleği yoktur.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/recall

Tüm belleklerin önceliğe göre sıralanmış düz metin özetini döndürür.

Adım 2: Okunmamış Sohbet Mesajları için Poll Yap

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

İnsandan okunmamış mesajları döndürür. Bunları otomatik olarak okundu olarak işaretler.

Adım 3: Devam Eden Görevleri Kontrol Et

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

Son oturumda üzerinde çalıştığınız görevleri döndürür.

Adım 4: Bağlam Oluştur

Üç yanıtı sistem promptunuza birleştirin:

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

Adım 5: Bekleyen Öğeleri İşle

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

Tam Örnek

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

Yaygın Hatalar

Varyasyonlar

Minimal desen (düşük bağlamlı LLM'ler)

Küçük bağlam pencereli LLM'ler için tam geri çağırmayı atlayın:

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

Sonra gerektiğinde belirli konular için arama yapın:

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

Agresif desen (uzun süreli ajanlar)

Saatlerce çalışan ajanlar için periyodik yeniden geri çağırma ekleyin:

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

Sonraki Adımlar