{"title":"Szybki start dla agentów LLM","slug":"quick-start-llm","category":"getting-started","summary":"W 3 wywołaniach API: recall wszystkich wspomnień, zapis nowego, wyszukiwanie. Niezbędny przepływ LLM.","audience":["llm"],"tags":["llm","agent","quickstart","memory"],"difficulty":"beginner","updated":"2026-06-27","word_count":333,"read_minutes":2,"llm_context":"Base URL: https://synapse.schaefer.zone\nAuth: Authorization: Bearer YOUR_MIND_KEY (header) OR ?key=YOUR_MIND_KEY (query)\nALWAYS call /memory/recall at the start of every session.\nWichtigste Befehle: GET /memory/recall, POST /memory, GET /memory/search?q=...\nCategories: identity, preference, fact, project, skill, mistake, context, note, credentials\nPriorities: low, normal, high, critical\nFTS5 search: multiple words = AND, \"phrases\" in quotes, prefix* for prefix search\n","lang":"pl","translated":true,"requested_lang":"pl","content_markdown":"\n# Szybki start dla agentów LLM\n\nMiędzy sesjami tracisz całą pamięć. Synapse jest twoim zewnętrznym mózgiem. Ten\nprzewodnik pokazuje trzy niezbędne wywołania API, które musi znać każdy agent LLM.\n\n> [!CRITICAL]\n> Należy wywołać `GET /memory/recall` na POCZĄTKU KAŻDEJ sesji.\n> Bez tego wywołania agent nie ma pamięci o tym, kim jest użytkownik, co obiecał\n> ani nad czym pracował ostatnio.\n\n## Krok 1: Recall wszystkich wspomnień (ZAWSZE NAJPIERW)\n\n```\nGET /memory/recall\nAuthorization: Bearer YOUR_MIND_KEY\n```\n\nZwraca ustrukturyzowane, tekstowe podsumowanie wszystkich zapisanych wspomnień.\nNależy je przeanalizować, aby odbudować model mentalny użytkownika, jego projektów\ni przeszłych interakcji.\n\nPrzykładowa odpowiedź:\n\n```\nMind: Michael's Mind\nMemories: 12 total (10 verified)\n\n[001] identity (CRITICAL)\n  user_name\n  Michael Schäfer\n  Tags: person, identity\n\n[002] preference (HIGH)\n  communication_style\n  Prefers concise technical responses, no fluff\n  Tags: communication, preference\n\n[003] project (HIGH)\n  project_synapse\n  Synapse v1.5.0 deployed on vps1.schaefer.zone. Admin panel at /admin.\n  Tags: synapse, deployment\n  ...\n```\n\n## Krok 2: Zapis nowego wspomnienia\n\nGdy poznasz coś warte zapamiętania:\n\n```\nPOST /memory\nAuthorization: Bearer YOUR_MIND_KEY\nContent-Type: application/json\n\n{\n  \"category\": \"fact\",\n  \"key\": \"user_name\",\n  \"content\": \"The user's name is Michael Schäfer\",\n  \"tags\": [\"person\", \"identity\"],\n  \"priority\": \"critical\"\n}\n```\n\n**Kategorie:** `identity`, `preference`, `fact`, `project`, `skill`, `mistake`, `context`, `note`, `credentials`\n\n**Priorytety:** `low`, `normal`, `high`, `critical`\n\n> [!TIP]\n> Zawsze należy dołączyć pole `key` — krótki identyfikator wspomnienia. Pozwala to\n> zaktualizować to samo wspomnienie później przez ponowne POST z tym samym kluczem.\n\n## Krok 3: Wyszukiwanie konkretnego wspomnienia\n\n```\nGET /memory/search?q=Docker+Swarm\nAuthorization: Bearer YOUR_MIND_KEY\n```\n\n> [!TIP]\n> Składnia FTS5: wiele słów = wyszukiwanie AND. Frazy w cudzysłowach: `\"docker swarm\"`.\n> Wyszukiwanie prefiksem: `docker*`. Wartość logiczna: `docker OR kubernetes`.\n\n## Narzędzia otwarte (bez nagłówków autoryzacji)\n\nJeśli narzędzie potrafi tylko otwierać URL-e (bez własnych nagłówków), użyć\nparametru `?key=`:\n\n```\nGET /memory/recall?key=YOUR_MIND_KEY\nPOST /memory?key=YOUR_MIND_KEY (+ treść JSON)\nGET /memory/search?key=YOUR_MIND_KEY&q=suchbegriff\n```\n\n> [!WARNING]\n> `?key=` jest ograniczone do 60 żądań/minutę. Nagłówek Bearer nie ma limitu.\n> Należy używać nagłówka Bearer zawsze, gdy to możliwe.\n\n## Pełny przepływ sesji\n\n1. **Początek sesji:** `GET /memory/recall` — załadowanie wszystkich wspomnień\n2. **Podczas pracy:** `GET /memory/search?q=...` — znalezienie konkretnych faktów\n3. **Przy nowej informacji:** `POST /memory` — zapis (z kategorią, kluczem, tagami, priorytetem)\n4. **Okresowo:** `GET /chat/poll` — sprawdzenie wiadomości od człowieka\n5. **Koniec sesji:** Zapis końcowych ustaleń przez `POST /memory`\n\n## Typowe wzorce\n\n### Aktualizacja istniejącego wspomnienia\n\nWykonać POST `/memory` z tym samym `category` i `key` — istniejące wspomnienie\njest aktualizowane, a nie duplikowane.\n\n### Zapis statusu projektu\n\n```json\n{\n  \"category\": \"project\",\n  \"key\": \"project_synapse_status\",\n  \"content\": \"Synapse v1.5.0 deployed. Next: v1.6.0 with docs system. CI green.\",\n  \"tags\": [\"synapse\", \"deployment\", \"status\"],\n  \"priority\": \"high\"\n}\n```\n\n### Zapis błędu (aby go nie powtórzyć)\n\n```json\n{\n  \"category\": \"mistake\",\n  \"key\": \"mistake_npm_version_bump\",\n  \"content\": \"Always bump package.json version after changes — npm publish fails otherwise.\",\n  \"tags\": [\"npm\", \"ci\", \"deployment\"],\n  \"priority\": \"high\"\n}\n```\n\n### Sprawdzanie wiadomości od człowieka\n\n```\nGET /chat/poll\nAuthorization: Bearer YOUR_MIND_KEY\n```\n\nZwraca nieprzeczytane wiadomości od człowieka. Odpowiedź przez:\n\n```\nPOST /chat/reply\nAuthorization: Bearer YOUR_MIND_KEY\nContent-Type: application/json\n\n{\"content\": \"Got it! Working on it now.\"}\n```\n\n## Następne kroki\n\n- [Autoryzacja](/docs/getting-started/authentication) — Mind Key vs JWT\n- [Dokumentacja Memory API](/docs/api/memory) — wszystkie 22 endpointy pamięci\n- [Chat API](/docs/api/chat) — asynchroniczna komunikacja z ludźmi\n- [Książka kucharska LLM](/docs/llm-cookbook/session-start-pattern) — praktyczne wzorce\n","content_html":"<h1>Szybki start dla agentów LLM</h1>\n<p>Między sesjami tracisz całą pamięć. Synapse jest twoim zewnętrznym mózgiem. Ten\nprzewodnik pokazuje trzy niezbędne wywołania API, które musi znać każdy agent LLM.</p>\n<div class=\"callout callout-critical\">Należy wywołać `GET /memory/recall` na POCZĄTKU KAŻDEJ sesji.\nBez tego wywołania agent nie ma pamięci o tym, kim jest użytkownik, co obiecał\nani nad czym pracował ostatnio.</div><h2>Krok 1: Recall wszystkich wspomnień (ZAWSZE NAJPIERW)</h2>\n<pre><code class=\"hljs language-plaintext\">GET /memory/recall\nAuthorization: Bearer YOUR_MIND_KEY</code></pre><p>Zwraca ustrukturyzowane, tekstowe podsumowanie wszystkich zapisanych wspomnień.\nNależy je przeanalizować, aby odbudować model mentalny użytkownika, jego projektów\ni przeszłych interakcji.</p>\n<p>Przykładowa odpowiedź:</p>\n<pre><code class=\"hljs language-plaintext\">Mind: Michael&#x27;s Mind\nMemories: 12 total (10 verified)\n\n[001] identity (CRITICAL)\n  user_name\n  Michael Schäfer\n  Tags: person, identity\n\n[002] preference (HIGH)\n  communication_style\n  Prefers concise technical responses, no fluff\n  Tags: communication, preference\n\n[003] project (HIGH)\n  project_synapse\n  Synapse v1.5.0 deployed on vps1.schaefer.zone. Admin panel at /admin.\n  Tags: synapse, deployment\n  ...</code></pre><h2>Krok 2: Zapis nowego wspomnienia</h2>\n<p>Gdy poznasz coś warte zapamiętania:</p>\n<pre><code class=\"hljs language-plaintext\">POST /memory\nAuthorization: Bearer YOUR_MIND_KEY\nContent-Type: application/json\n\n{\n  &quot;category&quot;: &quot;fact&quot;,\n  &quot;key&quot;: &quot;user_name&quot;,\n  &quot;content&quot;: &quot;The user&#x27;s name is Michael Schäfer&quot;,\n  &quot;tags&quot;: [&quot;person&quot;, &quot;identity&quot;],\n  &quot;priority&quot;: &quot;critical&quot;\n}</code></pre><p><strong>Kategorie:</strong> <code>identity</code>, <code>preference</code>, <code>fact</code>, <code>project</code>, <code>skill</code>, <code>mistake</code>, <code>context</code>, <code>note</code>, <code>credentials</code></p>\n<p><strong>Priorytety:</strong> <code>low</code>, <code>normal</code>, <code>high</code>, <code>critical</code></p>\n<div class=\"callout callout-ok\">Zawsze należy dołączyć pole `key` — krótki identyfikator wspomnienia. Pozwala to\nzaktualizować to samo wspomnienie później przez ponowne POST z tym samym kluczem.</div><h2>Krok 3: Wyszukiwanie konkretnego wspomnienia</h2>\n<pre><code class=\"hljs language-plaintext\">GET /memory/search?q=Docker+Swarm\nAuthorization: Bearer YOUR_MIND_KEY</code></pre><div class=\"callout callout-ok\">Składnia FTS5: wiele słów = wyszukiwanie AND. Frazy w cudzysłowach: `\"docker swarm\"`.\nWyszukiwanie prefiksem: `docker*`. Wartość logiczna: `docker OR kubernetes`.</div><h2>Narzędzia otwarte (bez nagłówków autoryzacji)</h2>\n<p>Jeśli narzędzie potrafi tylko otwierać URL-e (bez własnych nagłówków), użyć\nparametru <code>?key=</code>:</p>\n<pre><code class=\"hljs language-plaintext\">GET /memory/recall?key=YOUR_MIND_KEY\nPOST /memory?key=YOUR_MIND_KEY (+ treść JSON)\nGET /memory/search?key=YOUR_MIND_KEY&amp;q=suchbegriff</code></pre><div class=\"callout callout-warn\">`?key=` jest ograniczone do 60 żądań/minutę. Nagłówek Bearer nie ma limitu.\nNależy używać nagłówka Bearer zawsze, gdy to możliwe.</div><h2>Pełny przepływ sesji</h2>\n<ol>\n<li><strong>Początek sesji:</strong> <code>GET /memory/recall</code> — załadowanie wszystkich wspomnień</li>\n<li><strong>Podczas pracy:</strong> <code>GET /memory/search?q=...</code> — znalezienie konkretnych faktów</li>\n<li><strong>Przy nowej informacji:</strong> <code>POST /memory</code> — zapis (z kategorią, kluczem, tagami, priorytetem)</li>\n<li><strong>Okresowo:</strong> <code>GET /chat/poll</code> — sprawdzenie wiadomości od człowieka</li>\n<li><strong>Koniec sesji:</strong> Zapis końcowych ustaleń przez <code>POST /memory</code></li>\n</ol>\n<h2>Typowe wzorce</h2>\n<h3>Aktualizacja istniejącego wspomnienia</h3>\n<p>Wykonać POST <code>/memory</code> z tym samym <code>category</code> i <code>key</code> — istniejące wspomnienie\njest aktualizowane, a nie duplikowane.</p>\n<h3>Zapis statusu projektu</h3>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span>\n  <span class=\"hljs-attr\">&quot;category&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;project&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;key&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;project_synapse_status&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;content&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;Synapse v1.5.0 deployed. Next: v1.6.0 with docs system. CI green.&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;tags&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-punctuation\">[</span><span class=\"hljs-string\">&quot;synapse&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;deployment&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;status&quot;</span><span class=\"hljs-punctuation\">]</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;priority&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;high&quot;</span>\n<span class=\"hljs-punctuation\">}</span></code></pre><h3>Zapis błędu (aby go nie powtórzyć)</h3>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span>\n  <span class=\"hljs-attr\">&quot;category&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;mistake&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;key&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;mistake_npm_version_bump&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;content&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;Always bump package.json version after changes — npm publish fails otherwise.&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;tags&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-punctuation\">[</span><span class=\"hljs-string\">&quot;npm&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;ci&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;deployment&quot;</span><span class=\"hljs-punctuation\">]</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;priority&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;high&quot;</span>\n<span class=\"hljs-punctuation\">}</span></code></pre><h3>Sprawdzanie wiadomości od człowieka</h3>\n<pre><code class=\"hljs language-plaintext\">GET /chat/poll\nAuthorization: Bearer YOUR_MIND_KEY</code></pre><p>Zwraca nieprzeczytane wiadomości od człowieka. Odpowiedź przez:</p>\n<pre><code class=\"hljs language-plaintext\">POST /chat/reply\nAuthorization: Bearer YOUR_MIND_KEY\nContent-Type: application/json\n\n{&quot;content&quot;: &quot;Got it! Working on it now.&quot;}</code></pre><h2>Następne kroki</h2>\n<ul>\n<li><a href=\"/docs/getting-started/authentication\">Autoryzacja</a> — Mind Key vs JWT</li>\n<li><a href=\"/docs/api/memory\">Dokumentacja Memory API</a> — wszystkie 22 endpointy pamięci</li>\n<li><a href=\"/docs/api/chat\">Chat API</a> — asynchroniczna komunikacja z ludźmi</li>\n<li><a href=\"/docs/llm-cookbook/session-start-pattern\">Książka kucharska LLM</a> — praktyczne wzorce</li>\n</ul>\n","urls":{"html":"/docs/getting-started/quick-start-llm","text":"/docs/getting-started/quick-start-llm?format=text","json":"/docs/getting-started/quick-start-llm?format=json","llm":"/docs/getting-started/quick-start-llm?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}