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: ابنِ السياق

اجمع الاستجابات الثلاث في 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

الخطوة 5: عالج العناصر المعلّقة

لكل رسالة غير مقروءة:
  - أقرّ بالاستلام (POST /chat/reply)
  - عالج محتوى الرسالة
  - خزّن أي التزامات جديدة كذكريات

لكل مهمة قيد التقدم:
  - استدعِ لماذا كنت تعمل عليها
  - واصل من حيث توقفت
  - حدّث حالة المهمة أثناء تقدمك

مثال كامل

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. استدعِ الذكريات
    r = requests.get(f"{URL}/memory/recall", headers=headers)
    memories = r.text
    
    # 2. استطلع الدردشة
    r = requests.get(f"{URL}/chat/poll", headers=headers)
    messages = r.json().get("messages", [])
    
    # 3. تحقق من المهام
    r = requests.get(f"{URL}/mind/tasks?status=in_progress", headers=headers)
    tasks = r.json().get("tasks", [])
    
    # 4. ابنِ السياق
    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

# عند بدء الجلسة
system_prompt = session_start()
# مرّر إلى LLM...

أخطاء شائعة

تنويعات

النمط الأدنى (LLMs بسياق صغير)

لـ LLMs بنوافذ سياق صغيرة، تخطَّ الاستدعاء الكامل:

# احصل على الإحصائيات فقط، لا المحتوى الكامل
curl -H "Authorization: Bearer $KEY" .../memory/stats

ثم ابحث عن مواضيع محددة حسب الحاجة:

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

النمط العدواني (وكلاء طويلو الأمد)

لوكلاء يعملون لساعات، أضف إعادة استدعاء دورية:

while working:
    if time.time() - last_recall > 3600:  # كل ساعة
        memories = recall()
        last_recall = time.time()
    # ... نفذ العمل ...

الخطوات التالية