{"id":6982,"date":"2026-04-24T09:07:00","date_gmt":"2026-04-24T00:07:00","guid":{"rendered":"https:\/\/techfun.cc\/?p=6982"},"modified":"2026-04-24T09:07:00","modified_gmt":"2026-04-24T00:07:00","slug":"ai-era-design-document-guide","status":"publish","type":"post","link":"https:\/\/techfun.cc\/generative-ai\/ai-era-design-document-guide.html","title":{"rendered":"AI\u6642\u4ee3\u306e\u8a2d\u8a08\u66f8\u306e\u5728\u308a\u65b9\u3092\u8003\u3048\u308b"},"content":{"rendered":"<h3 id=\"section-1\" class=\"Heading Title Title--m\">\u306f\u3058\u3081\u306b<\/h3>\n<p>\u300cAI\u304c\u8a2d\u8a08\u66f8\u3092\u66f8\u3044\u3066\u304f\u308c\u308b\u306a\u3089\u3001\u3082\u3046\u4eba\u9593\u304c\u66f8\u304f\u5fc5\u8981\u306f\u306a\u3044\u306e\u3067\u306f\uff1f\u300d<br \/>\n\u751f\u6210AI\u3092\u4f7f\u3063\u305f\u958b\u767a\u304c\u5f53\u305f\u308a\u524d\u306b\u306a\u3063\u3066\u304f\u308b\u3068\u3001\u3053\u3093\u306a\u58f0\u304c\u51fa\u3066\u304d\u307e\u3059\u3002\u5b9f\u969b\u3001AI\u306f\u3042\u308b\u7a0b\u5ea6\u306e\u60c5\u5831\u3055\u3048\u3042\u308c\u3070\u3001\u8981\u4ef6\u5b9a\u7fa9\u66f8\u3084\u8a2d\u8a08\u66f8\u306e\u8349\u6848\u3092\u3042\u3063\u3068\u3044\u3046\u9593\u306b\u51fa\u529b\u3057\u3066\u304f\u308c\u307e\u3059\u3002\u3067\u306f\u3001\u8a2d\u8a08\u66f8\u306f\u4e0d\u8981\u306b\u306a\u308b\u306e\u3067\u3057\u3087\u3046\u304b\u3002<br \/>\n\u7b54\u3048\u306f\u3001\u300c<strong>\u8a2d\u8a08\u66f8\u306f\u4e0d\u8981\u306b\u306a\u3089\u306a\u3044\u304c\u3001\u8a2d\u8a08\u66f8\u306b\u4f55\u3092\u66f8\u304f\u304b\u306f\u5909\u308f\u308b<\/strong>\u300d\u3067\u3059\u3002<br \/>\n\u672c\u8cea\u7684\u306a\u554f\u3044\u306f\u3053\u3046\u3067\u3059\u3002<\/p>\n<ul class=\"Base-list\">\n<li class=\"Base-list__child\">\u8a2d\u8a08\u66f8\u306e\u3046\u3061\u4f55\u304cAI\u3067\u4ee3\u66ff\u3067\u304d<\/li>\n<li class=\"Base-list__child\">\u4f55\u304c\u4ee3\u66ff\u3067\u304d\u306a\u3044\u306e\u304b\u3092\u898b\u6975\u3081<\/li>\n<li class=\"Base-list__child\">\u6b8b\u3059\u3079\u304d\u60c5\u5831\u306e\u7c92\u5ea6\u3068\u5f62\u5f0f\u3092\u5909\u3048\u308b<\/li>\n<\/ul>\n<p>\u3053\u308c\u304c\u751f\u6210AI\u6642\u4ee3\u306b\u6c42\u3081\u3089\u308c\u308b\u8a2d\u8a08\u66f8\u306e\u8003\u3048\u65b9\u3067\u3059\u3002<br \/>\n\u672c\u8a18\u4e8b\u3067\u306f\u3001\u6b21\u306e\u9806\u3067\u6574\u7406\u3057\u307e\u3059\u3002<\/p>\n<ul class=\"Base-list\">\n<li class=\"Base-list__child\">\u8a2d\u8a08\u66f8\u306f\u305d\u3082\u305d\u3082\u306a\u305c\u5fc5\u8981\u306a\u306e\u304b\u3092\u300c4\u3064\u306e\u672c\u8cea\u7684\u5f79\u5272\u300d\u304b\u3089\u898b\u76f4\u3059<\/li>\n<li class=\"Base-list__child\">\u751f\u6210AI\u304c\u5f97\u610f\u306a\u3053\u3068\u30fb\u82e6\u624b\u306a\u3053\u3068\u3092\u6574\u7406\u3057\u3001\u300c\u66f8\u304f\u3079\u304d\u60c5\u5831\u300d\u3068\u300c\u66f8\u304b\u306a\u304f\u3066\u3088\u3044\u60c5\u5831\u300d\u3092\u660e\u78ba\u306b\u3059\u308b<\/li>\n<li class=\"Base-list__child\">ADR\u30fbDi\u00e1taxis\u30fbarc42\u3068\u3044\u30463\u3064\u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u8a2d\u8a08\u66f8\u3092\u6574\u7406\u3059\u308b\u5b9f\u8df5\u7684\u306a\u65b9\u6cd5\u3092\u7d39\u4ecb\u3059\u308b<\/li>\n<li class=\"Base-list__child\">\u5b9f\u969b\u306bClaude Code\u30fbGemini CLI\u30fbOpenAI Codex\u306b\u69cb\u9020\u5316\u3055\u308c\u305f\u8a2d\u8a08\u66f8\u3092\u8aad\u307f\u8fbc\u307e\u305b\u3001\u51fa\u529b\u54c1\u8cea\u304c\u3069\u3046\u5909\u308f\u308b\u304b\u3092\u691c\u8a3c\u3059\u308b<\/li>\n<\/ul>\n<h3 id=\"section-2\" class=\"Heading Title Title--m\">\u8a2d\u8a08\u66f8\u306f\u306a\u305c\u5b58\u5728\u3059\u308b\u306e\u304b \u2500 4\u3064\u306e\u672c\u8cea\u7684\u5f79\u5272<\/h3>\n<p>\u307e\u305a\u3001\u8a2d\u8a08\u66f8\u304c\u305d\u3082\u305d\u3082\u4f55\u306e\u305f\u3081\u306b\u5b58\u5728\u3059\u308b\u306e\u304b\u3092\u6574\u7406\u3057\u307e\u3057\u3087\u3046\u3002\u300c\u5b9f\u88c5\u306e\u30e1\u30e2\u300d\u3068\u3044\u3046\u8a8d\u8b58\u3067\u8a2d\u8a08\u66f8\u3092\u6271\u3046\u3068\u3001\u66f8\u304f\u3079\u304d\u3082\u306e\u3068\u524a\u3063\u3066\u3088\u3044\u3082\u306e\u306e\u5224\u65ad\u3092\u8aa4\u308a\u307e\u3059\u3002\u8a2d\u8a08\u66f8\u306b\u306f\u3001\u3088\u308a\u6839\u672c\u7684\u306a4\u3064\u306e\u5f79\u5272\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<table class=\"Base-table\">\n<tr>\n<th>\u5f79\u5272<\/th>\n<th>\u5185\u5bb9<\/th>\n<th>\u5177\u4f53\u4f8b<\/th>\n<\/tr>\n<tr>\n<td><strong>\u95a2\u4fc2\u8005\u306e\u8a8d\u8b58\u5408\u308f\u305b<\/strong><\/td>\n<td>\u958b\u767a\u8005\u30fbPO\u30fb\u30b9\u30c6\u30fc\u30af\u30db\u30eb\u30c0\u30fc\u304c\u300c\u540c\u3058\u3082\u306e\u3092\u4f5c\u3063\u3066\u3044\u308b\u300d\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b<\/td>\n<td>\u300c\u30ed\u30b0\u30a4\u30f3\u5f8c\u306b\u8868\u793a\u3055\u308c\u308b\u306e\u306f\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u304b\u3001\u30de\u30a4\u30da\u30fc\u30b8\u304b\u300d\u3092\u4ed5\u69d8\u66f8\u3067\u5408\u610f\u3059\u308b<\/td>\n<\/tr>\n<tr>\n<td><strong>\u5b9f\u88c5\u524d\u306e\u8ad6\u70b9\u6574\u7406<\/strong><\/td>\n<td>\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u524d\u306b\u300c\u4f55\u304c\u6c7a\u307e\u3063\u3066\u3044\u3066\u3001\u4f55\u304c\u672a\u6c7a\u5b9a\u304b\u300d\u3092\u660e\u78ba\u306b\u3059\u308b<\/td>\n<td>\u300c\u8a8d\u8a3c\u65b9\u5f0f\u306fJWT\u304b\u30bb\u30c3\u30b7\u30e7\u30f3Cookie\u304b\u300d\u3092\u8a2d\u8a08\u30d5\u30a7\u30fc\u30ba\u3067\u6c7a\u5b9a\u3057\u3066\u304a\u304f<\/td>\n<\/tr>\n<tr>\n<td><strong>\u91cd\u8981\u306a\u5224\u65ad\u7406\u7531\u306e\u8a18\u9332<\/strong><\/td>\n<td>\u306a\u305c\u305d\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3084\u65b9\u5f0f\u3092\u9078\u3093\u3060\u304b\u3092\u6b8b\u3059<\/td>\n<td>\u300cPostgreSQL\u3092\u63a1\u7528\u3057\u305f\u7406\u7531\u306f\u3001JSONB\u306b\u3088\u308b\u67d4\u8edf\u306a\u30b9\u30ad\u30fc\u30de\u62e1\u5f35\u3068\u65e2\u5b58\u30a4\u30f3\u30d5\u30e9\u3068\u306e\u89aa\u548c\u6027\u300d<\/td>\n<\/tr>\n<tr>\n<td><strong>\u4fdd\u5b88\u6642\u306e\u6587\u8108\u7d99\u627f<\/strong><\/td>\n<td>\u62c5\u5f53\u8005\u304c\u5909\u308f\u3063\u3066\u3082\u3001\u904e\u53bb\u306e\u5224\u65ad\u3084\u5236\u7d04\u304c\u53c2\u7167\u3067\u304d\u308b\u72b6\u614b\u306b\u3059\u308b<\/td>\n<td>\u300c\u5916\u90e8API\u306e\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u30925\u79d2\u306b\u8a2d\u5b9a\u3057\u3066\u3044\u308b\u7406\u7531\u306f\u3001SLA\u306e\u8981\u4ef6\u304b\u3089\u6765\u3066\u3044\u308b\u300d<\/td>\n<\/tr>\n<\/table>\n<p>\u3053\u306e4\u3064\u306e\u5f79\u5272\u306f\u3001\u751f\u6210AI\u6642\u4ee3\u306b\u304a\u3044\u3066\u3082\u5909\u308f\u308a\u307e\u305b\u3093\u3002\u3080\u3057\u308d\u3001AI\u3092\u6d3b\u7528\u3057\u305f\u958b\u767a\u3067\u306f\u300c\u306a\u305c\u305d\u3046\u306a\u3063\u3066\u3044\u308b\u306e\u304b\u300d\u306e\u80cc\u666f\u304c\u66d6\u6627\u306a\u307e\u307e\u5b9f\u88c5\u304c\u9032\u307f\u3084\u3059\u304f\u3001<strong>\u4fdd\u5b88\u6642\u306e\u6587\u8108\u7d99\u627f\u306e\u4fa1\u5024\u304c\u5897\u3057\u3066\u3044\u308b<\/strong>\u3068\u3082\u8a00\u3048\u307e\u3059\u3002<br \/>\nNIST\u306e\u30bb\u30ad\u30e5\u30a2\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u958b\u767a\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\uff08<a href=\"https:\/\/csrc.nist.gov\/pubs\/sp\/800\/218\/final\" class=\"Ext\">SP 800-218<\/a>\uff09\u3067\u3082\u3001\u7d44\u7e54\u30ec\u30d9\u30eb\u3067\u30bb\u30ad\u30e5\u30a2\u958b\u767a\u306e\u8981\u4ef6\u3092\u5b9a\u7fa9\u30fb\u5171\u6709\u3059\u308b\u3053\u3068\uff08PO.1\uff09\u3084\u3001\u30b3\u30fc\u30c9\u3092\u4e0d\u6b63\u30a2\u30af\u30bb\u30b9\u3084\u6539\u3056\u3093\u304b\u3089\u4fdd\u8b77\u3059\u308b\u3053\u3068\uff08PS.1\uff09\u304c\u6574\u7406\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u8981\u3059\u308b\u306b\u3001\u5b89\u5168\u3067\u518d\u73fe\u53ef\u80fd\u306a\u958b\u767a\u5b9f\u52d9\u306f\u3001\u500b\u4eba\u306e\u52d8\u3084\u7d4c\u9a13\u306b\u9589\u3058\u305a\u3001\u7d44\u7e54\u306e\u30d7\u30ed\u30bb\u30b9\u3068\u3057\u3066\u8a18\u9332\u30fb\u7d99\u627f\u3055\u308c\u308b\u3079\u304d\u3060\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002\u3053\u308c\u306f\u8a2d\u8a08\u66f8\u4e00\u822c\u306e\u5f79\u5272\u3068\u3082\u4e00\u81f4\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<h3 id=\"section-3\" class=\"Heading Title Title--m\">\u751f\u6210AI\u304c\u5f97\u610f\u306a\u3053\u3068\u30fb\u82e6\u624b\u306a\u3053\u3068 \u2500 \u8a2d\u8a08\u66f8\u3078\u306e\u5f71\u97ff<\/h3>\n<p>\u8a2d\u8a08\u66f8\u306e4\u3064\u306e\u5f79\u5272\u3092\u8e0f\u307e\u3048\u305f\u4e0a\u3067\u3001\u751f\u6210AI\u306e\u7279\u6027\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002AI\u304c\u5f97\u610f\u306a\u9818\u57df\u3068\u82e6\u624b\u306a\u9818\u57df\u3092\u6b63\u3057\u304f\u628a\u63e1\u3059\u308b\u3053\u3068\u304c\u3001\u300c\u4f55\u3092\u66f8\u304f\u304b\u30fb\u66f8\u304b\u306a\u3044\u304b\u300d\u306e\u5224\u65ad\u57fa\u6e96\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<h4 id=\"section-3-1\" class=\"Heading Title Title--s\">AI\u304c\u5f97\u610f\u306a\u3053\u3068<\/h4>\n<table class=\"Base-table\">\n<tr>\n<th>\u30ab\u30c6\u30b4\u30ea<\/th>\n<th>\u5177\u4f53\u4f8b<\/th>\n<\/tr>\n<tr>\n<td>\u6587\u7ae0\u5316\u30fb\u6574\u5f62<\/td>\n<td>\u7b87\u6761\u66f8\u304d\u306e\u30e1\u30e2\u3092\u8aad\u307f\u3084\u3059\u3044\u6587\u7ae0\u306b\u6574\u3048\u308b<\/td>\n<\/tr>\n<tr>\n<td>\u8981\u7d04<\/td>\n<td>\u9577\u3044\u8b70\u4e8b\u9332\u304b\u3089\u6c7a\u5b9a\u4e8b\u9805\u3060\u3051\u3092\u62bd\u51fa\u3059\u308b<\/td>\n<\/tr>\n<tr>\n<td>\u53e9\u304d\u53f0\u4f5c\u6210<\/td>\n<td>\u300cREST API\u306e\u8a8d\u8a3c\u4ed5\u69d8\u300d\u304b\u3089\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u751f\u6210\u3059\u308b<\/td>\n<\/tr>\n<tr>\n<td>\u65e2\u5b58\u6587\u66f8\u306e\u518d\u69cb\u6210<\/td>\n<td>\u6563\u5728\u3059\u308b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u307e\u3068\u3081\u76f4\u3059<\/td>\n<\/tr>\n<tr>\n<td>\u30b3\u30fc\u30c9\u304b\u3089\u306e\u9006\u751f\u6210<\/td>\n<td>\u65e2\u5b58\u30b3\u30fc\u30c9\u3092\u8aad\u3093\u3067\u4ed5\u69d8\u66f8\u306e\u8349\u6848\u3092\u51fa\u3059<\/td>\n<\/tr>\n<\/table>\n<p>\u3053\u308c\u3089\u306f\u3001\u5f93\u6765\u300c\u91cd\u3044\u8a2d\u8a08\u66f8\u300d\u304c\u62c5\u3063\u3066\u3044\u305f\u6a5f\u80fd\u306e\u591a\u304f\u3067\u3059\u3002<a href=\"https:\/\/arc42.org\/overview\" class=\"Ext\">arc42<\/a> \u3082\u3001\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u6587\u66f8\u306f\u30b9\u30c6\u30fc\u30af\u30db\u30eb\u30c0\u30fc\u304c\u672c\u5f53\u306b\u77e5\u308b\u5fc5\u8981\u304c\u3042\u308b\u60c5\u5831\u306b\u7d5e\u308a\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u5fdc\u3058\u3066\u8abf\u6574\u3057\u3066\u4f7f\u3046\u524d\u63d0\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3068\u3057\u3066\u6574\u7406\u3057\u3066\u3044\u307e\u3059\u3002AI\u304c\u751f\u6210\u3067\u304d\u308b\u60c5\u5831\u3092\u4eba\u9593\u304c\u624b\u9593\u3092\u304b\u3051\u3066\u7dad\u6301\u3059\u308b\u5fc5\u8981\u6027\u306f\u4e0b\u304c\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<h4 id=\"section-3-2\" class=\"Heading Title Title--s\">AI\u304c\u82e6\u624b\u306a\u3053\u3068<\/h4>\n<p>\u4e00\u65b9\u3067\u3001\u751f\u6210AI\u304c\u81ea\u52d5\u7684\u306b\u306f\u57cb\u3081\u3089\u308c\u306a\u3044\u60c5\u5831\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u304c<strong>\u8a2d\u8a08\u66f8\u306b\u6b8b\u3059\u4fa1\u5024\u304c\u3042\u308b\u60c5\u5831<\/strong>\u3067\u3059\u3002<\/p>\n<table class=\"Base-table\">\n<tr>\n<th>\u30ab\u30c6\u30b4\u30ea<\/th>\n<th>\u5177\u4f53\u4f8b<\/th>\n<\/tr>\n<tr>\n<td>\u8981\u4ef6\u306e\u610f\u56f3\u30fb\u80cc\u666f<\/td>\n<td>\u300c\u306a\u305c\u305d\u306e\u6a5f\u80fd\u304c\u5fc5\u8981\u304b\u300d\u300c\u3069\u306e\u30d3\u30b8\u30cd\u30b9\u8ab2\u984c\u3092\u89e3\u304f\u304b\u300d<\/td>\n<\/tr>\n<tr>\n<td>\u8a2d\u8a08\u5224\u65ad\u306e\u7406\u7531<\/td>\n<td>\u300c\u306a\u305cA\u3067\u306f\u306a\u304fB\u3092\u9078\u3093\u3060\u304b\u300d<\/td>\n<\/tr>\n<tr>\n<td>\u63a1\u7528\u3057\u306a\u304b\u3063\u305f\u4ee3\u66ff\u6848<\/td>\n<td>\u300cSessionCookie\u3092\u4e0d\u63a1\u7528\u306b\u3057\u305f\u7406\u7531\u300d<\/td>\n<\/tr>\n<tr>\n<td>\u30c8\u30ec\u30fc\u30c9\u30aa\u30d5\u306e\u8a18\u9332<\/td>\n<td>\u300c\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3088\u308a\u6574\u5408\u6027\u3092\u512a\u5148\u3057\u305f\u6839\u62e0\u300d<\/td>\n<\/tr>\n<tr>\n<td>\u54c1\u8cea\u8981\u6c42<\/td>\n<td>\u300c\u30ec\u30b9\u30dd\u30f3\u30b9200ms\u4ee5\u5185\u300d\u300c99.9%\u53ef\u7528\u6027\u300d<\/td>\n<\/tr>\n<tr>\n<td>\u5916\u90e8\u3068\u306e\u7d04\u675f<\/td>\n<td>\u300cAPI\u306e\u5f8c\u65b9\u4e92\u63db\u6027\u30923\u30d0\u30fc\u30b8\u30e7\u30f3\u4fdd\u8a3c\u3059\u308b\u300d<\/td>\n<\/tr>\n<tr>\n<td>\u627f\u8a8d\u3084\u30ec\u30d3\u30e5\u30fc\u306e\u6839\u62e0<\/td>\n<td>\u300c\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30ec\u30d3\u30e5\u30fc\u3067\u3053\u306e\u5236\u7d04\u304c\u8ffd\u52a0\u3055\u308c\u305f\u7406\u7531\u300d<\/td>\n<\/tr>\n<\/table>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/04\/ai-capability-boundary.png\" alt=\"AI\u304c\u5f97\u610f\u306a\u9818\u57df\u3068\u8a2d\u8a08\u66f8\u306b\u6b8b\u3059\u3079\u304d\u9818\u57df\u306e\u5883\u754c\" class=\"content_img\" \/><\/p>\n<div class=\"Image-caption\">\u8a2d\u8a08\u66f8\u306b\u6b8b\u3059\u3079\u304d\u60c5\u5831\u306f\u3001AI\u304c\u81ea\u52d5\u3067\u306f\u88dc\u5b8c\u3067\u304d\u306a\u3044\u300c\u5224\u65ad\u306e\u6839\u62e0\u3068\u6587\u8108\u300d\u306e\u9818\u57df\u306b\u3042\u308b<\/div>\n<p>\u3053\u308c\u3089\u306f\u3001AI\u304c\u6587\u7ae0\u3092\u4e0a\u624b\u306b\u751f\u6210\u3067\u304d\u3066\u3082\u3001<strong>\u5408\u610f\u30fb\u8cac\u4efb\u30fb\u5224\u65ad\u306e\u6839\u62e0\u3092\u4ee3\u66ff\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093<\/strong>\u3002\u4eba\u9593\u304c\u8a2d\u8a08\u66f8\u306b\u6b8b\u3059\u3079\u304d\u306a\u306e\u306f\u300c\u304d\u308c\u3044\u306a\u8aac\u660e\u6587\u300d\u3067\u306f\u306a\u304f\u3001\u300c\u5f8c\u304b\u3089\u8aac\u660e\u8cac\u4efb\u3092\u679c\u305f\u305b\u308b\u8a18\u9332\u300d\u3067\u3059\u3002<\/p>\n<h4 id=\"section-3-3\" class=\"Heading Title Title--s\">\u66f8\u304f\u3079\u304d\u60c5\u5831\u30fb\u66f8\u304b\u306a\u304f\u3066\u3088\u3044\u60c5\u5831<\/h4>\n<p>\u4e0a\u8a18\u306e\u6574\u7406\u3092\u307e\u3068\u3081\u308b\u3068\u3001\u6b21\u306e\u3088\u3046\u306b\u5224\u65ad\u3067\u304d\u307e\u3059\u3002<\/p>\n<table class=\"Base-table\">\n<tr>\n<th>\u60c5\u5831\u306e\u7a2e\u985e<\/th>\n<th>\u5224\u65ad<\/th>\n<th>\u7406\u7531<\/th>\n<\/tr>\n<tr>\n<td>\u5224\u65ad\u306e\u7406\u7531\u3068\u80cc\u666f<\/td>\n<td><strong>\u66f8\u304f<\/strong><\/td>\n<td>AI\u304c\u81ea\u52d5\u3067\u306f\u88dc\u5b8c\u3067\u304d\u306a\u3044<\/td>\n<\/tr>\n<tr>\n<td>\u63a1\u7528\u3057\u306a\u304b\u3063\u305f\u4ee3\u66ff\u6848<\/td>\n<td><strong>\u66f8\u304f<\/strong><\/td>\n<td>\u4fdd\u5b88\u6642\u306b\u300c\u306a\u305c\u5909\u3048\u306a\u3044\u304b\u300d\u306e\u6839\u62e0\u306b\u306a\u308b<\/td>\n<\/tr>\n<tr>\n<td>\u54c1\u8cea\u8981\u6c42\uff08\u6027\u80fd\u30fb\u53ef\u7528\u6027\u30fb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\uff09<\/td>\n<td><strong>\u66f8\u304f<\/strong><\/td>\n<td>AI\u3078\u306e\u6307\u793a\u306e\u30d9\u30fc\u30b9\u306b\u306a\u308b<\/td>\n<\/tr>\n<tr>\n<td>\u5916\u90e8\u3068\u306e\u7d04\u675f\u30fb\u5236\u7d04<\/td>\n<td><strong>\u66f8\u304f<\/strong><\/td>\n<td>AI\u304c\u89e6\u3063\u3066\u306f\u3044\u3051\u306a\u3044\u9818\u57df\u3092\u660e\u793a\u3067\u304d\u308b<\/td>\n<\/tr>\n<tr>\n<td>\u30b3\u30fc\u30c9\u3092\u898b\u308c\u3070\u5206\u304b\u308b\u51e6\u7406\u30d5\u30ed\u30fc<\/td>\n<td><strong>\u66f8\u304b\u306a\u304f\u3066\u3088\u3044<\/strong><\/td>\n<td>AI\u304c\u30b3\u30fc\u30c9\u304b\u3089\u5c0e\u51fa\u3067\u304d\u308b<\/td>\n<\/tr>\n<tr>\n<td>API\u306e\u5f15\u6570\u4e00\u89a7\u30fb\u578b\u5b9a\u7fa9<\/td>\n<td><strong>\u66f8\u304b\u306a\u304f\u3066\u3088\u3044<\/strong><\/td>\n<td>OpenAPI\u7b49\u3067\u81ea\u52d5\u751f\u6210\u3067\u304d\u308b<\/td>\n<\/tr>\n<tr>\n<td>\u8aac\u660e\u30fb\u624b\u9806\u30fb\u4ed5\u69d8\u30fb\u80cc\u666f\u304c\u6df7\u5728\u3057\u305f\u9577\u6587<\/td>\n<td><strong>\u66f8\u304b\u306a\u304f\u3066\u3088\u3044<\/strong><\/td>\n<td>\u8aad\u307f\u624b\u306b\u3082AI\u306b\u3082\u6271\u3044\u306b\u304f\u3044<\/td>\n<\/tr>\n<tr>\n<td>\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u57cb\u3081\u305f\u3060\u3051\u306e\u5b9a\u578b\u6587<\/td>\n<td><strong>\u66f8\u304b\u306a\u304f\u3066\u3088\u3044<\/strong><\/td>\n<td>AI\u304c\u751f\u6210\u3067\u304d\u308b\u9818\u57df<\/td>\n<\/tr>\n<\/table>\n<h3 id=\"section-4\" class=\"Heading Title Title--m\">\u8a2d\u8a08\u66f8\u3092\u6574\u7406\u3059\u308b3\u3064\u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af<\/h3>\n<p>\u300c\u66f8\u304f\u3079\u304d\u60c5\u5831\u300d\u304c\u5206\u304b\u3063\u305f\u3068\u3057\u3066\u3082\u3001\u3069\u3046\u66f8\u3051\u3070\u3088\u3044\u304b\u304c\u5206\u304b\u3089\u306a\u3051\u308c\u3070\u5b9f\u52d9\u3067\u306f\u52d5\u3051\u307e\u305b\u3093\u3002\u3053\u3053\u3067\u306f\u3001\u8a2d\u8a08\u66f8\u306e\u6574\u7406\u306b\u4f7f\u3048\u308b3\u3064\u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n<h4 id=\"section-4-1\" class=\"Heading Title Title--s\">ADR\uff08Architecture Decision Records\uff09<\/h4>\n<p>ADR\uff08\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u6c7a\u5b9a\u8a18\u9332\uff09\u306f\u3001Martin Fowler \u304c\u5e83\u3081\u305f\u624b\u6cd5\u3067\u3001\u91cd\u8981\u306a\u8a2d\u8a08\u5224\u65ad\u3092\u300c1\u8ad6\u70b91\u8a18\u9332\u300d\u3067\u7c21\u6f54\u306b\u6b8b\u3057\u3066\u3044\u304f\u30a2\u30d7\u30ed\u30fc\u30c1\u3067\u3059\u3002<a href=\"https:\/\/martinfowler.com\/bliki\/ArchitectureDecisionRecord.html\" class=\"Ext\">Martin Fowler \u306e\u89e3\u8aac<\/a> \u3067\u3082\u3001ADR\u306f\u5358\u4e00\u306e\u91cd\u8981\u306a\u610f\u601d\u6c7a\u5b9a\u3068\u3001\u305d\u306e\u80cc\u666f\u3084\u5f71\u97ff\u3092\u77ed\u304f\u8a18\u9332\u3059\u308b\u6587\u66f8\u3068\u3057\u3066\u8aac\u660e\u3055\u308c\u3066\u3044\u307e\u3059\u3002<br \/>\nADR\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306f\u30b7\u30f3\u30d7\u30eb\u3067\u3001\u6b21\u306e5\u9805\u76ee\u304c\u57fa\u672c\u3067\u3059\u3002<\/p>\n<div class=\"Pre-title\">architecture-decision-record.md<\/div>\n<pre class=\"Copy\"><code>\r\n# ADR-003: \u8a8d\u8a3c\u65b9\u5f0f\u306b JWT + HttpOnly Cookie \u3092\u63a1\u7528\u3059\u308b\r\n\r\n## \u30b9\u30c6\u30fc\u30bf\u30b9: \u627f\u8a8d\u6e08\u307f\uff082025-10-01\uff09\r\n\r\n## \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\r\nSPA\u69cb\u6210\u306e\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u304b\u3089API\u3078\u306e\u8a8d\u8a3c\u304c\u5fc5\u8981\u3002XSS\u30ea\u30b9\u30af\u3092\u6700\u5c0f\u5316\u3057\u305f\u3044\u3002\r\n\u30e2\u30d0\u30a4\u30eb\u30a2\u30d7\u30ea\u304b\u3089\u3082\u540c\u3058API\u3092\u5229\u7528\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u3002\r\n\r\n## \u6c7a\u5b9a\r\nJWT + HttpOnly Cookie \u3092\u63a1\u7528\u3059\u308b\u3002\r\n- \u30a2\u30af\u30bb\u30b9\u30c8\u30fc\u30af\u30f3: 15\u5206\u3001HttpOnly Secure Cookie\r\n- \u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\u30c8\u30fc\u30af\u30f3: 7\u65e5\u3001\u5225\u9014HttpOnly Secure Cookie\r\n\r\n## \u4e0d\u63a1\u7528\u3068\u3057\u305f\u9078\u629e\u80a2\r\n- localStorage: XSS\u653b\u6483\u3067\u30c8\u30fc\u30af\u30f3\u304c\u6f0f\u6d29\u3059\u308b\u30ea\u30b9\u30af\u304c\u3042\u308a\u4e0d\u63a1\u7528\r\n- \u30b5\u30fc\u30d0\u30fc\u30b5\u30a4\u30c9\u30bb\u30c3\u30b7\u30e7\u30f3: \u30b9\u30b1\u30fc\u30eb\u30a2\u30a6\u30c8\u6642\u306b\u30bb\u30c3\u30b7\u30e7\u30f3\u5171\u6709\u304c\u5fc5\u8981\u306b\u306a\u308b\u305f\u3081\u4e0d\u63a1\u7528\r\n\r\n## \u5f71\u97ff\r\n- CSRF\u30c8\u30fc\u30af\u30f3\u3092\u5225\u9014\u5b9f\u88c5\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\r\n- \u30e2\u30d0\u30a4\u30eb\u30a2\u30d7\u30ea\u304b\u3089\u306e\u30a2\u30af\u30bb\u30b9\u306f\u5225\u9014Cookie\u4ee5\u5916\u306e\u8a8d\u8a3c\u30d5\u30ed\u30fc\u3092\u691c\u8a0e\u3059\u308b\r\n<\/code><\/pre>\n<p>\u3053\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306e\u30dd\u30a4\u30f3\u30c8\u306f\u3001<strong>\u300c\u306a\u305c\u63a1\u7528\u3057\u305f\u304b\u300d\u3060\u3051\u3067\u306a\u304f\u300c\u306a\u305c\u63a1\u7528\u3057\u306a\u304b\u3063\u305f\u304b\u300d\u3082\u8a18\u9332\u3059\u308b<\/strong>\u3053\u3068\u3067\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u5c06\u6765\u306e\u62c5\u5f53\u8005\u3084AI\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304c\u300c\u306a\u305clocalStorage\u3092\u4f7f\u3063\u3066\u3044\u306a\u3044\u306e\u304b\u300d\u3092\u8a2d\u8a08\u66f8\u304b\u3089\u8aad\u307f\u53d6\u308c\u307e\u3059\u3002<br \/>\nADR\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u30ea\u30dd\u30b8\u30c8\u30ea\u306e <span class=\"Post-inline\">docs\/decisions\/<\/span> \u914d\u4e0b\u306b\u7f6e\u304d\u3001Git\u3067\u7ba1\u7406\u3059\u308b\u306e\u304c\u4e00\u822c\u7684\u3067\u3059\u3002\u5909\u66f4\u3059\u308b\u305f\u3073\u306b\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u66f4\u65b0\uff08Accepted \u2192 Superseded \u306a\u3069\uff09\u3059\u308b\u3053\u3068\u3067\u3001\u751f\u304d\u305f\u8a18\u9332\u3068\u3057\u3066\u7dad\u6301\u3067\u304d\u307e\u3059\u3002<\/p>\n<h4 id=\"section-4-2\" class=\"Heading Title Title--s\">Di\u00e1taxis<\/h4>\n<p>Di\u00e1taxis\u306f\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092<strong>\u76ee\u7684\u5225\u306b4\u8c61\u9650\u306b\u5206\u985e\u3059\u308b<\/strong>\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3059\u3002\u8a2d\u8a08\u66f8\u306b\u9650\u3089\u305a\u3001\u6280\u8853\u6587\u66f8\u5168\u822c\u306e\u6574\u7406\u306b\u4f7f\u3048\u307e\u3059\u3002<\/p>\n<table class=\"Base-table\">\n<tr>\n<th>\u8c61\u9650<\/th>\n<th>\u76ee\u7684<\/th>\n<th>\u8aad\u8005\u306e\u72b6\u614b<\/th>\n<th>\u8a2d\u8a08\u66f8\u3067\u306e\u4f8b<\/th>\n<\/tr>\n<tr>\n<td><strong>Tutorial<\/strong><\/td>\n<td>\u5b66\u7fd2\u3059\u308b<\/td>\n<td>\u300c\u3084\u308a\u65b9\u3092\u5b66\u3073\u305f\u3044\u300d<\/td>\n<td>\u958b\u767a\u74b0\u5883\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u30ac\u30a4\u30c9<\/td>\n<\/tr>\n<tr>\n<td><strong>How-to<\/strong><\/td>\n<td>\u7279\u5b9a\u306e\u30bf\u30b9\u30af\u3092\u5b8c\u9042\u3059\u308b<\/td>\n<td>\u300c\u3007\u3007\u3092\u5b9f\u88c5\u3057\u305f\u3044\u300d<\/td>\n<td>\u8a8d\u8a3c\u30d5\u30ed\u30fc\u306e\u5b9f\u88c5\u624b\u9806<\/td>\n<\/tr>\n<tr>\n<td><strong>Reference<\/strong><\/td>\n<td>\u4ed5\u69d8\u3092\u78ba\u8a8d\u3059\u308b<\/td>\n<td>\u300c\u3053\u306e\u6319\u52d5\u306f\u3069\u3046\u306a\u3063\u3066\u3044\u308b\u304b\u300d<\/td>\n<td>API\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u4ed5\u69d8\u4e00\u89a7<\/td>\n<\/tr>\n<tr>\n<td><strong>Explanation<\/strong><\/td>\n<td>\u80cc\u666f\u30fb\u7406\u7531\u3092\u7406\u89e3\u3059\u308b<\/td>\n<td>\u300c\u306a\u305c\u3053\u306e\u8a2d\u8a08\u306a\u306e\u304b\u300d<\/td>\n<td>\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u9078\u5b9a\u7406\u7531\u3001ADR<\/td>\n<\/tr>\n<\/table>\n<p><a href=\"https:\/\/diataxis.fr\/\" class=\"Ext\">Di\u00e1taxis<\/a> \u306f\u3001Tutorial\u30fbHow-to\u30fbReference\u30fbExplanation \u306e4\u7a2e\u985e\u306f\u305d\u308c\u305e\u308c\u76ee\u7684\u304c\u7570\u306a\u308a\u3001\u6df7\u5728\u3055\u305b\u308b\u3068\u8aad\u8005\u304c\u8ff7\u3044\u3084\u3059\u304f\u306a\u308b\u3068\u6574\u7406\u3057\u3066\u3044\u307e\u3059\u3002<br \/>\n\u8a2d\u8a08\u66f8\u3067\u3088\u304f\u8d77\u304d\u308b\u554f\u984c\u306f\u3001<strong>\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\uff08tutorial\uff09\u30fb\u624b\u9806\uff08how-to\uff09\u30fb\u4ed5\u69d8\uff08reference\uff09\u30fb\u80cc\u666f\u8aac\u660e\uff08explanation\uff09\u304c1\u3064\u306e\u6587\u66f8\u306b\u6df7\u5728\u3059\u308b\u3053\u3068<\/strong>\u3067\u3059\u3002Di\u00e1taxis\u306e\u89b3\u70b9\u3067\u5206\u3051\u308b\u3068\u3001\u4eba\u9593\u306b\u3068\u3063\u3066\u3082\u8aad\u307f\u3084\u3059\u304f\u3001AI\u306b\u3068\u3063\u3066\u3082\u300c\u3069\u306e\u6587\u66f8\u3092\u4f55\u306e\u305f\u3081\u306b\u4f7f\u3046\u304b\u300d\u304c\u660e\u78ba\u306b\u306a\u308a\u307e\u3059\u3002<br \/>\n\u305f\u3068\u3048\u3070\u3001\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u8a2d\u8a08\u66f8\u3092\u6b21\u306e\u3088\u3046\u306b\u5206\u3051\u308b\u3068\u6574\u7406\u3057\u3084\u3059\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n<ul class=\"Base-list\">\n<li class=\"Base-list__child\"><span class=\"Post-inline\">docs\/architecture\/explanation.md<\/span> \u2500\u2500 \u306a\u305c\u3053\u306e\u69cb\u6210\u306b\u3057\u305f\u304b\uff08ADR\u3068\u9023\u643a\uff09<\/li>\n<li class=\"Base-list__child\"><span class=\"Post-inline\">docs\/architecture\/reference.md<\/span> \u2500\u2500 \u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u4e00\u89a7\u30fb\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u5b9a\u7fa9<\/li>\n<li class=\"Base-list__child\"><span class=\"Post-inline\">docs\/architecture\/how-to-deploy.md<\/span> \u2500\u2500 \u30c7\u30d7\u30ed\u30a4\u624b\u9806<\/li>\n<\/ul>\n<h4 id=\"section-4-3\" class=\"Heading Title Title--s\">arc42<\/h4>\n<p>arc42\u306f\u3001\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u309212\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u6574\u7406\u3059\u308b\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3067\u3059\u3002\u7279\u5fb4\u306f\u300c\u5168\u90e8\u57cb\u3081\u308b\u5fc5\u8981\u306f\u306a\u3044\u300d\u3068\u3044\u3046\u8a2d\u8a08\u601d\u60f3\u3067\u3059\u3002\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u8907\u96d1\u3055\u3084\u898f\u6a21\u306b\u5fdc\u3058\u3066\u3001\u5fc5\u8981\u306a\u30bb\u30af\u30b7\u30e7\u30f3\u3060\u3051\u3092\u4f7f\u3044\u307e\u3059\u3002<br \/>\nAI\u6642\u4ee3\u306b\u304a\u3044\u3066\u7279\u306b\u4fa1\u5024\u304c\u9ad8\u3044\u30bb\u30af\u30b7\u30e7\u30f3\u306f\u6b21\u306e3\u3064\u3067\u3059\u3002<\/p>\n<table class=\"Base-table\">\n<tr>\n<th>\u30bb\u30af\u30b7\u30e7\u30f3<\/th>\n<th>\u5185\u5bb9<\/th>\n<th>AI\u6642\u4ee3\u306e\u4fa1\u5024<\/th>\n<\/tr>\n<tr>\n<td><strong>\u5236\u7d04\uff08Constraints\uff09<\/strong><\/td>\n<td>\u6280\u8853\u7684\u30fb\u7d44\u7e54\u7684\u30fb\u6cd5\u7684\u306a\u5236\u9650\u4e8b\u9805<\/td>\n<td>AI\u306b\u300c\u89e6\u3063\u3066\u306f\u3044\u3051\u306a\u3044\u9818\u57df\u300d\u3092\u4f1d\u3048\u3089\u308c\u308b<\/td>\n<\/tr>\n<tr>\n<td><strong>\u54c1\u8cea\u8981\u6c42\uff08Quality Requirements\uff09<\/strong><\/td>\n<td>\u6027\u80fd\u30fb\u53ef\u7528\u6027\u30fb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306a\u3069\u306e\u975e\u6a5f\u80fd\u8981\u4ef6<\/td>\n<td>AI\u3078\u306e\u6307\u793a\u306e\u30d9\u30fc\u30b9\u306b\u306a\u308b<\/td>\n<\/tr>\n<tr>\n<td><strong>\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u6c7a\u5b9a\uff08Architecture Decisions\uff09<\/strong><\/td>\n<td>\u91cd\u8981\u306a\u8a2d\u8a08\u5224\u65ad\u3068\u305d\u306e\u6839\u62e0\uff08ADR\u3068\u9023\u643a\uff09<\/td>\n<td>\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u306b\u7d44\u307f\u8fbc\u307f\u3084\u3059\u3044<\/td>\n<\/tr>\n<\/table>\n<p>arc42\u306e\u6b8b\u308a\u306e\u30bb\u30af\u30b7\u30e7\u30f3\uff08\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u56f3\u3001\u30e9\u30f3\u30bf\u30a4\u30e0\u30d3\u30e5\u30fc\u306a\u3069\uff09\u306f\u3001OpenAPI\u3084IaC\u30b3\u30fc\u30c9\u304b\u3089\u81ea\u52d5\u751f\u6210\u3067\u304d\u308b\u60c5\u5831\u304c\u591a\u3044\u305f\u3081\u3001\u624b\u52d5\u3067\u7dad\u6301\u3059\u308b\u30b3\u30b9\u30c8\u3068\u898b\u5408\u3046\u304b\u3092\u5224\u65ad\u3057\u306a\u304c\u3089\u4f7f\u3046\u306e\u304c\u5b9f\u52d9\u7684\u3067\u3059\u3002<\/p>\n<h4 id=\"section-4-4\" class=\"Heading Title Title--s\">3\u3064\u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306e\u4f7f\u3044\u5206\u3051<\/h4>\n<table class=\"Base-table\">\n<tr>\n<th>\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af<\/th>\n<th>\u4e3b\u306a\u7528\u9014<\/th>\n<th>\u5411\u3044\u3066\u3044\u308b\u5834\u9762<\/th>\n<\/tr>\n<tr>\n<td><strong>ADR<\/strong><\/td>\n<td>\u5224\u65ad\u306e\u8a18\u9332<\/td>\n<td>\u300c\u306a\u305c\u305d\u3046\u3057\u305f\u304b\u300d\u3092\u6b8b\u3057\u305f\u3044<\/td>\n<\/tr>\n<tr>\n<td><strong>Di\u00e1taxis<\/strong><\/td>\n<td>\u6587\u66f8\u306e\u5206\u985e\u30fb\u6574\u7406<\/td>\n<td>\u8a2d\u8a08\u66f8\u304c\u6df7\u5728\u3057\u3066\u3044\u3066\u6574\u7406\u3057\u305f\u3044<\/td>\n<\/tr>\n<tr>\n<td><strong>arc42<\/strong><\/td>\n<td>\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u5168\u4f53\u69cb\u9020\u5316<\/td>\n<td>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u8a2d\u8a08\u66f8\u3092\u4f53\u7cfb\u7684\u306b\u6574\u5099\u3057\u305f\u3044<\/td>\n<\/tr>\n<\/table>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/04\/three-frameworks-relationship.png\" alt=\"ADR\u30fbDi\u00e1taxis\u30fbarc42\u306e\u95a2\u4fc2\u56f3\" class=\"content_img\" \/><\/p>\n<div class=\"Image-caption\">ADR\u30fbDi\u00e1taxis\u30fbarc42\u306f\u7af6\u5408\u3059\u308b\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u306f\u306a\u304f\u3001\u6bb5\u968e\u7684\u306b\u7a4d\u307f\u91cd\u306d\u3089\u308c\u308b\u5c64\u3068\u3057\u3066\u4f7f\u3046<\/div>\n<p>3\u3064\u3059\u3079\u3066\u3092\u63a1\u7528\u3059\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u307e\u305a\u306f<strong>ADR\u3060\u3051\u59cb\u3081\u308b<\/strong>\u306e\u304c\u6700\u3082\u53d6\u308a\u7d44\u307f\u3084\u3059\u304f\u3001\u52b9\u679c\u304c\u5b9f\u611f\u3057\u3084\u3059\u3044\u3067\u3059\u3002\u91cd\u8981\u306a\u5224\u65ad\u304c\u51fa\u308b\u305f\u3073\u306b\u77ed\u3044\u8a18\u9332\u3092\u7a4d\u307f\u4e0a\u3052\u308b\u3060\u3051\u3067\u3001\u4fdd\u5b88\u6027\u3068\u5f15\u304d\u7d99\u304e\u306e\u3057\u3084\u3059\u3055\u304c\u5927\u304d\u304f\u5909\u308f\u308a\u307e\u3059\u3002<\/p>\n<h3 id=\"section-5\" class=\"Heading Title Title--m\">\u5b9f\u8a3c\uff1a\u69cb\u9020\u5316\u3055\u308c\u305f\u8a2d\u8a08\u66f8\u3092AI\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306b\u6e21\u3057\u3066\u307f\u305f<\/h3>\n<p>\u300c\u7406\u5c48\u306f\u5206\u304b\u3063\u3066\u3082\u3001\u672c\u5f53\u306b\u52b9\u679c\u304c\u3042\u308b\u306e\u304b\uff1f\u300d\u3068\u3044\u3046\u7591\u554f\u306b\u7b54\u3048\u308b\u305f\u3081\u3001\u5b9f\u969b\u306b\u69cb\u9020\u5316\u3055\u308c\u305f\u8a2d\u8a08\u66f8\u3092AI\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306b\u6e21\u3057\u3066\u307f\u307e\u3057\u305f\u3002\u4eca\u56de\u306e\u5c0f\u898f\u6a21\u306a\u6bd4\u8f03\u3067\u306f\u3001<strong>\u8a2d\u8a08\u66f8\u3092\u69cb\u9020\u5316\u3059\u308b\u3068\u51fa\u529b\u54c1\u8cea\u304c\u6539\u5584\u3059\u308b\u50be\u5411<\/strong>\u304c\u898b\u3089\u308c\u307e\u3057\u305f\u3002<\/p>\n<h4 id=\"section-5-1\" class=\"Heading Title Title--s\">\u691c\u8a3c\u306e\u76ee\u7684\u3068\u65b9\u6cd5<\/h4>\n<p><strong>\u76ee\u7684<\/strong>: ADR\u30fbDi\u00e1taxis\u5f62\u5f0f\u306e\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9\u30fb\u975e\u6a5f\u80fd\u8981\u4ef6\u3068\u3044\u3046\u69cb\u9020\u5316\u3055\u308c\u305f\u8a2d\u8a08\u66f8\u3092\u6e21\u3057\u305f\u5834\u5408\u3068\u6e21\u3055\u306a\u3044\u5834\u5408\u3067\u3001AI\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u51fa\u529b\u54c1\u8cea\u306b\u3069\u3093\u306a\u5dee\u304c\u751f\u307e\u308c\u308b\u304b\u3092\u6bd4\u8f03\u3059\u308b\u3002<br \/>\n<strong>\u30b7\u30ca\u30ea\u30aa<\/strong>: \u65b0\u305f\u306aJavaScript\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066\u3001\u6b21\u306e\u8981\u4ef6\u3067\u30e6\u30fc\u30b6\u30fc\u8a8d\u8a3c\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8API\u3092\u8ffd\u52a0\u3059\u308b\u3002<\/p>\n<ul class=\"Base-list\">\n<li class=\"Base-list__child\">JWT\u8a8d\u8a3c<\/li>\n<li class=\"Base-list__child\">\u30a2\u30af\u30bb\u30b9\u30c8\u30fc\u30af\u30f3\u30fb\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\u30c8\u30fc\u30af\u30f3\u306e2\u30c8\u30fc\u30af\u30f3\u69cb\u6210<\/li>\n<li class=\"Base-list__child\">\u30ec\u30fc\u30c8\u5236\u9650\u3042\u308a<\/li>\n<\/ul>\n<p><strong>\u691c\u8a3c\u30c4\u30fc\u30eb\uff082026\u5e744\u6708\u6642\u70b9\uff09<\/strong>: OpenAI Codex\uff08GPT-5.4\uff09 \/ Gemini CLI\uff08Gemini 3 Flash preview\uff09 \/ Claude Code\uff08Claude Sonnet 4.6\uff09<br \/>\n<strong>\u6bd4\u8f03\u65b9\u6cd5<\/strong>: \u8a2d\u8a08\u66f8\u306a\u3057\uff08Before\uff09\u3068\u69cb\u9020\u5316\u3055\u308c\u305f\u8a2d\u8a08\u66f8\u3042\u308a\uff08After\uff09\u306e\u51fa\u529b\u3092\u6bd4\u8f03\u3059\u308b\u3002\u4eca\u56de\u306f\u5404\u6761\u4ef61\u56de\u305a\u3064\u306e\u63a2\u7d22\u7684\u306a\u6bd4\u8f03\u3067\u3042\u308a\u3001\u7d71\u8a08\u7684\u306a\u8a55\u4fa1\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/04\/structured-docs-to-agent-flow.png\" alt=\"\u69cb\u9020\u5316\u3055\u308c\u305f\u8a2d\u8a08\u66f8\u3092AI\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306b\u6e21\u3059\u6d41\u308c\" class=\"content_img\" \/><\/p>\n<div class=\"Image-caption\">AI\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3078\u306e\u5165\u529b\u306e\u9055\u3044\u304c\u3001\u51fa\u529b\u54c1\u8cea\u306e\u5dee\u3092\u751f\u3080<\/div>\n<p>\u306a\u304a\u3001\u4eca\u56de\u306f\u8ffd\u52a0\u306e\u5b9f\u884c\u30e2\u30fc\u30c9\u5207\u308a\u66ff\u3048\u3084\u7d30\u304b\u306a\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u306f\u884c\u308f\u305a\u3001\u901a\u5e38\u5229\u7528\u306b\u8fd1\u3044\u6761\u4ef6\u3067\u6bd4\u8f03\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<h4 id=\"section-5-2\" class=\"Heading Title Title--s\">Before\uff1a\u8a2d\u8a08\u66f8\u306a\u3057\u3067\u6307\u793a\u3057\u305f\u5834\u5408<\/h4>\n<p>\u8a2d\u8a08\u66f8\u306a\u3057\u3067\u306f\u3001\u6b21\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u3060\u3051\u3092\u6e21\u3057\u307e\u3057\u305f\u3002\u4eca\u56de\u306e\u6bd4\u8f03\u306f\u5404\u6761\u4ef61\u56de\u305a\u3064\u3067\u3059\u3002<\/p>\n<blockquote class=\"Post-blockquote\"><p>\n\u30e6\u30fc\u30b6\u30fc\u8a8d\u8a3c\u306e\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8API\u3092JavaScript\u306e\u65b0\u898f\u30d5\u30a1\u30a4\u30eb\u3067\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002JWT\u3092\u4f7f\u3044\u307e\u3059\u3002\n<\/p><\/blockquote>\n<p>3\u3064\u306e\u30c4\u30fc\u30eb\u306f\u3044\u305a\u308c\u3082\u3001<span class=\"Post-inline\">\/register<\/span>\u3001<span class=\"Post-inline\">\/login<\/span>\u3001<span class=\"Post-inline\">\/me<\/span> \u3068\u3044\u3063\u305f\u57fa\u672c\u7684\u306a\u8a8d\u8a3cAPI\u3092\u77ed\u6642\u9593\u3067\u751f\u6210\u3067\u304d\u307e\u3057\u305f\u3002\u5b9f\u88c5\u306e\u7d30\u90e8\u306b\u306f\u5dee\u304c\u3042\u308b\u3082\u306e\u306e\u3001\u5168\u4f53\u3068\u3057\u3066\u306f\u300cJWT\u3092\u767a\u884c\u3057\u3066Bearer\u30c8\u30fc\u30af\u30f3\u3068\u3057\u3066\u6271\u3046\u300d\u300c\u30e6\u30fc\u30b6\u30fc\u60c5\u5831\u306f\u30d7\u30ed\u30bb\u30b9\u5185\u30e1\u30e2\u30ea\u306b\u4fdd\u6301\u3059\u308b\u300d\u300c\u6700\u5c0f\u9650\u306e\u5165\u529b\u691c\u8a3c\u3060\u3051\u3067\u6210\u7acb\u3055\u305b\u308b\u300d\u3068\u3044\u3046\u3001\u30d7\u30ed\u30c8\u30bf\u30a4\u30d7\u5bc4\u308a\u306e\u5171\u901a\u30d1\u30bf\u30fc\u30f3\u306b\u53ce\u675f\u3057\u3066\u3044\u307e\u3059\u3002<br \/>\n\u305f\u3068\u3048\u3070\u3001\u5404\u30c4\u30fc\u30eb\u306e\u51fa\u529b\u306b\u306f\u6b21\u306e\u3088\u3046\u306a\u5171\u901a\u8981\u7d20\u304c\u898b\u3089\u308c\u307e\u3057\u305f\u3002<\/p>\n<div class=\"Pre-title\">javascript<\/div>\n<pre class=\"Copy\"><code>\r\napp.post(&#x27;\/login&#x27;, async (req, res) =&gt; {\r\n  const user = findUser(req.body);\r\n  const token = jwt.sign({ sub: user.id }, SECRET_KEY, { expiresIn: &#x27;1h&#x27; });\r\n  res.json({ token });\r\n});\r\n\r\napp.get(&#x27;\/me&#x27;, authenticateToken, (req, res) =&gt; {\r\n  res.json(req.user);\r\n});\r\n<\/code><\/pre>\n<p>\u3057\u304b\u3057\u3001\u8a2d\u8a08\u4e0a\u306e\u524d\u63d0\u304c\u4e0e\u3048\u3089\u308c\u3066\u3044\u306a\u3044\u305f\u3081\u3001\u5b9f\u88c5\u306f\u8a8d\u8a3c\u57fa\u76e4\u3068\u3057\u3066\u5fc5\u8981\u306a\u8981\u4ef6\u3092\u5341\u5206\u306b\u306f\u6e80\u305f\u3057\u3066\u3044\u307e\u305b\u3093\u3002\u4e3b\u8981\u306a\u554f\u984c\u3092\u5171\u901a\u9805\u3068\u3057\u3066\u6574\u7406\u3059\u308b\u3068\u3001\u6b21\u306e4\u70b9\u306b\u96c6\u7d04\u3067\u304d\u307e\u3059\u3002<\/p>\n<table class=\"Base-table\">\n<tr>\n<th>\u554f\u984c<\/th>\n<th>\u5185\u5bb9<\/th>\n<\/tr>\n<tr>\n<td><strong>\u30c8\u30fc\u30af\u30f3\u7ba1\u7406\u304c\u8106\u5f31<\/strong><\/td>\n<td><span class=\"Post-inline\">res.json({ token })<\/span> \u3067\u30a2\u30af\u30bb\u30b9\u30c8\u30fc\u30af\u30f3\u3092\u8fd4\u3059\u5b9f\u88c5\u304c\u4e2d\u5fc3\u3067\u3001\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u3067 <span class=\"Post-inline\">localStorage<\/span> \u4fdd\u5b58\u3055\u308c\u308b\u524d\u63d0\u306b\u306a\u308a\u3084\u3059\u3044\u3002XSS\u6642\u306e\u6f0f\u6d29\u30ea\u30b9\u30af\u304c\u9ad8\u304f\u3001Cookie\u904b\u7528\u306e\u65b9\u91dd\u3082\u7d71\u4e00\u3055\u308c\u3066\u3044\u306a\u3044\u3002<\/td>\n<\/tr>\n<tr>\n<td><strong>\u30bb\u30c3\u30b7\u30e7\u30f3\u7d99\u7d9a\u8a2d\u8a08\u304c\u306a\u3044<\/strong><\/td>\n<td>\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\u30c8\u30fc\u30af\u30f3\u3084\u518d\u767a\u884c\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u304c\u306a\u304f\u3001\u30a2\u30af\u30bb\u30b9\u30c8\u30fc\u30af\u30f3\u5931\u52b9\u5f8c\u306f\u518d\u30ed\u30b0\u30a4\u30f3\u524d\u63d0\u306b\u306a\u308b\u3002\u5b9f\u904b\u7528\u3092\u60f3\u5b9a\u3057\u305f\u8a8d\u8a3c\u30d5\u30ed\u30fc\u3068\u3057\u3066\u306f\u4e0d\u5341\u5206\u3002<\/td>\n<\/tr>\n<tr>\n<td><strong>\u9632\u5fa1\u7b56\u304c\u4e0d\u8db3\u3057\u3066\u3044\u308b<\/strong><\/td>\n<td>\u30ed\u30b0\u30a4\u30f3\u8a66\u884c\u306b\u5bfe\u3059\u308b\u30ec\u30fc\u30c8\u5236\u9650\u3001\u5931\u52b9\u7ba1\u7406\u3001\u30e6\u30fc\u30b6\u30fc\u5b58\u5728\u78ba\u8a8d\u306a\u3069\u304c\u4e0d\u5341\u5206\u3067\u3001\u30d6\u30eb\u30fc\u30c8\u30d5\u30a9\u30fc\u30b9\u3084\u53e4\u3044\u30c8\u30fc\u30af\u30f3\u306e\u60aa\u7528\u3078\u306e\u5099\u3048\u304c\u5f31\u3044\u3002<\/td>\n<\/tr>\n<tr>\n<td><strong>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u898f\u7d04\u3068\u6574\u5408\u3057\u3066\u3044\u306a\u3044<\/strong><\/td>\n<td>\u30a8\u30e9\u30fc\u30ec\u30b9\u30dd\u30f3\u30b9\u5f62\u5f0f\u304c <span class=\"Post-inline\">{ message }<\/span> \u3084\u7d20\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u8fd4\u5374\u306a\u3069\u306b\u5206\u304b\u308c\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5171\u901a\u306eAPI\u4ed5\u69d8\u3068\u3057\u3066\u6271\u3044\u3065\u3089\u3044\u3002<\/td>\n<\/tr>\n<\/table>\n<h4 id=\"section-5-3\" class=\"Heading Title Title--s\">After\uff1a\u69cb\u9020\u5316\u3055\u308c\u305f\u8a2d\u8a08\u66f8\u3092\u6e21\u3057\u305f\u5834\u5408<\/h4>\n<p>\u6b21\u306e3\u7a2e\u985e\u306e\u8a2d\u8a08\u66f8\u3092\u6e21\u3057\u307e\u3057\u305f\u3002<br \/>\n<strong>\u2460 ADR\uff08\u6c7a\u5b9a\u8a18\u9332\uff09<\/strong><\/p>\n<div class=\"Pre-title\">docs\/decisions\/ADR-003-authentication.md<\/div>\n<pre class=\"Copy\"><code>\r\n# ADR-003: \u8a8d\u8a3c\u65b9\u5f0f\u306b JWT + HttpOnly Cookie \u3092\u63a1\u7528\u3059\u308b\r\n\r\n## \u30b9\u30c6\u30fc\u30bf\u30b9: \u627f\u8a8d\u6e08\u307f\r\n\r\n## \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\r\nSPA\u69cb\u6210\u306e\u305f\u3081\u3001XSS\u30ea\u30b9\u30af\u3092\u6700\u5c0f\u5316\u3057\u305f\u3044\u3002\r\n\r\n## \u6c7a\u5b9a\r\nJWT + HttpOnly Cookie \u3092\u63a1\u7528\u3059\u308b\u3002\r\n\r\n## \u4e0d\u63a1\u7528\u3068\u3057\u305f\u9078\u629e\u80a2\r\n- localStorage: XSS\u3067\u30c8\u30fc\u30af\u30f3\u304c\u6f0f\u6d29\u3059\u308b\u30ea\u30b9\u30af\u304c\u3042\u308a\u4e0d\u63a1\u7528\r\n\r\n## \u5f71\u97ff\r\n- \u30a2\u30af\u30bb\u30b9\u30c8\u30fc\u30af\u30f3: 15\u5206\u3001HttpOnly Secure Cookie \u306b\u4fdd\u5b58\r\n- \u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\u30c8\u30fc\u30af\u30f3: 7\u65e5\u3001\u5225\u9014HttpOnly Secure Cookie \u306b\u4fdd\u5b58\r\n<\/code><\/pre>\n<p><strong>\u2461 Di\u00e1taxis\u5f62\u5f0f\u306e\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9\uff08\u4ed5\u69d8\u5b9a\u7fa9\uff09<\/strong><\/p>\n<div class=\"Pre-title\">docs\/api\/auth-reference.md<\/div>\n<pre class=\"Copy\"><code>\r\n## POST \/auth\/login\r\n\r\n- \u30ea\u30af\u30a8\u30b9\u30c8: `{ email: string, password: string }`\r\n- \u30ec\u30b9\u30dd\u30f3\u30b9\uff08\u6210\u529f\uff09: `{ userId: string }` + Set-Cookie \u30d8\u30c3\u30c0\u30fc\uff08\u30a2\u30af\u30bb\u30b9\u30fb\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\uff09\r\n- \u30ec\u30b9\u30dd\u30f3\u30b9\uff08\u5931\u6557\uff09: `{ error: { code: string, message: string } }`\r\n- \u30a8\u30e9\u30fc\u30b3\u30fc\u30c9: AUTH_FAILED, VALIDATION_ERROR, RATE_LIMIT_EXCEEDED\r\n<\/code><\/pre>\n<p><strong>\u2462 \u975e\u6a5f\u80fd\u8981\u4ef6\uff08\u5236\u7d04\uff09<\/strong><\/p>\n<div class=\"Pre-title\">docs\/non-functional.md<\/div>\n<pre class=\"Copy\"><code>\r\n## \u8a8d\u8a3c\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306e\u975e\u6a5f\u80fd\u8981\u4ef6\r\n\r\n- \u30ec\u30fc\u30c8\u5236\u9650: \/auth\/* \u306f 1IP \u3042\u305f\u308a 10req\/15min\r\n- \u30c8\u30fc\u30af\u30f3\u4fdd\u5b58: localStorage \u306f\u7981\u6b62\u3001HttpOnly Cookie \u306e\u307f\u4f7f\u7528\u3059\u308b\r\n- \u30a8\u30e9\u30fc\u30ec\u30b9\u30dd\u30f3\u30b9: \u5168\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3067 `{ error: { code, message } }` \u5f62\u5f0f\u3092\u4f7f\u7528\u3059\u308b\r\n<\/code><\/pre>\n<p>\u8a2d\u8a08\u66f8\u3092\u6e21\u3057\u305f\u4e0a\u3067\u540c\u3058\u6307\u793a\u3092\u51fa\u3059\u3068\u30013\u3064\u306e\u30c4\u30fc\u30eb\u3068\u3082\u6982\u306d\u6b21\u306e\u3088\u3046\u306a\u5b9f\u88c5\u3092\u751f\u6210\u3057\u307e\u3057\u305f\u3002<br \/>\n\u5168\u6587\u3092\u63b2\u8f09\u3059\u308b\u3068\u5197\u9577\u306a\u306e\u3067\u3001\u5171\u901a\u3057\u3066\u6539\u5584\u3055\u308c\u305f\u30dd\u30a4\u30f3\u30c8\u3060\u3051\u3092\u62bd\u8c61\u5316\u3059\u308b\u3068\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<div class=\"Pre-title\">javascript<\/div>\n<pre class=\"Copy\"><code>\r\napp.post(&quot;\/auth\/login&quot;, authLimiter, async (req, res) =&gt; {\r\n  const user = await authenticateUser(req.body);\r\n  if (!user) {\r\n    return res.status(401).json({\r\n      error: { code: &quot;AUTH_FAILED&quot;, message: &quot;Invalid email or password&quot; },\r\n    });\r\n  }\r\n\r\n  const accessToken = signAccessToken(user.id, &quot;15m&quot;);\r\n  const refreshToken = signRefreshToken(user.id, &quot;7d&quot;);\r\n\r\n  res.cookie(&quot;access_token&quot;, accessToken, httpOnlyCookieOptions);\r\n  res.cookie(&quot;refresh_token&quot;, refreshToken, httpOnlyCookieOptions);\r\n  return res.status(200).json({ userId: user.id });\r\n});\r\n<\/code><\/pre>\n<p>Before \u3068\u6bd4\u3079\u308b\u3068\u3001\u4eca\u56de\u306e\u6bd4\u8f03\u3067\u306f\u8a2d\u8a08\u66f8\u3042\u308a\u306e\u51fa\u529b\u306b\u6b21\u306e\u3088\u3046\u306a\u6539\u5584\u50be\u5411\u304c\u898b\u3089\u308c\u307e\u3057\u305f\u3002<br \/>\n\u3082\u3063\u3068\u3082\u5927\u304d\u306a\u9055\u3044\u306f\u3001\u8a8d\u8a3c\u65b9\u5f0f\u304c\u30d7\u30ed\u30c8\u30bf\u30a4\u30d7\u5bc4\u308a\u306e\u5358\u7d14\u306aJWT\u5b9f\u88c5\u304b\u3089\u3001\u904b\u7528\u3092\u524d\u63d0\u306b\u3057\u305f\u69cb\u6210\u3078\u5bc4\u3063\u305f\u3053\u3068\u3067\u3059\u3002<span class=\"Post-inline\">localStorage<\/span> \u524d\u63d0\u3067\u306f\u306a\u304f <span class=\"Post-inline\">HttpOnly Cookie<\/span> \u3092\u4f7f\u3046\u65b9\u5411\u306b\u63c3\u3044\u3001\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\u30c8\u30fc\u30af\u30f3\u3092\u542b\u30802\u30c8\u30fc\u30af\u30f3\u69cb\u6210\u3084 <span class=\"Post-inline\">\/auth\/*<\/span> \u3078\u306e\u30ec\u30fc\u30c8\u5236\u9650\u3082\u53cd\u6620\u3055\u308c\u307e\u3057\u305f\u3002\u30a8\u30e9\u30fc\u30ec\u30b9\u30dd\u30f3\u30b9\u3082 <span class=\"Post-inline\">{ error: { code, message } }<\/span> \u5f62\u5f0f\u306b\u63c3\u3044\u3084\u3059\u304f\u306a\u308a\u3001\u5358\u306b\u300c\u52d5\u304f\u30ed\u30b0\u30a4\u30f3API\u300d\u3092\u4f5c\u308b\u6bb5\u968e\u304b\u3089\u3001\u300c\u8981\u4ef6\u3092\u6e80\u305f\u3059\u8a8d\u8a3cAPI\u300d\u3092\u7d44\u307f\u7acb\u3066\u308b\u6bb5\u968e\u3078\u9032\u3093\u3060\u3068\u8a00\u3048\u307e\u3059\u3002<br \/>\n\u7279\u306b\u8208\u5473\u6df1\u304b\u3063\u305f\u306e\u306f\u3001\u8a2d\u8a08\u66f8\u306b\u5224\u65ad\u7406\u7531\u307e\u3067\u542b\u3081\u308b\u3068\u3001\u5358\u306b\u4ed5\u69d8\u3092\u6e80\u305f\u3059\u3060\u3051\u3067\u306a\u304f\u3001<strong>\u300c\u306a\u305c\u305d\u306e\u5b9f\u88c5\u3092\u9078\u3093\u3060\u306e\u304b\u300d\u307e\u3067\u30b3\u30fc\u30c9\u306b\u6b8b\u3059<\/strong>\u632f\u308b\u821e\u3044\u304c\u4e00\u90e8\u3067\u898b\u3089\u308c\u305f\u3053\u3068\u3067\u3059\u3002\u305f\u3068\u3048\u3070 Claude Code \u3084 OpenAI Codex \u3067\u306f\u3001<span class=\"Post-inline\">ADR-003<\/span> \u3092\u53c2\u7167\u3059\u308b\u30b3\u30e1\u30f3\u30c8\u304c\u4ed8\u304f\u30b1\u30fc\u30b9\u304c\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<h4 id=\"section-5-4\" class=\"Heading Title Title--s\">3\u30c4\u30fc\u30eb\u3067\u306e\u7d50\u679c\u6bd4\u8f03<\/h4>\n<table class=\"Base-table\">\n<tr>\n<th>\u89b3\u70b9<\/th>\n<th>\u8a2d\u8a08\u66f8\u306a\u3057<\/th>\n<th>\u8a2d\u8a08\u66f8\u3042\u308a\uff08ADR + \u30ea\u30d5\u30a1\u30ec\u30f3\u30b9 + \u975e\u6a5f\u80fd\u8981\u4ef6\uff09<\/th>\n<\/tr>\n<tr>\n<td>\u30c8\u30fc\u30af\u30f3\u4fdd\u5b58\u65b9\u5f0f<\/td>\n<td>localStorage\u60f3\u5b9a\uff08\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30ea\u30b9\u30af\uff09<\/td>\n<td>HttpOnly Cookie\uff08ADR\u6e96\u62e0\uff09<\/td>\n<\/tr>\n<tr>\n<td>\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\u30c8\u30fc\u30af\u30f3<\/td>\n<td>\u672a\u5b9f\u88c5<\/td>\n<td>\u5b9f\u88c5\u6e08\u307f\u30fb\u6709\u52b9\u671f\u96507\u65e5<\/td>\n<\/tr>\n<tr>\n<td>\u30ec\u30fc\u30c8\u5236\u9650<\/td>\n<td>\u306a\u3057<\/td>\n<td>express-rate-limit\u5c0e\u5165\uff0810req\/15min\uff09<\/td>\n<\/tr>\n<tr>\n<td>\u30a8\u30e9\u30fc\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0<\/td>\n<td>\u72ec\u81ea\u30d5\u30a9\u30fc\u30de\u30c3\u30c8<\/td>\n<td>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u898f\u7d04\u306b\u6e96\u62e0<\/td>\n<\/tr>\n<tr>\n<td>\u8981\u4ef6\u5145\u8db3\u5ea6<\/td>\n<td>\u4f4e\u3044<\/td>\n<td>\u9ad8\u3044<\/td>\n<\/tr>\n<\/table>\n<p>\u305f\u3060\u3057\u3001\u540c\u3058\u8a2d\u8a08\u66f8\u3092\u6e21\u3057\u3066\u3082\u3001\u3069\u306e\u60c5\u5831\u3092\u5f37\u304f\u62fe\u3046\u304b\u306b\u306f\u30c4\u30fc\u30eb\u3054\u3068\u306e\u500b\u6027\u304c\u3042\u308a\u307e\u3057\u305f\u3002\u5dee\u304c\u51fa\u305f\u306e\u306f\u3001\u5b9f\u88c5\u306e\u6b63\u5426\u305d\u306e\u3082\u306e\u3088\u308a\u3082\u3001\u8a2d\u8a08\u610f\u56f3\u3084\u5224\u65ad\u7406\u7531\u3092\u3069\u3053\u307e\u3067\u30b3\u30fc\u30c9\u306b\u6301\u3061\u8fbc\u3080\u304b\u3068\u3044\u3046\u70b9\u3067\u3059\u3002<br \/>\n<strong>OpenAI Codex<\/strong><br \/>\n\u4eca\u56de\u306e\u6bd4\u8f03\u3067\u306f\u3001\u5224\u65ad\u7406\u7531\u3092\u30b3\u30e1\u30f3\u30c8\u3068\u3057\u3066\u6b8b\u3059\u5834\u9762\u306f\u3042\u308a\u307e\u3057\u305f\u304c\u3001\u8a2d\u8a08\u66f8\u306e\u69cb\u9020\u306b\u5bfe\u3059\u308b\u611f\u5ea6\u306f\u3084\u3084\u4f4e\u3081\u3067\u3057\u305f\u3002\u9006\u306b\u8a00\u3048\u3070\u3001Codex \u3067\u306f\u7279\u306b ADR\u30fb\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9\u30fb\u975e\u6a5f\u80fd\u8981\u4ef6\u3092\u5206\u3051\u3066\u660e\u793a\u3059\u308b\u306a\u3069\u3001\u5165\u529b\u3092\u69cb\u9020\u5316\u3057\u305f\u3068\u304d\u306e\u5dee\u304c\u51fa\u3084\u3059\u3044\u3068\u3082\u8a00\u3048\u307e\u3059\u3002<br \/>\n<strong>Gemini CLI<\/strong><br \/>\n\u4eca\u56de\u306e\u6bd4\u8f03\u3067\u306f\u3001<span class=\"Post-inline\">@docs\/<\/span> \u3067\u6307\u5b9a\u3057\u305f\u5185\u5bb9\u3092\u7d20\u76f4\u306b\u5b9f\u88c5\u3078\u53cd\u6620\u3059\u308b\u50be\u5411\u304c\u5f37\u304f\u3001\u975e\u6a5f\u80fd\u8981\u4ef6\u306e\u53cd\u6620\u306f\u5b89\u5b9a\u3057\u3066\u3044\u307e\u3057\u305f\u3002\u4e00\u65b9\u3067\u3001ADR\u306e\u80cc\u666f\u3092\u30b3\u30e1\u30f3\u30c8\u3068\u3057\u3066\u6b8b\u3059\u3088\u308a\u306f\u3001\u300c\u66f8\u304b\u308c\u3066\u3044\u308b\u4ed5\u69d8\u3092\u305d\u306e\u307e\u307e\u6e80\u305f\u3059\u300d\u65b9\u5411\u306b\u5bc4\u308a\u3084\u3059\u3044\u5370\u8c61\u3067\u3057\u305f\u3002<br \/>\n<strong>Claude Code<\/strong><br \/>\n\u4eca\u56de\u306e\u6bd4\u8f03\u3067\u306f\u3001\u8a2d\u8a08\u610f\u56f3\u3092\u30b3\u30fc\u30c9\u30b3\u30e1\u30f3\u30c8\u306b\u843d\u3068\u3057\u8fbc\u3080\u50be\u5411\u304c\u6700\u3082\u5f37\u304f\u3001ADR\u756a\u53f7\u3084\u975e\u6a5f\u80fd\u8981\u4ef6\u3078\u306e\u53c2\u7167\u304c\u6b8b\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3057\u305f\u3002\u4ed5\u69d8\u6e96\u62e0\u3060\u3051\u3067\u306a\u304f\u3001\u5224\u65ad\u306e\u80cc\u666f\u307e\u3067\u30b3\u30fc\u30c9\u306b\u5199\u3057\u53d6\u308d\u3046\u3068\u3059\u308b\u6319\u52d5\u304c\u898b\u3048\u307e\u3057\u305f\u3002<br \/>\n\u3053\u306e\u6bd4\u8f03\u306f\u7b46\u8005\u304c\u5404\u6761\u4ef61\u56de\u305a\u3064\u5b9f\u884c\u3057\u305f\u7d50\u679c\u3067\u3059\u3002\u751f\u6210AI\u306e\u51fa\u529b\u306f\u975e\u6c7a\u5b9a\u7684\u3067\u3042\u308a\u3001\u5e38\u306b\u540c\u3058\u7d50\u679c\u306b\u306a\u308b\u3068\u306f\u9650\u308a\u307e\u305b\u3093\u3002<\/p>\n<h4 id=\"section-5-5\" class=\"Heading Title Title--s\">\u8003\u5bdf<\/h4>\n<p>\u4eca\u56de\u306e\u691c\u8a3c\u3067\u6700\u3082\u52b9\u679c\u304c\u5927\u304d\u304b\u3063\u305f\u306e\u306f\u3001<strong>\u300c\u3057\u3066\u306f\u3044\u3051\u306a\u3044\u3053\u3068\u300d\u3068\u300c\u4ee3\u308f\u308a\u306b\u3059\u308b\u3053\u3068\u300d\u3092\u30bb\u30c3\u30c8\u3067\u66f8\u3044\u305f\u7b87\u6240<\/strong>\u3067\u3057\u305f\u3002\u300clocalStorage \u7981\u6b62\u300d\u3060\u3051\u3092\u66f8\u3044\u305f\u5834\u5408\u306f\u6307\u793a\u304c\u5b88\u3089\u308c\u306a\u3044\u30b1\u30fc\u30b9\u3082\u3042\u308a\u307e\u3057\u305f\u304c\u3001\u300clocalStorage \u7981\u6b62\u3001HttpOnly Cookie \u3092\u4f7f\u3046\u300d\u3068\u30bb\u30c3\u30c8\u3067\u66f8\u304f\u3068\u30013\u30c4\u30fc\u30eb\u3059\u3079\u3066\u3067\u6b63\u3057\u304f\u53cd\u6620\u3055\u308c\u307e\u3057\u305f\u3002<br \/>\n\u3053\u308c\u306f <a href=\"https:\/\/www.anthropic.com\/engineering\/building-effective-agents\" class=\"Ext\">Anthropic \u306e\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u8a2d\u8a08\u30ac\u30a4\u30c9<\/a> \u306b\u3082\u901a\u3058\u308b\u8003\u3048\u65b9\u3067\u3059\u3002\u7981\u6b62\u4e8b\u9805\u3060\u3051\u3067\u306a\u304f\u3001\u671f\u5f85\u3059\u308b\u632f\u308b\u821e\u3044\u3092\u5177\u4f53\u7684\u306b\u66f8\u304f\u307b\u3069\u3001\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u6319\u52d5\u306f\u5b89\u5b9a\u3057\u3084\u3059\u304f\u306a\u308a\u307e\u3059\u3002<br \/>\n\u307e\u305f\u3001ADR\u5f62\u5f0f\u306e\u300c\u306a\u305c\u63a1\u7528\u3057\u306a\u304b\u3063\u305f\u304b\u300d\u3068\u3044\u3046\u8a18\u9332\u304c\u3001AI\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306b\u3068\u3063\u3066<strong>\u300c\u306a\u305c\u3053\u306e\u5b9f\u88c5\u30d1\u30bf\u30fc\u30f3\u3092\u4f7f\u3063\u3066\u306f\u3044\u3051\u306a\u3044\u304b\u300d\u306e\u6839\u62e0<\/strong>\u3068\u3057\u3066\u3082\u6a5f\u80fd\u3059\u308b\u3053\u3068\u304c\u5206\u304b\u308a\u307e\u3057\u305f\u3002\u5224\u65ad\u7406\u7531\u306e\u8a18\u9332\u306f\u3001\u4eba\u9593\u5411\u3051\u306e\u8aac\u660e\u8cac\u4efb\u3060\u3051\u3067\u306a\u304f\u3001AI\u3078\u306e\u6307\u793a\u54c1\u8cea\u306b\u3082\u76f4\u7d50\u3057\u307e\u3059\u3002<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/04\/design-doc-evolution.png\" alt=\"AI\u6642\u4ee3\u306b\u304a\u3051\u308b\u8a2d\u8a08\u66f8\u306e\u5f79\u5272\u306e\u5909\u5316\" class=\"content_img\" \/><\/p>\n<div class=\"Image-caption\">\u8a2d\u8a08\u66f8\u306e\u5f79\u5272\u306f\u300c\u91cd\u3044\u8aac\u660e\u8cc7\u6599\u300d\u304b\u3089\u300cAI\u3082\u542b\u3081\u305f\u30c1\u30fc\u30e0\u304c\u540c\u3058\u5224\u65ad\u57fa\u6e96\u3067\u52d5\u304f\u305f\u3081\u306e\u8a18\u9332\u300d\u3078\u5909\u308f\u3063\u305f<\/div>\n<h3 id=\"section-6\" class=\"Heading Title Title--m\">\u307e\u3068\u3081<\/h3>\n<p>\u672c\u8a18\u4e8b\u306e\u5185\u5bb9\u3092\u307e\u3068\u3081\u307e\u3059\u3002<\/p>\n<ol class=\"Base-list Base-list--ol\">\n<li class=\"Base-list__child\">\n        <strong>\u8a2d\u8a08\u66f8\u306fAI\u6642\u4ee3\u306b\u304a\u3044\u3066\u3082\u4e0d\u8981\u306b\u306a\u3089\u306a\u3044\u3002<\/strong><\/p>\n<div class=\"List-description\">\u8a2d\u8a08\u66f8\u306b\u306f\u300c\u95a2\u4fc2\u8005\u306e\u8a8d\u8b58\u5408\u308f\u305b\u300d\u300c\u5b9f\u88c5\u524d\u306e\u8ad6\u70b9\u6574\u7406\u300d\u300c\u5224\u65ad\u7406\u7531\u306e\u8a18\u9332\u300d\u300c\u4fdd\u5b88\u6642\u306e\u6587\u8108\u7d99\u627f\u300d\u3068\u3044\u30464\u3064\u306e\u672c\u8cea\u7684\u5f79\u5272\u304c\u3042\u308a\u3001\u3053\u308c\u3089\u306fAI\u304c\u81ea\u52d5\u3067\u306f\u88dc\u5b8c\u3067\u304d\u307e\u305b\u3093\u3002<\/div>\n<\/li>\n<li class=\"Base-list__child\">\n        <strong>\u66f8\u304f\u3079\u304d\u60c5\u5831\u3068\u66f8\u304b\u306a\u304f\u3066\u3088\u3044\u60c5\u5831\u304c\u5909\u308f\u308b\u3002<\/strong><\/p>\n<div class=\"List-description\">AI\u304c\u5f97\u610f\u306a\u300c\u6587\u7ae0\u5316\u30fb\u8981\u7d04\u30fb\u53e9\u304d\u53f0\u4f5c\u6210\u300d\u306b\u4efb\u305b\u3089\u308c\u308b\u60c5\u5831\u306f\u7701\u7565\u3057\u3001AI\u304c\u82e6\u624b\u306a\u300c\u5224\u65ad\u306e\u7406\u7531\u30fb\u4ee3\u66ff\u6848\u30fb\u54c1\u8cea\u8981\u6c42\u30fb\u5236\u7d04\u300d\u306b\u96c6\u4e2d\u3059\u308b\u3053\u3068\u304c\u3001\u8a2d\u8a08\u66f8\u306e\u65b0\u3057\u3044\u5f79\u5272\u3067\u3059\u3002<\/div>\n<\/li>\n<li class=\"Base-list__child\">\n        <strong>ADR\u30fbDi\u00e1taxis\u30fbarc42\u3067\u69cb\u9020\u5316\u3059\u308b\u3002<\/strong><\/p>\n<div class=\"List-description\">ADR\u306f1\u8ad6\u70b91\u8a18\u9332\u3067\u5224\u65ad\u3092\u6b8b\u3059\u624b\u6cd5\u3001Di\u00e1taxis\u306f\u6587\u66f8\u3092\u76ee\u7684\u5225\u306b\u5206\u985e\u3059\u308b\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3001arc42\u306f\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u5168\u4f53\u3092\u4f53\u7cfb\u5316\u3059\u308b\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3067\u3059\u3002\u307e\u305a\u306fADR\u3060\u3051\u304b\u3089\u59cb\u3081\u308b\u306e\u304c\u53d6\u308a\u7d44\u307f\u3084\u3059\u3044\u3067\u3059\u3002<\/div>\n<\/li>\n<li class=\"Base-list__child\">\n        <strong>\u69cb\u9020\u5316\u3055\u308c\u305f\u8a2d\u8a08\u66f8\u306fAI\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u51fa\u529b\u54c1\u8cea\u3092\u6539\u5584\u3057\u3084\u3059\u3044\u3002<\/strong><\/p>\n<div class=\"List-description\">\u4eca\u56de\u306e\u6bd4\u8f03\u3067\u306f\u3001ADR\u30fb\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9\u4ed5\u69d8\u30fb\u975e\u6a5f\u80fd\u8981\u4ef6\u3092\u69cb\u9020\u5316\u3057\u3066\u6e21\u3059\u3053\u3068\u3067\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30ea\u30b9\u30af\u306e\u3042\u308b\u5b9f\u88c5\u30fb\u672a\u5b9f\u88c5\u306e\u6a5f\u80fd\u30fb\u898f\u7d04\u9055\u53cd\u304c\u6e1b\u308b\u50be\u5411\u304c\u898b\u3089\u308c\u307e\u3057\u305f\u3002\u7279\u306b\u300c\u7981\u6b62\u4e8b\u9805 + \u4ee3\u66ff\u624b\u6bb5\u300d\u306e\u30bb\u30c3\u30c8\u8a18\u8ff0\u304c\u52b9\u679c\u7684\u3067\u3057\u305f\u3002<\/div>\n<\/li>\n<li class=\"Base-list__child\">\n        <strong>\u751f\u6210AI\u306b\u3088\u3063\u3066\u3001\u8a2d\u8a08\u66f8\u306f\u300c\u91cd\u3044\u8aac\u660e\u8cc7\u6599\u300d\u304b\u3089\u300c\u5224\u65ad\u3068\u6587\u8108\u306e\u8a18\u9332\u300d\u3078\u5909\u308f\u308b\u3002<\/strong><\/p>\n<div class=\"List-description\">\u8a2d\u8a08\u66f8\u306f\u66f8\u304f\u3053\u3068\u304c\u76ee\u7684\u3067\u306f\u306a\u304f\u3001\u300cAI\u3082\u542b\u3081\u305f\u30c1\u30fc\u30e0\u5168\u4f53\u304c\u540c\u3058\u5224\u65ad\u57fa\u6e96\u3067\u52d5\u3051\u308b\u72b6\u614b\u3092\u4f5c\u308b\u3053\u3068\u300d\u304c\u76ee\u7684\u3067\u3059\u3002<\/div>\n<\/li>\n<\/ol>\n<a class=\"Internal-post\" href=\"https:\/\/techfun.cc\/generative-ai\/coding-agent-practical-usage-and-tips.html\"><div class=\"Internal-post__thumb\" style=\"background: url(\/wp-content\/uploads\/2026\/03\/coding-agent-practical-usage-and-tips-scaled.png) no-repeat; background-size: cover; background-position: 50% 50%;\"><\/div><div class=\"Internal-post-content\"><div class=\"Category Category--generative-ai\"> \u751f\u6210AI\u95a2\u9023<\/div><div class=\"Internal-post__title\">\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u5b9f\u52d9\u3067\u3069\u3046\u4f7f\u3046\uff1f\u793e\u5185\u52c9\u5f37\u4f1a\u3067\u898b\u3048\u305f\u30dd\u30a4\u30f3\u30c8<\/div><\/div><\/a>\n<h3 id=\"section-7\" class=\"Heading Title Title--m\">\u751f\u6210AI\u6d3b\u7528\u652f\u63f4\u30b5\u30fc\u30d3\u30b9\u306e\u3054\u7d39\u4ecb<\/h3>\n<p>Tech Fun\u3067\u306f\u3001\u304a\u5ba2\u69d8\u306e\u30d5\u30a7\u30fc\u30ba\u306b\u5408\u308f\u305b\u3001\u751f\u6210AI\u6d3b\u7528\u306b\u5411\u3051\u305f\u652f\u63f4\u30923\u3064\u306e\u30d1\u30c3\u30af\u3067\u3054\u63d0\u4f9b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<ol class=\"Base-list Base-list--ol\">\n<li class=\"Base-list__child\">\n        <a href=\"https:\/\/www.techfun.co.jp\/services\/ai\/diagnosis\/\" class=\"Ext\">\u7121\u6599\u8a3a\u65ad\u30d1\u30c3\u30af<\/a>\uff1a\u696d\u52d9\u30fb\u30d7\u30ed\u30bb\u30b9\u306e\u73fe\u72b6\u3092\u7121\u6599\u3067\u8a3a\u65ad\u3057\u3001\u751f\u6210AI\u6d3b\u7528\u306e\u53ef\u80fd\u6027\u3092\u30ec\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002\n    <\/li>\n<li class=\"Base-list__child\">\n        <a href=\"https:\/\/www.techfun.co.jp\/services\/ai\/poc\/\" class=\"Ext\">\u691c\u8a3c\uff08PoC\uff09\u30d1\u30c3\u30af<\/a>\uff1a\u8a3a\u65ad\u3067\u6709\u52b9\u6027\u304c\u78ba\u8a8d\u3055\u308c\u305f\u696d\u52d9\u3092\u5bfe\u8c61\u306b\u3001\u30d7\u30ed\u30c8\u30bf\u30a4\u30d7\u69cb\u7bc9\u3092\u652f\u63f4\u3057\u307e\u3059\u3002\n    <\/li>\n<li class=\"Base-list__child\">\n        <a href=\"https:\/\/www.techfun.co.jp\/services\/ai\/consulting\/\" class=\"Ext\">\u30b3\u30f3\u30b5\u30eb\u30c6\u30a3\u30f3\u30b0\u30b5\u30fc\u30d3\u30b9<\/a>\uff1a\u751f\u6210AI\u5c0e\u5165\u6226\u7565\u306e\u7b56\u5b9a\u304b\u3089\u904b\u7528\u4f53\u5236\u69cb\u7bc9\u307e\u3067\u3092\u5305\u62ec\u7684\u306b\u652f\u63f4\u3057\u307e\u3059\u3002\n    <\/li>\n<\/ol>\n<p>\u751f\u6210AI\u306b\u9650\u3089\u305a\u3001Web\u30fb\u696d\u52d9\u30b7\u30b9\u30c6\u30e0\u958b\u767a\u3084\u30a4\u30f3\u30d5\u30e9\u8a2d\u8a08\u306a\u3069\u3001\u6280\u8853\u9818\u57df\u3092\u554f\u308f\u305a\u3054\u76f8\u8ac7\u3092\u627f\u3063\u3066\u3044\u307e\u3059\u3002\u300c\u4f55\u304b\u3089\u59cb\u3081\u308c\u3070\u826f\u3044\u304b\u5206\u304b\u3089\u306a\u3044\u300d\u3068\u3044\u3046\u6bb5\u968e\u3067\u3082\u69cb\u3044\u307e\u305b\u3093\u306e\u3067\u3001\u305c\u3072\u304a\u6c17\u8efd\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u306f\u3058\u3081\u306b \u300cAI\u304c\u8a2d\u8a08\u66f8\u3092\u66f8\u3044\u3066\u304f\u308c\u308b\u306a\u3089\u3001\u3082\u3046\u4eba\u9593\u304c\u66f8\u304f\u5fc5\u8981\u306f\u306a\u3044\u306e\u3067\u306f\uff1f\u300d \u751f\u6210AI\u3092\u4f7f\u3063\u305f\u958b\u767a\u304c\u5f53\u305f\u308a\u524d\u306b\u306a\u3063\u3066\u304f\u308b\u3068\u3001\u3053\u3093\u306a\u58f0\u304c\u51fa\u3066\u304d\u307e\u3059\u3002\u5b9f\u969b\u3001AI\u306f\u3042\u308b\u7a0b\u5ea6\u306e\u60c5\u5831\u3055\u3048\u3042\u308c\u3070\u3001\u8981\u4ef6\u5b9a\u7fa9\u66f8\u3084\u8a2d\u8a08\u66f8\u306e\u8349\u6848\u3092\u3042\u3063\u3068\u3044\u2026<\/p>\n","protected":false},"author":6,"featured_media":6978,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[91],"class_list":["post-6982","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-generative-ai"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/techfun.cc\/wp-json\/wp\/v2\/posts\/6982","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techfun.cc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techfun.cc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techfun.cc\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/techfun.cc\/wp-json\/wp\/v2\/comments?post=6982"}],"version-history":[{"count":1,"href":"https:\/\/techfun.cc\/wp-json\/wp\/v2\/posts\/6982\/revisions"}],"predecessor-version":[{"id":6983,"href":"https:\/\/techfun.cc\/wp-json\/wp\/v2\/posts\/6982\/revisions\/6983"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techfun.cc\/wp-json\/wp\/v2\/media\/6978"}],"wp:attachment":[{"href":"https:\/\/techfun.cc\/wp-json\/wp\/v2\/media?parent=6982"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techfun.cc\/wp-json\/wp\/v2\/categories?post=6982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}