{"title":"परसिस्टेंट LLM एजेंट बनाएँ","slug":"persistent-llm-agent","category":"guides","summary":"Synapse का उपयोग करके सत्रों में याद रखने वाला LLM एजेंट बनाने की चरण-दर-चरण गाइड।","audience":["human","llm"],"tags":["guide","agent","persistence","architecture"],"difficulty":"intermediate","updated":"2026-06-27","word_count":240,"read_minutes":1,"lang":"hi","translated":true,"requested_lang":"hi","content_markdown":"\n# अवलोकन\n\nयह गाइड Synapse का उपयोग करके एक ऐसे LLM एजेंट को बनाने की प्रक्रिया बताती है जो सत्रों में संदर्भ परसिस्ट करता है। अंत तक, आपका एजेंट:\n\n- सत्र शुरू होने पर पिछला संदर्भ रिकॉल करेगा\n- नई जानकारी मिलने पर उसे स्टोर करेगा\n- सत्रों में मल्टी-स्टेप कार्यों को ट्रैक करेगा\n- एसिंक्रोनस चैट के माध्यम से मनुष्यों से संवाद करेगा\n\n## आर्किटेक्चर\n\n```text\n┌──────────────┐   recall/store   ┌──────────┐\n│  LLM Agent   │ ◀──────────────▶ │ Synapse  │\n│ (your code)  │                  │   API    │\n└──────────────┘                  └──────────┘\n       │\n       │ poll/reply\n       ▼\n┌──────────────┐\n│    Human     │ (browser or chat UI)\n└──────────────┘\n```\n\n## चरण 1: Mind Key सेटअप करें\n\n```bash\n# Register and get JWT\nJWT=$(curl -s -X POST https://synapse.schaefer.zone/register \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"email\":\"agent@example.com\",\"password\":\"secret\"}' | jq -r .jwt)\n\n# Create mind and get Mind Key\nMIND_KEY=$(curl -s -X POST https://synapse.schaefer.zone/minds \\\n  -H \"Authorization: Bearer $JWT\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\":\"persistent-agent\",\"description\":\"My persistent agent\"}' | jq -r .mind_key)\n\necho \"Save this: $MIND_KEY\"\n```\n\n## चरण 2: सत्र शुरुआत प्रोटोकॉल\n\nप्रत्येक सत्र की शुरुआत में, सभी मेमोरीज़ रिकॉल करें:\n\n```python\nimport os\nimport requests\n\nMIND_KEY = os.environ[\"SYNAPSE_MIND_KEY\"]\nURL = \"https://synapse.schaefer.zone\"\n\ndef session_start():\n    \"\"\"Call this at the start of every session.\"\"\"\n    # 1. Recall all memories\n    r = requests.get(\n        f\"{URL}/memory/recall\",\n        headers={\"Authorization\": f\"Bearer {MIND_KEY}\"}\n    )\n    memories = r.text  # plain text summary\n    \n    # 2. Check for unread chat messages\n    r = requests.get(\n        f\"{URL}/chat/poll\",\n        headers={\"Authorization\": f\"Bearer {MIND_KEY}\"}\n    )\n    messages = r.json().get(\"messages\", [])\n    \n    # 3. Check in-progress tasks\n    r = requests.get(\n        f\"{URL}/mind/tasks?status=in_progress\",\n        headers={\"Authorization\": f\"Bearer {MIND_KEY}\"}\n    )\n    tasks = r.json().get(\"tasks\", [])\n    \n    return {\n        \"memories\": memories,\n        \"unread_messages\": messages,\n        \"active_tasks\": tasks,\n    }\n\ncontext = session_start()\n# Build system prompt with this context\n```\n\n## चरण 3: नई जानकारी स्टोर करें\n\nजब भी एजेंट कुछ याद रखने योग्य सीखे:\n\n```python\ndef remember(category, key, content, tags=None, priority=\"normal\"):\n    \"\"\"Store a memory.\"\"\"\n    requests.post(\n        f\"{URL}/memory\",\n        headers={\n            \"Authorization\": f\"Bearer {MIND_KEY}\",\n            \"Content-Type\": \"application/json\",\n        },\n        json={\n            \"category\": category,\n            \"key\": key,\n            \"content\": content,\n            \"tags\": tags or [],\n            \"priority\": priority,\n        }\n    )\n\n# Examples\nremember(\"identity\", \"user_name\", \"User is Michael Schäfer\", \n         tags=[\"person\"], priority=\"critical\")\nremember(\"preference\", \"communication_style\", \n         \"User prefers concise technical responses\",\n         tags=[\"communication\"])\nremember(\"project\", \"current_project\", \n         \"Building Synapse v1.6.0 with docs system\",\n         tags=[\"synapse\", \"docs\"], priority=\"high\")\nremember(\"mistake\", \"npm_version_bump\", \n         \"Always bump package.json version after changes\",\n         tags=[\"npm\", \"ci\"], priority=\"high\")\n```\n\n## चरण 4: कार्य प्रबंधन\n\nसत्रों में मल्टी-स्टेप कार्य ट्रैक करें:\n\n```python\ndef create_task(title, description=\"\", priority=\"normal\"):\n    r = requests.post(\n        f\"{URL}/mind/task\",\n        headers={\"Authorization\": f\"Bearer {MIND_KEY}\",\n                 \"Content-Type\": \"application/json\"},\n        json={\"title\": title, \"description\": description, \"priority\": priority}\n    )\n    return r.json()[\"id\"]\n\ndef update_task(task_id, status=None, description=None):\n    payload = {}\n    if status: payload[\"status\"] = status\n    if description: payload[\"description\"] = description\n    requests.put(\n        f\"{URL}/mind/task/{task_id}\",\n        headers={\"Authorization\": f\"Bearer {MIND_KEY}\",\n                 \"Content-Type\": \"application/json\"},\n        json=payload\n    )\n\n# Multi-session workflow\ntask_id = create_task(\"Deploy v1.6.0\", \"Push docs system to production\", \"high\")\nupdate_task(task_id, status=\"in_progress\")\n# ... work across multiple sessions ...\nupdate_task(task_id, status=\"done\")\n```\n\n## चरण 5: मनुष्यों के साथ एसिंक चैट\n\nटूल कॉल के बीच संदेशों के लिए पोल करें:\n\n```python\nimport time\n\ndef poll_messages():\n    r = requests.get(\n        f\"{URL}/chat/poll\",\n        headers={\"Authorization\": f\"Bearer {MIND_KEY}\"}\n    )\n    return r.json().get(\"messages\", [])\n\ndef reply(content):\n    requests.post(\n        f\"{URL}/chat/reply\",\n        headers={\"Authorization\": f\"Bearer {MIND_KEY}\",\n                 \"Content-Type\": \"application/json\"},\n        json={\"content\": content}\n    )\n\n# Main loop\nwhile working:\n    # Poll for human messages\n    for msg in poll_messages():\n        print(f\"Human: {msg['content']}\")\n        reply(f\"Got it: {msg['content']}. Working on it.\")\n    \n    # Do one unit of work\n    do_work()\n    \n    time.sleep(30)  # don't poll too frequently\n```\n\n## चरण 6: सत्र समाप्ति प्रोटोकॉल\n\nसत्र समाप्त होने पर, अंतिम संदर्भ स्टोर करें:\n\n```python\ndef session_end():\n    \"\"\"Call this before terminating the session.\"\"\"\n    # Store what we accomplished\n    remember(\"context\", \"last_session_summary\",\n             f\"Session ended at {time.now()}. Accomplished: ...\",\n             tags=[\"session\"], priority=\"normal\")\n    \n    # Update task statuses\n    for task in get_active_tasks():\n        if task_in_progress(task):\n            update_task(task[\"id\"], description=f\"In progress: {current_step}\")\n\nsession_end()\n```\n\n## संपूर्ण पैटर्न\n\n```python\nclass PersistentAgent:\n    def __init__(self):\n        self.mind_key = os.environ[\"SYNAPSE_MIND_KEY\"]\n        self.url = \"https://synapse.schaefer.zone\"\n    \n    def run(self):\n        # 1. Recall context\n        context = self.session_start()\n        \n        # 2. Process unread messages\n        for msg in context[\"unread_messages\"]:\n            self.handle_message(msg)\n        \n        # 3. Resume active tasks\n        for task in context[\"active_tasks\"]:\n            self.continue_task(task)\n        \n        # 4. Do new work\n        self.do_work()\n        \n        # 5. Persist state\n        self.session_end()\n```\n\n## सर्वोत्तम अभ्यास\n\n> [!TIP]\n>\n> - **हमेशा पहले रिकॉल करें** — संदर्भ लोड किए बिना कार्य शुरू न करें\n> - **प्रोएक्टिवली स्टोर करें** — सत्र समाप्ति तक न प्रतीक्षा करें\n> - **सार्थक कुंजी का उपयोग करें** — `user_name`, `project_status`, न कि `mem_001`\n> - **सब कुछ टैग करें** — टैग खोज और फ़िल्टरिंग में सक्षम बनाते हैं\n> - **यथार्थवादी प्राथमिकताएँ सेट करें** — सब कुछ `critical` नहीं है\n\n## अगले कदम\n\n- [LLM Cookbook](/docs/llm-cookbook/session-start-pattern) — व्यावहारिक पैटर्न\n- [Memory Best Practices](/docs/guides/memory-best-practices)\n- [Multi-Agent Coordination](/docs/guides/multi-agent-coordination)\n","content_html":"<h1>अवलोकन</h1>\n<p>यह गाइड Synapse का उपयोग करके एक ऐसे LLM एजेंट को बनाने की प्रक्रिया बताती है जो सत्रों में संदर्भ परसिस्ट करता है। अंत तक, आपका एजेंट:</p>\n<ul>\n<li>सत्र शुरू होने पर पिछला संदर्भ रिकॉल करेगा</li>\n<li>नई जानकारी मिलने पर उसे स्टोर करेगा</li>\n<li>सत्रों में मल्टी-स्टेप कार्यों को ट्रैक करेगा</li>\n<li>एसिंक्रोनस चैट के माध्यम से मनुष्यों से संवाद करेगा</li>\n</ul>\n<h2>आर्किटेक्चर</h2>\n<pre><code class=\"hljs language-text\">┌──────────────┐   recall/store   ┌──────────┐\n│  LLM Agent   │ ◀──────────────▶ │ Synapse  │\n│ (your code)  │                  │   API    │\n└──────────────┘                  └──────────┘\n       │\n       │ poll/reply\n       ▼\n┌──────────────┐\n│    Human     │ (browser or chat UI)\n└──────────────┘</code></pre><h2>चरण 1: Mind Key सेटअप करें</h2>\n<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># Register and get JWT</span>\nJWT=$(curl -s -X POST https://synapse.schaefer.zone/register \\\n  -H <span class=\"hljs-string\">&quot;Content-Type: application/json&quot;</span> \\\n  -d <span class=\"hljs-string\">&#x27;{&quot;email&quot;:&quot;agent@example.com&quot;,&quot;password&quot;:&quot;secret&quot;}&#x27;</span> | jq -r .jwt)\n\n<span class=\"hljs-comment\"># Create mind and get Mind Key</span>\nMIND_KEY=$(curl -s -X POST https://synapse.schaefer.zone/minds \\\n  -H <span class=\"hljs-string\">&quot;Authorization: Bearer <span class=\"hljs-variable\">$JWT</span>&quot;</span> \\\n  -H <span class=\"hljs-string\">&quot;Content-Type: application/json&quot;</span> \\\n  -d <span class=\"hljs-string\">&#x27;{&quot;name&quot;:&quot;persistent-agent&quot;,&quot;description&quot;:&quot;My persistent agent&quot;}&#x27;</span> | jq -r .mind_key)\n\n<span class=\"hljs-built_in\">echo</span> <span class=\"hljs-string\">&quot;Save this: <span class=\"hljs-variable\">$MIND_KEY</span>&quot;</span></code></pre><h2>चरण 2: सत्र शुरुआत प्रोटोकॉल</h2>\n<p>प्रत्येक सत्र की शुरुआत में, सभी मेमोरीज़ रिकॉल करें:</p>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-keyword\">import</span> os\n<span class=\"hljs-keyword\">import</span> requests\n\nMIND_KEY = os.environ[<span class=\"hljs-string\">&quot;SYNAPSE_MIND_KEY&quot;</span>]\nURL = <span class=\"hljs-string\">&quot;https://synapse.schaefer.zone&quot;</span>\n\n<span class=\"hljs-keyword\">def</span> <span class=\"hljs-title function_\">session_start</span>():\n    <span class=\"hljs-string\">&quot;&quot;&quot;Call this at the start of every session.&quot;&quot;&quot;</span>\n    <span class=\"hljs-comment\"># 1. Recall all memories</span>\n    r = requests.get(\n        <span class=\"hljs-string\">f&quot;<span class=\"hljs-subst\">{URL}</span>/memory/recall&quot;</span>,\n        headers={<span class=\"hljs-string\">&quot;Authorization&quot;</span>: <span class=\"hljs-string\">f&quot;Bearer <span class=\"hljs-subst\">{MIND_KEY}</span>&quot;</span>}\n    )\n    memories = r.text  <span class=\"hljs-comment\"># plain text summary</span>\n    \n    <span class=\"hljs-comment\"># 2. Check for unread chat messages</span>\n    r = requests.get(\n        <span class=\"hljs-string\">f&quot;<span class=\"hljs-subst\">{URL}</span>/chat/poll&quot;</span>,\n        headers={<span class=\"hljs-string\">&quot;Authorization&quot;</span>: <span class=\"hljs-string\">f&quot;Bearer <span class=\"hljs-subst\">{MIND_KEY}</span>&quot;</span>}\n    )\n    messages = r.json().get(<span class=\"hljs-string\">&quot;messages&quot;</span>, [])\n    \n    <span class=\"hljs-comment\"># 3. Check in-progress tasks</span>\n    r = requests.get(\n        <span class=\"hljs-string\">f&quot;<span class=\"hljs-subst\">{URL}</span>/mind/tasks?status=in_progress&quot;</span>,\n        headers={<span class=\"hljs-string\">&quot;Authorization&quot;</span>: <span class=\"hljs-string\">f&quot;Bearer <span class=\"hljs-subst\">{MIND_KEY}</span>&quot;</span>}\n    )\n    tasks = r.json().get(<span class=\"hljs-string\">&quot;tasks&quot;</span>, [])\n    \n    <span class=\"hljs-keyword\">return</span> {\n        <span class=\"hljs-string\">&quot;memories&quot;</span>: memories,\n        <span class=\"hljs-string\">&quot;unread_messages&quot;</span>: messages,\n        <span class=\"hljs-string\">&quot;active_tasks&quot;</span>: tasks,\n    }\n\ncontext = session_start()\n<span class=\"hljs-comment\"># Build system prompt with this context</span></code></pre><h2>चरण 3: नई जानकारी स्टोर करें</h2>\n<p>जब भी एजेंट कुछ याद रखने योग्य सीखे:</p>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-keyword\">def</span> <span class=\"hljs-title function_\">remember</span>(<span class=\"hljs-params\">category, key, content, tags=<span class=\"hljs-literal\">None</span>, priority=<span class=\"hljs-string\">&quot;normal&quot;</span></span>):\n    <span class=\"hljs-string\">&quot;&quot;&quot;Store a memory.&quot;&quot;&quot;</span>\n    requests.post(\n        <span class=\"hljs-string\">f&quot;<span class=\"hljs-subst\">{URL}</span>/memory&quot;</span>,\n        headers={\n            <span class=\"hljs-string\">&quot;Authorization&quot;</span>: <span class=\"hljs-string\">f&quot;Bearer <span class=\"hljs-subst\">{MIND_KEY}</span>&quot;</span>,\n            <span class=\"hljs-string\">&quot;Content-Type&quot;</span>: <span class=\"hljs-string\">&quot;application/json&quot;</span>,\n        },\n        json={\n            <span class=\"hljs-string\">&quot;category&quot;</span>: category,\n            <span class=\"hljs-string\">&quot;key&quot;</span>: key,\n            <span class=\"hljs-string\">&quot;content&quot;</span>: content,\n            <span class=\"hljs-string\">&quot;tags&quot;</span>: tags <span class=\"hljs-keyword\">or</span> [],\n            <span class=\"hljs-string\">&quot;priority&quot;</span>: priority,\n        }\n    )\n\n<span class=\"hljs-comment\"># Examples</span>\nremember(<span class=\"hljs-string\">&quot;identity&quot;</span>, <span class=\"hljs-string\">&quot;user_name&quot;</span>, <span class=\"hljs-string\">&quot;User is Michael Schäfer&quot;</span>, \n         tags=[<span class=\"hljs-string\">&quot;person&quot;</span>], priority=<span class=\"hljs-string\">&quot;critical&quot;</span>)\nremember(<span class=\"hljs-string\">&quot;preference&quot;</span>, <span class=\"hljs-string\">&quot;communication_style&quot;</span>, \n         <span class=\"hljs-string\">&quot;User prefers concise technical responses&quot;</span>,\n         tags=[<span class=\"hljs-string\">&quot;communication&quot;</span>])\nremember(<span class=\"hljs-string\">&quot;project&quot;</span>, <span class=\"hljs-string\">&quot;current_project&quot;</span>, \n         <span class=\"hljs-string\">&quot;Building Synapse v1.6.0 with docs system&quot;</span>,\n         tags=[<span class=\"hljs-string\">&quot;synapse&quot;</span>, <span class=\"hljs-string\">&quot;docs&quot;</span>], priority=<span class=\"hljs-string\">&quot;high&quot;</span>)\nremember(<span class=\"hljs-string\">&quot;mistake&quot;</span>, <span class=\"hljs-string\">&quot;npm_version_bump&quot;</span>, \n         <span class=\"hljs-string\">&quot;Always bump package.json version after changes&quot;</span>,\n         tags=[<span class=\"hljs-string\">&quot;npm&quot;</span>, <span class=\"hljs-string\">&quot;ci&quot;</span>], priority=<span class=\"hljs-string\">&quot;high&quot;</span>)</code></pre><h2>चरण 4: कार्य प्रबंधन</h2>\n<p>सत्रों में मल्टी-स्टेप कार्य ट्रैक करें:</p>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-keyword\">def</span> <span class=\"hljs-title function_\">create_task</span>(<span class=\"hljs-params\">title, description=<span class=\"hljs-string\">&quot;&quot;</span>, priority=<span class=\"hljs-string\">&quot;normal&quot;</span></span>):\n    r = requests.post(\n        <span class=\"hljs-string\">f&quot;<span class=\"hljs-subst\">{URL}</span>/mind/task&quot;</span>,\n        headers={<span class=\"hljs-string\">&quot;Authorization&quot;</span>: <span class=\"hljs-string\">f&quot;Bearer <span class=\"hljs-subst\">{MIND_KEY}</span>&quot;</span>,\n                 <span class=\"hljs-string\">&quot;Content-Type&quot;</span>: <span class=\"hljs-string\">&quot;application/json&quot;</span>},\n        json={<span class=\"hljs-string\">&quot;title&quot;</span>: title, <span class=\"hljs-string\">&quot;description&quot;</span>: description, <span class=\"hljs-string\">&quot;priority&quot;</span>: priority}\n    )\n    <span class=\"hljs-keyword\">return</span> r.json()[<span class=\"hljs-string\">&quot;id&quot;</span>]\n\n<span class=\"hljs-keyword\">def</span> <span class=\"hljs-title function_\">update_task</span>(<span class=\"hljs-params\">task_id, status=<span class=\"hljs-literal\">None</span>, description=<span class=\"hljs-literal\">None</span></span>):\n    payload = {}\n    <span class=\"hljs-keyword\">if</span> status: payload[<span class=\"hljs-string\">&quot;status&quot;</span>] = status\n    <span class=\"hljs-keyword\">if</span> description: payload[<span class=\"hljs-string\">&quot;description&quot;</span>] = description\n    requests.put(\n        <span class=\"hljs-string\">f&quot;<span class=\"hljs-subst\">{URL}</span>/mind/task/<span class=\"hljs-subst\">{task_id}</span>&quot;</span>,\n        headers={<span class=\"hljs-string\">&quot;Authorization&quot;</span>: <span class=\"hljs-string\">f&quot;Bearer <span class=\"hljs-subst\">{MIND_KEY}</span>&quot;</span>,\n                 <span class=\"hljs-string\">&quot;Content-Type&quot;</span>: <span class=\"hljs-string\">&quot;application/json&quot;</span>},\n        json=payload\n    )\n\n<span class=\"hljs-comment\"># Multi-session workflow</span>\ntask_id = create_task(<span class=\"hljs-string\">&quot;Deploy v1.6.0&quot;</span>, <span class=\"hljs-string\">&quot;Push docs system to production&quot;</span>, <span class=\"hljs-string\">&quot;high&quot;</span>)\nupdate_task(task_id, status=<span class=\"hljs-string\">&quot;in_progress&quot;</span>)\n<span class=\"hljs-comment\"># ... work across multiple sessions ...</span>\nupdate_task(task_id, status=<span class=\"hljs-string\">&quot;done&quot;</span>)</code></pre><h2>चरण 5: मनुष्यों के साथ एसिंक चैट</h2>\n<p>टूल कॉल के बीच संदेशों के लिए पोल करें:</p>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-keyword\">import</span> time\n\n<span class=\"hljs-keyword\">def</span> <span class=\"hljs-title function_\">poll_messages</span>():\n    r = requests.get(\n        <span class=\"hljs-string\">f&quot;<span class=\"hljs-subst\">{URL}</span>/chat/poll&quot;</span>,\n        headers={<span class=\"hljs-string\">&quot;Authorization&quot;</span>: <span class=\"hljs-string\">f&quot;Bearer <span class=\"hljs-subst\">{MIND_KEY}</span>&quot;</span>}\n    )\n    <span class=\"hljs-keyword\">return</span> r.json().get(<span class=\"hljs-string\">&quot;messages&quot;</span>, [])\n\n<span class=\"hljs-keyword\">def</span> <span class=\"hljs-title function_\">reply</span>(<span class=\"hljs-params\">content</span>):\n    requests.post(\n        <span class=\"hljs-string\">f&quot;<span class=\"hljs-subst\">{URL}</span>/chat/reply&quot;</span>,\n        headers={<span class=\"hljs-string\">&quot;Authorization&quot;</span>: <span class=\"hljs-string\">f&quot;Bearer <span class=\"hljs-subst\">{MIND_KEY}</span>&quot;</span>,\n                 <span class=\"hljs-string\">&quot;Content-Type&quot;</span>: <span class=\"hljs-string\">&quot;application/json&quot;</span>},\n        json={<span class=\"hljs-string\">&quot;content&quot;</span>: content}\n    )\n\n<span class=\"hljs-comment\"># Main loop</span>\n<span class=\"hljs-keyword\">while</span> working:\n    <span class=\"hljs-comment\"># Poll for human messages</span>\n    <span class=\"hljs-keyword\">for</span> msg <span class=\"hljs-keyword\">in</span> poll_messages():\n        <span class=\"hljs-built_in\">print</span>(<span class=\"hljs-string\">f&quot;Human: <span class=\"hljs-subst\">{msg[<span class=\"hljs-string\">&#x27;content&#x27;</span>]}</span>&quot;</span>)\n        reply(<span class=\"hljs-string\">f&quot;Got it: <span class=\"hljs-subst\">{msg[<span class=\"hljs-string\">&#x27;content&#x27;</span>]}</span>. Working on it.&quot;</span>)\n    \n    <span class=\"hljs-comment\"># Do one unit of work</span>\n    do_work()\n    \n    time.sleep(<span class=\"hljs-number\">30</span>)  <span class=\"hljs-comment\"># don&#x27;t poll too frequently</span></code></pre><h2>चरण 6: सत्र समाप्ति प्रोटोकॉल</h2>\n<p>सत्र समाप्त होने पर, अंतिम संदर्भ स्टोर करें:</p>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-keyword\">def</span> <span class=\"hljs-title function_\">session_end</span>():\n    <span class=\"hljs-string\">&quot;&quot;&quot;Call this before terminating the session.&quot;&quot;&quot;</span>\n    <span class=\"hljs-comment\"># Store what we accomplished</span>\n    remember(<span class=\"hljs-string\">&quot;context&quot;</span>, <span class=\"hljs-string\">&quot;last_session_summary&quot;</span>,\n             <span class=\"hljs-string\">f&quot;Session ended at <span class=\"hljs-subst\">{time.now()}</span>. Accomplished: ...&quot;</span>,\n             tags=[<span class=\"hljs-string\">&quot;session&quot;</span>], priority=<span class=\"hljs-string\">&quot;normal&quot;</span>)\n    \n    <span class=\"hljs-comment\"># Update task statuses</span>\n    <span class=\"hljs-keyword\">for</span> task <span class=\"hljs-keyword\">in</span> get_active_tasks():\n        <span class=\"hljs-keyword\">if</span> task_in_progress(task):\n            update_task(task[<span class=\"hljs-string\">&quot;id&quot;</span>], description=<span class=\"hljs-string\">f&quot;In progress: <span class=\"hljs-subst\">{current_step}</span>&quot;</span>)\n\nsession_end()</code></pre><h2>संपूर्ण पैटर्न</h2>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-keyword\">class</span> <span class=\"hljs-title class_\">PersistentAgent</span>:\n    <span class=\"hljs-keyword\">def</span> <span class=\"hljs-title function_\">__init__</span>(<span class=\"hljs-params\">self</span>):\n        <span class=\"hljs-variable language_\">self</span>.mind_key = os.environ[<span class=\"hljs-string\">&quot;SYNAPSE_MIND_KEY&quot;</span>]\n        <span class=\"hljs-variable language_\">self</span>.url = <span class=\"hljs-string\">&quot;https://synapse.schaefer.zone&quot;</span>\n    \n    <span class=\"hljs-keyword\">def</span> <span class=\"hljs-title function_\">run</span>(<span class=\"hljs-params\">self</span>):\n        <span class=\"hljs-comment\"># 1. Recall context</span>\n        context = <span class=\"hljs-variable language_\">self</span>.session_start()\n        \n        <span class=\"hljs-comment\"># 2. Process unread messages</span>\n        <span class=\"hljs-keyword\">for</span> msg <span class=\"hljs-keyword\">in</span> context[<span class=\"hljs-string\">&quot;unread_messages&quot;</span>]:\n            <span class=\"hljs-variable language_\">self</span>.handle_message(msg)\n        \n        <span class=\"hljs-comment\"># 3. Resume active tasks</span>\n        <span class=\"hljs-keyword\">for</span> task <span class=\"hljs-keyword\">in</span> context[<span class=\"hljs-string\">&quot;active_tasks&quot;</span>]:\n            <span class=\"hljs-variable language_\">self</span>.continue_task(task)\n        \n        <span class=\"hljs-comment\"># 4. Do new work</span>\n        <span class=\"hljs-variable language_\">self</span>.do_work()\n        \n        <span class=\"hljs-comment\"># 5. Persist state</span>\n        <span class=\"hljs-variable language_\">self</span>.session_end()</code></pre><h2>सर्वोत्तम अभ्यास</h2>\n<div class=\"callout callout-ok\"></div><h2>अगले कदम</h2>\n<ul>\n<li><a href=\"/docs/llm-cookbook/session-start-pattern\">LLM Cookbook</a> — व्यावहारिक पैटर्न</li>\n<li><a href=\"/docs/guides/memory-best-practices\">Memory Best Practices</a></li>\n<li><a href=\"/docs/guides/multi-agent-coordination\">Multi-Agent Coordination</a></li>\n</ul>\n","urls":{"html":"/docs/guides/persistent-llm-agent","text":"/docs/guides/persistent-llm-agent?format=text","json":"/docs/guides/persistent-llm-agent?format=json","llm":"/docs/guides/persistent-llm-agent?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}