{"id":548,"date":"2026-10-02T23:32:40","date_gmt":"2026-10-02T23:32:40","guid":{"rendered":"https:\/\/gilnas.synology.me\/wordpress\/548\/"},"modified":"2026-10-02T23:32:40","modified_gmt":"2026-10-02T23:32:40","slug":"%ec%97%90%ec%9d%b4%ec%a0%84%ed%8a%b8-%ec%84%b8%ec%85%98%c2%b7%eb%b9%84%ec%9a%a9-%ed%86%b5%ec%a0%9c%c2%b7mcp-%eb%b3%b4%ec%95%88%ec%9d%98-%eb%8f%99%ec%8b%9c-%ec%a7%84%ec%a0%84-three-day-ai-agent-opera","status":"publish","type":"post","link":"https:\/\/gilnas.synology.me\/wordpress\/548\/","title":{"rendered":"\uc5d0\uc774\uc804\ud2b8 \uc138\uc158\u00b7\ube44\uc6a9 \ud1b5\uc81c\u00b7MCP \ubcf4\uc548\uc758 \ub3d9\uc2dc \uc9c4\uc804 | Three-Day AI Agent Operations Shift"},"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-2.png\" alt=\"\uc5d0\uc774\uc804\ud2b8 \uc138\uc158\u00b7\ube44\uc6a9 \ud1b5\uc81c\u00b7MCP \ubcf4\uc548\uc758 \ub3d9\uc2dc \uc9c4\uc804 | Three-Day AI Agent Operations Shift\" \/><\/figure>\n<p><strong>\uc694\uc57d:<\/strong> \ucd5c\uadfc 72\uc2dc\uac04\uc758 AI\/LLM\u00b7AI Agent \uac1c\ubc1c\uc790 \ub3c4\uad6c \ud750\ub984\uc740 <strong>\uc5d0\uc774\uc804\ud2b8 \uc138\uc158\uc744 \uc81c\ud488 \uae30\ub2a5\uc73c\ub85c \ub178\ucd9c<\/strong>\ud558\uace0, <strong>\ube44\uc6a9\u00b7\uad8c\ud55c\u00b7\uc2b9\uc778<\/strong>\uc744 \uc6b4\uc601 \uacc4\uce35\uc73c\ub85c \ub04c\uc5b4\uc62c\ub9ac\uba70, <strong>MCP \uc5f0\uacb0\uc758 \ubcf4\uc548 \uacbd\uacc4<\/strong>\ub97c \uac15\ud654\ud558\ub294 \ubc29\ud5a5\uc73c\ub85c \ubaa8\uc600\uc2b5\ub2c8\ub2e4. \ub2e8\uc21c\ud788 \ub354 \uc88b\uc740 \ubaa8\ub378\uc744 \uace0\ub974\ub294 \ub2e8\uacc4\uc5d0\uc11c, \uc2e4\ud589 \ud754\uc801\uacfc \ub3c4\uad6c \uad8c\ud55c\uc744 \ud1b5\uc81c \uac00\ub2a5\ud55c \uc2dc\uc2a4\ud15c\uc73c\ub85c \ub9cc\ub4dc\ub294 \ub2e8\uacc4\ub85c \uc774\ub3d9\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\ud575\uc2ec \ub2f5\ubcc0: \uc774\ubc88 3\uc77c\uc5d0 \uac1c\ubc1c\ud300\uc774 \ubc14\uafd4\uc57c \ud560 \uac83\uc740 \ubb34\uc5c7\uc778\uac00?<\/h2>\n<p>\uc0c8 SDK\ub97c \uc989\uc2dc \uc804\uba74 \ub3c4\uc785\ud558\uae30\ubcf4\ub2e4, \uc5d0\uc774\uc804\ud2b8\uc758 <strong>\uc138\uc158\u00b7\ub3c4\uad6c \ud638\ucd9c\u00b7\uc0b0\ucd9c\ubb3c\u00b7\uc911\ub2e8 \uc0ac\uc720\u00b7\uc2b9\uc778 \uacb0\uacfc<\/strong>\ub97c \ucd94\uc801\ud558\ub294 \uacf5\ud1b5 \uc774\ubca4\ud2b8 \uc2a4\ud0a4\ub9c8\ub97c \uba3c\uc800 \uc815\ud574\uc57c \ud569\ub2c8\ub2e4. \uadf8 \uc704\uc5d0 \uc0ac\uc6a9\uc790\u00b7\ud504\ub85c\uc81d\ud2b8\u00b7\ubaa8\ub378 \ub2e8\uc704\uc758 \uc608\uc0b0 \uc0c1\ud55c\uacfc MCP \ud5c8\uc6a9 \ubaa9\ub85d\uc744 \ub450\uba74, \uae30\ub2a5 \ud655\uc7a5\uacfc \ubcf4\uc548\u00b7\ube44\uc6a9 \uad00\ub9ac\ub97c \uac19\uc740 \ub9b4\ub9ac\uc2a4 \uc808\ucc28\ub85c \ub2e4\ub8f0 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li><strong>\ud655\uc778\ub41c \uc0ac\uc2e4:<\/strong> OpenAI\uc640 Anthropic\uc758 \ucd5c\uc2e0 Python SDK\ub294 \uc138\uc158 \uc774\ubca4\ud2b8, \uc0b0\ucd9c\ubb3c, \ube44\uc6a9\u00b7\uad00\ub9ac API\ub97c \ud655\uc7a5\ud588\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\ud655\uc778\ub41c \uc0ac\uc2e4:<\/strong> Microsoft Agent Framework \ucd5c\uc2e0 .NET \ub9b4\ub9ac\uc2a4\uc5d0\ub294 MCP origin pinning, \uc124\uc815 allowlist, \uc2b9\uc778 \ubc14\uc778\ub529 \uad00\ub828 \ubcc0\uacbd\uc774 \ub4e4\uc5b4\uac14\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\ud574\uc11d:<\/strong> \uc5d0\uc774\uc804\ud2b8\uc758 \ucc28\ubcc4\uc810\uc740 \uac1c\ubcc4 \ud504\ub86c\ud504\ud2b8\ubcf4\ub2e4 \uad00\uce21\uc131\u00b7\uad8c\ud55c\u00b7\ubcf5\uad6c \uac00\ub2a5\uc131\uc744 \uac16\ucd98 \uc2e4\ud589 \uc6b4\uc601\uc5d0 \ub354 \ud06c\uac8c \uc88c\uc6b0\ub420 \uac00\ub2a5\uc131\uc774 \ub192\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2>3\uc77c \uacb0\ub860: \u2018\uc5d0\uc774\uc804\ud2b8 \uae30\ub2a5\u2019\uc774 \u2018\uc5d0\uc774\uc804\ud2b8 \uc6b4\uc601 \uacc4\uc57d\u2019\uc73c\ub85c \ubc14\ub00c\uace0 \uc788\ub2e4<\/h2>\n<p>\uc774\ubc88 \uae30\uac04\uc5d0\ub294 \ub300\ud615 \ubaa8\ub378 \ubc1c\ud45c \ud558\ub098\ubcf4\ub2e4, \uc5d0\uc774\uc804\ud2b8\ub97c \uc2e4\uc81c \uc5c5\ubb34 \ud750\ub984\uc5d0 \ub123\uc744 \ub54c \ud544\uc694\ud55c \uc2e4\ud589 \ub2e8\uc704\uac00 \uc5ec\ub7ec \uacf5\uae09\uc790\uc5d0\uc11c \ub3d9\uc2dc\uc5d0 \ub4dc\ub7ec\ub0ac\uc2b5\ub2c8\ub2e4. \uc138\uc158\uc774 \ubb34\uc5c7\uc744 \ud588\ub294\uc9c0, \ud30c\uc77c\uacfc \uacb0\uacfc\ubb3c\uc774 \uc5b4\ub514\uc5d0 \ub0a8\ub294\uc9c0, \uc65c \uac70\uc808 \ub610\ub294 \uc720\ud734 \uc0c1\ud0dc\uac00 \ub418\uc5c8\ub294\uc9c0, \ub204\uac00 \uc5bc\ub9c8\ub97c \uc37c\ub294\uc9c0, \uc6d0\uaca9 \ub3c4\uad6c\ub294 \uc5b4\ub5a4 \ucd9c\ucc98\uc5d0\uc11c \uc654\ub294\uc9c0\ub97c API\uc640 \ud504\ub808\uc784\uc6cc\ud06c\uac00 \ud45c\uba74\ud654\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub294 \uc81c\ud488\ud300\uc774 UI\ub9cc \ub9cc\ub4e4\uace0 \ud50c\ub7ab\ud3fc\ud300\uc774 \ub098\uc911\uc5d0 \ud1b5\uc81c \uc7a5\uce58\ub97c \ub367\ubd99\uc774\ub294 \ubc29\uc2dd\ubcf4\ub2e4, \ucc98\uc74c\ubd80\ud130 \uc6b4\uc601 \ub370\uc774\ud130\ub97c \uc124\uacc4\ud574\uc57c \ud55c\ub2e4\ub294 \uc2e0\ud638\uc785\ub2c8\ub2e4.<\/p>\n<h2>\ud750\ub984 1. \uc5d0\uc774\uc804\ud2b8 \uc138\uc158\uc740 \ub300\ud654 \ub85c\uadf8\uac00 \uc544\ub2c8\ub77c \uc0b0\ucd9c\ubb3c \uc911\uc2ec\uc758 \uc2e4\ud589 \uae30\ub85d\uc774 \ub41c\ub2e4<\/h2>\n<h3>OpenAI Python SDK: typed answer\u00b7artifact\u00b7\uc138\uc158 \uc774\ubca4\ud2b8\uc758 \uc5f0\uc18d \ub9b4\ub9ac\uc2a4<\/h3>\n<p><a href=\"https:\/\/github.com\/openai\/openai-python\/releases\/tag\/v3.23.0\" target=\"_blank\" rel=\"noopener\">OpenAI Python SDK v3.23.0<\/a>(10\uc6d4 1\uc77c)\uc740 \uc5d0\uc774\uc804\ud2b8 \uc138\uc158 \uc2a4\ud2b8\ub9bc\uc758 typed answer, \ud30c\uc77c staging \ubc0f turn artifact \ub2e4\uc6b4\ub85c\ub4dc, session trace\ub97c \ucd94\uac00\ud588\uc2b5\ub2c8\ub2e4. \uc774\uc5b4 <a href=\"https:\/\/github.com\/openai\/openai-python\/releases\/tag\/v3.24.0\" target=\"_blank\" rel=\"noopener\">v3.24.0<\/a>(10\uc6d4 2\uc77c)\uc740 custom voice creation\uacfc agent session event\ub97c \ub354\ud588\uace0, Python request routing field \ubc0f parse helper\uc758 \uc6b0\uc120\uc21c\uc704 \ubb38\uc81c\ub3c4 \uc218\uc815\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<p><strong>\uc65c \uc911\uc694\ud55c\uac00:<\/strong> \uc2a4\ud2b8\ub9ac\ubc0d \ud14d\uc2a4\ud2b8\ub9cc \ud654\uba74\uc5d0 \ud758\ub824\ubcf4\ub0b4\ub294 \uad6c\ud604\uc73c\ub85c\ub294 \uc7ac\uc2e4\ud589, \uac80\ud1a0, \uac10\uc0ac, \ud6c4\uc18d \uc790\ub3d9\ud654\ub97c \uc548\uc815\uc801\uc73c\ub85c \ub9cc\ub4e4\uae30 \uc5b4\ub835\uc2b5\ub2c8\ub2e4. typed answer\uc640 artifact, event\ub97c run ID\uc5d0 \ubb36\uc73c\uba74 \u201c\uc5b4\ub5a4 \uc785\ub825\uc5d0\uc11c \uc5b4\ub5a4 \ub3c4\uad6c\uac00 \uc5b4\ub5a4 \ud30c\uc77c\uc744 \ub9cc\ub4e4\uc5c8\ub294\uac00\u201d\ub97c \uc81c\ud488 \ud654\uba74\uacfc \uc6b4\uc601 \ub85c\uadf8\uc5d0\uc11c \uac19\uc740 \ubc29\uc2dd\uc73c\ub85c \ub2e4\ub8f0 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><strong>\uc2e4\ubb34 \uc801\uc6a9:<\/strong> SDK \uc5c5\uadf8\ub808\uc774\ub4dc \uc804\ud6c4\uc5d0 \uc138\uc158 \uc2dc\uc791\u00b7\ub3c4\uad6c \ud638\ucd9c\u00b7\ud30c\uc77c \uc0dd\uc131\u00b7\ucd5c\uc885 \ucd9c\ub825\u00b7\uc624\ub958\/\ucde8\uc18c\ub97c append-only \uc774\ubca4\ud2b8\ub85c \uae30\ub85d\ud558\uc2ed\uc2dc\uc624. \ud2b9\ud788 routing\/parse \ub3d9\uc791\uc5d0 \uc758\uc874\ud558\ub294 \ud1b5\ud569\uc740 \uac19\uc740 \uc785\ub825\uc744 staging\uc5d0\uc11c \uc7ac\uc0dd\ud574 \uc751\ub2f5 \uad6c\uc870\uc640 \uc2e4\ud328 \ucc98\ub9ac\uc758 \ubcc0\ud654\ub97c \ud655\uc778\ud558\ub294 \ud3b8\uc774 \uc548\uc804\ud569\ub2c8\ub2e4.<\/p>\n<h2>\ud750\ub984 2. \ube44\uc6a9\uacfc \uac70\uc808 \uc0ac\uc720\uac00 \uc5d0\uc774\uc804\ud2b8 \ud50c\ub7ab\ud3fc\uc758 1\uae09 \uc2e0\ud638\uac00 \ub41c\ub2e4<\/h2>\n<h3>Anthropic Python SDK: Enterprise \ubd84\uc11d\u00b7spend limit\u00b7Managed Agents \uc0c1\ud0dc \uc2e0\ud638<\/h3>\n<p><a href=\"https:\/\/github.com\/anthropics\/anthropic-sdk-python\/releases\/tag\/v1.10.0\" target=\"_blank\" rel=\"noopener\">Anthropic Python SDK v1.10.0<\/a>(9\uc6d4 30\uc77c)\uc740 Managed Agents session idle event\uc5d0 refusal stop reason\uacfc stop details\ub97c \ucd94\uac00\ud558\uace0, Admin API\uc5d0 Claude Enterprise \ubd84\uc11d\u00b7spend limit\u00b7RBAC group\/role\u00b7\uc0ac\uc6a9\uc790\ubcc4 usage\/cost report\ub97c \ud655\uc7a5\ud588\uc2b5\ub2c8\ub2e4. \uac19\uc740 \ub0a0\uc758 <a href=\"https:\/\/github.com\/anthropics\/anthropic-sdk-python\/releases\/tag\/v1.11.0\" target=\"_blank\" rel=\"noopener\">v1.11.0<\/a>\uc740 spend limit \ubaa9\ub85d \uc870\ud68c endpoint\ub97c \ubcf4\ud0f0\uc2b5\ub2c8\ub2e4.<\/p>\n<p><strong>\uc65c \uc911\uc694\ud55c\uac00:<\/strong> \uc5d0\uc774\uc804\ud2b8 \uc2e4\ud328\ub294 \ubaa8\ub378 \ud488\uc9c8 \ubd80\uc871\ub9cc\uc73c\ub85c \uc124\uba85\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc815\ucc45 \uac70\uc808, \uc720\ud734 \uc804\ud658, \uad8c\ud55c \ubd80\uc871, \uc608\uc0b0 \uc81c\ud55c\uc740 \uac01\uac01 \ub2e4\ub978 \ubcf5\uad6c \uacbd\ub85c\ub97c \uac00\uc9d1\ub2c8\ub2e4. \ube44\uc6a9\ub3c4 \uc6d4\ub9d0 \uccad\uad6c\uc11c\uac00 \uc544\ub2c8\ub77c, \uc2e4\ud589 \uc911\ub2e8\u00b7fallback\u00b7\ub77c\uc6b0\ud305 \uc815\ucc45\uc744 \uacb0\uc815\ud558\ub294 \uc2e4\uc2dc\uac04 \uc6b4\uc601 \uc2e0\ud638\uac00 \ub429\ub2c8\ub2e4.<\/p>\n<p><strong>\uc2e4\ubb34 \uc801\uc6a9:<\/strong> \ub300\uc2dc\ubcf4\ub4dc \uc9c0\ud45c\ub97c \uc131\uacf5\ub960 \ud558\ub098\ub85c \ubb36\uc9c0 \ub9d0\uace0 <em>\uc644\ub8cc\u00b7\uac70\uc808\u00b7\uc2b9\uc778 \ub300\uae30\u00b7\ub3c4\uad6c \uc2e4\ud328\u00b7\uc608\uc0b0 \ucc28\ub2e8<\/em>\uc73c\ub85c \ub098\ub204\uc2ed\uc2dc\uc624. \ubaa8\ub378\ubcc4 \ube44\uc6a9\uc740 \uc0ac\uc6a9\uc790 \ubc0f \ud504\ub85c\uc81d\ud2b8 \ud0dc\uadf8\uc640 \ud568\uaed8 \uc218\uc9d1\ud558\uace0, spend limit \ub3c4\ub2ec \uc2dc \uc800\ube44\uc6a9 \ubaa8\ub378 \uc804\ud658 \ub610\ub294 \uc0ac\ub78c \uac80\ud1a0 \ud050\ub85c \uac00\ub294 \uba85\uc2dc\uc801 \uc815\ucc45\uc744 \ud14c\uc2a4\ud2b8\ud558\uc138\uc694. \uc774 \ubcc0\ud654\uac00 \ubaa8\ub4e0 \uc6cc\ud06c\ub85c\ub4dc\uc758 \ube44\uc6a9 \uc808\uac10\uc744 \ubcf4\uc7a5\ud55c\ub2e4\ub294 \ub73b\uc740 \uc544\ub2c8\uba70, \uc2e4\uc81c \ub2e8\uac00\uc640 \ud488\uc9c8\uc740 \ud300\uc758 \ud3c9\uac00 \uc138\ud2b8\uc5d0\uc11c \uac80\uc99d\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<h2>\ud750\ub984 3. MCP\uc640 \ub3c4\uad6c \ud638\ucd9c\uc740 \u2018\uc5f0\uacb0\u2019\ubcf4\ub2e4 \ucd9c\ucc98\u00b7\ud5c8\uc6a9 \ubaa9\ub85d\u00b7\uc2b9\uc778\uc774 \uc6b0\uc120\uc774\ub2e4<\/h2>\n<h3>Microsoft Agent Framework .NET 1.23.0: \uc6d0\uaca9 \ub3c4\uad6c \uacbd\uacc4\uc758 \uad6c\uccb4\ud654<\/h3>\n<p><a href=\"https:\/\/github.com\/microsoft\/agent-framework\/releases\/tag\/dotnet-1.23.0\" target=\"_blank\" rel=\"noopener\">Microsoft Agent Framework .NET 1.23.0<\/a>(10\uc6d4 1\uc77c)\uc740 Foundry toolbox MCP client\uc758 origin pinning, MCP skill resource validation \uac1c\uc120, allowlist \uae30\ubc18 configuration key \uc801\uc6a9, \uadf8\ub9ac\uace0 \uc2b9\uc778 \uc751\ub2f5 \ubc14\uc778\ub529\uc758 \uc77c\uad00\uc131 \uac15\ud654\ub97c \ud3ec\ud568\ud569\ub2c8\ub2e4. \ub9b4\ub9ac\uc2a4\uc5d0\ub294 tool change between runs\uc5d0 \ub300\ud55c breaking change\uc640 tool invocation\uc774 approval\uc744 \uc6b0\ud68c\ud560 \uc218 \uc788\ub358 \ubc84\uadf8 \uc218\uc815\ub3c4 \uba85\uc2dc\ub3fc \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><strong>\uc65c \uc911\uc694\ud55c\uac00:<\/strong> \uc6d0\uaca9 MCP \uc11c\ubc84\ub97c \ubd99\uc774\ub294 \uc21c\uac04, \ubaa8\ub378\uc740 \ub2e8\uc21c \ud14d\uc2a4\ud2b8 \uc0dd\uc131\uae30\uac00 \uc544\ub2c8\ub77c \uc678\ubd80 \uc2dc\uc2a4\ud15c\uc5d0 \uc601\ud5a5\uc744 \uc904 \uc218 \uc788\ub294 \uc2e4\ud589 \uc8fc\uccb4\uac00 \ub429\ub2c8\ub2e4. origin\uc774 \uace0\uc815\ub418\uc9c0 \uc54a\uac70\ub098 \uc124\uc815 \ud0a4\uc640 \uc2b9\uc778 \ud1a0\ud070\uc758 \uacbd\uacc4\uac00 \ub290\uc2a8\ud558\uba74, \ud504\ub86c\ud504\ud2b8 \uc778\uc81d\uc158 \ub610\ub294 \uad6c\uc131 \uc2e4\uc218\uc758 \uc601\ud5a5 \ubc94\uc704\uac00 \ucee4\uc9c8 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><strong>\uc2e4\ubb34 \uc801\uc6a9:<\/strong> MCP \uc11c\ubc84\ub294 URL\ub9cc \ub4f1\ub85d\ud558\uc9c0 \ub9d0\uace0 \ud5c8\uc6a9 origin\uacfc \ub178\ucd9c \ub3c4\uad6c\ub97c \uc120\uc5b8\uc801\uc73c\ub85c \uace0\uc815\ud558\uace0, \uc77d\uae30\/\uc4f0\uae30\/\ubc30\ud3ec \uad8c\ud55c\uc744 \ubd84\ub9ac\ud558\uc2ed\uc2dc\uc624. \uacb0\uc81c\u00b7\ubc30\ud3ec\u00b7\uad8c\ud55c\ubcc0\uacbd \uac19\uc740 \uace0\uc704\ud5d8 \ub3c4\uad6c\ub294 \uc694\uccad \ub0b4\uc6a9, \uc2b9\uc778\uc790, \uc720\ud6a8 \uc2dc\uac04, \uc2e4\ud589 \uacb0\uacfc\ub97c \ud568\uaed8 \uc800\uc7a5\ud574\uc57c \ud569\ub2c8\ub2e4. breaking change\uac00 \ud3ec\ud568\ub41c \ud504\ub808\uc784\uc6cc\ud06c \uc5c5\uadf8\ub808\uc774\ub4dc\ub294 \uc2e4\uc81c \uc2b9\uc778 \ud50c\ub85c\uc6b0\uc640 tool replacement \uc2dc\ub098\ub9ac\uc624\ub97c \ud3ec\ud568\ud55c \ud1b5\ud569 \ud14c\uc2a4\ud2b8 \ub4a4\uc5d0 \uc801\uc6a9\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\uc774\ubc88 72\uc2dc\uac04\uc758 \ud575\uc2ec \uc774\uc288 5\uac1c<\/h2>\n<ul>\n<li>OpenAI Python SDK v3.23.0: typed agent stream answer, artifact download, session trace.<\/li>\n<li>OpenAI Python SDK v3.24.0: custom voice creation, agent session events, routing\/parse \ubcf4\uc815.<\/li>\n<li>Anthropic Python SDK v1.10.0: Managed Agents refusal\/idle \uc815\ubcf4\uc640 Enterprise \ubd84\uc11d\u00b7RBAC\u00b7\uc0ac\uc6a9\ub7c9\/\ube44\uc6a9 \ub9ac\ud3ec\ud2b8.<\/li>\n<li>Anthropic Python SDK v1.11.0: spend limit \uc870\ud68c \uae30\ub2a5 \ucd94\uac00.<\/li>\n<li>Microsoft Agent Framework .NET 1.23.0: MCP origin pinning, allowlist, approval binding \ubc0f \uad00\ub828 \uc218\uc815.<\/li>\n<\/ul>\n<h2>\uac1c\ubc1c\uc790 \uc561\uc158 \uccb4\ud06c\ub9ac\uc2a4\ud2b8<\/h2>\n<h3>\uc774\ubc88 \uc8fc\uc5d0 \ud560 \uc77c<\/h3>\n<ul>\n<li><strong>\uc774\ubca4\ud2b8 \uacc4\uc57d:<\/strong> run_id, \ubaa8\ub378, \uc785\ub825 \ubc84\uc804, tool call, artifact URI, \ube44\uc6a9, refusal\/approval \uc0c1\ud0dc\ub97c \ub2f4\uc740 \uacf5\ud1b5 \uc2a4\ud0a4\ub9c8\ub97c \uc815\uc758\ud55c\ub2e4.<\/li>\n<li><strong>\uc608\uc0b0 \uc815\ucc45:<\/strong> \ud300\u00b7\ud504\ub85c\uc81d\ud2b8\u00b7\uc0ac\uc6a9\uc790\ubcc4 \uc0c1\ud55c\uacfc \uacbd\ubcf4 \uae30\uc900\uc744 \ub9cc\ub4e4\uace0, \ucd08\uacfc \uc2dc fallback \ub610\ub294 \uc0ac\ub78c \uac80\ud1a0\ub85c \uc774\ub3d9\ud558\ub294 \ud750\ub984\uc744 \ubaa8\uc758 \uc2e4\ud589\ud55c\ub2e4.<\/li>\n<li><strong>MCP \ucd5c\uc18c \uad8c\ud55c:<\/strong> \uc11c\ubc84 origin, \ub3c4\uad6c allowlist, \ud638\ucd9c\ubcc4 \uc778\uac00 \ubc94\uc704, \ube44\ubc00\uac12 \uc8fc\uc785 \uacbd\ub85c\ub97c \ubb38\uc11c\ud654\ud558\uace0 \uae30\ubcf8 \uac70\ubd80\ub85c \uc2dc\uc791\ud55c\ub2e4.<\/li>\n<li><strong>\uc5c5\uadf8\ub808\uc774\ub4dc \uac80\uc99d:<\/strong> typed stream\/\ud30c\uc77c \uc0b0\ucd9c\ubb3c\/\uac70\uc808\/\uc2b9\uc778\/\ub124\ud2b8\uc6cc\ud06c \uc624\ub958\ub97c \ud3ec\ud568\ud55c \uace0\uc815 \ud3c9\uac00 \uc2dc\ub098\ub9ac\uc624\ub85c SDK\uc640 \ud504\ub808\uc784\uc6cc\ud06c\ub97c staging\uc5d0\uc11c \uc2dc\ud5d8\ud55c\ub2e4.<\/li>\n<\/ul>\n<h2>\uc790\uc8fc \ubb3b\ub294 \uc9c8\ubb38(FAQ)<\/h2>\n<h3>Q. \ucd5c\uc2e0 SDK\ub85c \ubc14\ub85c \uc62c\ub9ac\uba74 \uc5d0\uc774\uc804\ud2b8 \ud488\uc9c8\uc774 \uc88b\uc544\uc9c0\ub098\uc694?<\/h3>\n<p>A. \uc774\ubc88 \ub9b4\ub9ac\uc2a4\uc758 \uc911\uc2ec\uc740 \uc138\uc158 \uc774\ubca4\ud2b8, \uad00\ub9ac API, \ubcf4\uc548 \uacbd\uacc4 \uac19\uc740 \uc6b4\uc601 \uae30\ub2a5\uc785\ub2c8\ub2e4. \ud488\uc9c8 \ud5a5\uc0c1\uc744 \ub2e8\uc815\ud558\uae30\ubcf4\ub2e4, \uae30\uc874 \ud3c9\uac00 \uc138\ud2b8\uc5d0\uc11c \ucd9c\ub825 \uc815\ud655\ub3c4\u00b7\uc9c0\uc5f0\u00b7\ube44\uc6a9\u00b7\uc2e4\ud328 \ubcf5\uad6c\ub97c \ud568\uaed8 \ube44\uad50\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<h3>Q. MCP\ub97c \uc4f0\uc9c0 \uc54a\ub294 \ud300\ub3c4 origin pinning\uc744 \uc2e0\uacbd \uc368\uc57c \ud558\ub098\uc694?<\/h3>\n<p>A. \ud604\uc7ac \uc6d0\uaca9 \ub3c4\uad6c\ub97c \uc4f0\uc9c0 \uc54a\ub294\ub2e4\uba74 \uc989\uc2dc \uc801\uc6a9 \ub300\uc0c1\uc740 \uc544\ub2d0 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\ub9cc \ube0c\ub77c\uc6b0\uc800 \uc790\ub3d9\ud654, \uc0ac\ub0b4 API, \ud50c\ub7ec\uadf8\uc778\ucc98\ub7fc \uc5d0\uc774\uc804\ud2b8\uac00 \uc678\ubd80 \uc561\uc158\uc744 \ud558\ub294 \ud1b5\ud569\ub3c4 \uac19\uc740 \uc6d0\uce59\u2014\uba85\uc2dc\uc801 \ud5c8\uc6a9 \ubaa9\ub85d, \ucd5c\uc18c \uad8c\ud55c, \uc2b9\uc778\u00b7\uac10\uc0ac\u2014\uc73c\ub85c \uc124\uacc4\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.<\/p>\n<h3>Q. \uac00\uc7a5 \uba3c\uc800 \ubaa8\ub2c8\ud130\ub9c1\ud560 \uc9c0\ud45c\ub294 \ubb34\uc5c7\uc778\uac00\uc694?<\/h3>\n<p>A. \uc694\uccad \uc218\ubcf4\ub2e4 <strong>\uc791\uc5c5 \uc644\ub8cc\uc728, tool \uc2e4\ud328\uc728, \uc815\ucc45 \uac70\uc808\ub960, \uc2b9\uc778 \ub300\uae30 \uc2dc\uac04, run\ub2f9 \ube44\uc6a9<\/strong>\uc744 \ud568\uaed8 \ubcf4\uc2ed\uc2dc\uc624. \uc774 \ub2e4\uc12f \uc9c0\ud45c\ub294 \uae30\ub2a5 \ud655\uc7a5 \uc2dc \uc548\uc804\uc131\uacfc \uacbd\uc81c\uc131\uc744 \ub3d9\uc2dc\uc5d0 \ud310\ub2e8\ud558\ub294 \ucd5c\uc18c \ub2e8\uc704\uc785\ub2c8\ub2e4.<\/p>\n<h2>\ucd9c\ucc98 \ubc0f \ud655\uc778 \ubc94\uc704<\/h2>\n<p>\uc774 \uae00\uc740 2026\ub144 10\uc6d4 3\uc77c KST \uae30\uc900 \uc9c1\uc804 72\uc2dc\uac04\uc5d0 \uacf5\uac1c\ub41c \uacf5\uc2dd GitHub \ub9b4\ub9ac\uc2a4 \ub178\ud2b8\ub97c \ubc14\ud0d5\uc73c\ub85c \uc791\uc131\ud588\uc2b5\ub2c8\ub2e4. \uae30\ub2a5 \uc124\uba85\uc740 \uc6d0\ubb38 \ub9b4\ub9ac\uc2a4 \ub178\ud2b8\uc758 \ubc94\uc704\ub97c \ub118\uc9c0 \uc54a\uc73c\uba70, \uc2e4\ubb34 \uc601\ud5a5\uacfc \uc804\ub9dd\uc740 \ubcc4\ub3c4\ub85c \uad6c\ubd84\ud55c \ud3b8\uc9d1\uc801 \ud574\uc11d\uc785\ub2c8\ub2e4.<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/openai\/openai-python\/releases\/tag\/v3.23.0\" target=\"_blank\" rel=\"noopener\">OpenAI Python SDK v3.23.0 release notes<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/openai\/openai-python\/releases\/tag\/v3.24.0\" target=\"_blank\" rel=\"noopener\">OpenAI Python SDK v3.24.0 release notes<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/anthropics\/anthropic-sdk-python\/releases\/tag\/v1.10.0\" target=\"_blank\" rel=\"noopener\">Anthropic Python SDK v1.10.0 release notes<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/anthropics\/anthropic-sdk-python\/releases\/tag\/v1.11.0\" target=\"_blank\" rel=\"noopener\">Anthropic Python SDK v1.11.0 release notes<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/agent-framework\/releases\/tag\/dotnet-1.23.0\" target=\"_blank\" rel=\"noopener\">Microsoft Agent Framework .NET 1.23.0 release notes<\/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>\uc694\uc57d: \ucd5c\uadfc 72\uc2dc\uac04\uc758 AI\/LLM\u00b7AI Agent \uac1c\ubc1c\uc790 \ub3c4\uad6c \ud750\ub984\uc740 \uc5d0\uc774\uc804\ud2b8 \uc138\uc158\uc744 \uc81c\ud488 \uae30\ub2a5\uc73c\ub85c \ub178\ucd9c\ud558\uace0, \ube44\uc6a9\u00b7\uad8c\ud55c\u00b7\uc2b9\uc778\uc744 \uc6b4\uc601 \uacc4\uce35\uc73c\ub85c \ub04c\uc5b4\uc62c\ub9ac\uba70, MCP \uc5f0\uacb0\uc758 \ubcf4\uc548 \uacbd\uacc4\ub97c \uac15\ud654\ud558\ub294 \ubc29\ud5a5\uc73c\ub85c \ubaa8\uc600\uc2b5\ub2c8\ub2e4. \ub2e8\uc21c\ud788 \ub354 \uc88b\uc740 \ubaa8\ub378\uc744 \uace0\ub974\ub294 \ub2e8\uacc4\uc5d0\uc11c, \uc2e4\ud589 \ud754\uc801\uacfc \ub3c4\uad6c \uad8c\ud55c\uc744 \ud1b5\uc81c \uac00\ub2a5\ud55c \uc2dc\uc2a4\ud15c\uc73c\ub85c \ub9cc\ub4dc\ub294 \ub2e8\uacc4\ub85c \uc774\ub3d9\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ud575\uc2ec \ub2f5\ubcc0: \uc774\ubc88 3\uc77c\uc5d0 \uac1c\ubc1c\ud300\uc774 \ubc14\uafd4\uc57c \ud560 \uac83\uc740 \ubb34\uc5c7\uc778\uac00? \uc0c8 SDK\ub97c \uc989\uc2dc \uc804\uba74 \ub3c4\uc785\ud558\uae30\ubcf4\ub2e4, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":547,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-548","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\/548","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=548"}],"version-history":[{"count":0,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/548\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media\/547"}],"wp:attachment":[{"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/media?parent=548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/categories?post=548"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gilnas.synology.me\/wordpress\/wp-json\/wp\/v2\/tags?post=548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}