Skip to main content

Шаблон початку сесії

Канонічна послідовність початку сесії, яку має дотримуватись кожен LLM-агент.


Шаблон початку сесії

Кожна сесія LLM-агента має дотримуватись цієї канонічної послідовності запуску. Пропуск кроків призводить до втрати контексту, пропущених повідомлень та забутих завдань.

Сам шаблон

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

Реалізація

Крок 1: відкликати всі спогади

Це найважливіший виклик. Без нього ви не маєте пам'яті про минулі сесії.
curl -H "Authorization: Bearer YOUR_MIND_KEY" \
     https://synapse.schaefer.zone/memory/recall

Повертає текстове резюме всіх спогадів, відсортованих за пріоритетом.

Крок 2: опитати чат про непрочитані повідомлення

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

Повертає непрочитані повідомлення від людини. Автоматично позначає їх як прочитані.

Крок 3: перевірити завдання в процесі виконання

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

Повертає завдання, над якими ви працювали в минулій сесії.

Крок 4: побудувати контекст

Об'єднайте три відповіді у ваш системний промпт:

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

Крок 5: обробити невиконані елементи

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

Повний приклад

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

Типові помилки

Варіації

Мінімальний шаблон (LLM із малим контекстом)

Для LLM із невеликим контекстним вікном пропустіть повний recall:

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

Потім шукайте конкретні теми за потребою:

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

Агресивний шаблон (тривалі агенти)

Для агентів, що працюють годинами, додайте періодичний повтор recall:

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

Наступні кроки