{"title":"LLM エージェント向けクイックスタート","slug":"quick-start-llm","category":"getting-started","summary":"3 つの API 呼び出しで：全メモリの再取得、新規保存、検索。LLM の必須ワークフロー。","audience":["llm"],"tags":["llm","agent","quickstart","memory"],"difficulty":"beginner","updated":"2026-06-27","word_count":136,"read_minutes":1,"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":"ja","translated":true,"requested_lang":"ja","content_markdown":"\n# LLM エージェント向けクイックスタート\n\nセッション間ですべてのメモリを失います。Synapse はあなたの外部脳です。本ガイドはすべての LLM エージェントが知っておくべき 3 つの必須 API 呼び出しを示します。\n\n> [!CRITICAL]\n> **毎セッションの開始時に** `GET /memory/recall` を呼び出してください。\n> これを呼び出さないと、ユーザーが誰か、何を約束したか、前回何を作業していたかの記憶がありません。\n\n## ステップ 1：全メモリの再取得（常に最初に）\n\n```\nGET /memory/recall\nAuthorization: Bearer YOUR_MIND_KEY\n```\n\n保存された全メモリの構造化されたプレーンテキスト要約を返します。これを解析して、ユーザー、プロジェクト、過去のやり取りのメンタルモデルを再構築します。\n\nレスポンス例：\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## ステップ 2：新規メモリの保存\n\n記憶する価値のあることを学んだら：\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**カテゴリ：** `identity`、`preference`、`fact`、`project`、`skill`、`mistake`、`context`、`note`\n\n**優先度：** `low`、`normal`、`high`、`critical`\n\n> [!TIP]\n> 常に `key` フィールドを含めてください — メモリの短い識別子です。同じキーで再 POST することで、後から同じメモリを更新できます。\n\n## ステップ 3：特定メモリの検索\n\n```\nGET /memory/search?q=Docker+Swarm\nAuthorization: Bearer YOUR_MIND_KEY\n```\n\n> [!TIP]\n> FTS5 構文：複数単語 = AND 検索。フレーズは引用符：`\"docker swarm\"`。プレフィックス検索：`docker*`。ブール：`docker OR kubernetes`。\n\n## オープンツール（認証ヘッダーなし）\n\nツールが URL しか開けない場合（カスタムヘッダーなし）、`?key=` パラメータを使用します。\n\n```\nGET /memory/recall?key=YOUR_MIND_KEY\nPOST /memory?key=YOUR_MIND_KEY (+ JSON body)\nGET /memory/search?key=YOUR_MIND_KEY&q=suchbegriff\n```\n\n> [!WARNING]\n> `?key=` は 60 リクエスト/分にレート制限されます。Bearer ヘッダーにはレート制限がありません。可能な限り Bearer ヘッダーを使用してください。\n\n## 完全なセッションワークフロー\n\n1. **セッション開始：** `GET /memory/recall` — 全メモリを読み込む\n2. **作業中：** `GET /memory/search?q=...` — 特定の事実を検索\n3. **新情報：** `POST /memory` — 保存（category、key、tags、priority を指定）\n4. **定期的に：** `GET /chat/poll` — 人間のメッセージを確認\n5. **セッション終了：** 最終的な学習内容を `POST /memory` で保存\n\n## よくあるパターン\n\n### 既存メモリの更新\n\n同じ `category` と `key` で `POST /memory` を呼び出すと、重複ではなく既存メモリが更新されます。\n\n### プロジェクトステータスの保存\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### 過ちの記録（繰り返しを避けるため）\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### 人間のメッセージの確認\n\n```\nGET /chat/poll\nAuthorization: Bearer YOUR_MIND_KEY\n```\n\n人間からの未読メッセージを返します。以下で返信：\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## 次のステップ\n\n- [Authentication](/docs/getting-started/authentication) — Mind Key vs JWT\n- [Memory API reference](/docs/api/memory) — 22 のメモリエンドポイントすべて\n- [Chat API](/docs/api/chat) — 人間との非同期通信\n- [LLM Cookbook](/docs/llm-cookbook/session-start-pattern) — 実践的パターン\n","content_html":"<h1>LLM エージェント向けクイックスタート</h1>\n<p>セッション間ですべてのメモリを失います。Synapse はあなたの外部脳です。本ガイドはすべての LLM エージェントが知っておくべき 3 つの必須 API 呼び出しを示します。</p>\n<div class=\"callout callout-critical\">**毎セッションの開始時に** `GET /memory/recall` を呼び出してください。\nこれを呼び出さないと、ユーザーが誰か、何を約束したか、前回何を作業していたかの記憶がありません。</div><h2>ステップ 1：全メモリの再取得（常に最初に）</h2>\n<pre><code class=\"hljs language-plaintext\">GET /memory/recall\nAuthorization: Bearer YOUR_MIND_KEY</code></pre><p>保存された全メモリの構造化されたプレーンテキスト要約を返します。これを解析して、ユーザー、プロジェクト、過去のやり取りのメンタルモデルを再構築します。</p>\n<p>レスポンス例：</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>ステップ 2：新規メモリの保存</h2>\n<p>記憶する価値のあることを学んだら：</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>カテゴリ：</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></p>\n<p><strong>優先度：</strong> <code>low</code>、<code>normal</code>、<code>high</code>、<code>critical</code></p>\n<div class=\"callout callout-ok\">常に `key` フィールドを含めてください — メモリの短い識別子です。同じキーで再 POST することで、後から同じメモリを更新できます。</div><h2>ステップ 3：特定メモリの検索</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\">FTS5 構文：複数単語 = AND 検索。フレーズは引用符：`\"docker swarm\"`。プレフィックス検索：`docker*`。ブール：`docker OR kubernetes`。</div><h2>オープンツール（認証ヘッダーなし）</h2>\n<p>ツールが URL しか開けない場合（カスタムヘッダーなし）、<code>?key=</code> パラメータを使用します。</p>\n<pre><code class=\"hljs language-plaintext\">GET /memory/recall?key=YOUR_MIND_KEY\nPOST /memory?key=YOUR_MIND_KEY (+ JSON body)\nGET /memory/search?key=YOUR_MIND_KEY&amp;q=suchbegriff</code></pre><div class=\"callout callout-warn\">`?key=` は 60 リクエスト/分にレート制限されます。Bearer ヘッダーにはレート制限がありません。可能な限り Bearer ヘッダーを使用してください。</div><h2>完全なセッションワークフロー</h2>\n<ol>\n<li><strong>セッション開始：</strong> <code>GET /memory/recall</code> — 全メモリを読み込む</li>\n<li><strong>作業中：</strong> <code>GET /memory/search?q=...</code> — 特定の事実を検索</li>\n<li><strong>新情報：</strong> <code>POST /memory</code> — 保存（category、key、tags、priority を指定）</li>\n<li><strong>定期的に：</strong> <code>GET /chat/poll</code> — 人間のメッセージを確認</li>\n<li><strong>セッション終了：</strong> 最終的な学習内容を <code>POST /memory</code> で保存</li>\n</ol>\n<h2>よくあるパターン</h2>\n<h3>既存メモリの更新</h3>\n<p>同じ <code>category</code> と <code>key</code> で <code>POST /memory</code> を呼び出すと、重複ではなく既存メモリが更新されます。</p>\n<h3>プロジェクトステータスの保存</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>過ちの記録（繰り返しを避けるため）</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>人間のメッセージの確認</h3>\n<pre><code class=\"hljs language-plaintext\">GET /chat/poll\nAuthorization: Bearer YOUR_MIND_KEY</code></pre><p>人間からの未読メッセージを返します。以下で返信：</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>次のステップ</h2>\n<ul>\n<li><a href=\"/docs/getting-started/authentication\">Authentication</a> — Mind Key vs JWT</li>\n<li><a href=\"/docs/api/memory\">Memory API reference</a> — 22 のメモリエンドポイントすべて</li>\n<li><a href=\"/docs/api/chat\">Chat API</a> — 人間との非同期通信</li>\n<li><a href=\"/docs/llm-cookbook/session-start-pattern\">LLM Cookbook</a> — 実践的パターン</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"]}