{"id":683759,"date":"2026-02-25T12:34:01","date_gmt":"2026-02-25T11:34:01","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=ai&#038;p=683759"},"modified":"2026-02-25T12:34:40","modified_gmt":"2026-02-25T11:34:40","slug":"building-ai-agents-in-kotlin-part-5-teaching-agents-to-forget","status":"publish","type":"ai","link":"https:\/\/blog.jetbrains.com\/ko\/ai\/2026\/02\/building-ai-agents-in-kotlin-part-5-teaching-agents-to-forget\/","title":{"rendered":"Kotlin\uc73c\ub85c AI \uc5d0\uc774\uc804\ud2b8 \uad6c\ucd95\ud558\uae30 \u2013 5\ubd80: \uc5d0\uc774\uc804\ud2b8\uc5d0\uac8c \uc78a\ub294 \ubc95 \uac00\ub974\uce58\uae30"},"content":{"rendered":"\n<p>\uc774\uc804 \uc2dc\ub9ac\uc988:<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/ko\/ai\/2026\/02\/building-ai-agents-in-kotlin-part-1-a-minimal-coding-agent\/\">Kotlin\uc73c\ub85c AI \uc5d0\uc774\uc804\ud2b8 \uad6c\ucd95\ud558\uae30 \u2013 1\ubd80: \ucd5c\uc18c \uad6c\uc131\uc758 \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.jetbrains.com\/ko\/ai\/2026\/02\/building-ai-agents-in-kotlin-part-2-a-deeper-dive-into-tools\/\">Kotlin\uc73c\ub85c AI \uc5d0\uc774\uc804\ud2b8 \uad6c\ucd95\ud558\uae30 \u2013 2\ubd80: \ub3c4\uad6c\uc5d0 \ub300\ud55c \uc2ec\uce35 \ud0d0\uad6c<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.jetbrains.com\/ko\/ai\/2026\/02\/building-ai-agents-in-kotlin-part-3-under-observation\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kotlin\uc73c\ub85c AI \uc5d0\uc774\uc804\ud2b8 \uad6c\ucd95\ud558\uae30 \u2013 3\ubd80: \uad00\ucc30 \uac00\ub2a5\uc131 \ud655\ubcf4<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.jetbrains.com\/ko\/ai\/2026\/02\/building-ai-agents-in-kotlin-part-4-delegation-and-sub-agents\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kotlin\uc73c\ub85c AI \uc5d0\uc774\uc804\ud2b8 \uad6c\ucd95\ud558\uae30 \u2013 4\ubd80: \uc704\uc784\uacfc \uc11c\ube0c \uc5d0\uc774\uc804\ud2b8<\/a><\/li>\n<\/ul>\n\n\n\n<p><strong>\uc5d0\uc774\uc804\ud2b8\ub294 \uacb0\uad6d \ucee8\ud14d\uc2a4\ud2b8 \ud55c\ub3c4\uc5d0 \ub3c4\ub2ec\ud569\ub2c8\ub2e4. \ucee8\ud14d\uc2a4\ud2b8\uac00 \ubd80\uc871\ud574\uc9c0\uba74 \uc2dc\uc2a4\ud15c\uc774 \ucda9\ub3cc\ud558\uba70, \uc791\uc5c5 \ub3c4\uc911 \ubaa8\ub4e0 \ub370\uc774\ud130\ub97c \uc783\uac8c \ub429\ub2c8\ub2e4.<\/strong><\/p>\n\n\n\n<p>\uc800\ud76c\ub294 <a href=\"https:\/\/blog.jetbrains.com\/ko\/ai\/2026\/02\/building-ai-agents-in-kotlin-part-1-a-minimal-coding-agent\/\">1\ubd80<\/a>\ubd80\ud130 GPT-5 Codex\ub97c \ud65c\uc6a9\ud574 \uc654\uc73c\uba70 \uc774 \ubaa8\ub378\uc740 SWE-bench Verified\uc5d0\uc11c 0.58\uc810\uc744 \uae30\ub85d\ud588\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uc73c\ub85c Claude Sonnet 4.5\ub97c \uc0ac\uc6a9\ud574 \ubcf4\uc558\ub354\ub2c8 \uc774 \ubaa8\ub378\uc740 0.6\uc810\uc744 \uae30\ub85d\ud588\uc73c\uba70 \ub300\ubd80\ubd84\uc758 \uc791\uc5c5\uc5d0\uc11c \ub354 \ube60\ub978 \uc18d\ub3c4\ub97c \ubcf4\uc5ec\uc8fc\uc5c8\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \ubb38\uc81c\uac00 \ubcf5\uc7a1\ud558\uba74 Claude\uc758 200K \ucee8\ud14d\uc2a4\ud2b8 \ucc3d\uc774 \uae08\ubc29 \ucc3c\uc2b5\ub2c8\ub2e4.&nbsp;<\/p>\n\n\n\n<p>\uc5ec\ub7ec\ubd84\uc740 \uc131\ub2a5 \ud5a5\uc0c1, \ube44\uc6a9 \uc808\uac10 \ub610\ub294 \ub85c\uceec \uc2e4\ud589\uc744 \uc704\ud574 \ubaa8\ub378\uc744 \uad50\uccb4\ud574\uc57c \ud558\ub294 \uc0c1\ud669\uc744 \uacaa\uac8c \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub54c\ub85c\ub294 \uba54\ubaa8\ub9ac\uac00 \ube44\uc2f8\uc11c \ub85c\uceec \ubaa8\ub378\uc5d0\uc11c \ub354 \uc791\uc740 \ucee8\ud14d\uc2a4\ud2b8 \ucc3d\uc744 \uc0ac\uc6a9\ud574\uc57c \ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc124\ud639 \uac00\uc7a5 \ud070 \ucee8\ud14d\uc2a4\ud2b8 \ucc3d\uc744 \uc0ac\uc6a9\ud55c\ub2e4 \ud574\ub3c4 \ubcf5\uc7a1\ud558\uace0 \uae34 \uc791\uc5c5\uc5d0\uc11c\ub294 \ub2f5\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. \ucee8\ud14d\uc2a4\ud2b8 \uc6a9\ub7c9\uc744 \uacc4\uc18d \uad6c\ub9e4\ud560 \uc218\ub3c4 \uc5c6\ub294 \ub178\ub987\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ubb38\uc81c\ub294 \uc5d0\uc774\uc804\ud2b8\uac00 \ubaa8\ub4e0 \ud30c\uc77c, \uba85\ub839\uc5b4 \ucd9c\ub825, \uac80\uc0c9 \uacb0\uacfc, \uc0ac\uc6a9\uc790 \uba54\uc2dc\uc9c0 \ub4f1 \ubaa8\ub4e0 \ub370\uc774\ud130\ub97c \ubcf4\uad00\ud55c\ub2e4\ub294 \uc810\uc5d0 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub807\uac8c \ub418\uba74 \uacb0\uad6d \uacf5\uac04\uc774 \ub0a8\uc544\ub098\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uadf8\ub798\uc11c \uc555\ucd95\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. \uc5ec\uc720 \uacf5\uac04\uc774 \uc5c6\ub2e4\uace0 \ud574\uc11c \uc624\ub798\ub41c \uba54\uc2dc\uc9c0\ubd80\ud130 \ubb34\uc791\uc815 \uc9c0\uc6cc\ubc84\ub9ac\ub294 \ub2e8\uc21c\ud55c \ubc29\uc2dd\uc774 \uc544\ub2d9\ub2c8\ub2e4. \ub2e4\ub978 \uac1c\ubc1c\uc790\uc5d0\uac8c \uc5c5\ubb34\ub97c \uc778\uacc4\ud558\ub294 \uc0c1\ud669\uc744 \ub5a0\uc62c\ub824 \ubcf4\uc138\uc694. \ubaa8\ub4e0 \uc791\uc5c5 \uae30\ub85d\uc744 \ub118\uaca8\uc8fc\uc9c0\ub294 \uc54a\uc744 \uac83\uc785\ub2c8\ub2e4. \ub300\uc2e0 \ucd5c\uc885 \ubaa9\ud45c\uac00 \ubb34\uc5c7\uc778\uc9c0, \uc5b4\ub5a4 \ud30c\uc77c\uc744 \uc218\uc815\ud588\ub294\uc9c0, \ubb34\uc5c7\uc774 \uc131\uacf5\ud558\uace0 \uc2e4\ud328\ud588\ub294\uc9c0\ub97c \uc804\ub2ec\ud560 \uac81\ub2c8\ub2e4. \uc774\uac83\uc774 \ubc14\ub85c \uc2a4\ub9c8\ud2b8\ud55c \uc555\ucd95 \ubc29\uc2dd\uc785\ub2c8\ub2e4. \uc791\uc5c5\uc744 \uc774\uc5b4\uac00\ub294 \ub370 \ud544\uc694\ud55c \ucee8\ud14d\uc2a4\ud2b8\ub294 \uc720\uc9c0\ud558\uace0 \uc7a5\ud669\ud55c \uae30\ub85d\uc740 \uacfc\uac10\ud788 \ub35c\uc5b4\ub0b4\ub294 \uac83\uc774\uc8e0.<\/p>\n\n\n\n<p>\uc774\uc81c <a href=\"https:\/\/github.com\/JetBrains\/koog\" target=\"_blank\" rel=\"noopener\">Koog<\/a>\uc5d0\uc11c \uc774\ub97c \uc5b4\ub5bb\uac8c \uad6c\ud604\ud558\ub294\uc9c0 \uc54c\uc544\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uba3c\uc800 <code>strategy = singleRunStrategy()<\/code>\uac00 <a href=\"https:\/\/blog.jetbrains.com\/ko\/ai\/2026\/02\/building-ai-agents-in-kotlin-part-1-a-minimal-coding-agent\/\">1\ubd80<\/a>\ubd80\ud130 \uc5b4\ub5a4 \uc5ed\ud560\uc744 \ud574\uc654\ub294\uc9c0 \uc774\ud574\ud574\uc57c \ud569\ub2c8\ub2e4. \uc5ec\uae30\uc5d0\uc11c \uc804\ub7b5\uc774 \uc5b4\ub5bb\uac8c \uc5d0\uc774\uc804\ud2b8\uc758 \ub8e8\ud504\ub97c \uc81c\uc5b4\ud558\ub294\uc9c0, \uadf8\ub9ac\uace0 \uc5ec\ub7ec\ubd84\ub9cc\uc758 \uc6cc\ud06c\ud50c\ub85c\ub97c \ub9cc\ub4e4\uae30 \uc704\ud574 \uc774\ub97c \uc5b4\ub5bb\uac8c \uc218\uc815\ud560 \uc218 \uc788\ub294\uc9c0 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>singleRunStrategy()<\/code>\ub97c \uc0b4\ud3b4\ubcf8 \ub4a4, \uc790\ub3d9\uc73c\ub85c \uc555\ucd95\uc744 \uc218\ud589\ud558\ub294 \ubc84\uc804\uc744 \uc9c1\uc811 \uad6c\ucd95\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc804\ub7b5 \uc904\uc758 \uae30\ub2a5<\/h2>\n\n\n\n<p>\uc774\uc804 \ub2e8\uacc4\uc5d0\uc11c\ub294 \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8\ub97c \uad6c\ucd95\ud588\uc2b5\ub2c8\ub2e4. \uc774\uc81c \ub2e4\uc74c \ucf54\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc5d0\uc774\uc804\ud2b8\uc5d0\uac8c \ud544\uc694\ud55c \ub3c4\uad6c\ub97c \ubd80\uc5ec\ud560 \ucc28\ub840\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"kotlin\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">strategy = singleRunStrategy()<\/pre>\n\n\n\n<p>\uc5ec\uae30\uc11c \uc804\ub7b5\uc774\ub780 \uc5d0\uc774\uc804\ud2b8 \ub8e8\ud504\ub97c \uc2e4\ud589\ud558\ub294 \ucf54\ub4dc\ub97c \uc758\ubbf8\ud569\ub2c8\ub2e4. \ubaa8\ub4e0 \uc804\ub7b5\uc5d0\ub294 LLM \ud638\ucd9c, \ub3c4\uad6c \uc2e4\ud589, \uacb0\uacfc \ubc18\ud658 \ubc0f \ubc18\ubcf5\uc774\ub77c\ub294 \ud575\uc2ec \uc694\uc18c\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc804\ub7b5\ub9c8\ub2e4 <strong>\uc911\ub2e8 \uc2dc\uc810<\/strong>\uacfc <strong>\ubc18\ubcf5 \uc0ac\uc774\uc758 \ub3d9\uc791 \ubc29\uc2dd<\/strong>\uc740 \ub2e4\ub985\ub2c8\ub2e4.<\/p>\n\n\n\n<p><code>singleRunStrategy()<\/code>\ub294 \uad6c\ud604 \uac00\ub2a5\ud55c \uac00\uc7a5 \ub2e8\uc21c\ud55c \ubc84\uc804\uc785\ub2c8\ub2e4. \uc774 \uc804\ub7b5\uc740 LLM\uc774 \ub3c4\uad6c \ud638\ucd9c\uc744 \ubc18\ud658\ud558\ub294 \ud55c \ubc18\ubcf5\uc744 \uacc4\uc18d\ud569\ub2c8\ub2e4. \ub2e4\uc2dc \ub9d0\ud574, LLM \ud638\ucd9c \u2192 \ub3c4\uad6c \ud638\ucd9c \ubc18\ud658? \u2192 \uc2e4\ud589 \u2192 \ub2e4\uc2dc \ud638\ucd9c \u2192 \ud14d\uc2a4\ud2b8 \ubc18\ud658?\uc758 \uacfc\uc815\uc744 \uac70\uce69\ub2c8\ub2e4. \u2192 \uc644\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"676\" height=\"734\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2026\/01\/image-63.png\" alt=\"\" class=\"wp-image-676937\"\/><\/figure>\n\n\n\n<p>\ub2e8\uc21c\ud55c \uc791\uc5c5\uc5d0\uc11c\ub294 \uc774 \ubc29\uc2dd\uc774 \ubb38\uc81c\uc5c6\uc774 \uc791\ub3d9\ud569\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \ubcf5\uc7a1\ud55c \ubb38\uc81c\uc77c\uc218\ub85d \uae30\ub85d\uc740 \ub04a\uc784\uc5c6\uc774 \uc313\uc5ec\uac11\ub2c8\ub2e4. \ubaa8\ub4e0 \uba85\ub839\uc5b4 \ucd9c\ub825, \ud30c\uc77c \uc77d\uae30 \uacb0\uacfc, \uac80\uc0c9 \uacb0\uacfc\uac00 \ucee8\ud14d\uc2a4\ud2b8\uc5d0 \uadf8\ub300\ub85c \ub0a8\uac8c \ub429\ub2c8\ub2e4. \uacb0\uad6d \ud55c\uacc4\uce58\uc5d0 \ub3c4\ub2ec\ud558\uc5ec \uc791\uc5c5 \ub3c4\uc911 \uc2dc\uc2a4\ud15c\uc774 \ucda9\ub3cc\ud558\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc6b0\ub9ac\uc5d0\uac8c \uc9c0\uae08 \ud544\uc694\ud55c \uac83\uc740 \ub3d9\uc77c\ud55c \ub8e8\ud504\ub97c \uc2e4\ud589\ud558\ub418, <strong>\uae30\ub85d \ud06c\uae30\ub97c \ud655\uc778\ud558\uace0 \ub108\ubb34 \ucee4\uc9c0\uba74 \uc555\ucd95\uc744 \uc218\ud589\ud558\ub294<\/strong> \uc804\ub7b5\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\uc555\ucd95 \uae30\ub2a5 \ucd94\uac00<\/strong><\/h2>\n\n\n\n<p>\uae30\uc874\uc758 \ubc29\uc2dd\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"kotlin\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">strategy = singleRunStrategy()<\/pre>\n\n\n\n<p>\uc0c8\ub85c\uc6b4 \ubc29\uc2dd\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"kotlin\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">strategy = singleRunStrategyWithHistoryCompression()<\/pre>\n\n\n\n<p>\uc804\uccb4\uc801\uc778 \ub8e8\ud504\ub294 \ub3d9\uc77c\ud558\uac8c \uc720\uc9c0\ub418\uc9c0\ub9cc, \uc774\uc81c <code>Execute Tool<\/code>\uacfc <code>Send Tool<\/code> \uc0ac\uc774\uc5d0 \uccb4\ud06c\ud3ec\uc778\ud2b8\uac00 \ucd94\uac00\ub429\ub2c8\ub2e4. \ub3c4\uad6c\ub97c \uc2e4\ud589\ud560 \ub54c\ub9c8\ub2e4 \uc804\ub7b5\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \uc9c8\ubb38\uc744 \ub358\uc9d1\ub2c8\ub2e4.<\/p>\n\n\n\n<ul>\n<li>\ud655\uc778: \ud604\uc7ac \uae30\ub85d\uc774 \uc784\uacd7\uac12\uc744 \ucd08\uacfc\ud588\ub294\uac00?<\/li>\n\n\n\n<li>\ucd08\uacfc\ud55c \uacbd\uc6b0, \uc555\ucd95: \ud575\uc2ec\uc801\uc778 \uc0ac\uc2e4\ub9cc \ucd94\ucd9c\ud569\ub2c8\ub2e4. \ub098\uba38\uc9c0\ub294 \uc0ad\uc81c\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ucd08\uacfc\ud558\uc9c0 \uc54a\uc740 \uacbd\uc6b0, \uc791\uc5c5\uc744 \uacc4\uc18d\ud574\uc11c \uc9c4\ud589\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"780\" height=\"1335\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2026\/01\/image-64.png\" alt=\"\" class=\"wp-image-676948\"\/><\/figure>\n\n\n\n<p>\uc774 \uccb4\ud06c\ud3ec\uc778\ud2b8 \ub355\ubd84\uc5d0 \uc5d0\uc774\uc804\ud2b8\ub294 \uc81c\ud55c\ub41c \ud1a0\ud070 \uc608\uc0b0 \ub0b4\uc5d0\uc11c &#8216;\ucee8\ud14d\uc2a4\ud2b8 \ucc3d \ucd08\uacfc&#8217; \uc624\ub958\ub97c \ud53c\ud558\uba70 \uc7a5\uc2dc\uac04 \uc2e4\ud589\ub418\ub294 \uc791\uc5c5\uc744 \uc644\ub8cc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ud558\uc9c0\ub9cc \uccb4\ud06c\ud3ec\uc778\ud2b8\ub294 \uc9c1\uc811 \uad6c\uc131\ud574\uc57c \ud569\ub2c8\ub2e4. \uc804\ub7b5\uc740 \uae30\ub85d\uc774 \uc5bc\ub9c8\ub098 \ucee4\uc84c\uc744 \ub54c \uc555\ucd95\ud560\uc9c0, \uc791\uc5c5\uc5d0 \uc911\uc694\ud55c \uae30\ub85d\uc774 \ubb34\uc5c7\uc778\uc9c0 \ucd94\uce21\ud558\uc9c0 \ubabb\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc5d0\uc774\uc804\ud2b8\uc5d0\uac8c <strong>\uc5b8\uc81c<\/strong> \uc555\ucd95\ud560\uc9c0, <strong>\ubb34\uc5c7\uc744<\/strong> \ub0a8\uae38\uc9c0 \ub450 \uac00\uc9c0\ub97c \uc54c\ub824\uc918\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\uc555\ucd95 \uc2dc\uc810&nbsp;<\/strong><\/h2>\n\n\n\n<p>\uba3c\uc800 \uc555\ucd95 \uc2e4\ud589 \uc804\uc5d0 \ud5c8\uc6a9\ud560 \uba54\uc2dc\uc9c0 \uc218\ub098 \ubb38\uc790 \uc218\uc758 \uc784\uacd7\uac12\uc744 \uc124\uc815\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"kotlin\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">val CODE_AGENT_HISTORY_TOO_BIG = { prompt ->\n   prompt.messages.size > 200 || prompt.messages.sumOf { it.content.length } > 200_000}<\/pre>\n\n\n\n<p>\uc65c \uc774 \uc218\uce58\ub97c \uc0ac\uc6a9\ud560\uae4c\uc694? \uc800\ud76c\ub294 \uc5b4\ub514\uc5d0\uc11c \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\ub294\uc9c0 \uad00\ucc30\ud558\uba70 \ub2e4\uc591\ud55c \uc784\uacd7\uac12\uc73c\ub85c \uc2e4\ud5d8\ud574 \ubcf4\uc558\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"234\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2026\/01\/image-65.png\" alt=\"\" class=\"wp-image-676959\"\/><\/figure>\n\n\n\n<p>\uc774 \uc5d0\uc774\uc804\ud2b8\ub294 22\ub9cc \uac1c \ud1a0\ud070\uc5d0 \ub3c4\ub2ec\ud588\uc744 \ub54c \ucda9\ub3cc\uc774 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. Claude\uc758 \ud55c\ub3c4\ub294 20\ub9cc \uac1c \ud1a0\ud070\uc785\ub2c8\ub2e4. \ub530\ub77c\uc11c \ud574\ub2f9 \uc9c0\uc810\uc5d0 \ub3c4\ub2ec\ud558\uae30 \uc804\uc5d0 \uc555\ucd95\uc744 \uc218\ud589\ud574\uc57c \ud588\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>200\uac1c\uc758 \uba54\uc2dc\uc9c0 \ub610\ub294 20\ub9cc \uac1c\uc758 \ubb38\uc790 \uc911 \uba3c\uc800 \ub3c4\ub2ec\ud558\ub294 \uc2dc\uc810\uc5d0 \uc555\ucd95\ud558\ub3c4\ub85d \uc124\uc815\ud588\uc2b5\ub2c8\ub2e4. \uc5ec\uae30\uc11c \ucf54\ub4dc\ub294 \ud1a0\ud070\uc774 \uc544\ub2cc \ubb38\uc790 \uc218\ub97c \uce21\uc815\ud55c\ub2e4\ub294 \uc810\uc5d0 \uc720\uc758\ud558\uc138\uc694. \uc774 \ub458\uc740 \uc11c\ub85c \ub2e4\ub978 \ub2e8\uc704\uc9c0\ub9cc, \uc784\uacd7\uac12\uc744 \ubd88\ud544\uc694\ud55c \uc555\ucd95\uc744 \ud53c\ud560 \uc218 \uc788\uc744 \ub9cc\ud07c \ub192\uace0 \ud55c\ub3c4 \ucd08\uacfc\ub97c \ubc29\uc9c0\ud560 \uc218 \uc788\uc744 \uc815\ub3c4\ub85c \ub0ae\uac8c \uc124\uc815\ud558\uba74 \ud1a0\ud070 \ud55c\ub3c4\ub97c \uc9c0\ud0ac \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ubb3c\ub860 \uc774 \uc218\uce58\uac00 \uc815\ub2f5\uc740 \uc544\ub2d9\ub2c8\ub2e4. \uc5ec\ub7ec\ubd84\uc758 \uc5d0\uc774\uc804\ud2b8\uac00 \ud55c\ub3c4\uc5d0 \ub354 \ube68\ub9ac \ub3c4\ub2ec\ud55c\ub2e4\uba74 \uc784\uacd7\uac12\uc744 \ub0ae\ucd94\uc5b4\uc57c \ud569\ub2c8\ub2e4. \ud574\ub2f9 \uc784\uacd7\uac12\uc744 \ub118\uc5b4\ub3c4 \uc5ec\uc804\ud788 \uc791\uc5c5\uc774 \uc9c4\ud589\ub418\ub098\uc694? \uc784\uacd7\uac12\uc744 \ub192\uc5ec\ubcf4\uc138\uc694. \uc5b4\ub5a4 \uc218\uce58\ub97c \uc120\ud0dd\ud560\uc9c0\ub294 \ud30c\uc77c \ud06c\uae30, \uba54\uc2dc\uc9c0 \uae38\uc774, \ub3c4\uad6c \ucd9c\ub825\uc758 \uc0c1\uc138 \uc218\uc900, \uc791\uc5c5\uc758 \ubcf5\uc7a1\ub3c4 \ub4f1 \uc0ac\uc6a9 \uc0ac\ub840\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9d1\ub2c8\ub2e4. \uc2e4\ud5d8\uc744 \ud1b5\ud574 \ucd5c\uc801\uc758 \uac12\uc744 \ucc3e\uc544\ubcf4\uc138\uc694.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ub0a8\uae38 \uae30\ub85d<\/h2>\n\n\n\n<p>\uc774\uc81c \uc555\ucd95\uc774 \uc2e4\ud589\ub418\ub294 \uc2dc\uc810\uc744 \uc124\uc815\ud588\uc73c\ub2c8 \ubb34\uc5c7\uc744 \ub0a8\uae38\uc9c0 \uacb0\uc815\ud560 \ucc28\ub840\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ub450 \uac00\uc9c0 \uc635\uc158\uc774 \uc788\uc2b5\ub2c8\ub2e4. <strong>\ubb34\uc5c7\uc774 \uc911\uc694\ud55c\uc9c0 LLM\uc758 \ud310\ub2e8\uc5d0 \ub9e1\uae30\uac70\ub098<\/strong>, <strong>\ubb34\uc5c7\uc744 \ucd94\ucd9c\ud560\uc9c0 LLM\uc5d0 \uc815\ud655\ud788 \uc9c0\uc2dc\ud558\ub294 \uac83<\/strong>\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\uc635\uc158 1: LLM\uc758 \uc694\uc57d \uae30\ub2a5 \uc2e0\ub8b0<\/strong><\/h3>\n\n\n\n<p>LLM\uc740 <a href=\"https:\/\/api.koog.ai\/agents\/agents-core\/ai.koog.agents.core.dsl.extension\/-history-compression-strategy\/-whole-history\/index.html\" target=\"_blank\" rel=\"noopener\">WholeHistory<\/a>\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubb34\uc5c7\uc774 \uc911\uc694\ud55c\uc9c0 \uc2a4\uc2a4\ub85c \uacb0\uc815\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>compressionStrategy = WholeHistory<\/p>\n\n\n\n<p>\uc555\ucd95\uc774 \ud2b8\ub9ac\uac70\ub418\uba74, Koog\ub294 LLM\uc5d0 \uc804\uccb4 \ub300\ud654 \uae30\ub85d\uc5d0 \ub300\ud55c TL;DR \uc694\uc57d \uc0dd\uc131\uc744 \uc694\uccad\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p><strong>\uc555\ucd95 \uc804:<\/strong><\/p>\n\n\n\n<ul>\n<li>\uc2dc\uc2a4\ud15c \ud504\ub86c\ud504\ud2b8, \uc0ac\uc6a9\uc790 \uba54\uc2dc\uc9c0, \uc5b4\uc2dc\uc2a4\ud134\ud2b8 \uc751\ub2f5, \ub3c4\uad6c \ud638\ucd9c \ubc0f \uacb0\uacfc \ub4f1 \uc784\uacd7\uac12\uae4c\uc9c0 \uc313\uc778 \ubaa8\ub4e0 \uba54\uc2dc\uc9c0\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<p><strong>\uc555\ucd95 \ud6c4:<\/strong><\/p>\n\n\n\n<ul>\n<li>\uc2dc\uc2a4\ud15c \ud504\ub86c\ud504\ud2b8(\ubcf4\uc874\ub428).<\/li>\n\n\n\n<li>\uccab \ubc88\uc9f8 \uc0ac\uc6a9\uc790 \uba54\uc2dc\uc9c0(\uc5d0\uc774\uc804\ud2b8\uac00 \uc6d0\ub798 \ubaa9\ud45c\ub97c \uae30\uc5b5\ud560 \uc218 \uc788\ub3c4\ub85d \ubcf4\uc874\ub428).&nbsp;<\/li>\n\n\n\n<li>LLM\uc774 \uc791\uc131\ud55c \ud55c \uac1c\uc758 TL;DR \uc694\uc57d \uba54\uc2dc\uc9c0.<\/li>\n<\/ul>\n\n\n\n<p><strong>\uc7a5\ub2e8\uc810:<\/strong> \uc774 \ubc29\uc2dd\uc740 \ub2e8\uc21c\ud558\uace0 \ube60\ub974\uc9c0\ub9cc, \ubb34\uc5c7\uc774 \uc911\uc694\ud55c\uc9c0\uc5d0 \ub300\ud55c \ud310\ub2e8\uc744 LLM\uc5d0 \uc758\uc874\ud558\uac8c \ub429\ub2c8\ub2e4. LLM\uc740 \uc815\ud655\ud788 \ud544\uc694\ud55c \uc138\ubd80 \uc815\ubcf4\ub97c \ub0a8\uae30\uae30\ub3c4 \ud558\uc9c0\ub9cc \uc911\uc694\ud55c \uc815\ubcf4\ub97c \uc0ad\uc81c\ud558\uae30\ub3c4 \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\uc635\uc158 2: \ucd94\ucd9c\ud560 \uc815\ubcf4\ub97c LLM\uc5d0 \uc815\ud655\ud788 \uc9c0\uc2dc<\/strong><\/h3>\n\n\n\n<p>\ubaa8\ub4e0 \ub0b4\uc6a9\uc744 \uc694\uc57d\ud558\ub77c\uace0 \uc2dc\ud0a4\ub294 \ub300\uc2e0, <a href=\"https:\/\/api.koog.ai\/agents\/agents-features\/agents-features-memory\/ai.koog.agents.memory.feature.history\/-retrieve-facts-from-history\/index.html\" target=\"_blank\" rel=\"noopener\"><code>RetrieveFactsFromHistory<\/code><\/a>\ub97c \uc0ac\uc6a9\ud558\uc5ec \ucd94\ucd9c\ud574\uc57c \ud560 \uae30\ub85d\uc744 \uc815\ud655\ud788 \uba85\uc2dc\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"kotlin\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">compressionStrategy = RetrieveFactsFromHistory(\n   Concept(...),\n   Concept(...),\n   ...\n)<\/pre>\n\n\n\n<p><strong>\uc791\ub3d9 \ubc29\uc2dd:<\/strong><\/p>\n\n\n\n<p>\uc5d0\uc774\uc804\ud2b8\uac00 \ubc18\ub4dc\uc2dc \uae30\uc5b5\ud574\uc57c \ud560 \uc791\uc5c5 \uad00\ub828 \ud2b9\uc815 \uc9c8\ubb38\uc744 \ub2f4\uc740 <code>Concept<\/code> \uac1d\uccb4\ub97c \uc815\uc758\ud574 \uc90d\ub2c8\ub2e4. \uc555\ucd95\uc774 \uc2e4\ud589\ub418\uba74 Koog\ub294 Concept\ub9c8\ub2e4 \ud558\ub098\uc758 LLM \ud638\ucd9c\uc744 \uc218\ud589\ud569\ub2c8\ub2e4. \uc774\ub54c \uc804\uccb4 \ub300\ud654 \uae30\ub85d\uc744 \ub9e4\ubc88 \ubcf4\ub0b4\uba70 \ud574\ub2f9 \uc9c8\ubb38 \ud558\ub098\uc5d0 \ub300\ud574\uc11c\ub9cc \uc9c8\ubb38\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"1286\" height=\"726\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2026\/01\/image-66.png\" alt=\"\" class=\"wp-image-676970\"\/><\/figure>\n\n\n\n<p>\uc65c \ud638\ucd9c\uc744 \uc5ec\ub7ec \ubc88\uc73c\ub85c \ub098\ub20c\uae4c\uc694? LLM\uc740 \uc5ec\ub7ec \uc9c8\ubb38\uc744 \ud55c\uaebc\ubc88\uc5d0 \ub358\uc9c8 \ub54c\ubcf4\ub2e4 \ud558\ub098\uc529 \uc9c8\ubb38\ud560 \ub54c \ub354 \uc815\ud655\ud55c \ub2f5\ubcc0\uc744 \ub0b4\ub193\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \uc774\ub294 \ud14c\uc2a4\ud2b8\ub97c \ud1b5\ud574 \ud655\uc778\ub418\uc5c8\uc2b5\ub2c8\ub2e4. 8\uac1c\uc758 Concept\ub97c \ud558\ub098\uc758 \ud504\ub86c\ud504\ud2b8\uc5d0 \ubb36\uc5c8\uc744 \ub54c, \uc77c\ubd80 \ub2f5\ubcc0\uc740 \ubaa8\ud638\ud558\uac70\ub098 \ubd88\uc644\uc804\ud558\uac8c \ub3cc\uc544\uc654\uc2b5\ub2c8\ub2e4. \uc9c8\ubb38\uc744 \ud55c \ubc88\uc5d0 \ud558\ub098\uc529 \ub358\uc9c0\uba74 \uac01 \uc751\ub2f5\uc758 \uc2e0\ub8b0\ub3c4\uac00 \ub192\uc544\uc9d1\ub2c8\ub2e4.<\/p>\n\n\n\n<p><strong>Concept<\/strong> \uc815\uc758<\/p>\n\n\n\n<p>\uac01 <code>Concept<\/code> \uc778\uc2a4\ud134\uc2a4\ub294 \uc138 \ubd80\ubd84\uc73c\ub85c \uad6c\uc131\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<ul>\n<li><code>keyword<\/code>: \ub85c\uadf8 \ub77c\ubca8&nbsp;<\/li>\n\n\n\n<li><code>description<\/code>: LLM\uc774 \ub2f5\ubcc0\ud574\uc57c \ud560 \uc2e4\uc81c \uc9c8\ubb38 \ub610\ub294 \uc9c0\uce68&nbsp;<\/li>\n\n\n\n<li><code>factType<\/code>: \ud544\uc694\ud55c \ub2f5\ubcc0\uc758 \ud615\uc2dd\n<ul>\n<li><code>MULTIPLE<\/code>: \ubaa9\ub85d\uc758 \uacbd\uc6b0<\/li>\n\n\n\n<li><code>SINGLE<\/code>: \ub2e8\uc77c \uac12\uc758 \uacbd\uc6b0<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"kotlin\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Concept(\n    keyword = \"project-structure\",\n    description = \"What is the project structure?\",\n    factType = FactType.MULTIPLE\n)<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\uc801\ud569\ud55c Concept \uc120\ud0dd<\/strong><\/h4>\n\n\n\n<p>\ucf54\ub529 \uc5d0\uc774\uc804\ud2b8\ub97c \uc124\uacc4\ud560 \ub54c \ud575\uc2ec\uc801\uc778 \uc9c8\ubb38\uc740 \ubc14\ub85c \uc774\uac83\uc785\ub2c8\ub2e4. &#8220;\uc5b4\ub5a4 \uc815\ubcf4\ub97c \uc783\uc5b4\ubc84\ub838\uc744 \ub54c, \uc5d0\uc774\uc804\ud2b8\uac00 \uc791\uc5c5\uc744 \ucc98\uc74c\ubd80\ud130 \ub2e4\uc2dc \uc2dc\uc791\ud574\uc57c\ub9cc \ud558\ub294\uac00?&#8221;&nbsp;<\/p>\n\n\n\n<p>\uc555\ucd95 \uacfc\uc815\uc5d0\uc11c \uc911\uc694\ud55c \uc815\ubcf4\uac00 \uc0ad\uc81c\ub418\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ul>\n<li>\uc5d0\uc774\uc804\ud2b8\uac00 \uc774\ubbf8 \uc5f4\uc5b4\ubcf8 \ud30c\uc77c\uc744 \ub9c8\uce58 \ucc98\uc74c \ubcf4\ub294 \uac83\ucc98\ub7fc \ub2e4\uc2dc \uc5fd\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc774\ubbf8 \uc788\ub294 \ud14c\uc2a4\ud2b8\ub97c \ub2e4\uc2dc \uc791\uc131\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc774\ub807\uac8c \ub418\uba74 \uc0ac\uc6a9\uc790\uac00 \uc6d0\ub798 \uc9c0\uc2dc\ud55c \uc791\uc5c5\uc5d0\uc11c \uc810\ucc28 \ubc97\uc5b4\ub098\uac8c \ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<p>\uac01\uac01\uc758 \uc2e4\ud328\ub294 \uc555\ucd95\uc5d0\uc11c \ubcf4\uc874\ud574\uc57c \ud560 \uae30\ub85d\uc774 \ubb34\uc5c7\uc778\uc9c0 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<ul>\n<li>\ud30c\uc77c \uc7ac\ud0d0\uc0c9 \u2192 <code>project-structure<\/code> Concept\uac00 \ud544\uc694\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc644\ub8cc\ub41c \uc791\uc5c5 \ubc18\ubcf5 \u2192 <code>important-achievements<\/code> Concept\uac00 \ud544\uc694\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ubc29\ud5a5 \uc0c1\uc2e4 \u2192 <code>agent-goal<\/code> Concept\uac00 \ud544\uc694\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\uc6b0\ub9ac \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8\uc758 Concept<\/strong><\/h4>\n\n\n\n<p>SWE-bench-Verified\uc5d0\uc11c \ud14c\uc2a4\ud2b8\ub97c \uc9c4\ud589\ud588\uc744 \ub54c, \ucd5c\uc885\uc801\uc73c\ub85c 8\uac1c\uc758 Concept\ub97c \uc0ac\uc6a9\ud588\uc2b5\ub2c8\ub2e4. \uadf8\uc911 \uc138 \uac00\uc9c0\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"kotlin\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">val CODE_AGENT_COMPRESSION_STRATEGY = RetrieveFactsFromHistory(\n    Concept(\n        \"project-structure\",\n        \"What is the structure of this project?\",\n        FactType.MULTIPLE\n    ),\n    Concept(\n        \"important-achievements\",\n        \"What has been achieved during the execution of this current agent?\",\n        FactType.MULTIPLE\n    ),\n    Concept(\n        \"agent-goal\",\n        \"What is the primary goal or task the agent is trying to accomplish in this session?\",\n        FactType.SINGLE\n    ),\n    ...<\/pre>\n\n\n\n<p>\uc5ec\ub7ec\ubd84\uc758 \uc5d0\uc774\uc804\ud2b8\uc5d0\ub294 \uc774\uc640 \ub2e4\ub978 Concept\uac00 \ud544\uc694\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \ubaa9\uc801\uc740 \uc774 \ubaa9\ub85d\uc744 \ubcf5\uc0ac\ud558\ub294 \uac83\uc774 \uc544\ub2c8\ub77c, \uc5ec\ub7ec\ubd84\uc758 \uc5d0\uc774\uc804\ud2b8\uac00 \uacc4\uc18d \uc791\uc5c5\ud558\ub294 \ub370 \ud544\uc694\ud55c \uc0c1\ud0dc\uac00 \ubb34\uc5c7\uc778\uc9c0 \ud30c\uc545\ud558\uace0 \uadf8 \uc815\ubcf4\ub97c \ubcf4\uc874\ud560 Concept\ub97c \uc815\uc758\ud558\ub294 \uac83\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/JetBrains\/koog\/blob\/ea6cc04a8d989ae3d4656dfea0cbc2a1b89c9bdc\/examples\/code-agent\/step-05-history\/src\/main\/kotlin\/CodeAgentHistoryCompressionConfig.kt#L19\" target=\"_blank\" rel=\"noopener\">8\uac1c Concept\uc758 \uc804\uccb4 \uad6c\ud604\uc740 GitHub \uc800\uc7a5\uc18c<\/a>\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc0ac\uc6a9\ud560 \ubaa8\ub378&nbsp;<\/h2>\n\n\n\n<p>\uc11c\ube0c \uc5d0\uc774\uc804\ud2b8(<a href=\"https:\/\/blog.jetbrains.com\/ko\/ai\/2026\/02\/building-ai-agents-in-kotlin-part-4-delegation-and-sub-agents\/\">4\ubd80<\/a> \ucc38\uc870)\uc640 \ub9c8\ucc2c\uac00\uc9c0\ub85c, \ud504\ub85c\uc138\uc2a4\uc758 \ub2e8\uacc4\ub9c8\ub2e4 \uc11c\ub85c \ub2e4\ub978 \ubaa8\ub378\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>retrievalModel<\/code> \ub9e4\uac1c\ubcc0\uc218\ub97c \uc0ac\uc6a9\ud558\uba74 \uae30\ub85d \uc555\ucd95\uc744 \ucc98\ub9ac\ud560 LLM\uc744 \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ub9e4\uac1c\ubcc0\uc218\ub294 \uc120\ud0dd \uc0ac\ud56d\uc774\uba70, \uc9c0\uc815\ud558\uc9c0 \uc54a\uc73c\uba74 \uc5d0\uc774\uc804\ud2b8\uc758 \uba54\uc778 \ubaa8\ub378\uc774 \uc555\ucd95\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"kotlin\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">retrievalModel = OpenAIModels.Chat.GPT4_1Mini<\/pre>\n\n\n\n<p>\ub2e4\uc74c\uc740 \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8 \uc804\ub7b5\uc744 \uc704\ud55c \uc804\uccb4 \uad6c\uc131\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"kotlin\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">strategy = singleRunStrategyWithHistoryCompression(\n   config = HistoryCompressionConfig(\n       isHistoryTooBig = CODE_AGENT_HISTORY_TOO_BIG,\n       compressionStrategy = CODE_AGENT_COMPRESSION_STRATEGY,\n       retrievalModel = OpenAIModels.Chat.GPT4_1Mini\n   )\n)<\/pre>\n\n\n\n<p>\uc138 \uac00\uc9c0 \ub9e4\uac1c\ubcc0\uc218\ub294 \uc5b8\uc81c \uc555\ucd95\ud560\uc9c0(<code>isHistoryTooBig<\/code>), \ubb34\uc5c7\uc744 \ub0a8\uae38\uc9c0(<code>compressionStrategy<\/code>), \uc5b4\ub5a4 \ubaa8\ub378\uc774 \uc791\uc5c5\uc744 \uc218\ud589\ud560\uc9c0(<code>retrievalModel<\/code>)\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uacb0\ub860<\/h2>\n\n\n\n<p>\uc774\uc81c \uc5d0\uc774\uc804\ud2b8\ub294 \ucee8\ud14d\uc2a4\ud2b8 \uc81c\ud55c\uc5d0 \uac78\ub9ac\uc9c0 \uc54a\uace0 \ub354 \uae34 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub4dc\ub514\uc5b4 \uc555\ucd95 \ubb38\uc81c\uac00 \ud574\uacb0\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uacf5\uac04\uc774 \ubd80\uc871\ud574\uc9c0\uba74 \ucda9\ub3cc\uc774 \ubc1c\uc0dd\ud558\uc9c0 \uc54a\uace0 \uc5d0\uc774\uc804\ud2b8\uac00 \uae30\ub85d\uc744 \uc555\ucd95\ud569\ub2c8\ub2e4. \uc7a5\ud669\ud55c \ucd9c\ub825\uc740 \uc0ad\uc81c\ud558\uace0 \uc911\uc694\ud55c \uacb0\uc815\uacfc \uacb0\uacfc\ubb3c\ub9cc \uc720\uc9c0\ud558\uba70, \uc8fc\uc5b4\uc9c4 \ud1a0\ud070 \uc608\uc0b0 \ub0b4\uc5d0\uc11c \uc791\uc5c5\uc744 \uc774\uc5b4\uac11\ub2c8\ub2e4.<\/p>\n\n\n\n<p><a href=\"https:\/\/blog.jetbrains.com\/ko\/ai\/2026\/02\/building-ai-agents-in-kotlin-part-1-a-minimal-coding-agent\/\">1\ubd80<\/a>\uc5d0\uc11c \uae30\ubcf8\uc801\uc778 \ucf54\ub529 \uc5d0\uc774\uc804\ud2b8\ub85c \uc774 \uc2dc\ub9ac\uc988\ub97c \uc2dc\uc791\ud588\uc2b5\ub2c8\ub2e4. \uadf8 \uc774\ud6c4, \ub3c4\uad6c, \uad00\ucc30 \uac00\ub2a5\uc131, \uc11c\ube0c \uc5d0\uc774\uc804\ud2b8, \uae30\ub85d \uc555\ucd95\uc744 \ucd94\uac00\ud588\uc2b5\ub2c8\ub2e4. \uc774 5\uac1c \uae00\uc740 \uc2e4\uc81c \ubaa8\ub378\uc758 \uc81c\uc57d \uc870\uac74 \ub0b4\uc5d0\uc11c \uc791\ub3d9\ud558\ub294 \uc2e4\ubb34 \uc218\uc900\uc758 Kotlin \uae30\ubc18 AI \uc5d0\uc774\uc804\ud2b8\ub97c \uad6c\ucd95\ud558\ub294 \ub370 \ud544\uc694\ud55c \uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc774\ub7ec\ud55c \ud328\ud134\uc744 \uacc4\uc18d\ud574\uc11c \uad6c\ucd95\ud558\uace0 \uc5f0\uc2b5\ud558\uace0 \uc2f6\ub2e4\uba74, \uc5d0\uc774\uc804\ud2b8\uac00 \uc5ec\ub7ec \ucc28\ub840\uc5d0 \uac78\uccd0 \uc758\uc0ac\uacb0\uc815\uc744 \ub0b4\ub9ac\ub294 \ubc29\uc2dd\uc774\ub098 \ubcf5\uc7a1\ud55c \ubb38\uc81c\ub97c \uc138\ubd84\ud654\ud558\ub294 \ubc29\ubc95\uc5d0 \uad00\ud55c \uacc4\ud68d\uacfc \ucd94\ub860\uc744 \ud0d0\uad6c\ud574 \ubcf4\uc2dc\uae38 \ucd94\ucc9c\ud569\ub2c8\ub2e4. \uc2dc\ub9ac\uc988\uc5d0\uc11c \uc774 \ub0b4\uc6a9\uc744 \ub2e4\ub8e8\uc9c0\ub294 \uc54a\uc558\uc9c0\ub9cc, \uc9c0\uae08\uae4c\uc9c0 \uae00\uc744 \uc798 \ub530\ub77c\uc654\ub2e4\uba74 \uc88b\uc740 \uc5f0\uc2b5 \uc8fc\uc81c\uac00 \ub420 \uac83\uc785\ub2c8\ub2e4.&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/JetBrains\/koog\/blob\/ea6cc04a8d989ae3d4656dfea0cbc2a1b89c9bdc\/examples\/code-agent\/step-05-history\/src\/main\/kotlin\/Main.kt\" target=\"_blank\" rel=\"noopener\">\uc804\uccb4 \ucf54\ub4dc\ub294 GitHub<\/a>\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud558\uba74 \ub313\uae00\uc744 \ub0a8\uaca8 \uc8fc\uc138\uc694. \ucd5c\uc120\uc744 \ub2e4\ud574 \ub3c4\uc640 \ub4dc\ub9ac\uaca0\uc2b5\ub2c8\ub2e4 \ud83d\ude0a<\/p>\n\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\/2025\/11\/IMG_2717-1_1_50.jpg\" width=\"200\" height=\"200\" alt=\"Fatimazahra El Akkary\" 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>Fatimazahra El Akkary<\/h4>\n                                        <p>Machine Learning Engineer<\/p>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":1191,"featured_media":683761,"comment_status":"closed","ping_status":"closed","template":"","categories":[4113,2347],"tags":[6847,8724],"cross-post-tag":[6355],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/ai\/683759"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/ai"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/types\/ai"}],"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=683759"}],"version-history":[{"count":3,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/ai\/683759\/revisions"}],"predecessor-version":[{"id":683785,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/ai\/683759\/revisions\/683785"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media\/683761"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=683759"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=683759"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=683759"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=683759"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}