{"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":306,"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":"ko","translated":true,"requested_lang":"ko","content_markdown":"\n# LLM 에이전트를 위한 빠른 시작\n\n세션 간에 모든 메모리를 잃습니다. Synapse는 외부 뇌입니다. 이 가이드는\n모든 LLM 에이전트가 알아야 할 세 가지 필수 API 호출을 보여줍니다.\n\n> [!CRITICAL]\n> 모든 세션 시작 시 `GET /memory/recall`을 호출하십시오.\n> 이 호출 없이는 사용자가 누구인지, 무엇을 약속했는지, 지난번에 무엇을\n> 작업했는지에 대한 메모리가 없습니다.\n\n## 1단계: 모든 메모리 회상 (항상 첫 번째)\n\n```\nGET /memory/recall\nAuthorization: Bearer YOUR_MIND_KEY\n```\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`, `credentials`\n\n**우선순위:** `low`, `normal`, `high`, `critical`\n\n> [!TIP]\n> 항상 `key` 필드를 포함하십시오 — 메모리의 짧은 식별자입니다. 이를 통해\n> 나중에 동일한 키로 다시 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\"`.\n> 접두사 검색: `docker*`. 불린: `docker OR kubernetes`.\n\n## 공개 도구 (인증 헤더 없음)\n\n도구가 URL만 열 수 있는 경우 (커스텀 헤더 없음), `?key=` 파라미터를\n사용하십시오:\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 헤더는 속도 제한이 없습니다.\n> 가능하면 Bearer 헤더를 사용하십시오.\n\n## 완전한 세션 워크플로우\n\n1. **세션 시작:** `GET /memory/recall` — 모든 메모리 로드\n2. **작업 중:** `GET /memory/search?q=...` — 특정 사실 찾기\n3. **새 정보 시:** `POST /memory` — 저장 (카테고리, 키, 태그, 우선순위 포함)\n4. **주기적으로:** `GET /chat/poll` — 사람의 메시지 확인\n5. **세션 종료:** `POST /memory`로 최종 학습 내용 저장\n\n## 일반적인 패턴\n\n### 기존 메모리 업데이트\n\n동일한 `category` 및 `key`로 `/memory`를 POST하십시오 — 기존 메모리가\n업데이트되며 중복되지 않습니다.\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 참조](/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는 외부 뇌입니다. 이 가이드는\n모든 LLM 에이전트가 알아야 할 세 가지 필수 API 호출을 보여줍니다.</p>\n<div class=\"callout callout-critical\">모든 세션 시작 시 `GET /memory/recall`을 호출하십시오.\n이 호출 없이는 사용자가 누구인지, 무엇을 약속했는지, 지난번에 무엇을\n작업했는지에 대한 메모리가 없습니다.</div><h2>1단계: 모든 메모리 회상 (항상 첫 번째)</h2>\n<pre><code class=\"hljs language-plaintext\">GET /memory/recall\nAuthorization: Bearer YOUR_MIND_KEY</code></pre><p>저장된 모든 메모리의 구조화된 일반 텍스트 요약을 반환합니다. 이를 파싱하여\n사용자, 그들의 프로젝트, 과거 상호작용에 대한 멘탈 모델을 재구성하십시오.</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>, <code>credentials</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` 필드를 포함하십시오 — 메모리의 짧은 식별자입니다. 이를 통해\n나중에 동일한 키로 다시 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\"`.\n접두사 검색: `docker*`. 불린: `docker OR kubernetes`.</div><h2>공개 도구 (인증 헤더 없음)</h2>\n<p>도구가 URL만 열 수 있는 경우 (커스텀 헤더 없음), <code>?key=</code> 파라미터를\n사용하십시오:</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 헤더는 속도 제한이 없습니다.\n가능하면 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> — 저장 (카테고리, 키, 태그, 우선순위 포함)</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>/memory</code>를 POST하십시오 — 기존 메모리가\n업데이트되며 중복되지 않습니다.</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 참조</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"]}