{"id":658,"date":"2026-10-22T23:37:32","date_gmt":"2026-10-22T23:37:32","guid":{"rendered":"https:\/\/gilnas.synology.me\/wordpress\/658\/"},"modified":"2026-10-22T23:37:32","modified_gmt":"2026-10-22T23:37:32","slug":"%eb%8f%84%ea%b5%ac-%ed%98%b8%ec%b6%9c-%ea%b3%84%ec%95%bd%c2%b7%ec%8a%b9%ec%9d%b8%c2%b7%ec%9a%b4%ec%98%81-%ea%b0%80%ec%8b%9c%ec%84%b1-3%ec%9d%bc-%eb%b3%80%ed%99%94-ai-agent-execution-contracts-and-co","status":"publish","type":"post","link":"https:\/\/gilnas.synology.me\/wordpress\/658\/","title":{"rendered":"\ub3c4\uad6c \ud638\ucd9c \uacc4\uc57d\u00b7\uc2b9\uc778\u00b7\uc6b4\uc601 \uac00\uc2dc\uc131 3\uc77c \ubcc0\ud654 | AI Agent Execution Contracts and Controls"},"content":{"rendered":"<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/gilnas.synology.me\/wordpress\/wp-content\/uploads\/2026\/10\/ai-trend-hero-20261023.png\" alt=\"\ub3c4\uad6c \ud638\ucd9c \uacc4\uc57d\u00b7\uc2b9\uc778\u00b7\uc6b4\uc601 \uac00\uc2dc\uc131 3\uc77c \ubcc0\ud654 | AI Agent Execution Contracts and Controls\" \/><\/figure>\n<p><strong>\ud575\uc2ec \ub2f5\ubcc0:<\/strong> 2026\ub144 10\uc6d4 20\uc77c~23\uc77c(KST) AI\/LLM\u00b7\uc5d0\uc774\uc804\ud2b8 \uac1c\ubc1c \ub3c4\uad6c\uc758 \uacf5\ud1b5 \ubcc0\ud654\ub294 <strong>\ubaa8\ub378 \ud638\ucd9c \uc790\uccb4\ubcf4\ub2e4 \ub3c4\uad6c \ud638\ucd9c\uc758 \uacc4\uc57d\u00b7\uc2b9\uc778\u00b7\ube44\uc6a9\u00b7\uc911\ub2e8 \uc0c1\ud0dc\ub97c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uba85\uc2dc\uc801\uc73c\ub85c \ub2e4\ub904\uc57c \ud55c\ub2e4<\/strong>\ub294 \uac83\uc785\ub2c8\ub2e4. OpenAI Python SDK\ub294 \uc2e4\uc2dc\uac04 Decisions \uc785\ub825\uc744 \ub354 \uad6c\uc870\ud654\ub41c \ud615\ud0dc\ub85c \ub113\ud614\uace0, LangChain\uc740 \uc2a4\ud2b8\ub9ac\ubc0d \ub3c4\uad6c \uc778\uc218\ub97c \uc99d\ubd84 \uc774\ubca4\ud2b8\ub85c \ubc14\uafe8\uc73c\uba70, Vercel AI SDK\ub294 \uac70\ubd80\ub41c \ub3c4\uad6c \ud638\ucd9c\uacfc \uc911\ubcf5 \uc2b9\uc778\uc758 \uc2e4\ud589 \uacbd\uacc4\ub97c \uac15\ud654\ud588\uc2b5\ub2c8\ub2e4. \uc5d0\uc774\uc804\ud2b8\ub97c \uc81c\ud488\uc774\ub098 CI\uc5d0 \ubd99\uc778 \ud300\uc740 \uc774\ubc88 \uc8fc\uc5d0 \uc2a4\ud2b8\ub9bc \ud30c\uc11c, \ub3c4\uad6c \uc2e4\ud589\uc758 \uba71\ub4f1\uc131, \uc2b9\uc778 \ub85c\uadf8\uc640 \ube44\uc6a9 \uacc4\uce21\uc744 \ud568\uaed8 \uc810\uac80\ud558\ub294 \uac83\uc774 \uc6b0\uc120\uc785\ub2c8\ub2e4.<\/p>\n<p><strong>\uc694\uc57d:<\/strong> \uc774 3\uc77c \ub9ac\ud3ec\ud2b8\ub294 SDK\uc758 \uc791\uc740 \ubc84\uc804 \ubcc0\ud654\ub4e4\uc744 \ub2e8\uc21c \uc5c5\ub370\uc774\ud2b8 \ubaa9\ub85d\uc774 \uc544\ub2c8\ub77c, \uc5d0\uc774\uc804\ud2b8\uac00 \uc2e4\uc81c \uc678\ubd80 \ub3c4\uad6c\ub97c \ud638\ucd9c\ud558\ub294 \uc11c\ube44\uc2a4\uc5d0\uc11c \ubc18\ubcf5\uc801\uc73c\ub85c \ub098\ud0c0\ub098\ub294 \uc138 \ud750\ub984\u2014<em>\uad6c\uc870\ud654\ub41c \uc0c1\ud638\uc791\uc6a9, \uc2e4\ud589 \ud1b5\uc81c, \uc6b4\uc601 \uac00\uc2dc\uc131<\/em>\u2014\uc73c\ub85c \ubb36\uc5b4 \uc124\uba85\ud569\ub2c8\ub2e4. \uc544\ub798\uc758 \uc0ac\uc2e4\uc740 \uac01 \uacf5\uc2dd \ub9b4\ub9ac\uc2a4 \ub178\ud2b8\uc5d0 \uadfc\uac70\ud558\uba70, \uc2e4\ubb34 \uc81c\uc548\uc740 \ubcc4\ub3c4\ub85c \uad6c\ubd84\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>3\uc77c \uacb0\ub860<\/h2>\n<p>\uc0c8 \ubaa8\ub378\uc744 \ubd99\uc774\ub294 \uc18d\ub3c4\ubcf4\ub2e4 \uc911\uc694\ud55c \uac83\uc740 <strong>\u201c\ubd80\ubd84 \uc751\ub2f5\u00b7\uac70\ubd80\u00b7\uc7ac\uc2dc\ub3c4\u00b7\uc2b9\uc778\u201d\uc744 \uc0c1\ud0dc \uc804\uc774\ub85c \uad00\ub9ac\ud558\ub294 \ub2a5\ub825<\/strong>\uc785\ub2c8\ub2e4. \uc2e4\uc2dc\uac04 \uc2a4\ud2b8\ub9bc\uc5d0\uc11c \ub3c4\uad6c \uc778\uc218\uac00 \uc870\uac01\uc73c\ub85c \ub3c4\ucc29\ud560 \uc218 \uc788\uace0, \uc2a4\ud2b8\ub9bc\uc774 \uc815\uc0c1 \uc885\ub8cc \uc2e0\ud638 \uc5c6\uc774 \ub04a\uae38 \uc218 \uc788\uc73c\uba70, \uc2b9\uc778 \uba54\uc2dc\uc9c0\uac00 \uc911\ubcf5\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uc0c1\ud0dc\ub4e4\uc744 \ub2e8\uc21c \ud14d\uc2a4\ud2b8 \uc774\ubca4\ud2b8\ub85c \ucde8\uae09\ud558\uba74 \uc911\ubcf5 \uc2e4\ud589, \uc798\ubabb\ub41c \uc7ac\uc2dc\ub3c4, \ub204\ub77d\ub41c \ube44\uc6a9 \uae30\ub85d\uc73c\ub85c \uc774\uc5b4\uc9c8 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ubc18\ub300\ub85c \uc11c\ubc84 \uce21 \ub3c4\uad6c \ud504\ub85d\uc2dc\uc640 \uc774\ubca4\ud2b8 \ub85c\uadf8\ub97c \uc0c1\ud0dc \uae30\uacc4\ub85c \uc124\uacc4\ud558\uba74 \uacf5\uae09\uc790\u00b7\ud504\ub808\uc784\uc6cc\ud06c\uac00 \ubc14\ub00c\uc5b4\ub3c4 \uc2e4\ud589 \uacbd\uacc4\ub97c \uc720\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>72\uc2dc\uac04 \ub3d9\uc548 \ud655\uc778\ub41c 6\uac1c \uc2e0\ud638<\/h2>\n<ul>\n<li><strong>OpenAI Python 3.36.0:<\/strong> Responses API\uc758 Vertex AI \uc9c0\uc6d0, 30\ubd84 cache-write \uc0ac\uc6a9\ub7c9, compaction trigger ID\uac00 \ucd94\uac00\ub410\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>OpenAI Python 3.37.0:<\/strong> Live response\uc758 Decisions \uc9c8\ubb38 <code>instructions<\/code>\uac00 \ubb38\uc790\uc5f4 \ub610\ub294 \uad6c\uc870\ud654\ub41c text\/image\/JSON \ud30c\ud2b8\uac00 \ub420 \uc218 \uc788\uc5b4 \ud0c0\uc785 \ucc98\ub9ac \ubcc0\uacbd\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>Anthropic Python 2.0.0:<\/strong> 2026-10-21 API \ubc84\uc804 \uc9c0\uc6d0\uacfc workspace \uae30\ubc18 \uc9c0\ucd9c \ud55c\ub3c4 \uc870\ud68c \ubc94\uc704\uac00 \ucd94\uac00\ub410\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>Anthropic Python 2.1.0:<\/strong> \uc0ac\uc6a9\uc790 \ud504\ub85c\ud544\uc758 enforcement status\u00b7actions\u00b7filter\uac00 \ucd94\uac00\ub410\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>LangChain Core 1.7.0:<\/strong> \uc2a4\ud2b8\ub9ac\ubc0d \ub3c4\uad6c \uc778\uc218\uac00 \ub204\uc801 \uc2a4\ub0c5\uc0f7\uc774 \uc544\ub2c8\ub77c <code>tool-call-delta<\/code> \uc870\uac01\uc73c\ub85c \uc804\ub2ec\ub429\ub2c8\ub2e4.<\/li>\n<li><strong>Vercel AI SDK 7.0.149:<\/strong> \ud558\ub098\uc758 \ub3c4\uad6c \ud638\ucd9c\uc5d0\uc11c \uccab \uc2b9\uc778 \uc751\ub2f5\ub9cc \ucc98\ub9ac\ud558\uace0, <code>toolChoice: 'none'<\/code>\uc77c \ub54c \ub85c\uceec \uc2e4\ud589 \uc804\uc5d0 \ud638\ucd9c\uc744 \uac70\ubd80\ud558\ub3c4\ub85d \ubcf4\uac15\ud588\uc2b5\ub2c8\ub2e4. \ub610\ud55c \ubd88\uc644\uc804\ud55c \uc2a4\ud2b8\ub9bc\uc744 \uc704\ud55c <code>interrupted<\/code> \uc885\ub8cc \uc0ac\uc720\uac00 \ucd94\uac00\ub410\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2>\ud750\ub984 1: \ub3c4\uad6c \ud638\ucd9c\uc740 \uc774\uc81c \u2018\uc644\uc131\ub41c JSON \ud55c \ubc88\u2019\uc774\ub77c\ub294 \uac00\uc815\uc5d0\uc11c \ubc97\uc5b4\ub0a9\ub2c8\ub2e4<\/h2>\n<h3>\uc0ac\uc2e4: \uc785\ub825\uacfc \uc2a4\ud2b8\ub9bc \uc774\ubca4\ud2b8\uac00 \ub354 \uc138\ubd84\ud654\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4<\/h3>\n<p><a href=\"https:\/\/github.com\/openai\/openai-python\/releases\/tag\/v3.37.0\" target=\"_blank\" rel=\"noopener\">OpenAI Python 3.37.0<\/a>\uc740 Live response \ubaa8\ub378\uc5d0\uc11c Decisions \uc9c8\ubb38\uc758 <code>instructions<\/code>\uac00 \ubb38\uc790\uc5f4\ubfd0 \uc544\ub2c8\ub77c \uad6c\uc870\ud654\ub41c \ud14d\uc2a4\ud2b8\u00b7\uc774\ubbf8\uc9c0\u00b7JSON \ud30c\ud2b8\uac00 \ub420 \uc218 \uc788\ub2e4\uace0 \uba85\uc2dc\ud588\uc2b5\ub2c8\ub2e4. \uae30\uc874 \ucf54\ub4dc\uac00 \ubb38\uc790\uc5f4 \uba54\uc11c\ub4dc\ub97c \ubb34\uc870\uac74 \ud638\ucd9c\ud558\uac70\ub098, \uc785\ub825 \uba54\uc2dc\uc9c0 \uc5ed\ud560\uacfc tool-history \ud56d\ubaa9\uc744 \uc5f4\uac70\ud615\uc73c\ub85c \uc644\uc804 \ucc98\ub9ac\ud55c\ub2e4\uace0 \uac00\uc815\ud588\ub2e4\uba74 \uc774\ubc88 \ub9c8\uc774\ub108 \ub9b4\ub9ac\uc2a4\uc5d0\uc11c \uae68\uc9c8 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/github.com\/langchain-ai\/langchain\/releases\/tag\/langchain-core%3D%3D1.7.0\" target=\"_blank\" rel=\"noopener\">LangChain Core 1.7.0<\/a>\ub3c4 \uac19\uc740 \ubc29\ud5a5\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. raw stream\uc5d0\uc11c \ub3c4\uad6c \uc778\uc218\ub294 \uc9c0\uae08\uae4c\uc9c0\uc758 \uc804\uccb4 \uc2a4\ub0c5\uc0f7\uc774 \uc544\ub2c8\ub77c \uc0c8\ub85c \ub4e4\uc5b4\uc628 \uc870\uac01\uc778 <code>tool-call-delta<\/code>\ub85c \ub098\uc635\ub2c8\ub2e4. \uacf5\uc2dd \ub178\ud2b8\ub294 \uae30\uc874 \uc2a4\ub0c5\uc0f7\uc774 \ud544\uc694\ud558\uba74 <code>langchain-core&lt;1.7<\/code>\uc744 \uace0\uc815\ud558\ub77c\uace0 \uc548\ub0b4\ud569\ub2c8\ub2e4. \uc774\ub294 \ub2e8\uc21c \uba85\uba85 \ubcc0\uacbd\uc774 \uc544\ub2c8\ub77c, UI\u00b7\uac10\uc0ac \ub85c\uadf8\u00b7\ub3c4\uad6c \uc2e4\ud589\uae30\uc5d0\uc11c \u2018\uc5b8\uc81c \uc778\uc218\uac00 \uc644\uc131\ub418\uc5c8\ub294\uac00\u2019\ub97c \ub2e4\uc2dc \uc815\uc758\ud574\uc57c \ud558\ub294 \uacc4\uc57d \ubcc0\uacbd\uc785\ub2c8\ub2e4.<\/p>\n<h3>\uc2e4\ubb34 \uc2dc\uc0ac\uc810: \uc2a4\ud2b8\ub9bc \ud30c\uc11c\uc640 \uc2e4\ud589\uae30\ub97c \ubd84\ub9ac\ud569\ub2c8\ub2e4<\/h3>\n<p>\ud504\ub860\ud2b8\uc5d4\ub4dc\uc5d0\uc11c \ubcf4\uc774\ub294 \ubd80\ubd84 \uc778\uc218\uc640 \uc11c\ubc84\uc5d0\uc11c \uc2e4\ud589 \uac00\ub2a5\ud55c \uc815\uaddc\ud654 \uc778\uc218\ub97c \uac19\uc740 \uac1d\uccb4\ub85c \uc4f0\uc9c0 \ub9c8\uc2ed\uc2dc\uc624. \uc2a4\ud2b8\ub9bc \uc18c\ube44\uc790\ub294 \ub378\ud0c0\ub97c \uc694\uccad\ubcc4 \ubc84\ud37c\uc5d0 \ud569\uce58\uace0, \uc11c\ubc84\uc758 \uac80\uc99d \ub2e8\uacc4\ub294 JSON \uc2a4\ud0a4\ub9c8\u00b7\ub3c4\uad6c allowlist\u00b7\uc870\uc9c1 \uad8c\ud55c\uc744 \ubaa8\ub450 \ud1b5\uacfc\ud55c <em>\uc644\uacb0 \uc774\ubca4\ud2b8<\/em>\ub9cc \uc2e4\ud589 \ud050\ub85c \ub118\uaca8\uc57c \ud569\ub2c8\ub2e4. \uc2e4\ud589\uc774 \uc2dc\uc791\ub41c \ub4a4 \ub4e4\uc5b4\uc624\ub294 \ub2a6\uc740 \ub378\ud0c0\ub294 \ud45c\uc2dc\uc6a9 \ub85c\uadf8\ub85c\ub9cc \ub0a8\uae30\uac70\ub098 \ud3d0\uae30\ud558\ub294 \uaddc\uce59\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.<\/p>\n<ul>\n<li>\uac01 <code>toolCallId<\/code>\uc5d0 <code>collecting \u2192 validated \u2192 approved \u2192 executing \u2192 completed\/failed\/cancelled<\/code> \uc0c1\ud0dc\ub97c \ub461\ub2c8\ub2e4.<\/li>\n<li>\ubd80\ubd84 \uc778\uc218\ub294 \uc808\ub300 \uc678\ubd80 API\u00b7\uc178\u00b7\ubc30\ud3ec \ud6c5\uc73c\ub85c \uc804\ub2ec\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/li>\n<li>SDK \uc5c5\uadf8\ub808\uc774\ub4dc \ud14c\uc2a4\ud2b8\uc5d0\ub294 \ubb38\uc790\uc5f4\u00b7\uba40\ud2f0\ud30c\ud2b8 instructions\uc640 \ubd84\ud560\ub41c tool argument \uc2a4\ud2b8\ub9bc\uc744 \ubaa8\ub450 \ub123\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2>\ud750\ub984 2: \uc2b9\uc778\u00b7\uac70\ubd80\u00b7\uc911\ub2e8\uc740 UX\uac00 \uc544\ub2c8\ub77c \uc11c\ubc84 \uce21 \uc2e4\ud589 \uc815\ucc45\uc785\ub2c8\ub2e4<\/h2>\n<h3>\uc0ac\uc2e4: \ub3c4\uad6c \uc2e4\ud589\uc758 \u2018\ud55c \ubc88\ub9cc\u2019\uacfc \u2018\uc2e4\ud589\ud558\uc9c0 \uc54a\uc74c\u2019\uc774 \ub77c\uc774\ube0c\ub7ec\ub9ac \uc218\uc900\uc5d0\uc11c \uac15\ud654\ub410\uc2b5\ub2c8\ub2e4<\/h3>\n<p><a href=\"https:\/\/github.com\/vercel\/ai\/releases\/tag\/ai%407.0.149\" target=\"_blank\" rel=\"noopener\">Vercel AI SDK 7.0.149<\/a>\ub294 \ud55c \ub3c4\uad6c \ud638\ucd9c\uc5d0 \ub300\ud574 \ubc18\ubcf5\ub418\uac70\ub098 \ucda9\ub3cc\ud558\ub294 \uc2b9\uc778 \uc751\ub2f5\uc774 \ub4e4\uc5b4\uc640\ub3c4 \uccab \ubc88\uc9f8 \uc751\ub2f5\ub9cc \ucc98\ub9ac\ud558\ub3c4\ub85d \ubc14\uafe8\uc2b5\ub2c8\ub2e4. \ub610\ud55c <code>toolChoice: 'none'<\/code>\ub97c \uc804\ub2ec\ud558\uace0, \uac70\ubd80\ub41c \ub3c4\uad6c \ud638\ucd9c\uc744 <code>generateText<\/code>\u00b7<code>streamText<\/code>\u00b7<code>WorkflowAgent<\/code>\uc758 \ub85c\uceec \uc2e4\ud589 \uc804\uc5d0 \ucc28\ub2e8\ud569\ub2c8\ub2e4. \uac19\uc740 \ub9b4\ub9ac\uc2a4\ub294 \uc644\ub8cc \uc2e0\ud638 \uc5c6\uc774 \ub05d\ub098\ub294 provider stream\uc5d0 <code>interrupted<\/code> \uc885\ub8cc \uc0ac\uc720\ub97c \ub354\ud558\uace0, \uc774\ub7f0 \uacbd\uc6b0 \uc790\ub3d9 \ub3c4\uad6c \uc2e4\ud589\u00b7agent continuation\u00b7\uc790\ub3d9 UI \ud6c4\uc18d \ucc98\ub9ac\ub97c \uba48\ucd94\ub3c4\ub85d \ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc774 \ubcc0\uacbd\uc740 \ub77c\uc774\ube0c\ub7ec\ub9ac \ud558\ub098\uc758 \ubc84\uadf8 \uc218\uc815\uc5d0 \uadf8\uce58\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub3c4\uad6c \ud638\ucd9c\uc774 \ube0c\ub77c\uc6b0\uc800 \uc2b9\uc778, \ubc31\uc5d4\ub4dc \ud050, \uc678\ubd80 SaaS \uc6f9\ud6c5\uc744 \uac00\ub85c\uc9c0\ub97c \ub54c \uc911\ubcf5 \uc2b9\uc778\uacfc \uc5f0\uacb0 \ub2e8\uc808\uc740 \ud754\ud55c \ubd84\uc0b0 \uc2dc\uc2a4\ud15c \ubb38\uc81c\uc785\ub2c8\ub2e4. \u201c\uc0ac\uc6a9\uc790\uac00 \uc2b9\uc778 \ubc84\ud2bc\uc744 \ud55c \ubc88 \ub20c\ub800\ub2e4\u201d\ub294 \uc0ac\uc2e4\ub9cc\uc73c\ub85c \uc2e4\ud589\uc758 \uc720\uc77c\uc131\uc744 \ubcf4\uc7a5\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n<h3>\uc2e4\ubb34 \uc2dc\uc0ac\uc810: \uc2b9\uc778 \ud0a4\uc640 \uba71\ub4f1 \ud0a4\ub97c \ubd84\ub9ac\ud569\ub2c8\ub2e4<\/h3>\n<p>\uc2b9\uc778 \ud1a0\ud070\uc740 \uc0ac\ub78c\uc758 \uc758\uc0ac\ub97c \uc99d\uba85\ud558\uace0, \uba71\ub4f1 \ud0a4\ub294 \ub3d9\uc77c \uc791\uc5c5\uc758 \uc911\ubcf5 \uc2e4\ud589\uc744 \ub9c9\ub294 \uc6a9\ub3c4\uc785\ub2c8\ub2e4. \ub450 \uc5ed\ud560\uc744 \uac19\uc740 \uac12\uc5d0 \uae30\ub300\uc9c0 \ub9d0\uace0 <code>approval_id<\/code>, <code>tool_call_id<\/code>, <code>idempotency_key<\/code>, \uc815\ucc45 \ud310\uc815 \uacb0\uacfc\ub97c \ubcc4\ub3c4 \uceec\ub7fc\uc73c\ub85c \uae30\ub85d\ud558\uc2ed\uc2dc\uc624. <code>interrupted<\/code> \uc0c1\ud0dc\uc5d0\uc11c\ub294 \u2018\uacc4\uc18d \uc2e4\ud589\u2019 \ub300\uc2e0 \ub3c4\uad6c \uc2e4\ud589\uc744 \ubcf4\ub958\ud558\uace0, \uc0ac\uc6a9\uc790\uac00 \uc0c8 \uc2b9\uc778\uc73c\ub85c \uc7ac\uac1c\ud558\ub3c4\ub85d \uc124\uacc4\ud558\ub294 \ud3b8\uc774 \uc548\uc804\ud569\ub2c8\ub2e4.<\/p>\n<ul>\n<li>\uc4f0\uae30 \uc791\uc5c5\uc5d0\ub294 \uc11c\ubc84\uac00 \ubc1c\uae09\ud55c \uba71\ub4f1 \ud0a4\ub97c \uc678\ubd80 API\uae4c\uc9c0 \uc804\ub2ec\ud569\ub2c8\ub2e4.<\/li>\n<li>\uc2b9\uc778 API\ub294 \uac19\uc740 <code>approval_id<\/code>\uc758 \ub450 \ubc88\uc9f8 \uc694\uccad\uc744 \uc131\uacf5 \ucc98\ub9ac\ud558\ub418 \uc7ac\uc2e4\ud589\ud558\uc9c0 \uc54a\uac8c \ub9cc\ub4ed\ub2c8\ub2e4.<\/li>\n<li>\uc2a4\ud2b8\ub9bc \uc885\ub8cc \uc0ac\uc720\uac00 \uc131\uacf5 \uc774\uc678\uc774\uba74 \ud6c4\uc18d \ub3c4\uad6c \ud638\ucd9c\uc744 \uae30\ubcf8 \uac70\ubd80\ud558\uace0, \uc7ac\uac1c \uacbd\ub85c\ub97c \uba85\uc2dc\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2>\ud750\ub984 3: \uc5d0\uc774\uc804\ud2b8 \uc6b4\uc601\uc740 \ubaa8\ub378 \ube44\uc6a9\u00b7\ucee8\ud14d\uc2a4\ud2b8\u00b7\uc870\uc9c1 \uc815\ucc45\uc744 \ud568\uaed8 \uacc4\uce21\ud558\ub294 \ub2e8\uacc4\ub85c \uc774\ub3d9\ud569\ub2c8\ub2e4<\/h2>\n<h3>\uc0ac\uc2e4: \uc0ac\uc6a9\ub7c9\u00b7\ucee8\ud14d\uc2a4\ud2b8 \uc218\uba85\u00b7\uc870\uc9c1 \ub2e8\uc704 \ud1b5\uc81c\uac00 SDK \ud45c\uba74\uc73c\ub85c \uc62c\ub77c\uc654\uc2b5\ub2c8\ub2e4<\/h3>\n<p><a href=\"https:\/\/github.com\/openai\/openai-python\/releases\/tag\/v3.36.0\" target=\"_blank\" rel=\"noopener\">OpenAI Python 3.36.0<\/a>\uc740 Responses API\uc758 Vertex AI \uc9c0\uc6d0\uacfc \ud568\uaed8 30\ubd84 \ub2e8\uc704 cache-write \uc0ac\uc6a9\ub7c9, compaction trigger ID\ub97c \ucd94\uac00\ud588\uc2b5\ub2c8\ub2e4. \uc774\ub294 \uc5ec\ub7ec \ubaa8\ub378 \uacbd\ub85c\ub97c \uc4f0\ub294 \ud300\uc774 \ube44\uc6a9\uacfc \ucee8\ud14d\uc2a4\ud2b8 \uc555\ucd95\uc758 \ud754\uc801\uc744 \uc694\uccad \ub2e8\uc704\ub85c \uc5f0\uacb0\ud560 \uc218 \uc788\ub294 \uc2e0\ud638\uc785\ub2c8\ub2e4. \ub2e4\ub9cc \ub9b4\ub9ac\uc2a4 \ub178\ud2b8\uac00 \uc790\ub3d9 \ube44\uc6a9 \ucd5c\uc801\ud654\ub97c \ubcf4\uc7a5\ud558\ub294 \uac83\uc740 \uc544\ub2c8\ubbc0\ub85c, \uc2e4\uc81c \ube44\uc6a9 \uc808\uac10 \ud6a8\uacfc\ub294 \uac01 \ud300\uc758 \ud2b8\ub798\ud53d\uacfc \ud504\ub86c\ud504\ud2b8 \uad6c\uc870\uc5d0\uc11c \uce21\uc815\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/github.com\/anthropics\/anthropic-sdk-python\/releases\/tag\/v2.0.0\" target=\"_blank\" rel=\"noopener\">Anthropic Python 2.0.0<\/a>\uc740 \uc0c8 API \ubc84\uc804\uacfc workspace \uae30\ubc18 \uc9c0\ucd9c \ud55c\ub3c4 \uc870\ud68c \ubc94\uc704\ub97c \ucd94\uac00\ud588\uace0, \uc774\uc5b4\uc9c4 <a href=\"https:\/\/github.com\/anthropics\/anthropic-sdk-python\/releases\/tag\/v2.1.0\" target=\"_blank\" rel=\"noopener\">2.1.0<\/a>\uc740 \uc0ac\uc6a9\uc790 \ud504\ub85c\ud544\uc758 enforcement status\u00b7actions\u00b7filter\ub97c \ucd94\uac00\ud588\uc2b5\ub2c8\ub2e4. \ub450 \ubc84\uc804\ub9cc\uc73c\ub85c \ud2b9\uc815 \uc870\uc9c1 \ud1b5\uc81c \uc815\ucc45\uc758 \uc804\uccb4 \ub3d9\uc791\uc744 \ub2e8\uc815\ud560 \uc218\ub294 \uc5c6\uc9c0\ub9cc, AI \uae30\ub2a5\uc744 \uacf5\uc6a9 API \ud0a4 \ud55c \uac1c\ub85c \uc6b4\uc601\ud558\uae30\ubcf4\ub2e4 \uc6cc\ud06c\uc2a4\ud398\uc774\uc2a4\u00b7\uc0ac\uc6a9\uc790\u00b7\uc815\ucc45 \uc774\ubca4\ud2b8 \uae30\uc900\uc73c\ub85c \uad00\ucc30\ud558\ub294 \ubc29\ud5a5\uc774 \uac15\ud654\ub418\uace0 \uc788\ub2e4\ub294 \uadfc\uac70\uc785\ub2c8\ub2e4.<\/p>\n<h3>\uc2e4\ubb34 \uc2dc\uc0ac\uc810: \ubaa8\ub378 \ub85c\uadf8\uc640 \ub3c4\uad6c \ub85c\uadf8\ub97c \ud558\ub098\uc758 \ucd94\uc801 ID\ub85c \ubb36\uc2b5\ub2c8\ub2e4<\/h3>\n<p>\ud1a0\ud070\ub9cc \uae30\ub85d\ud558\uba74 \u201c\uc65c \ube44\uc6a9\uc774 \ub298\uc5c8\ub294\uc9c0\u201d \uc54c\uae30 \uc5b4\ub835\uace0, \ub3c4\uad6c \uc2e4\ud589\ub9cc \uae30\ub85d\ud558\uba74 \u201c\uc5b4\ub5a4 \ucee8\ud14d\uc2a4\ud2b8\uac00 \uc774 \ud589\ub3d9\uc744 \uc720\ubc1c\ud588\ub294\uc9c0\u201d \ucd94\uc801\ud558\uae30 \uc5b4\ub835\uc2b5\ub2c8\ub2e4. \uc694\uccad \uc2dc\uc791 \uc2dc \ubc1c\uae09\ud55c trace ID\ub97c \ubaa8\ub378 \ud638\ucd9c, cache-write\/compaction \uba54\ud0c0\ub370\uc774\ud130, tool call, \uc2b9\uc778, \uc678\ubd80 API \uacb0\uacfc\uc5d0 \uacf5\ud1b5\uc73c\ub85c \ub123\uc73c\uc2ed\uc2dc\uc624. \uadf8 \uc704\uc5d0\uc11c \uc870\uc9c1\ubcc4 \uc6d4 \uc608\uc0b0\ubfd0 \uc544\ub2c8\ub77c \uc791\uc5c5\ubcc4 \ucd5c\ub300 \ub3c4\uad6c \ud638\ucd9c \uc218\u00b7\uc7ac\uc2dc\ub3c4 \ud69f\uc218\u00b7\ucee8\ud14d\uc2a4\ud2b8 \ud06c\uae30 \uc0c1\ud55c\uc744 \ub46c\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<h2>\uac1c\ubc1c\uc790 \uc561\uc158: \uc774\ubc88 \uc8fc\uc5d0 \ud560 5\uac00\uc9c0<\/h2>\n<ol>\n<li><strong>\uc2a4\ud2b8\ub9bc \ud68c\uadc0 \ud14c\uc2a4\ud2b8:<\/strong> tool argument\uac00 \uc138 \uc870\uac01 \uc774\uc0c1\uc73c\ub85c \uc624\uace0 \uc911\uac04\uc5d0 \uc5f0\uacb0\uc774 \ub04a\uae30\ub294 fixture\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4. UI\uac00 \ubd80\ubd84 \uc778\uc218\ub97c \ubcf4\uc5ec\ub3c4 \uc2e4\ud589\uae30\uac00 \ud638\ucd9c\ub418\uc9c0 \uc54a\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\uc0c1\ud0dc \uc804\uc774 \ud45c\uc900\ud654:<\/strong> provider\ubcc4 finish reason\uc744 \ub0b4\ubd80\uc758 <code>completed<\/code>, <code>interrupted<\/code>, <code>failed<\/code>, <code>cancelled<\/code>\ub85c \ub9e4\ud551\ud558\uace0, \uc0c8 \uac12\uc774 \uc640\ub3c4 \uc870\uc6a9\ud788 \uc131\uacf5 \ucc98\ub9ac\ud558\uc9c0 \uc54a\uac8c \ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\uc911\ubcf5 \uc2e4\ud589 \ubc29\uc9c0:<\/strong> \uc2b9\uc778\u00b7\uc7ac\uc2dc\ub3c4\u00b7\uc6f9\ud6c5 \uc7ac\uc804\uc1a1 \uac01\uac01\uc5d0 \ub300\ud55c \uba71\ub4f1 \ud14c\uc2a4\ud2b8\ub97c CI\uc5d0 \ub123\uace0, \uc2e4\uc81c \uc4f0\uae30 \ub3c4\uad6c\uc5d0 \ud0a4\ub97c \uc804\ub2ec\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\ube44\uc6a9\/\ucee8\ud14d\uc2a4\ud2b8 \ub300\uc2dc\ubcf4\ub4dc:<\/strong> trace ID\ubcc4 \ubaa8\ub378, \ud1a0\ud070, cache-write, compaction, tool \uc218, \uc7ac\uc2dc\ub3c4 \uc218, \ucd5c\uc885 \uc0c1\ud0dc\ub97c \ud55c \ud589\uc73c\ub85c \uc870\ud68c\ud560 \uc218 \uc788\uac8c \ub9cc\ub4ed\ub2c8\ub2e4.<\/li>\n<li><strong>\uc758\uc874\uc131 \uc5c5\uadf8\ub808\uc774\ub4dc \uac80\ud1a0:<\/strong> OpenAI Python 3.37.0\uacfc LangChain Core 1.7.0\uc740 \ud0c0\uc785\u00b7\uc2a4\ud2b8\ub9bc \uacc4\uc57d \uc601\ud5a5\uc774 \uc788\uc73c\ubbc0\ub85c lockfile\ub9cc \uc62c\ub9ac\uc9c0 \ub9d0\uace0 staging\uc5d0\uc11c consumer \ud14c\uc2a4\ud2b8\ub97c \ud1b5\uacfc\uc2dc\ud0a8 \ub4a4 \ubc30\ud3ec\ud569\ub2c8\ub2e4.<\/li>\n<\/ol>\n<h2>\uccb4\ud06c\ub9ac\uc2a4\ud2b8<\/h2>\n<ul>\n<li>\ubd80\ubd84 tool argument\uac00 \ub3c4\ucc29\ud574\ub3c4 \uc678\ubd80 \uc4f0\uae30 \ub3c4\uad6c\ub294 \uc2e4\ud589\ub418\uc9c0 \uc54a\ub294\uac00?<\/li>\n<li>\ub3d9\uc77c \uc2b9\uc778 \ub610\ub294 \uc6f9\ud6c5\uc774 \ub450 \ubc88 \uc640\ub3c4 \ud55c \ubc88\ub9cc \uc2e4\ud589\ub418\ub294\uac00?<\/li>\n<li><code>interrupted<\/code>\u00b7timeout\u00b7cancel \uc0c1\ud0dc\uc5d0\uc11c \uc790\ub3d9 \ud6c4\uc18d \uc2e4\ud589\uc774 \uba48\ucd94\ub294\uac00?<\/li>\n<li>\ubaa8\ub378\u00b7\ucee8\ud14d\uc2a4\ud2b8\u00b7\ub3c4\uad6c\u00b7\uc2b9\uc778\u00b7\ube44\uc6a9\uc774 \ud558\ub098\uc758 trace ID\ub85c \uc5f0\uacb0\ub418\ub294\uac00?<\/li>\n<li>\uc0c8 SDK \ud0c0\uc785\uacfc \uc885\ub8cc \uc0ac\uc720\ub97c exhaustive switch \ub610\ub294 \uc2a4\ud0a4\ub9c8 \uac80\uc99d\uc5d0\uc11c \ub204\ub77d \uc5c6\uc774 \ucc98\ub9ac\ud558\ub294\uac00?<\/li>\n<\/ul>\n<h2>FAQ<\/h2>\n<h3>LangChain 1.7\ub85c \ubc14\ub85c \uc62c\ub9ac\uba74 \ubaa8\ub4e0 \ub3c4\uad6c \ud638\ucd9c\uc774 \uae68\uc9c0\ub098\uc694?<\/h3>\n<p>\uc544\ub2d9\ub2c8\ub2e4. \uacf5\uc2dd \ub178\ud2b8\uc0c1 <code>.tool_calls.get()<\/code>\uacfc <code>.output<\/code>\uc740 \uc720\uc9c0\ub429\ub2c8\ub2e4. \ub2e4\ub9cc raw stream\uc758 <code>block-delta<\/code>\uc5d0\uc11c \ub204\uc801 \uc778\uc218\ub97c \uc77d\ub358 \uc18c\ube44\uc790\ub294 <code>tool-call-delta<\/code> \ucc98\ub9ac\ub85c \ubc14\uafb8\uac70\ub098 \ud638\ud658 \ubc84\uc804\uc744 \uace0\uc815\ud574\uc57c \ud569\ub2c8\ub2e4. \uc5c5\uadf8\ub808\uc774\ub4dc \uc804 \uc2e4\uc81c \uc2a4\ud2b8\ub9bc \uc18c\ube44 \uc9c0\uc810\uc744 \uac80\uc0c9\ud574 \ud655\uc778\ud558\uc2ed\uc2dc\uc624.<\/p>\n<h3>\ub3c4\uad6c \uc2b9\uc778 UI\uac00 \uc788\uc73c\ub2c8 \uc911\ubcf5 \uc2e4\ud589 \ubc29\uc9c0\ub294 \ud544\uc694 \uc5c6\ub098\uc694?<\/h3>\n<p>\ud544\uc694\ud569\ub2c8\ub2e4. \ub124\ud2b8\uc6cc\ud06c \uc7ac\uc804\uc1a1, \ud0ed \uc911\ubcf5, \uc6cc\ucee4 \uc7ac\uc2dc\ub3c4, \uc6f9\ud6c5 \uc911\ubcf5\uc740 UI \ubc16\uc5d0\uc11c \uc0dd\uae41\ub2c8\ub2e4. \uc11c\ubc84\uc640 \uc678\ubd80 API\uc5d0 \uba71\ub4f1 \ud0a4\ub97c \uc801\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<h3>\uc0c8 \uc0ac\uc6a9\ub7c9 \ud544\ub4dc\uac00 \uc0dd\uacbc\uc73c\ub2c8 \ube44\uc6a9 \ucd5c\uc801\ud654\uac00 \uc790\ub3d9\uc73c\ub85c \ub418\ub098\uc694?<\/h3>\n<p>\uc544\ub2d9\ub2c8\ub2e4. \uc0ac\uc6a9\ub7c9\u00b7cache-write\u00b7compaction \uc815\ubcf4\ub97c \uc790\uccb4 trace\uc640 \uc5f0\uacb0\ud558\uace0, \uc791\uc5c5\ubcc4 \uc608\uc0b0 \ubc0f \uc7ac\uc2dc\ub3c4 \uc0c1\ud55c\uc744 \uc815\ucc45\uc73c\ub85c \uac15\uc81c\ud560 \ub54c \uc6b4\uc601 \ud6a8\uacfc\uac00 \uc0dd\uae41\ub2c8\ub2e4.<\/p>\n<h2>\ucd9c\ucc98<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/openai\/openai-python\/releases\/tag\/v3.37.0\" target=\"_blank\" rel=\"noopener\">OpenAI Python v3.37.0 release notes \u2014 2026-10-22<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/openai\/openai-python\/releases\/tag\/v3.36.0\" target=\"_blank\" rel=\"noopener\">OpenAI Python v3.36.0 release notes \u2014 2026-10-21<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/anthropics\/anthropic-sdk-python\/releases\/tag\/v2.0.0\" target=\"_blank\" rel=\"noopener\">Anthropic Python v2.0.0 release notes \u2014 2026-10-21<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/anthropics\/anthropic-sdk-python\/releases\/tag\/v2.1.0\" target=\"_blank\" rel=\"noopener\">Anthropic Python v2.1.0 release notes \u2014 2026-10-21<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/langchain-ai\/langchain\/releases\/tag\/langchain-core%3D%3D1.7.0\" target=\"_blank\" rel=\"noopener\">LangChain Core 1.7.0 release notes \u2014 2026-10-22<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/vercel\/ai\/releases\/tag\/ai%407.0.149\" target=\"_blank\" rel=\"noopener\">Vercel AI SDK 7.0.149 release notes \u2014 2026-10-22<\/a><\/li>\n<\/ul>\n<h2>\ub354 \uae4a\uac8c \uc77d\uae30: \uc2e4\uc804 \uac00\uc774\ub4dc<\/h2>\n<p>\uc774 \ub9ac\ud3ec\ud2b8\ub294 \ucd5c\uadfc \ud750\ub984\uc744 \ube60\ub974\uac8c \ud30c\uc545\ud558\uae30 \uc704\ud55c \uc694\uc57d\uc785\ub2c8\ub2e4. \uc2e4\uc81c \ud504\ub85c\uc81d\ud2b8\uc5d0 \uc801\uc6a9\ud560 \ub54c\ub294 \uc544\ub798\uc758 \uae30\uc900 \uae00\uacfc \ud568\uaed8 \ud655\uc778\ud558\uba74 \ub354 \uc548\uc804\ud569\ub2c8\ub2e4.<\/p>\n<ul>\n<li><a href=\"https:\/\/gilnas.synology.me\/wordpress\/113\/\">AI \uc5d0\uc774\uc804\ud2b8\ub780 \ubb34\uc5c7\uc778\uac00?<\/a><\/li>\n<li><a href=\"https:\/\/gilnas.synology.me\/wordpress\/114\/\">\ud504\ub86c\ud504\ud2b8 \uc778\uc81d\uc158 \ubcf4\uc548 \uccb4\ud06c\ub9ac\uc2a4\ud2b8<\/a><\/li>\n<li><a href=\"https:\/\/gilnas.synology.me\/wordpress\/115\/\">AI \ucf54\ub529 \ub3c4\uad6c \uc548\uc804 \uc6cc\ud06c\ud50c\ub85c<\/a><\/li>\n<li><a href=\"https:\/\/gilnas.synology.me\/wordpress\/118\/\">\uac1c\ubc1c\uc790 \ube14\ub85c\uadf8 \uc560\ub4dc\uc13c\uc2a4 \uc2b9\uc778 \uc804\ub7b5<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\ud575\uc2ec \ub2f5\ubcc0: 2026\ub144 10\uc6d4 20\uc77c~23\uc77c(KST) AI\/LLM\u00b7\uc5d0\uc774\uc804\ud2b8 \uac1c\ubc1c \ub3c4\uad6c\uc758 \uacf5\ud1b5 \ubcc0\ud654\ub294 \ubaa8\ub378 \ud638\ucd9c \uc790\uccb4\ubcf4\ub2e4 \ub3c4\uad6c \ud638\ucd9c\uc758 \uacc4\uc57d\u00b7\uc2b9\uc778\u00b7\ube44\uc6a9\u00b7\uc911\ub2e8 \uc0c1\ud0dc\ub97c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uba85\uc2dc\uc801\uc73c\ub85c \ub2e4\ub904\uc57c \ud55c\ub2e4\ub294 \uac83\uc785\ub2c8\ub2e4. OpenAI Python SDK\ub294 \uc2e4\uc2dc\uac04 Decisions \uc785\ub825\uc744 \ub354 \uad6c\uc870\ud654\ub41c \ud615\ud0dc\ub85c \ub113\ud614\uace0, LangChain\uc740 \uc2a4\ud2b8\ub9ac\ubc0d \ub3c4\uad6c \uc778\uc218\ub97c \uc99d\ubd84 \uc774\ubca4\ud2b8\ub85c \ubc14\uafe8\uc73c\uba70, Vercel AI SDK\ub294 \uac70\ubd80\ub41c \ub3c4\uad6c \ud638\ucd9c\uacfc \uc911\ubcf5 \uc2b9\uc778\uc758 \uc2e4\ud589 \uacbd\uacc4\ub97c \uac15\ud654\ud588\uc2b5\ub2c8\ub2e4. \uc5d0\uc774\uc804\ud2b8\ub97c \uc81c\ud488\uc774\ub098 CI\uc5d0 \ubd99\uc778 \ud300\uc740 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":657,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-658","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-trend"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/658","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/comments?post=658"}],"version-history":[{"count":0,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/658\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media\/657"}],"wp:attachment":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media?parent=658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/categories?post=658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/tags?post=658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}