{"id":17001,"date":"2025-04-01T08:00:17","date_gmt":"2025-04-01T15:00:17","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=17001"},"modified":"2025-06-13T16:39:40","modified_gmt":"2025-06-13T23:39:40","slug":"build-your-first-open-source-ai-agent-with-couchbase","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/build-your-first-open-source-ai-agent-with-couchbase\/","title":{"rendered":"Couchbase\ub85c \uccab \uc624\ud508 \uc18c\uc2a4 AI \uc5d0\uc774\uc804\ud2b8 \uad6c\ucd95\ud558\uae30"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">2024\ub144\uc774 \uc778\uacf5\uc9c0\ub2a5 \ucc57\ubd07\uc758 \ud574\uc600\ub2e4\uba74 2025\ub144\uc740 \uc778\uacf5\uc9c0\ub2a5 \uc5d0\uc774\uc804\ud2b8\uc758 \ud574\uc785\ub2c8\ub2e4. \uc5b8\ub73b \ubcf4\uae30\uc5d0\ub294 \ube44\uc2b7\ud574 \ubcf4\uc774\uc9c0\ub9cc \uc2e4\uc81c\ub85c\ub294 \uc804\ud600 \ub2e4\ub978 \uac1c\ub150\uc785\ub2c8\ub2e4. \uc6f9 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ud1b5\ud574 AI \ucc57\ubd07\uacfc \uc0c1\ud638 \uc791\uc6a9\ud558\ub294 \uac83\uacfc \uac19\uc740 \ubc29\uc2dd\uc73c\ub85c AI \uc5d0\uc774\uc804\ud2b8\uc640 \uc0c1\ud638 \uc791\uc6a9\ud560 \uc218 \uc788\uc9c0\ub9cc, \ub458 \uc0ac\uc774\uc758 \ucc28\uc774\uc810\uc740 \uadf9\uba85\ud569\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">AI \uc5d0\uc774\uc804\ud2b8\uac00 \uc790\uc728\uc801\uc73c\ub85c \uc0ac\uc6a9\uc790\uc758 \uc694\uccad\uc744 \ucc98\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub9de\uc2b5\ub2c8\ub2e4, \uc81c\uac00 \ub9d0\uc500\ub4dc\ub838\uc2b5\ub2c8\ub2e4: <em>\uc790\uc728\uc801\uc73c\ub85c<\/em>. AI\uac00 \uc0ac\uc6a9\uc790\ub97c \ub300\uc2e0\ud558\uc5ec \uc0ac\uc6a9\uc790\uc758 \uac1c\uc785 \uc5c6\uc774 \uc218\ud589\ud574\uc57c \ud560 \uc791\uc5c5\uacfc \ub2e4\uc74c \ub2e8\uacc4\ub97c \ud30c\uc545\ud569\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\ub370\uc774\ud2b8\ud558\uae30 \uc88b\uc740 \ub808\uc2a4\ud1a0\ub791\uc744 \ucc3e\uc544 \ud14c\uc774\ube14\uc744 \uc608\uc57d\ud558\uace0 \uc2f6\uc73c\uc2e0\uac00\uc694? \uac80\uc0c9\ubd80\ud130 \uc608\uc57d\uae4c\uc9c0 \uc778\uacf5\uc9c0\ub2a5 \uc5d0\uc774\uc804\ud2b8\uc5d0\uac8c \ub9e1\uaca8\ubcf4\uc138\uc694.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">CRM\uc5d0\uc11c \uc0c8\ub85c\uc6b4 \uace0\uac1d \ucc38\uc5ec\ub97c \ucd94\uc801\ud558\uace0 \ub9de\ucda4\ud615 \uac1c\uc778\ud654 \uc774\uba54\uc77c\uc744 \ubcf4\ub0b4\uc57c \ud558\ub098\uc694? \ucd94\uc801\ubd80\ud130 \uc774\uba54\uc77c \uc791\uc131, \ubc1c\uc1a1\uae4c\uc9c0 AI \uc5d0\uc774\uc804\ud2b8\uc5d0\uac8c \ub9e1\uae30\uc138\uc694.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uae30\ubcf8\uc801\uc73c\ub85c \uc0c1\ub2f4\uc6d0\uc740 \uc628\ub77c\uc778\uc5d0\uc11c \uac70\uc758 \ubaa8\ub4e0 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\ub7ec \uc0c1\ub2f4\uc6d0\uc774 \ud568\uaed8 \uc791\uc5c5\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc0c1\ub2f4\uc6d0\uc5d0\uac8c \ud544\uc694\ud55c \uac83\uc740 <\/span><i><span style=\"font-weight: 400;\">\uc791\uc5c5<\/span><\/i><span style=\"font-weight: 400;\"> \ub85c \uc124\uc815\ud558\uba74 \ud574\ub2f9 \uc791\uc5c5\uc744 \uc644\ub8cc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc5d0\uc774\uc804\ud2b8 AI\ub97c \uad6c\ucd95\ud558\uac70\ub098 \uc0ac\uc6a9\ud558\ub824\uba74 \ub9c9\ub300\ud55c \ube44\uc6a9\uc774 \ub4e4 \uac83\uc774\ub77c\uace0 \uc0dd\uac01\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ubd84\uc57c\uc5d0\uc11c \uac00\uc7a5 \ud070 \uaddc\ubaa8\uc758 \ud68c\uc0ac \uc911 \uc77c\ubd80\ub294 \ub9e4\uc6b0 \ub192\uc740 \uc6d4 \uc0ac\uc6a9\ub8cc\ub97c \ubc1b\uace0 \uc774\ub7ec\ud55c \uc11c\ube44\uc2a4\ub97c \uc81c\uacf5\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc Python\uacfc JavaScript\uc5d0 \ub300\ud55c \uc57d\uac04\uc758 \uc9c0\uc2dd\ub9cc \uc788\uc73c\uba74 \ud480 \uc2a4\ud0dd AI \uc5d0\uc774\uc804\ud2b8 \uc6f9 \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ubb34\ub8cc\ub85c \uad6c\ucd95\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ubb34\uc5c7\ubcf4\ub2e4\ub3c4 \uace0\uc131\ub2a5 \ub370\uc774\ud130 \uc800\uc7a5, \uac80\uc0c9 \ubc0f \uc804\uccb4 \ud14d\uc2a4\ud2b8 \uac80\uc0c9 \uae30\ub2a5\uc744 \uc704\ud574 Couchbase\ub97c \uc27d\uac8c \ud1b5\ud569\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc644\uc804 \uad00\ub9ac\ud615 \uc11c\ube44\uc2a4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc778 Couchbase Capella\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc644\uc804 \ubb34\ub8cc \uc601\uad6c \ud2f0\uc5b4\ub3c4 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/github.com\/hummusonrails\/browser-use-agent-with-couchbase\/blob\/main\/README.md\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-17002 alignright\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/Screenshot-2025-03-31-at-4.24.40\u202fPM-1024x675.png\" alt=\"\" width=\"412\" height=\"272\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/Screenshot-2025-03-31-at-4.24.40\u202fPM-1024x675.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/Screenshot-2025-03-31-at-4.24.40\u202fPM-300x198.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/Screenshot-2025-03-31-at-4.24.40\u202fPM-768x506.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/Screenshot-2025-03-31-at-4.24.40\u202fPM-1536x1012.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/Screenshot-2025-03-31-at-4.24.40\u202fPM-2048x1350.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/Screenshot-2025-03-31-at-4.24.40\u202fPM-1320x870.png 1320w\" sizes=\"auto, (max-width: 412px) 100vw, 412px\" \/><\/a>\uc81c\uac00 \ud765\ubbf8\ub97c \uc790\uadf9\ud588\ub098\uc694? \uc88b\uc740 \uc18c\uc2dd\uc774 \uc788\uc2b5\ub2c8\ub2e4! \ucc98\uc74c\ubd80\ud130 \ub9cc\ub4e4 \ud544\uc694\ub3c4 \uc5c6\uc2b5\ub2c8\ub2e4. \uc804\uccb4 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc740 \uc81c <a href=\"https:\/\/github.com\/hummusonrails\/browser-use-agent-with-couchbase\">\uc624\ud508 \uc18c\uc2a4 \ube0c\ub77c\uc6b0\uc800 \uc5d0\uc774\uc804\ud2b8 GitHub \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac<\/a> &#8211; <\/span><span style=\"font-weight: 400;\">\uc0ac\uc6a9 \ubc29\ubc95\uc5d0 \ub300\ud55c \uc124\uba85\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc544\ud0a4\ud14d\ucc98\uc640 \uad6c\ucd95 \ubc29\uc2dd\uc744 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uc791\ub3d9 \ubc29\uc2dd\uc744 \ub354 \uc798 \uc774\ud574\ud558\uba74 \uac01\uc790\uc758 \uc0ac\uc6a9 \uc0ac\ub840\uc5d0 \ub9de\uac8c \uc870\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc740 React \ud504\ub860\ud2b8\uc5d4\ub4dc\uc640 Python \ubc31\uc5d4\ub4dc\ub85c \uad6c\uc131\ub429\ub2c8\ub2e4. \uc5ec\uae30\uc11c\ub294 \ubc31\uc5d4\ub4dc\uc5d0 \ucd08\uc810\uc744 \ub9de\ucd94\uaca0\uc2b5\ub2c8\ub2e4. \ubc31\uc5d4\ub4dc\ub294 \uc5d0\uc774\uc804\ud2b8\uc758 \uc791\uc5c5\uacfc Couchbase\uc640\uc758 \uc0c1\ud638 \uc791\uc6a9\uc774 \uc774\ub8e8\uc5b4\uc9c0\ub294 \uacf3\uc774\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \ud504\ub860\ud2b8\uc5d4\ub4dc\ub294 \ubaa8\ubc14\uc77c \uc6b0\uc120 \ub514\uc790\uc778\uc744 \uc81c\uacf5\ud558\ub294 GitHub\uc5d0\uc11c \uc790\uc720\ub86d\uac8c \uc0b4\ud3b4\ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">\uc791\ub3d9 \ubc29\uc2dd \uc0b4\ud3b4\ubcf4\uae30<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">\uc774 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uae30\ubc18\uc740 React \ud504\ub860\ud2b8\uc5d4\ub4dc\uc640 Python \ubc31\uc5d4\ub4dc\uc758 \uc870\ud654\ub85c\uc6b4 \uc870\ud569\uc785\ub2c8\ub2e4. \ud504\ub860\ud2b8\uc5d4\ub4dc\uac00 \uc6d0\ud65c\ud558\uace0 \ubc18\uc751\uc774 \ube60\ub978 \uc0ac\uc6a9\uc790 \uacbd\ud5d8\uc744 \ubcf4\uc7a5\ud558\ub294 \ubc18\uba74, \ubc31\uc5d4\ub4dc\ub294 AI \uc5d0\uc774\uc804\ud2b8\uac00 \uc791\ub3d9\ud558\uc5ec \uc0ac\uc6a9\uc790 \uc694\uccad\uc744 \ucc98\ub9ac\ud558\uace0 \ub370\uc774\ud130 \uad00\ub9ac\ub97c \uc704\ud574 Couchbase\uc640 \uc0c1\ud638 \uc791\uc6a9\ud558\ub294 \uacf3\uc785\ub2c8\ub2e4.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">\ube0c\ub77c\uc6b0\uc800\ub97c \uc0ac\uc6a9\ud558\ub294 AI \uc5d0\uc774\uc804\ud2b8<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">AI \uc5d0\uc774\uc804\ud2b8\uc758 \ud575\uc2ec\uc740 \ub2e4\uc74c\uc744 \ud1b5\ud569\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. <a href=\"https:\/\/browser-use.com\/\">\ube0c\ub77c\uc6b0\uc800 \uc0ac\uc6a9\uc758 \uc624\ud508 \uc18c\uc2a4 \ud30c\uc774\uc36c \ub77c\uc774\ube0c\ub7ec\ub9ac<\/a>. \uc774 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 \uc0c1\ub2f4\uc6d0\uc774 \ube0c\ub77c\uc6b0\uc800 \uc791\uc5c5\uc744 \uc2dc\ubbac\ub808\uc774\uc158\ud558\uc5ec \ub2e4\uc591\ud55c \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\ub3c4\ub85d \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \ub808\uc2a4\ud1a0\ub791 \uc6f9\uc0ac\uc774\ud2b8\ub85c \uc774\ub3d9\ud558\uc5ec \ud14c\uc774\ube14\uc744 \uc608\uc57d\ud558\uac70\ub098 CRM\uc5d0 \uc561\uc138\uc2a4\ud558\uc5ec \uace0\uac1d \ucc38\uc5ec\ub97c \ucd94\uc801\ud558\ub294 \ub4f1 \ube0c\ub77c\uc6b0\uc800 \uc0ac\uc6a9\uc740 \uc0c1\ub2f4\uc6d0\uc774 \uc6f9 \ub9ac\uc18c\uc2a4\uc640 \ud6a8\uacfc\uc801\uc73c\ub85c \uc0c1\ud638 \uc791\uc6a9\ud558\ub294 \ub370 \ud544\uc694\ud55c \ub3c4\uad6c\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\ube0c\ub77c\uc6b0\uc800 \uc0ac\uc6a9 AI \uc5d0\uc774\uc804\ud2b8\ub97c \ucd08\uae30\ud654\ud558\ub824\uba74 Python \ubc31\uc5d4\ub4dc\uc5d0\uc11c \uba87 \uc904\uc758 \ucf54\ub4dc\ub9cc \uc785\ub825\ud558\uba74 \ub429\ub2c8\ub2e4:<\/span><\/p>\n<pre class=\"nums:false lang:python decode:true\">async def run_browser_agent(task: str):\r\n    \"\"\"\r\n    \ube0c\ub77c\uc6b0\uc800 \uc5d0\uc774\uc804\ud2b8\ub97c \uc2e4\ud589\ud558\uace0 \uadf8 \uacb0\uacfc\ub97c JSON \uc9c1\ub82c\ud654 \uac00\ub2a5\ud55c \ud615\uc2dd\uc73c\ub85c \ubc18\ud658\ud569\ub2c8\ub2e4.\r\n    \"\"\"\r\n    agent = \uc5d0\uc774\uc804\ud2b8(task=task, llm=llm, use_vision=True, max_failures=3, retry_delay=5)\r\n    history = await agent.run(max_steps=50)\r\n\r\n    serialized_results = []\r\n    if history \ubc0f history.history:\r\n        history.history\uc758 step\uc5d0 \ub300\ud574\r\n            if step.result:\r\n                if isinstance(step.result, list):\r\n                    for res in step.result:\r\n                        serialized_results.append(vars(res))\r\n                else:\r\n                    serialized_results.append(vars)\r\n\r\n    serialized_results \ubc18\ud658<\/pre>\n<p><span style=\"font-weight: 400;\">\uc5d0\uc774\uc804\ud2b8\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uc5ec\ub7ec \ub9e4\uac1c \ubcc0\uc218\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc778\uc2a4\ud134\uc2a4\ud654\ub429\ub2c8\ub2e4:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\uc218\ud589\ud558\ub824\ub294 \ud2b9\uc815 \uc791\uc5c5<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\ub3c5\ub9bd\uc801\uc778 \uc5f0\uad6c \uacb0\uacfc\ub97c \ubd84\uc11d\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 \ub300\uaddc\ubaa8 \uc5b8\uc5b4 \ubaa8\ub378(\uc774 \ud504\ub85c\uc81d\ud2b8\ub294 \ud604\uc7ac Anthropic, OpenAI, DeepSeek, Qwen, Azure, Gemini \ub4f1\uc744 \uc9c0\uc6d0\ud568)<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\uc5d0 \ub300\ud55c \ubd80\uc6b8 \uac12\uc785\ub2c8\ub2e4. <\/span><span style=\"font-weight: 400;\">\ube44\uc804<\/span><span style=\"font-weight: 400;\">\ub97c \ud1b5\ud574 \uc5d0\uc774\uc804\ud2b8\uac00 \uc5f0\uad6c \uc774\ubbf8\uc9c0\ub97c \ubd84\uc11d\ud560 \uc218 \uc788\ub294 \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\uc791\uc5c5\uc744 \uc2e4\ud328\ub85c \uc885\ub8cc\ud558\uae30 \uc804\uc5d0 \ud5c8\uc6a9\ud560 \uc2e4\ud328 \ud69f\uc218\uc785\ub2c8\ub2e4.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\uc7ac\uc2dc\ub3c4 \uc0ac\uc774\uc758 \ub300\uae30 \uc2dc\uac04(\ucd08)<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\uc791\uc5c5\uc744 \uc644\ub8cc\ud558\uae30 \uc704\ud574 \uc0c1\ub2f4\uc6d0\uc774 \uc2e4\ud589\ud560 \uc218 \uc788\ub3c4\ub85d \uad8c\ud55c\uc744 \ubd80\uc5ec\ud55c \ub2e8\uacc4 \uc218<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">\uc5d0\uc774\uc804\ud2b8\ub97c \uc778\uc2a4\ud134\uc2a4\ud654\ud558\uae30 \uc704\ud55c \ub098\uba38\uc9c0 \ucf54\ub4dc\ub294 \uacb0\uacfc\ub97c \ubc18\ud658\ud558\ub294 \ub370\ub9cc \uad00\ub828\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc5d0\uc774\uc804\ud2b8\ub97c \uc0dd\uc131\ud558\uace0 \uc138\uc0c1\uc5d0 \ub0b4\ub193\ub294 \ub370 \ud544\uc694\ud55c \uac83\uc740 \uc774\uac83\ubfd0\uc785\ub2c8\ub2e4. \ud30c\uc774\uc36c \uba87 \uc904\uc774\uba74 \ub429\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">AI \uc5d0\uc774\uc804\ud2b8\ub294 \ub808\uc2a4\ud1a0\ub791 \uc608\uc57d\uc774\ub098 \uac1c\uc778\ud654\ub41c \uc774\uba54\uc77c \uc804\uc1a1\uacfc \uac19\uc740 \uc791\uc5c5\uc744 \uc218\uc2e0\ud558\uba74 \ube0c\ub77c\uc6b0\uc800 \uc0ac\uc6a9 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ud65c\uc6a9\ud558\uc5ec \uc628\ub77c\uc778\uc5d0\uc11c \ud544\uc694\ud55c \uc791\uc5c5\uc744 \uc218\ud589\ud569\ub2c8\ub2e4. \uc5ec\uae30\uc5d0\ub294 \uc6f9\uc0ac\uc774\ud2b8 \ud0d0\uc0c9, \uc591\uc2dd \uc791\uc131, \uc815\ubcf4 \uad6c\ubb38 \ubd84\uc11d \ub4f1\uc774 \ud3ec\ud568\ub418\uba70, \uc774 \ubaa8\ub4e0 \uc791\uc5c5\uc740 \uc0ac\uc6a9\uc790 \uc694\uccad\uc744 \ud6a8\uc728\uc801\uc73c\ub85c \ucc98\ub9ac\ud558\uae30 \uc704\ud574 \ud504\ub85c\uadf8\ub798\ubc0d \ubc29\uc2dd\uc73c\ub85c \uc2e4\ud589\ub429\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\ub370\uc774\ud130 \uc9c0\uc18d\uc131 \ubc0f \uac80\uc0c9\uc740 \ucd5c\uc2e0 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uae30\ubcf8 \uae30\ub2a5\uc785\ub2c8\ub2e4. \ucc44\ud305 \uae30\ub85d\uacfc \uac19\uc740 \uc0ac\uc6a9\uc790 \ubaa9\uc801\uc744 \uc704\ud574 \ub370\uc774\ud130\ub97c \ubcf4\uc874\ud560 \uc218 \uc788\uc744 \ubfd0\ub9cc \uc544\ub2c8\ub77c \ub2e4\uc74c\uacfc \uac19\uc740 \ubc29\ubc95\ub860\uc744 \uc0ac\uc6a9\ud558\uc5ec \ubcf4\uc874\ub41c \ub370\uc774\ud130\ub85c \uc0c1\ub2f4\uc6d0\uc5d0\uac8c \ucd94\uac00\uc801\uc778 \ucee8\ud14d\uc2a4\ud2b8\ub97c \uc81c\uacf5\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/ai-powered-recommendation-engine-llm-rag\/\">\uac80\uc0c9 \uc99d\uac15 \uc0dd\uc131(RAG)<\/a>. \ub2e4\uc74c\uc744 \uc77d\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/ai-powered-recommendation-engine-llm-rag\/\">\uc774 \ubb38\uc11c<\/a> <\/span><span style=\"font-weight: 400;\">\uc5d0\uc11c \ud574\ub2f9 \uc8fc\uc81c\ub97c \ub354 \uc790\uc138\ud788 \uc0b4\ud3b4\ubcf4\uc138\uc694.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc9c0\uae08\uc740 Couchbase\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc0c1\ub2f4\uc6d0 \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \ub370\uc774\ud130 \uc9c0\uc18d\uc131 \ubc0f \uac80\uc0c9 \uae30\ub2a5\uc744 \ub3c4\uc785\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">\uc804\uccb4 \ud14d\uc2a4\ud2b8 \uac80\uc0c9\uc744 \uc704\ud574 Couchbase\uc640 \uc0c1\ud638 \uc791\uc6a9\ud558\uae30<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Couchbase\ub294 \ucc44\ud305 \ub370\uc774\ud130\ub97c \ud6a8\uc728\uc801\uc73c\ub85c \uad00\ub9ac\ud558\uace0 \uac80\uc0c9\ud558\ub294 \ub370 \uc911\ucd94\uc801\uc778 \uc5ed\ud560\uc744 \ud569\ub2c8\ub2e4. \ubc31\uc5d4\ub4dc\ub294 Couchbase \uc804\uccb4 \ud14d\uc2a4\ud2b8 \uac80\uc0c9(FTS) \uae30\ub2a5\uc744 \ud65c\uc6a9\ud558\uc5ec \ubc29\ub300\ud55c \ucc44\ud305 \uae30\ub85d\uc744 \uc2e0\uc18d\ud558\uac8c \uac80\uc0c9\ud558\uc5ec \uc0ac\uc6a9\uc790 \ucffc\ub9ac\ub97c \uae30\ubc18\uc73c\ub85c \uad00\ub828 \ub300\ud654\ub97c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uc740 Couchbase Python SDK\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubc31\uc5d4\ub4dc\uac00 FTS\ub97c \uc704\ud574 Couchbase\uc640 \uc0c1\ud638 \uc791\uc6a9\ud558\ub294 \uac04\uc18c\ud654\ub41c \uc608\uc2dc\uc785\ub2c8\ub2e4:<\/span><\/p>\n<pre class=\"nums:false lang:python decode:true\">\uc785\ub825\uc5d0\uc11c \ubaa9\ub85d \uac00\uc838\uc624\uae30\r\ncouchbase.search\uc5d0\uc11c \ucffc\ub9ac \ubb38\uc790\uc5f4 \ucffc\ub9ac, \uac80\uc0c9 \uc635\uc158 \uac00\uc838\uc624\uae30\r\n\ub85c\uae45 \uac00\uc838\uc624\uae30\r\n\r\ndef search_chats(user_id: str, search_text: str) -&gt; List[dict]:\r\n    \"\"\"\r\n    Couchbase FTS\ub97c \uc0ac\uc6a9\ud558\uc5ec search_text\ub97c \uae30\ubc18\uc73c\ub85c \uc9c0\uc815\ub41c \uc0ac\uc6a9\uc790\uc758 \ucc44\ud305\uc744 \uac80\uc0c9\ud569\ub2c8\ub2e4.\r\n\r\n    Args:\r\n        user_id (\ubb38\uc790\uc5f4): \uc0ac\uc6a9\uc790\uc758 ID\uc785\ub2c8\ub2e4.\r\n        search_text (\ubb38\uc790\uc5f4): \ucc44\ud305 \uc774\ub984 \ub0b4\uc5d0\uc11c \uac80\uc0c9\ud560 \ud14d\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\r\n\r\n    \ubc18\ud658\ud569\ub2c8\ub2e4:\r\n        List[\ub515\uc154\ub108\ub9ac]: \uac80\uc0c9 \uc870\uac74\uacfc \uc77c\uce58\ud558\ub294 \ucc44\ud305 \ubb38\uc11c \ubaa9\ub85d\uc785\ub2c8\ub2e4.\r\n    \"\"\"\r\n\r\n    try:\r\n        # \uc9c0\uc815\ub41c FTS \uc778\ub371\uc2a4\uc5d0 \ub300\ud574 \uac80\uc0c9 \ucffc\ub9ac\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4.\r\n        search_result = cluster.search_query(\r\n            \"\ubc84\ud0b7 \uc774\ub984.\ubc94\uc704 \uc774\ub984.\uac80\uc0c9 \uc778\ub371\uc2a4 \uc774\ub984\",\r\n            \ucffc\ub9ac \ubb38\uc790\uc5f4 \ucffc\ub9ac(search_text),\r\n            SearchOptions(fields=[\"chat_id\", \"user_id\", \"name\", \"messages.content\", \"messages.timestamp\", \"messages.sender\"])\r\n        )\r\n\r\n        results = []\r\n\r\n        search_result.rows()\uc758 \ud589\uc5d0 \ub300\ud574:\r\n            chat = row.fields.copy()\r\n\r\n            # \uba54\uc2dc\uc9c0 \uc138\ubd80 \uc815\ubcf4 \ucd94\ucd9c\r\n            messages_content = chat.get(\"messages.content\", [])\r\n            messages_timestamp = chat.get(\"messages.timestamp\", [])\r\n            messages_sender = chat.get(\"messages.sender\", [])\r\n\r\n            # \ubaa8\ub4e0 \uba54\uc2dc\uc9c0 \ubaa9\ub85d\uc774 \uc815\ub82c\ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\r\n            if len(messages_content) == len(messages_timestamp) == len(messages_sender):\r\n                chat[\"messages\"] = [\r\n                    {\r\n                        \"content\": \ub0b4\uc6a9,\r\n                        \"timestamp\": \ud0c0\uc784\uc2a4\ud0ec\ud504,\r\n                        \"\ubcf4\ub0b8 \uc0ac\ub78c\": \ubcf4\ub0b8 \uc0ac\ub78c\r\n                    }\r\n                    zip(messages_content, messages_timestamp, messages_sender)\uc758 \ucf58\ud150\uce20, \ud0c0\uc784\uc2a4\ud0ec\ud504, \ubc1c\uc2e0\uc790\uc5d0 \ub300\ud574\r\n                ]\r\n            else:\r\n                logging.warning(\"\uba54\uc2dc\uc9c0 \ud544\ub4dc \ubd88\uc77c\uce58. \ucf58\ud150\uce20\ub9cc \ud3ec\ud568.\")\r\n                chat[\"messages\"] = [{\"content\": content} for content_content]\r\n\r\n            # \uc911\ubcf5 \ud544\ub4dc \uc815\ub9ac\ud558\uae30\r\n            chat.pop(\"messages.content\", None)\r\n            chat.pop(\"messages.timestamp\", None)\r\n            chat.pop(\"messages.sender\", None)\r\n\r\n            results.append(chat)\r\n\r\n        # \uc9c0\uc815\ub41c \uc0ac\uc6a9\uc790\uc5d0 \uc18d\ud55c \ucc44\ud305 \ud544\ud130\ub9c1\ud558\uae30\r\n        user_chats = [\ucc44\ud305.get(\"user_id\") == user_id\uc774\uba74 \uacb0\uacfc\uc5d0\uc11c \ucc44\ud305\uc5d0 \ub300\ud55c \ucc44\ud305]\r\n\r\n        logging.info(f\"\uac80\uc0c9 \uacb0\uacfc '{user_id}' \uc0ac\uc6a9\uc790\uc5d0 \ub300\ud55c {len(user_chats)} \ucc44\ud305\uc774 \ubc18\ud658\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\")\r\n\r\n        user_chats \ubc18\ud658\r\n\r\n    \uc608\uc678\ub294 e\ub85c \uc81c\uc678\ud569\ub2c8\ub2e4:\r\n        logging.error(f\"\uac80\uc0c9 \uc911 \uc624\ub958: {e}\")\r\n        \ubc18\ud658 []<\/pre>\n<p><span style=\"font-weight: 400;\">\uc774 \uc2a4\ub2c8\ud3ab\uc5d0\uc11c\ub294<\/span><em><span style=\"font-weight: 400;\"> \uac80\uc0c9_\ucc44\ud305<\/span><\/em><span style=\"font-weight: 400;\"> \ud568\uc218\ub294 \uc0ac\uc6a9\uc790 \uc785\ub825\uc744 \uae30\ubc18\uc73c\ub85c \uad00\ub828 \ucc44\ud305 \ub300\ud654\ub97c \uac80\uc0c9\ud558\ub294 \ub370 \ud575\uc2ec\uc801\uc778 \uc5ed\ud560\uc744 \ud569\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\uac00 \uac80\uc0c9 \ucffc\ub9ac\ub97c \uc785\ub825\ud558\uba74 \uc774 \ud568\uc218\ub294 Couchbase \ub0b4\uc758 FTS \uc778\ub371\uc2a4\ub97c \ub300\uc0c1\uc73c\ub85c \uac80\uc0c9 \uc694\uccad\uc744 \uad6c\uc131\ud569\ub2c8\ub2e4. \uac80\uc0c9\ud560 \ud544\ub4dc\ub97c \uc9c0\uc815\ud558\uc5ec \ub2e4\uc74c\uacfc \uac19\uc740 \ubaa8\ub4e0 \ud544\uc218 \uc815\ubcf4\uac00 \ud3ec\ud568\ub418\ub3c4\ub85d \ud569\ub2c8\ub2e4. <\/span><em><span style=\"font-weight: 400;\">chat_id<\/span><\/em><span style=\"font-weight: 400;\">, <\/span><em><span style=\"font-weight: 400;\">user_id<\/span><\/em><span style=\"font-weight: 400;\">, <em>\uc774\ub984<\/em>\ubc0f <\/span><em><span style=\"font-weight: 400;\">\uba54\uc2dc\uc9c0<\/span><\/em><span style=\"font-weight: 400;\"> \uc138\ubd80 \uc815\ubcf4\uac00 \uac80\uc0c9 \uacb0\uacfc\uc5d0 \ud3ec\ud568\ub429\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-17003 alignright\" style=\"border: 1px solid Gainsboro;\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/chat_interface_example.png\" alt=\"\" width=\"268\" height=\"574\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/chat_interface_example.png 406w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/chat_interface_example-140x300.png 140w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/chat_interface_example-300x643.png 300w\" sizes=\"auto, (max-width: 268px) 100vw, 268px\" \/>\uc774 \uae30\ub2a5\uc740 \uac01 \uac80\uc0c9 \uacb0\uacfc\ub97c \ucc98\ub9ac\ud560 \ub54c \uba54\uc2dc\uc9c0 \ub0b4\uc6a9, \ud0c0\uc784\uc2a4\ud0ec\ud504, \ubc1c\uc2e0\uc790\ub97c \uaf3c\uaf3c\ud558\uac8c \uc815\ub9ac\ud558\uc5ec \ub370\uc774\ud130 \uad6c\uc870\uac00 \uc77c\uad00\uc131 \uc788\uace0 \uc548\uc815\uc801\uc73c\ub85c \uc720\uc9c0\ub418\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc138\uc2ec\ud55c \ucc98\ub9ac \ub355\ubd84\uc5d0 \ud504\ub860\ud2b8\uc5d4\ub4dc\ub294 \uc798 \uad6c\uc870\ud654\ub41c \ub370\uc774\ud130\ub97c \uc218\uc2e0\ud558\uc5ec \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc544\ubb34\ub7f0 \ubb38\uc81c \uc5c6\uc774 \ud45c\uc2dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">AI \uc5d0\uc774\uc804\ud2b8\uc640 Couchbase \uac04\uc758 \uc0c1\ud638 \uc791\uc6a9\uc740 \ubaa8\ub4e0 \uc0ac\uc6a9\uc790 \uc0c1\ud638\uc791\uc6a9\uc744 \uc548\uc804\ud558\uac8c \uc800\uc7a5\ud558\uace0 \ud544\uc694\ud560 \ub54c \uc2e0\uc18d\ud558\uac8c \uac80\uc0c9\ud560 \uc218 \uc788\ub3c4\ub85d \ubcf4\uc7a5\ud569\ub2c8\ub2e4. \ucc44\ud305 \uae30\ub85d\uc744 \uac00\uc838\uc624\ub4e0 \uc0ac\uc6a9\uc790 \uae30\ubcf8 \uc124\uc815\uc744 \uc5c5\ub370\uc774\ud2b8\ud558\ub4e0, Couchbase\ub294 \uc18d\ub3c4\ub098 \uc548\uc815\uc131\uc744 \uc800\ud558\uc2dc\ud0a4\uc9c0 \uc54a\uc73c\uba74\uc11c \uc99d\uac00\ud558\ub294 \uc0ac\uc6a9\uc790 \uae30\ubc18\uc744 \ucc98\ub9ac\ud558\ub294 \ub370 \ud544\uc694\ud55c \ud655\uc7a5\uc131\uacfc \uc131\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc0ac\uc6a9\uc790\uac00 \ud504\ub860\ud2b8\uc5d4\ub4dc\uc5d0\uc11c \uac80\uc0c9\uc744 \uc2dc\uc791\ud558\uba74 React \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ucffc\ub9ac\ub97c \ubc31\uc5d4\ub4dc\ub85c \uc804\uc1a1\ud569\ub2c8\ub2e4. AI \uc5d0\uc774\uc804\ud2b8\ub294 \uc774 \uc694\uccad\uc744 \ucc98\ub9ac\ud558\uace0 Couchbase\uc640 \uc0c1\ud638 \uc791\uc6a9\ud558\uc5ec \uad00\ub828 \ucc44\ud305\uc744 \uac00\uc838\uc628 \ub2e4\uc74c \uacb0\uacfc\ub97c \ub2e4\uc2dc \ud504\ub860\ud2b8\uc5d4\ub4dc\ub85c \ubcf4\ub0c5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc655\ubcf5 \uacfc\uc815\uc744 \ud1b5\ud574 \uc0ac\uc6a9\uc790\ub294 \uc815\ud655\ud558\uace0 \uc2dc\uae30\uc801\uc808\ud55c \uc815\ubcf4\ub97c \ubc1b\uc544 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \ub300\ud55c \uc804\ubc18\uc801\uc778 \uacbd\ud5d8\uc744 \ud5a5\uc0c1\uc2dc\ud0ac \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc774 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc740 \ube0c\ub77c\uc6b0\uc800 \uc0ac\uc6a9 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 \uae30\ub2a5\uacfc \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc758 \ub370\uc774\ud130 \uad00\ub9ac \uae30\ub2a5\uc744 \uacb0\ud569\ud558\uc5ec \uc885\ud569\uc801\uc778 AI \uc0c1\ub2f4\uc6d0 \uacbd\ud5d8\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \uc628\ub77c\uc778 \uc791\uc5c5\uc744 \uad00\ub9ac\ud558\uace0, \uc0c1\ub2f4\uc6d0\uacfc \uc758\ubbf8 \uc788\ub294 \ub300\ud654\ub97c \ub098\ub204\uba70, \uc2dc\uc2a4\ud15c\uc744 \ud1b5\ud574 \ubcf5\uc7a1\ud55c \uc791\uc5c5\uc744 \ubc31\uadf8\ub77c\uc6b4\ub4dc\uc5d0\uc11c \ucc98\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc774 \uc544\ud0a4\ud14d\ucc98\ub294 \uc989\uac01\uc801\uc778 \uae30\ub2a5\uc744 \uc81c\uacf5\ud560 \ubfd0\ub9cc \uc544\ub2c8\ub77c \ud5a5\ud6c4 \uac1c\uc120\uc744 \uc704\ud55c \uacac\uace0\ud55c \uae30\ubc18\uc744 \ub9c8\ub828\ud569\ub2c8\ub2e4. \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ubc1c\uc804\ud568\uc5d0 \ub530\ub77c \ud504\ub860\ud2b8\uc5d4\ub4dc, AI \uc5d0\uc774\uc804\ud2b8, Couchbase \uac04\uc758 \ud1b5\ud569\uc744 \ud1b5\ud574 \uc0ac\uc6a9\uc790 \uc694\uad6c\uc5d0 \ub9de\uac8c \uc801\uc751\ub825\uacfc \ud655\uc7a5\uc131, \ubc18\uc751\uc131\uc744 \uc720\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">\ub9c8\ubb34\ub9ac<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">\ub2e4\uc74c\uc5d0 AI \uc5d0\uc774\uc804\ud2b8 \uc11c\ube44\uc2a4\uac00 \ucd9c\uc2dc\ub418\ub294 \uac83\uc744 \ubcf4\uace0 \uc2e0\uc6a9\uce74\ub4dc\ub85c \uc6d4 \uccad\uad6c\uc11c\ub97c \uac10\ub2f9\ud560 \uc218 \uc5c6\uc5b4 \ud3ec\ubaa8(FOMO)\ub97c \ub290\ub080\ub2e4\uba74, \uc57d\uac04\uc758 \ud30c\uc774\uc36c\uacfc \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\ub9cc \uc788\uc73c\uba74 \ub098\ub9cc\uc758 \uc5d0\uc774\uc804\ud2b8\ub97c \ub9c8\uc74c\ub300\ub85c \ub9cc\ub4e4 \uc218 \uc788\ub2e4\ub294 \uc0ac\uc2e4\uc744 \uae30\uc5b5\ud558\uc138\uc694.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc2dc\uc791\ud558\uace0 \uc2f6\uc73c\uc2e0\uac00\uc694? \ub2e4\uc74c\uc5d0\uc11c \ud504\ub85c\uc81d\ud2b8\ub85c \uc774\ub3d9\ud558\uc138\uc694. <a href=\"https:\/\/github.com\/hummusonrails\/browser-use-agent-with-couchbase\">GitHub<\/a><\/span><span style=\"font-weight: 400;\">\ub97c \ud074\ub9ad\ud558\uace0 \ucef4\ud4e8\ud130\uc5d0 \ubcf5\uc81c\ud55c \ub2e4\uc74c \uc0ac\uc6a9 \uc124\uba85\uc11c\uc758 \uc9c0\uce68\uc5d0 \ub530\ub77c \uc2e4\ud589\ud574 \ubcf4\uc138\uc694.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc5d0\uc774\uc804\ud2b8\uc5d0\uac8c \uc5b4\ub5a4 \uc2dc\uac04 \uc808\uc57d \uc791\uc5c5\uc744 \ub9e1\uae30\uace0 \uc2f6\uc73c\uc2e0\uac00\uc694? \ud65c\ubc1c\ud558\uac8c \uc131\uc7a5\ud558\uace0 \uc788\ub294 Discord \ucee4\ubba4\ub2c8\ud2f0\uc5d0 \ucc38\uc5ec\ud558\uc5ec \uc5ec\ub7ec\ubd84\uc774 \uad6c\ucd95\ud55c \uac83\uc744 \uacf5\uc720\ud558\uc138\uc694!<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>\ub2e4\uc74c\uc5d0\uc11c AI \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud558\uae30 \uc2dc\uc791\ud558\uc138\uc694. <a href=\"https:\/\/cloud.couchbase.com\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uce74\ud3a0\ub77c<\/a> \uc624\ub298, \ubb34\ub8cc\ub85c<\/li>\n<\/ul>\n<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>If 2024 was the year of AI chatbots, then 2025 is the year of AI agents. At first glance, they may seem similar, but nothing could be farther from the truth. While you may interact with an AI agent in [&hellip;]<\/p>","protected":false},"author":85356,"featured_media":17004,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[10123,10122,1815,2165,9973,9139],"tags":[9924],"ppma_author":[9985],"class_list":["post-17001","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-agentic-ai-apps","category-artificial-intelligence-ai","category-best-practices-and-tutorials","category-full-text-search","category-generative-ai-genai","category-python","tag-rag-retrieval-augmented-generation"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Build Your First Open Source AI Agent with Couchbase - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Build an open-source AI agent with Python, JavaScript, and Couchbase. Automate tasks and deploy your own AI assistant\u2014completely free!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/ko\/build-your-first-open-source-ai-agent-with-couchbase\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Build Your First Open Source AI Agent with Couchbase\" \/>\n<meta property=\"og:description\" content=\"Build an open-source AI agent with Python, JavaScript, and Couchbase. Automate tasks and deploy your own AI assistant\u2014completely free!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/build-your-first-open-source-ai-agent-with-couchbase\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-01T15:00:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-13T23:39:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-13.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ben Greenberg, Senior Developer Evangelist\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ben Greenberg, Senior Developer Evangelist\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/\"},\"author\":{\"name\":\"Ben Greenberg, Senior Developer Evangelist\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/48efa1524aec97312d92f65a270c255d\"},\"headline\":\"Build Your First Open Source AI Agent with Couchbase\",\"datePublished\":\"2025-04-01T15:00:17+00:00\",\"dateModified\":\"2025-06-13T23:39:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/\"},\"wordCount\":1323,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-13.png\",\"keywords\":[\"RAG retrieval-augmented generation\"],\"articleSection\":[\"Agentic AI Applications\",\"Artificial Intelligence (AI)\",\"Best Practices and Tutorials\",\"Full-Text Search\",\"Generative AI (GenAI)\",\"Python\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/\",\"name\":\"Build Your First Open Source AI Agent with Couchbase - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-13.png\",\"datePublished\":\"2025-04-01T15:00:17+00:00\",\"dateModified\":\"2025-06-13T23:39:40+00:00\",\"description\":\"Build an open-source AI agent with Python, JavaScript, and Couchbase. Automate tasks and deploy your own AI assistant\u2014completely free!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-13.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-13.png\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Build Your First Open Source AI Agent with Couchbase\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/48efa1524aec97312d92f65a270c255d\",\"name\":\"Ben Greenberg, Senior Developer Evangelist\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/c9bda12524045d12a5878a2ef3fbe0de\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg\",\"caption\":\"Ben Greenberg, Senior Developer Evangelist\"},\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/bengreenberg\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Build Your First Open Source AI Agent with Couchbase - The Couchbase Blog","description":"Python, JavaScript, Couchbase\ub85c \uc624\ud508 \uc18c\uc2a4 AI \uc5d0\uc774\uc804\ud2b8\ub97c \uad6c\ucd95\ud558\uc138\uc694. \uc791\uc5c5\uc744 \uc790\ub3d9\ud654\ud558\uace0 \ub098\ub9cc\uc758 AI \uc5b4\uc2dc\uc2a4\ud134\ud2b8\ub97c \uc644\uc804\ud788 \ubb34\ub8cc\ub85c \ubc30\ud3ec\ud558\uc138\uc694!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/ko\/build-your-first-open-source-ai-agent-with-couchbase\/","og_locale":"ko_KR","og_type":"article","og_title":"Build Your First Open Source AI Agent with Couchbase","og_description":"Build an open-source AI agent with Python, JavaScript, and Couchbase. Automate tasks and deploy your own AI assistant\u2014completely free!","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/build-your-first-open-source-ai-agent-with-couchbase\/","og_site_name":"The Couchbase Blog","article_published_time":"2025-04-01T15:00:17+00:00","article_modified_time":"2025-06-13T23:39:40+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-13.png","type":"image\/png"}],"author":"Ben Greenberg, Senior Developer Evangelist","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ben Greenberg, Senior Developer Evangelist","Est. reading time":"7\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/"},"author":{"name":"Ben Greenberg, Senior Developer Evangelist","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/48efa1524aec97312d92f65a270c255d"},"headline":"Build Your First Open Source AI Agent with Couchbase","datePublished":"2025-04-01T15:00:17+00:00","dateModified":"2025-06-13T23:39:40+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/"},"wordCount":1323,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-13.png","keywords":["RAG retrieval-augmented generation"],"articleSection":["Agentic AI Applications","Artificial Intelligence (AI)","Best Practices and Tutorials","Full-Text Search","Generative AI (GenAI)","Python"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/","url":"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/","name":"Build Your First Open Source AI Agent with Couchbase - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-13.png","datePublished":"2025-04-01T15:00:17+00:00","dateModified":"2025-06-13T23:39:40+00:00","description":"Python, JavaScript, Couchbase\ub85c \uc624\ud508 \uc18c\uc2a4 AI \uc5d0\uc774\uc804\ud2b8\ub97c \uad6c\ucd95\ud558\uc138\uc694. \uc791\uc5c5\uc744 \uc790\ub3d9\ud654\ud558\uace0 \ub098\ub9cc\uc758 AI \uc5b4\uc2dc\uc2a4\ud134\ud2b8\ub97c \uc644\uc804\ud788 \ubb34\ub8cc\ub85c \ubc30\ud3ec\ud558\uc138\uc694!","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-13.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-13.png","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/build-your-first-open-source-ai-agent-with-couchbase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Build Your First Open Source AI Agent with Couchbase"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","description":"NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4, Couchbase","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/48efa1524aec97312d92f65a270c255d","name":"\ubca4 \uadf8\ub9b0\ubc84\uadf8, \uc218\uc11d \uac1c\ubc1c\uc790 \uc5d0\ubc18\uc824\ub9ac\uc2a4\ud2b8","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/c9bda12524045d12a5878a2ef3fbe0de","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg","caption":"Ben Greenberg, Senior Developer Evangelist"},"url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/bengreenberg\/"}]}},"authors":[{"term_id":9985,"user_id":85356,"is_guest":0,"slug":"bengreenberg","display_name":"Ben Greenberg, Senior Developer Evangelist","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg"},"author_category":"","last_name":"Greenberg, Senior Developer Evangelist","first_name":"Ben","job_title":"Senior Developer Evangelist","user_url":"","description":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/17001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/users\/85356"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=17001"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/17001\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/17004"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=17001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=17001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=17001"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=17001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}