Skip to main content

Pola Awal Sesi

Urutan awal sesi kanonik yang harus diikuti setiap agen LLM.


Pola Awal Sesi

Setiap sesi agen LLM harus mengikuti urutan startup kanonik ini. Melewatkan langkah mengarah pada konteks yang hilang, pesan yang terlewat, dan tugas yang terlupakan.

Pola

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

Implementasi

Langkah 1: Recall Semua Memori

Ini adalah panggilan terpenting. Tanpa ini, Anda tidak memiliki memori sesi masa lalu.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/recall

Mengembalikan ringkasan teks polos dari semua memori, diurutkan berdasarkan prioritas.

Langkah 2: Polling Pesan Chat Belum Dibaca

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

Mengembalikan pesan belum dibaca dari manusia. Secara otomatis menandainya sebagai dibaca.

Langkah 3: Periksa Tugas yang Sedang Berjalan

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

Mengembalikan tugas yang sedang Anda kerjakan di sesi terakhir.

Langkah 4: Bangun Konteks

Gabungkan tiga respons ke dalam system prompt Anda:

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

Langkah 5: Proses Item Tertunda

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

Contoh Lengkap

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

Kesalahan Umum

Variasi

Pola minimal (LLM konteks rendah)

Untuk LLM dengan jendela konteks kecil, lewati recall penuh:

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

Kemudian cari topik spesifik sesuai kebutuhan:

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

Pola agresif (agen berjalan lama)

Untuk agen yang berjalan berjam-jam, tambahkan re-recall berkala:

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

Langkah Berikutnya