{"id":648611,"date":"2025-10-15T10:52:22","date_gmt":"2025-10-15T09:52:22","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=kotlin&#038;p=648611"},"modified":"2025-10-16T13:54:56","modified_gmt":"2025-10-16T12:54:56","slug":"the-kotlin-ai-stack-build-ai-agents-with-koog-code-smarter-with-junie-and-more","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/ko\/kotlin\/2025\/10\/the-kotlin-ai-stack-build-ai-agents-with-koog-code-smarter-with-junie-and-more\/","title":{"rendered":"Kotlin AI \uc2a4\ud0dd: Koog\ub85c AI \uc5d0\uc774\uc804\ud2b8 \uad6c\ucd95, Junie\ub85c \ub354 \uc2a4\ub9c8\ud2b8\ud55c \ucf54\ub529 \ub4f1"},"content":{"rendered":"<p>AI\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uad6c\ucd95\ud558\ub294 \ubc29\uc2dd\uc744 \ubc14\uafb8\uace0 \uc788\uc2b5\ub2c8\ub2e4. Kotlin\uc740 \uac1c\ubc1c\uc790\uac00 AI \uae30\ubc18 \uc571\uc744 \uad6c\ucd95\ud560 \uc218 \uc788\ub3c4\ub85d \uc9c0\uc6d0\ud558\uace0 AI \uae30\ubc18 \ub3c4\uad6c\ub97c \ud1b5\ud574 \uac1c\ubc1c\uc790 \uacbd\ud5d8\uc744 \uac1c\uc120\ud558\uc5ec \uc774\ub7ec\ud55c \ubcc0\ud654\uc5d0 \ubc1c\ub9de\ucdb0 \uac11\ub2c8\ub2e4.<\/p>\n<p>\uc774 \uae00\uc5d0\uc11c\ub294 \ub450 \uac00\uc9c0 \uce21\uba74\uc744 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \ud558\ub098\ub294 JetBrains\uc640 \ucee4\ubba4\ub2c8\ud2f0\uac00 \uc81c\uacf5\ud558\ub294 AI \uae30\ubc18 \uc571 \uac1c\ubc1c \ub3c4\uad6c\uc5d0 \uad00\ud55c \uac83\uc774\uace0, \ub2e4\ub978 \ud558\ub098\ub294 Kotlin\uc774 AI \ub3c4\uad6c\ub97c \ud1b5\ud569\ud558\uc5ec \uac1c\ubc1c \ud6a8\uc728\uc131\uc744 \uac1c\uc120\ud558\ub294 \ubc29\uc2dd\uc5d0 \uad00\ud55c \uac83\uc785\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">\uc8fc\uc694 \ub0b4\uc6a9<\/h3>\n<ul>\n<li>Koog &#8211; AI \uc5d0\uc774\uc804\ud2b8\ub97c \uad6c\ucd95\ud558\uace0 \uc2e4\ud589\ud558\uae30 \uc704\ud55c Kotlin \uae30\ubc18 \ud504\ub808\uc784\uc6cc\ud06c\n<ul>\n<li><a href=\"https:\/\/docs.koog.ai\/\" target=\"_blank\" rel=\"noreferrer noopener\">\uc0ac\uc6a9\ud574 \ubcf4\uae30<\/a><\/li>\n<\/ul>\n<\/li>\n<li>Junie &#8211; JetBrains IDE\uc5d0 \ud1b5\ud569\ub41c AI \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8(GitHub EAP \uc0ac\uc6a9 \uac00\ub2a5)\n<ul>\n<li><a href=\"https:\/\/www.jetbrains.com\/ko-kr\/junie\/\" target=\"_blank\" rel=\"noreferrer noopener\">IDE\uc5d0\uc11c Junie \uc0ac\uc6a9\ud574 \ubcf4\uae30<\/a><\/li>\n<li><a href=\"https:\/\/www.jetbrains.com\/ko-kr\/junie-github\/\" target=\"_blank\" rel=\"noreferrer noopener\">Junie on GitHub EAP\uc5d0 \ucc38\uc5ec\ud558\uae30<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h1 class=\"wp-block-heading\">Kotlin\uc744 \uc0ac\uc6a9\ud55c AI \uae30\ubc18 \uc571 \uac1c\ubc1c<\/h1>\n<p>Kotlin\uc740 AI\uc5d0 \uc801\ud569\ud560 \ubfd0\ub9cc \uc544\ub2c8\ub77c \ub300\uaddc\ubaa8 AI \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc774\ubbf8 \uc0ac\uc6a9\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, Deutsche Telekom\uc740 Kotlin\uc744 \uc0ac\uc6a9\ud558\uc5ec <a href=\"https:\/\/youtu.be\/mQhtLCMiUMA\" target=\"_blank\" rel=\"noreferrer noopener\">\uc720\ub7fd\uc5d0\uc11c \uac00\uc7a5 \ud070 LLM \uae30\ubc18 \ucc57\ubd07 \uc911 \ud558\ub098<\/a>\ub97c \uad6c\ucd95\ud588\uc2b5\ub2c8\ub2e4. JetBrains\uc5d0\uc11c\ub3c4 Kotlin\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc804\uccb4 AI \uae30\uc220 \uc2a4\ud0dd\uc744 \uad6c\ucd95\ud569\ub2c8\ub2e4. JetBrains IDE\uc758 <a href=\"https:\/\/www.jetbrains.com\/ko-kr\/junie\/\" target=\"_blank\" rel=\"noreferrer noopener\">Junie<\/a>\uc640 <a href=\"https:\/\/www.jetbrains.com\/ko-kr\/ai-assistant\/\" target=\"_blank\" rel=\"noreferrer noopener\">AI Assistant<\/a>, \uc5d0\uc774\uc804\ud2b8\ub97c \uc704\ud55c <a href=\"https:\/\/blog.jetbrains.com\/ai\/2025\/05\/meet-koog-empowering-kotlin-developers-to-build-ai-agents\/\" target=\"_blank\" rel=\"noreferrer noopener\">Koog<\/a>, \ub178\ucf54\ub4dc \uc571 \uc81c\uc791\uc744 \uc704\ud55c <a href=\"https:\/\/kineto.dev\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kineto<\/a> \ubaa8\ub450\uac00 Kotlin\uc73c\ub85c \uc791\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<p>Kotlin\uc740 \uc800\uc218\uc900 \ubaa8\ub378 \uc561\uc138\uc2a4\ubd80\ud130 \uad6c\uc870\ud654\ub41c \ub2e4\ub2e8\uacc4 \uc5d0\uc774\uc804\ud2b8 \ub85c\uc9c1\uae4c\uc9c0 \ub2e4\uc591\ud55c \uc694\uad6c \uc0ac\ud56d\uc744 \uc790\uc5f0\uc2a4\ub7fd\uac8c \uc9c0\uc6d0\ud558\ubbc0\ub85c AI \uac1c\ubc1c\uc5d0 \uc801\ud569\ud569\ub2c8\ub2e4. \uc9c0\uae08\ubd80\ud130 \uc2e4\uc81c \ud2b9\uc9d5\uc744 \uc790\uc138\ud788 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\"><strong>1. \uac04\ub2e8\ud558\uac8c \uc2dc\uc791: SDK\ub97c \ud1b5\ud574 AI \ubaa8\ub378 \ud638\ucd9c<\/strong><\/h3>\n<p>Kotlin \uc571\uc5d0 AI\ub97c \ud1b5\ud569\ud558\ub294 \uac00\uc7a5 \uc26c\uc6b4 \ubc29\ubc95 \uc911 \ud558\ub098\ub294 OpenAI\ub098 Anthropic\uc758 Java SDK\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc785\ub2c8\ub2e4(\ub458 \ubaa8\ub450 \uae30\ubcf8\uc801\uc73c\ub85c Kotlin\uc73c\ub85c \uc791\uc131\ub428). \uc774\ub97c \ud1b5\ud574 \ubaa8\ub378\uc5d0 \ub300\ud55c \uc800\uc218\uc900 \uc561\uc138\uc2a4\uc640 \ud504\ub86c\ud504\ud2b8, \ub9e4\uac1c\ubcc0\uc218 \ubc0f \ub370\uc774\ud130 \ucc98\ub9ac\uc5d0 \ub300\ud55c \uc644\uc804\ud55c \uc81c\uc5b4\uac00 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc774 \uc811\uadfc \ubc29\uc2dd\uc740 \uc2e4\ud5d8\uc744 \uc2e4\ud589\ud558\uac70\ub098 \ube60\ub978 \ucc57\ubd07, \uc694\uc57d \ub3c4\uad6c, \ucf54\ub4dc \uc0dd\uc131\uae30\uc640 \uac19\uc740 \uac04\ub2e8\ud55c AI \uae30\ub2a5\uc744 \uad6c\ucd95\ud558\ub294 \ub370 \uc801\ud569\ud569\ub2c8\ub2e4.<\/p>\n<p>\uba87 \uac00\uc9c0 \uc608\ub97c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<p><strong>OpenAI SDK<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/Kotlin\/Kotlin-AI-Examples\/blob\/master\/notebooks\/openai\/OpenAI%20Java%20SDK%20Overview.ipynb\" target=\"_blank\" rel=\"noreferrer noopener\">OpenAI Java SDK \uac1c\uc694<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Kotlin\/Kotlin-AI-Examples\/blob\/master\/notebooks\/openai\/OpenAI%20Image%20Recognition.ipynb\" target=\"_blank\" rel=\"noreferrer noopener\">OpenAI \uc774\ubbf8\uc9c0 \uc778\uc2dd<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Kotlin\/Kotlin-AI-Examples\/blob\/master\/projects\/mcp\/mcp-demo\/composeApp\/src\/desktopMain\/kotlin\/io\/github\/devcrocod\/MCPClient.kt\" target=\"_blank\" rel=\"noreferrer noopener\">OpenAI SDK\uc640 MCP\uc758 \ud1b5\ud569<br \/>\n<\/a><\/li>\n<\/ul>\n<p><strong>Anthropic SDK\u00a0<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/modelcontextprotocol\/kotlin-sdk\/blob\/main\/samples\/kotlin-mcp-client\/src\/main\/kotlin\/io\/modelcontextprotocol\/sample\/client\/MCPClient.kt\" target=\"_blank\" rel=\"noreferrer noopener\">Anthropic SDK\uc640 MCP\uc758 \ud1b5\ud569<\/a><\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\"><strong>2. \ub808\ubca8 \uc5c5: Spring AI\uc640 \uac19\uc740 \uace0\uae09 \ub77c\uc774\ube0c\ub7ec\ub9ac \uc0ac\uc6a9<\/strong><\/h3>\n<p>\uc6d0\uc2dc API \ud638\ucd9c\uc5d0\uc11c \ub118\uc5b4\uac00\uace0 \uc2f6\uc744 \ub54c, Spring AI\ub294 Kotlin \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc6d0\ud65c\ud55c \uacbd\ud5d8\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<p>\ub2e4\uc74c\uc774 \uc9c0\uc6d0\ub429\ub2c8\ub2e4.<\/p>\n<ul>\n<li>\ucd5c\uc18c\ud55c\uc758 \ub178\ub825\uc73c\ub85c \ubaa8\ub378 \uacf5\uae09\uc790\ub97c \uc804\ud658<\/li>\n<li>Kotlin \ud568\uc218\ub97c AI \ub3c4\uad6c\ub85c \ub4f1\ub85d<\/li>\n<li>\uad6c\uc870\ud654\ub41c AI \uc0c1\ud638\uc791\uc6a9\uc744 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ub85c\uc9c1\uc5d0 \uc9c1\uc811 \ub0b4\uc7a5<\/li>\n<\/ul>\n<p>\uc774\ub97c \ud1b5\ud574 \uc778\ud504\ub77c \uc138\ubd80 \uc0ac\ud56d\uc5d0 \uc5bd\ub9e4\uc774\uc9c0 \uc54a\uace0\ub3c4 \uc720\uc6a9\ud55c \uae30\ub2a5\uc744 \ub354 \uc27d\uac8c \uac1c\ubc1c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-644376\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/image-39.png\" alt=\"Spring AI\" width=\"1200\" height=\"675\" \/><\/figure>\n<p>\uc2e4\uc81c\ub85c \uc5b4\ub5bb\uac8c \uc791\ub3d9\ud558\ub294\uc9c0 \uc54c\uace0 \uc2f6\ub2e4\uba74 Kotlin-AI-Examples \uc800\uc7a5\uc18c\uc5d0\uc11c \ub2e4\uc74c \ub9ac\uc18c\uc2a4\ub97c \ud655\uc778\ud558\uc138\uc694.<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/Kotlin\/Kotlin-AI-Examples\/tree\/master\/projects\/spring-ai\/spring-ai-examples\" target=\"_blank\" rel=\"noreferrer noopener\">spring-ai-examples<\/a>\uc5d0\ub294 \ubd84\ub958, \ucc44\ud305 \ubc0f \uc694\uc57d \uc0ac\uc6a9 \uc0ac\ub840\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><a href=\"https:\/\/github.com\/Kotlin\/Kotlin-AI-Examples\/tree\/master\/projects\/spring-ai\/springAI-demo\" target=\"_blank\" rel=\"noreferrer noopener\">springAI-demo<\/a>\ub294 Qdrant\uc640 OpenAI\ub97c \uc0ac\uc6a9\ud558\uc5ec LLM \uc751\ub2f5\uc744 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ub85c\uc9c1\uc5d0 \uc644\uc804\ud788 \ud1b5\ud569\ud558\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4.<\/li>\n<li><a href=\"https:\/\/kotlinlang.org\/docs\/spring-ai-guide.html\" target=\"_blank\" rel=\"noreferrer noopener\">Spring AI\ub97c \uc0ac\uc6a9\ud558\uc5ec Kotlin \uc571 \uad6c\ucd95(\ud29c\ud1a0\ub9ac\uc5bc)<\/a>\uc5d0\uc11c\ub294 Qdrant\uc5d0 \uc800\uc7a5\ub41c \ubb38\uc11c\ub97c \uae30\ubc18\uc73c\ub85c \uc9c8\ubb38\uc5d0 \ub2f5\ud558\ub294 Kotlin \uc571\uc744 \uad6c\ucd95\ud558\ub294 \uacfc\uc815\uc744 \uc548\ub0b4\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/docs.langchain4j.dev\/tutorials\/kotlin\" target=\"_blank\" rel=\"noreferrer noopener\">LangChain4j<\/a>\uc640 \uac19\uc740 \ub2e4\ub978 \uc635\uc158\ub3c4 \uc788\uc73c\uba70, \ub3d9\uc77c\ud55c \uc800\uc7a5\uc18c\uc5d0\uc11c Kotlin \uae30\ubc18 <a href=\"https:\/\/github.com\/Kotlin\/Kotlin-AI-Examples\/tree\/master\/projects\/langchain4j\" target=\"_blank\" rel=\"noreferrer noopener\">LangChain4j Spring Boot \uc608\uc81c<\/a>\ub97c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\"><strong>3. \ud45c\uc900\ud654: \ubaa8\ub378 \ucee8\ud14d\uc2a4\ud2b8 \ud504\ub85c\ud1a0\ucf5c(MCP)\uc744 \ud1b5\ud55c \ub3c4\uad6c \ub178\ucd9c<\/strong><\/h3>\n<p>AI \ub3c4\uad6c\uac00 \uc810\ucc28 \uc720\uc6a9\ud574\uc9c0\uba74 \uc5ec\ub7ec \uc5d0\uc774\uc804\ud2b8, \ud300, \uc2ec\uc9c0\uc5b4 \uc571\uc5d0\ub3c4 \uc774\ub97c \uacf5\uc720\ud558\uace0 \uc2f6\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7f0\ub370 \uc774\ub7ec\ud55c \ub3c4\uad6c\uc758 \uc811\uadfc\uc131, \uc77c\uad00\uc131 \ubc0f \ud1b5\ud569 \uc6a9\uc774\uc131\uc744 \ubcf4\uc7a5\ud558\ub824\uba74 \uc5b4\ub5bb\uac8c \ud574\uc57c \ud560\uae4c\uc694?<\/p>\n<p>\ubc14\ub85c \uc774\ub54c \ubaa8\ub378 \ucee8\ud14d\uc2a4\ud2b8 \ud504\ub85c\ud1a0\ucf5c(MCP)\uc774 \ud544\uc694\ud558\uba70, \uc774\ub97c \uad6c\ud604\ud558\ub294 \ub370 \ub3c4\uc6c0\uc774 \ub418\ub294 \uacf5\uc2dd <a href=\"https:\/\/github.com\/modelcontextprotocol\/kotlin-sdk\" target=\"_blank\" rel=\"noreferrer noopener\">MCP Kotlin SDK<\/a>\ub3c4 \uc900\ube44\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. MCP\ub294 \uc5d0\uc774\uc804\ud2b8\uac00 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ud1b5\ud569\uc774\ub098 \uae00\ub8e8 \ucf54\ub4dc \uc5c6\uc774 \ub3c4\uad6c\ub97c \uac80\uc0c9\ud558\uace0 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ubc29\uc2dd\uc744 \uc815\uc758\ud558\ub294 \ud45c\uc900\uc785\ub2c8\ub2e4. MCP Kotlin SDK\ub97c \uc0ac\uc6a9\ud558\uba74 \ud638\ud658\ub418\ub294 \ubaa8\ub4e0 \uc5d0\uc774\uc804\ud2b8\uc640 \uc6d0\ud65c\ud558\uac8c \uc791\ub3d9\ud558\ub294 \ubc29\uc2dd\uc73c\ub85c \ub3c4\uad6c\ub97c \ub178\ucd9c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7f0 \ubc29\uc2dd\uc73c\ub85c Kotlin \ucf54\ub4dc\ub97c \ub354 \ud06c\uace0 \uc5f0\uacb0\ub41c AI \uc2dc\uc2a4\ud15c\uc5d0 \uac04\ub2e8\ud788 \ud1b5\ud569\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-644364\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/image-38.png\" alt=\"Kotlin MCP SDK\" width=\"1200\" height=\"675\" \/><\/figure>\n<p>\uc790\uc138\ud788 \uc54c\uc544\ubcf4\uae30:<\/p>\n<ul>\n<li><a href=\"https:\/\/modelcontextprotocol.io\/quickstart\/server#kotlin\" target=\"_blank\" rel=\"noreferrer noopener\">Kotlin\uc5d0\uc11c MCP \uc11c\ubc84 \uad6c\ucd95<\/a><\/li>\n<li><a href=\"https:\/\/modelcontextprotocol.io\/quickstart\/client#kotlin\" target=\"_blank\" rel=\"noreferrer noopener\">Kotlin\uc5d0\uc11c MCP \ud074\ub77c\uc774\uc5b8\ud2b8 \uad6c\ucd95<\/a><\/li>\n<\/ul>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Model Context Protocol in Kotlin | Alexander Sysoev\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/D3hCBrxJHLo?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Koog \uc0ac\uc6a9: Kotlin\uc73c\ub85c AI \uc5d0\uc774\uc804\ud2b8 \ube4c\ub4dc \ubc0f \uc2e4\ud589<\/strong><\/h3>\n<p>\uac00\uc7a5 \ub192\uc740 \uc218\uc900\uc5d0\uc11c\ub294 \ucd94\ub860\ud558\uace0, \uc801\uc751\ud558\uace0, \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc2dc\uc2a4\ud15c\uc778 <a href=\"https:\/\/www.anthropic.com\/engineering\/building-effective-agents\" target=\"_blank\" rel=\"noreferrer noopener\">\uc9c0\ub2a5\ud615 \uc5d0\uc774\uc804\ud2b8<\/a>\ub97c \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>JetBrains\ub294 JVM\uc758 \ucd5c\ucca8\ub2e8 AI \ud504\ub808\uc784\uc6cc\ud06c\uc778 Koog\ub97c \uc624\ud508 \uc18c\uc2a4\ub85c \uacf5\uac1c\ud588\uc73c\uba70, \uc774\ub294 \ubc31\uc5d4\ub4dc, Android, iOS\uc5d0 \uc804\uccb4 \ubc94\uc704\uc758 \uc5d0\uc774\uc804\ud2f1 \ud750\ub984\uc744 \uc81c\uacf5\ud558\ub294 \ucd5c\ucd08\uc758 \ud504\ub808\uc784\uc6cc\ud06c\uc785\ub2c8\ub2e4. Koog\ub97c \uc0ac\uc6a9\ud558\uba74 Kotlin\uc744 \uc2e4\ud589\ud558\ub294 \ubaa8\ub4e0 \ud658\uacbd\uc5d0 \ubc30\ud3ec\ud560 \uc218 \uc788\ub294 \uad00\ucc30 \uac00\ub2a5\ud558\uace0 \ud14c\uc2a4\ud2b8 \uac00\ub2a5\ud55c \uc5d0\uc774\uc804\ud2b8\ub97c \uad6c\ucd95\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Kickstarting AI Agent Development in Kotlin With Koog\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/vysVNg4IuUo?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n<p>Koog\uac00 \uc81c\uacf5\ud558\ub294 \uae30\ub2a5:<\/p>\n<ul>\n<li>\uc9c0\uc18d\uc131 \ubc0f \uccb4\ud06c\ud3ec\uc778\ud2b8\ub97c \ud1b5\ud574 \uc5d0\uc774\uc804\ud2b8\ub97c \ub9c8\uc9c0\ub9c9 \uc911\ub2e8 \uc9c0\uc810\uc5d0\uc11c \uc7ac\uac1c<\/li>\n<li>Langfuse \ubc0f W&amp;B Weave\uc640 OpenTelemetry \ud1b5\ud569\uc744 \ud1b5\ud55c \uad00\ucc30 \uae30\ub2a5<\/li>\n<li>\uad6c\uc870\ud654\ub41c \ucd9c\ub825\uacfc \uc720\ud615\ud654\ub41c \uc2a4\ud2b8\ub9ac\ubc0d\uc744 \ud1b5\ud574 \uc608\uce21 \uac00\ub2a5\ud55c \uacb0\uacfc\uc640 \uc2e4\uc2dc\uac04 UI \uc9c0\uc6d0<\/li>\n<li>\uc6cc\ud06c\ud50c\ub85c\uc640 \ud074\ub77c\uc774\uc5b8\ud2b8 \uc218\uc900 \ubaa8\ub450\uc5d0\uc11c \uc9c0\ub2a5\uc801\uc778 \uc7ac\uc2dc\ub3c4\uc640 \uac15\ub825\ud55c \uc624\ub958 \ucc98\ub9ac<\/li>\n<li>Spring Boot\uc640 \uc9c1\uc811 \ud1b5\ud569\ud560 \uc218 \uc788\uc73c\uba70 \uc0c8\ub85c\uc6b4 Ktor \ud50c\ub7ec\uadf8\uc778 \uc81c\uacf5<\/li>\n<li>\ub2e4\uc911 \ubaa8\ub378 \uc720\uc5f0\uc131\uc744 \ud1b5\ud574 \ucee8\ud14d\uc2a4\ud2b8\ub97c \uc783\uc9c0 \uc54a\uace0 LLM \uac04\uc5d0 \uc791\uc5c5\uc744 \uc804\ud658\ud558\uac70\ub098 \ub77c\uc6b0\ud305<\/li>\n<li>\uace0\uae09 \uc5d0\uc774\uc804\ud2b8 \ub85c\uc9c1\uc744 \uc124\uacc4\ud558\uae30 \uc704\ud55c MCP \ub3c4\uad6c \uc9c0\uc6d0, RAG, \uba54\ubaa8\ub9ac \ubc0f \uadf8\ub798\ud504 \uae30\ubc18\uc758 \uc7ac\uc0ac\uc6a9 \uac00\ub2a5 \uc804\ub7b5<\/li>\n<\/ul>\n<p>Koog\ub294 Kotlin Multiplatform\uc744 \uae30\ubc18\uc73c\ub85c \ud558\ubbc0\ub85c \uc5d0\uc774\uc804\ud2b8\ub294 JVM\ubfd0\ub9cc \uc544\ub2c8\ub77c Android, JS\/WasmJS, iOS\uc5d0\uc11c\ub3c4 \uc2e4\ud589\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uac04\ub2e8\ud55c \uc5d0\uc774\uc804\ud2b8\ub97c \ud504\ub85c\ud1a0\ud0c0\uc785\uc73c\ub85c \uc81c\uc791\ud558\ub4e0, \ub3c4\uad6c \ubc0f \uba54\ubaa8\ub9ac \uae30\ub2a5\uc744 \uac16\ucd98 \ub354 \ubcf5\uc7a1\ud55c \uc2dc\uc2a4\ud15c\uc744 \uad6c\ucd95\ud558\ub4e0, Koog\ub294 \uc18c\uaddc\ubaa8\ub85c \uc2dc\uc791\ud558\uc5ec \ud504\ub85c\uc81d\ud2b8\uac00 \uc131\uc7a5\ud568\uc5d0 \ub530\ub77c \ud655\uc7a5\ud560 \uc218 \uc788\ub294 \uc720\uc5f0\uc131\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/docs.koog.ai\/\" target=\"_blank\" rel=\"noreferrer noopener\">Koog \uc0ac\uc6a9\ud574 \ubcf4\uae30<\/a><\/p>\n<p>Kotlin \uc5d0\ucf54\uc2dc\uc2a4\ud15c\uc5d0\ub294 \ub2e4\uc74c\uc744 \ud3ec\ud568\ud55c \ub2e4\ub978 \uc5d0\uc774\uc804\ud2b8 \ud504\ub808\uc784\uc6cc\ud06c\ub3c4 \ub4f1\uc7a5\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li><a href=\"https:\/\/eclipse.dev\/lmos\/arc2\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">Arc<\/a> \u2013 LLM \uae30\ubc18 \ucc57\ubd07\uc744 \uc704\ud574 Deutsche Telekom\uc774 \uac1c\ubc1c\ud55c \ub9de\ucda4\ud615 \uc5d0\uc774\uc804\ud2b8 \ud504\ub808\uc784\uc6cc\ud06c<\/li>\n<li><a href=\"https:\/\/github.com\/embabel\" target=\"_blank\" rel=\"noreferrer noopener\">Embable<\/a> \u2013 Spring\uacfc LangChain4j\ub97c \uae30\ubc18\uc73c\ub85c \uad6c\ucd95\ub41c \uc624\ud508 \uc18c\uc2a4 Kotlin \uae30\ubc18 \ud504\ub808\uc784\uc6cc\ud06c<\/li>\n<li><a href=\"https:\/\/sca.aliyun.com\/en\/ai\/\" target=\"_blank\" rel=\"noreferrer noopener\">Spring AI Alibaba<\/a> \u2013 LLM \ub3c4\uad6c \uc624\ucf00\uc2a4\ud2b8\ub808\uc774\uc158\uc5d0 \ucd08\uc810\uc744 \ub9de\ucd98 Spring AI\uc758 \ud655\uc7a5 \ubc84\uc804<\/li>\n<\/ul>\n<p>\uc11c\ub85c \ub2e4\ub978 \uc811\uadfc \ubc29\uc2dd\uacfc \ud1b5\ud569 \ubc29\ubc95\uc744 \uac00\uc9c0\uace0 \uc788\ub294 \uc774\ub7ec\ud55c \uc194\ub8e8\uc158\uc740 Kotlin\uc73c\ub85c \uc5d0\uc774\uc804\ud2b8\ub97c \uad6c\ucd95\ud558\ub294 \ub370 \uad00\uc2ec\uc774 \ucee4\uc9c0\uace0 \uc788\uc74c\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4.<\/p>\n<h1 class=\"wp-block-heading\">Kotlin\uc744 \uc704\ud55c AI \ub3c4\uad6c<\/h1>\n<p>Kotlin \uc790\uccb4\ub3c4 AI \uc2dc\uc2a4\ud15c\uc744 \uad6c\ucd95\ud558\uae30 \uc704\ud55c \uac15\ub825\ud55c \uc5b8\uc5b4\uc774\uc9c0\ub9cc, \uac1c\ubc1c \uc6cc\ud06c\ud50c\ub85c\ub97c \ub354 \ud6a8\uc728\uc801\uc774\uace0 \uc990\uac81\uac8c \ub9cc\ub4e4\ub3c4\ub85d \uc124\uacc4\ub41c AI \uae30\ubc18 \ub3c4\uad6c\uc758 \uc9c0\uc6d0\ub3c4 \ubc1b\uc2b5\ub2c8\ub2e4. \uac1c\ubc1c\uc5d0 \uc9d1\uc911\ud558\uace0 \ud504\ub85c\uc138\uc2a4\ub97c \ud1b5\uc81c\ud560 \uc218 \uc788\ub3c4\ub85d JetBrains\ub294 \uc774\ub7ec\ud55c AI \ub3c4\uad6c\ub97c IDE \ud658\uacbd\uc5d0 \ud1b5\ud569\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">Junie: JetBrains IDE\uc758 AI \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8<\/h2>\n<p>Junie\ub294 JetBrains\uc758 \uc0c8\ub85c\uc6b4 AI \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8\uc785\ub2c8\ub2e4. \uc774 \ub3c4\uad6c\ub294 \ubc18\ubcf5\uc801\uc778 \uc791\uc5c5\uc744 \ub300\uc2e0 \ucc98\ub9ac\ud558\uace0, \ud504\ub85c\uc81d\ud2b8\uc758 \ubcf5\uc7a1\ud55c \ubd80\ubd84\uc744 \uc5c5\ub370\uc774\ud2b8\ud558\uba70, \uc77c\ubd80 \uc791\uc5c5\uc740 \uc644\uc804\ud788 \ub9e1\uc744 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \ub355\ubd84\uc5d0 \ucf54\ub529\uc758 \uc7ac\ubbf8\uc788\uace0 \ucc3d\uc758\uc801\uc778 \ubd80\ubd84\uc5d0 \ub354 \ub9ce\uc740 \uc2dc\uac04\uc744 \uc4f8 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \ud2b9\ud788 Kotlin\uacfc \ud568\uaed8 \uc0ac\uc6a9\ud560 \ub54c \ucd5c\uc801\uc758 \uc131\ub2a5\uc744 \ubc1c\ud718\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc77c\ubc18\uc801\uc778 \uc790\ub3d9 \uc644\uc131 \ub3c4\uad6c\uc640 \ub2ec\ub9ac Junie\ub294 \uad6c\uc870\ud654\ub41c \uc791\uc5c5\uc744 \ucc98\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uad6c\uccb4\uc801\uc73c\ub85c \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li>\uc644\ubcbd\ud55c \uc5d4\ub4dc \ud22c \uc5d4\ub4dc \uae30\ub2a5 \uad6c\ucd95(\uc608: KotlinConf \uc571\uc6a9 \ubb34\uc791\uc704 \ub300\ud654 \uc0dd\uc131\uae30)<\/li>\n<li>\uc544\ud0a4\ud14d\ucc98 \ubcc0\uacbd \uacc4\ud68d<\/li>\n<li>\ud14c\uc2a4\ud2b8 \uc2e4\ud589<\/li>\n<li>\uac1c\uc120 \uc0ac\ud56d \uc81c\uc548<\/li>\n<\/ul>\n<p>JetBrains\ub294 \ub610\ud55c Junie\uac00 \uc624\ud508 \uc18c\uc2a4 \ud504\ub85c\uc81d\ud2b8\uc5d0 \ucf54\ub4dc\ub97c \uae30\uc5ec\ud560 \uc218 \uc788\ub3c4\ub85d \ub178\ub825\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ud604\uc7ac <a href=\"https:\/\/www.jetbrains.com\/ko-kr\/junie-github\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub\uc5d0\uc11c \uc5bc\ub9ac \uc561\uc138\uc2a4 \ud504\ub85c\uadf8\ub7a8\uc758 \uc77c\ubd80\ub85c \uc81c\uacf5<\/a>\ub418\uace0 \uc788\uc73c\uba70 \ubb38\uc81c \ubd84\uc11d, \uc218\uc815 \uc81c\uc548, \ud480 \ub9ac\ud018\uc2a4\ud2b8 \uc0dd\uc131 \uae30\ub2a5\uc774 \uc81c\uacf5\ub429\ub2c8\ub2e4. \ub300\uae30\uc790 \uba85\ub2e8\uc5d0 \ub4f1\ub85d\ud558\uc5ec \ubb34\ub8cc\ub85c \uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694.<\/p>\n<ul>\n<li><a href=\"https:\/\/www.jetbrains.com\/ko-kr\/junie\/\" target=\"_blank\" rel=\"noreferrer noopener\">JetBrains IDE\uc5d0\uc11c Junie \uc0ac\uc6a9\ud574 \ubcf4\uae30<\/a><\/li>\n<li><a href=\"https:\/\/www.jetbrains.com\/ko-kr\/junie-github\/\" target=\"_blank\" rel=\"noreferrer noopener\">\ub300\uae30\uc790 \uba85\ub2e8\uc5d0 \ub4f1\ub85d\ud558\uace0 GitHub\uc5d0\uc11c Junie \uc0ac\uc6a9\ud574 \ubcf4\uae30<\/a><\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\"><strong>Mellum: \uc774\uc81c \uc624\ud508 \uc18c\uc2a4\ub85c \uc81c\uacf5<\/strong><\/h3>\n<p>Junie\uac00 \uae30\ubc18\uc744 \ub450\uace0 \uc788\uc73c\uba70 JetBrains\uc5d0\uc11c \ucf54\ub4dc\uc5d0 \uc0ac\uc6a9 \uc911\uc778 \uc0ac\ub0b4 LLM\uc778 Mellum\uc740 \uc774\ubbf8 \ud504\ub85c\ub355\uc158 \ub2e8\uacc4\uc5d0 \uc788\uc73c\uba70 \ud604\uc7ac\ub294 \uc624\ud508 \uc18c\uc2a4\uc785\ub2c8\ub2e4. Mellum\uc740 JetBrains IDE\uc758 \ucf54\ub4dc \uc644\uc131 \uae30\ub2a5\uc744 \uac15\ud654\ud558\uba70 Kotlin\uc5d0 \ub9de\uac8c \uc138\ubd80 \uc870\uc815\ub41c \ubc84\uc804\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc989, Kotlin \ucee4\ubba4\ub2c8\ud2f0\ub294 \uc774\uc81c Mellum\uc744 \uae30\ubc18\uc73c\ub85c \uc2e4\ud5d8\ud558\uace0, \ucf54\ub4dc\ub97c \uae30\uc5ec\ud558\uace0, \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ub3c4\uad6c\ub97c \uad6c\ucd95\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li><a href=\"https:\/\/huggingface.co\/JetBrains\/Mellum-4b-sft-kotlin\" target=\"_blank\" rel=\"noreferrer noopener\">Kotlin\uc6a9 Mellum \ubc1b\uae30<\/a><\/li>\n<\/ul>\n<h1 class=\"wp-block-heading\">Kotlin\uc758 \uac15\uc810<\/h1>\n<p>Kotlin\uc774 AI \uc2dc\uc2a4\ud15c \uac1c\ubc1c \ubc0f \uc9c0\uc6d0\uc5d0 \uc801\ud569\ud55c \uc774\uc720\ub97c \uc694\uc57d\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li>\ucf54\ub4dc\ub97c \uba85\ud655\ud558\uace0 \uc548\uc804\ud558\uba70 \uac04\uacb0\ud558\uac8c \ub9cc\ub4dc\ub294 \ucd5c\uc2e0 \uc5b8\uc5b4 \uae30\ub2a5<\/li>\n<li>\uae30\uc874 AI SDK \ubc0f \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0 \uc561\uc138\uc2a4\ud560 \uc218 \uc788\ub3c4\ub85d Java\uc640\uc758 \uc6d0\ud65c\ud55c \uc0c1\ud638 \uc6b4\uc6a9\uc131 \uc9c0\uc6d0<\/li>\n<li>\uba40\ud2f0\ud50c\ub7ab\ud3fc \uc9c0\uc6d0\uc744 \uc81c\uacf5\ud558\uc5ec \uc11c\ubc84 \uce21, \ubaa8\ubc14\uc77c \ubc0f \uc6f9 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uac04\uc5d0 \ub85c\uc9c1 \uacf5\uc720 \uac00\ub2a5<\/li>\n<li>Koog, MCP Kotlin SDK, Spring AI \ud1b5\ud569\uc744 \ud3ec\ud568\ud558\uc5ec Kotlin \uae30\ubc18 AI \ub77c\uc774\ube0c\ub7ec\ub9ac\uc640 \ud504\ub808\uc784\uc6cc\ud06c\uc758 \uc5d0\ucf54\uc2dc\uc2a4\ud15c\uc774 \uacc4\uc18d \uc131\uc7a5<\/li>\n<li>JetBrains AI Assistant\uc640 Junie\ub97c \ud1b5\ud574 AI \uae30\ubc18 \uac1c\ubc1c \ud658\uacbd \uc81c\uacf5. \uc774 \ud658\uacbd\uc740 IntelliJ IDEA\uc5d0 \ud1b5\ud569\ub418\uc5b4 \uc788\uc73c\uba70 \ud50c\ub7ec\uadf8\uc778\uc744 \ud1b5\ud574 Android Studio\uc5d0\uc11c \uc0ac\uc6a9 \uac00\ub2a5<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\"><strong>\uae30\ud0c0 \ubb38\uc11c \ubc0f \ub3d9\uc601\uc0c1 \ub9ac\uc18c\uc2a4<\/strong><\/h3>\n<ul>\n<li>? <a href=\"https:\/\/kotlinlang.org\/docs\/kotlin-ai-apps-development-overview.html\" target=\"_blank\" rel=\"noreferrer noopener\">Kotlin for AI-Powered App Development<\/a>(AI \uae30\ubc18 \uc571 \uac1c\ubc1c\uc744 \uc704\ud55c Kotlin)<\/li>\n<li>? <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2025\/04\/smarter-kotlin-development-with-jetbrains-ai-junie-and-ai-assistant-in-your-ide\/\" target=\"_blank\" rel=\"noreferrer noopener\">Smarter Kotlin Development With JetBrains AI: Junie and AI Assistant in IntelliJ IDEA<\/a>(JetBrains AI\ub97c \ud65c\uc6a9\ud574 \ub354 \uc2a4\ub9c8\ud2b8\ud558\uac8c Kotlin \uac1c\ubc1c: IntelliJ IDEA\uc758 Junie\uc640 AI Assistant)<\/li>\n<li>? <a href=\"https:\/\/www.youtube.com\/watch?v=vDtnqQmiyck\" target=\"_blank\" rel=\"noreferrer noopener\"><em>Building Smarter AI Agents With Koog<\/em><\/a>(Koog\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub354 \uc2a4\ub9c8\ud2b8\ud55c AI \uc5d0\uc774\uc804\ud2b8 \uad6c\ucd95) | Vadim Brilliantov \ubc0f Andrey Bragin<\/li>\n<li>? <a href=\"https:\/\/youtu.be\/NcAW-FZtpzk\" target=\"_blank\" rel=\"noreferrer noopener\"><em>Kotlin and Spring: The modern server side stack<\/em><\/a>(Kotlin\uacfc Spring: \ucd5c\uc2e0 \uc11c\ubc84 \uce21 \uc2a4\ud0dd) | Rod Johnson<\/li>\n<li>? <a href=\"https:\/\/youtu.be\/zBgb0z1pQkM\" target=\"_blank\" rel=\"noreferrer noopener\"><em>From 0 to h-AI-ro: high-speed track to AI for Kotlin developers<\/em><\/a>(0\uc5d0\uc11c h-AI-ro\uae4c\uc9c0: Kotlin \uac1c\ubc1c\uc790\ub97c \uc704\ud55c AI \uace0\uc18d \ud2b8\ub799) | Urs Peter<\/li>\n<li>? <a href=\"https:\/\/youtu.be\/D3hCBrxJHLo\" target=\"_blank\" rel=\"noreferrer noopener\"><em>Model Context Protocol in Kotlin<\/em><\/a>(Kotlin\uc758 \ubaa8\ub378 \ucee8\ud14d\uc2a4\ud2b8 \ud504\ub85c\ud1a0\ucf5c) | Alexander Sysoev<\/li>\n<li>? <a href=\"https:\/\/youtu.be\/hxEM5J6QfLY\" target=\"_blank\" rel=\"noreferrer noopener\"><em>LangChain4j with Quarkus<\/em><\/a>(LangChain4j\uc640 Quarkus) | Max Rydahl Andersen \ubc0f Konstantin Pavlov<\/li>\n<li>? <a href=\"https:\/\/youtu.be\/K2PN03AepC0\" target=\"_blank\" rel=\"noreferrer noopener\"><em>Large Scale Changes with AI \u2013 Migrating millions of lines of Java to Kotlin at Uber<\/em><\/a>(AI\uac00 \uac00\uc838\uc624\ub294 \uac70\ub300\ud55c \ubcc0\ud654 \u2013 Uber\uc758 \uc218\ubc31\ub9cc \uc904\uc758 Java\ub97c Kotlin\uc73c\ub85c \ub9c8\uc774\uadf8\ub808\uc774\uc158) | Ty Smith<\/li>\n<li>?<a href=\"https:\/\/www.youtube.com\/watch?v=434WFSiYj9k\" target=\"_blank\" rel=\"noreferrer noopener\"><em>Kotlin\u2019s Gamebit: LLM less AI for Board Games<\/em><\/a>(Kotlin\uc758 Gamebit: \ubcf4\ub4dc \uac8c\uc784\uc744 \uc704\ud55c LLM \uc5c6\ub294 AI) | Dmytro Kurets<\/li>\n<li>?<a href=\"https:\/\/www.youtube.com\/watch?v=mQhtLCMiUMA\" target=\"_blank\" rel=\"noreferrer noopener\"><em>Building an Agentic Platform with Kotlin: Powering one of Europe\u2019s Largest LLM Bot<\/em><\/a>(Kotlin\uc744 \ud65c\uc6a9\ud55c \uc5d0\uc774\uc804\ud2b8 \ud50c\ub7ab\ud3fc \uad6c\ucd95: \uc720\ub7fd \ucd5c\ub300 \uaddc\ubaa8\uc758 LLM \ubd07 \uc911 \ud558\ub098\ub97c \uad6c\ucd95) | Patrick Whelan<\/li>\n<\/ul>\n\n\n<p><em>\uac8c\uc2dc\ubb3c \uc6d0\ubb38 \uc791\uc131\uc790<\/em><\/p>\n\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/08\/photo_2021-08-03_15-27-43-200x200.jpg\" width=\"200\" height=\"200\" alt=\"Alyona Chernyaeva\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                            <h4>Alyona Chernyaeva<\/h4>\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":1191,"featured_media":648613,"comment_status":"closed","ping_status":"closed","template":"","categories":[],"tags":[],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/648611"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/types\/kotlin"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/1191"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/comments?post=648611"}],"version-history":[{"count":6,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/648611\/revisions"}],"predecessor-version":[{"id":651161,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/648611\/revisions\/651161"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media\/648613"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=648611"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=648611"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=648611"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=648611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}