{"id":7754,"date":"2025-10-01T19:49:26","date_gmt":"2025-10-01T19:49:26","guid":{"rendered":"https:\/\/pokecon.jp\/job\/?p=7754"},"modified":"2025-10-01T19:49:26","modified_gmt":"2025-10-01T19:49:26","slug":"dspy%e3%82%92%e7%94%a8%e3%81%84%e3%81%a6%e3%80%81%e3%83%97%e3%83%ad%e3%83%b3%e3%83%97%e3%83%88%e3%83%81%e3%83%a5%e3%83%bc%e3%83%8b%e3%83%b3%e3%82%b0%e3%81%8b%e3%82%89%e8%84%b1%e5%87%ba%e3%81%97","status":"publish","type":"post","link":"https:\/\/pokecon.jp\/job\/7754\/","title":{"rendered":"DSPy\u3092\u7528\u3044\u3066\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304b\u3089\u8131\u51fa\u3057\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3078 &#8211; GMO\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30b0\u30eb\u30fc\u30d7 \u30b0\u30eb\u30fc\u30d7\u7814\u7a76\u958b\u767a\u672c\u90e8"},"content":{"rendered":"\n<\/p>\n<div>\n<p dir=\"auto\">\u3053\u3093\u306b\u3061\u306f\u3001\u30b0\u30eb\u30fc\u30d7\u7814\u7a76\u958b\u767a\u672c\u90e8\u30fbAI\u7814\u7a76\u958b\u767a\u5ba4\u306eA.Z\u3067\u3059<\/p>\n<p dir=\"auto\">LLM\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u3059\u308b\u3068\u304d\u306b\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u5468\u308a\u306e\u751f\u6210\u3084\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u306f\u7d50\u69cb\u5927\u5909\u3001\u30e2\u30c7\u30eb\u5909\u66f4\u3059\u308b\u3068\u307e\u305f\u30d7\u30ed\u30f3\u30d7\u30c8\u518d\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304c\u5fc5\u8981\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u5fae\u8abf\u6574\u3067\u7d50\u679c\u304c\u5909\u308f\u308b\u306a\u3069\u306e\u56f0\u3063\u3066\u3044\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u305b\u3093\u304b\u3002\u4eca\u56de\u306e\u8a18\u4e8b\u305d\u306e\u554f\u984c\u3067\u3001\u5c11\u3057\u3067\u3082\u6539\u5584\u3067\u304d\u308b\u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3068\u3044\u3046\u30a2\u30d7\u30ed\u30fc\u30c1\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n<p><h2 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">TL;DR<\/h2>\n<\/p>\n<ul dir=\"auto\">\n<li>DSPy\u3068\u3044\u3046\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3092\u5229\u7528\u3057\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u5b9f\u65bd<\/li>\n<li>\u81ea\u52d5\u7684\u306a\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u6700\u9069\u5316\u4f8b\u3092\u8a66\u3057\u305f<\/li>\n<li>MIPROV2\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u6700\u9069\u5316\u306e\u4ed5\u7d44\u307f\u3092\u7c21\u5358\u306b\u89e3\u8aac<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p><h2 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">\u306f\u3058\u3081\u306b<\/h2>\n<\/p>\n<p dir=\"auto\">\u8fd1\u5e74\u3001\u5927\u898f\u6a21\u8a00\u8a9e\u30e2\u30c7\u30eb\uff08LLM\uff09\u306e\u6025\u901f\u306a\u767a\u5c55\u306b\u3088\u308a\u3001AI \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u958b\u767a\u624b\u6cd5\u3082\u5927\u304d\u304f\u5909\u5316\u3057\u3066\u3044\u307e\u3059\u3002LLM\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u591a\u304f\u306e\u958b\u767a\u8005\u304c\u30d7\u30ed\u30f3\u30d7\u30c8\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0\u306b\u53d6\u308a\u7d44\u3093\u3067\u3044\u307e\u3059\u3002<\/p>\n<p dir=\"auto\">\u3057\u304b\u3057\u3001\u5f93\u6765\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u624b\u6cd5\u306b\u306f\u591a\u304f\u306e\u8ab2\u984c\u304c\u3042\u308a\u307e\u3059\uff1a<\/p>\n<ul dir=\"auto\">\n<li><strong>\u624b\u52d5\u3067\u306e\u8a66\u884c\u932f\u8aa4<\/strong>\uff1a\u52b9\u679c\u7684\u306a\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u898b\u3064\u3051\u308b\u305f\u3081\u306b\u3001\u7121\u6570\u306e\u7d44\u307f\u5408\u308f\u305b\u3092\u624b\u52d5\u3067\u30c6\u30b9\u30c8\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b<\/li>\n<li><strong>\u518d\u73fe\u6027\u306e\u6b20\u5982<\/strong>\uff1a\u540c\u3058\u30d7\u30ed\u30f3\u30d7\u30c8\u3067\u3082\u3001\u30e2\u30c7\u30eb\u3084\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u5909\u308f\u308b\u3068\u7d50\u679c\u304c\u5927\u304d\u304f\u7570\u306a\u308b\u5834\u5408\u304c\u3042\u308b<\/li>\n<li><strong>\u30b9\u30b1\u30fc\u30e9\u30d3\u30ea\u30c6\u30a3\u306e\u554f\u984c<\/strong>\uff1a\u8907\u96d1\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001\u8907\u6570\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u7ba1\u7406\u30fb\u8abf\u6574\u3059\u308b\u3053\u3068\u304c\u56f0\u96e3<\/li>\n<li><strong>\u8a55\u4fa1\u306e\u56f0\u96e3\u3055<\/strong>\uff1a\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u54c1\u8cea\u3092\u5ba2\u89b3\u7684\u306b\u6e2c\u5b9a\u3057\u3001\u6539\u5584\u3059\u308b\u3053\u3068\u304c\u96e3\u3057\u3044<\/li>\n<\/ul>\n<p dir=\"auto\">\u3053\u308c\u3089\u306e\u8ab2\u984c\u3092\u89e3\u6c7a\u3059\u308b\u305f\u3081\u306b\u3001\u672c\u8a18\u4e8b\u3067\u306f\u00a0<strong>DSPy<\/strong>\u00a0\u3068\u3044\u3046\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002DSPy\u306f\u3001\u624b\u52d5\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304b\u3089\u8131\u5374\u3057\u3001\u3088\u308a\u4f53\u7cfb\u7684\u3067\u81ea\u52d5\u5316\u3055\u308c\u305f\u30a2\u30d7\u30ed\u30fc\u30c1\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u5b9f\u969b\u306e\u30b3\u30fc\u30c9\u4f8b\u3092\u901a\u3058\u3066\u3001\u5f93\u6765\u306e\u624b\u6cd5\u3068\u306e\u9055\u3044\u3068\u3001DSPy\u304c\u3082\u305f\u3089\u3059\u9769\u65b0\u7684\u306a\u958b\u767a\u4f53\u9a13\u3092\u63a2\u3063\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<p><h2 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">Dspy\u3068\u306f<\/h2>\n<\/p>\n<p dir=\"auto\">DSPy\uff08Declarative Self-improving Python\uff09\u306f\u3001\u30b9\u30bf\u30f3\u30d5\u30a9\u30fc\u30c9\u5927\u5b66\u306eNLP\u30b0\u30eb\u30fc\u30d7\u306b\u3088\u3063\u3066\u958b\u767a\u3055\u308c\u305f\u9769\u65b0\u7684\u306a\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3059\u3002\u5f93\u6765\u306e\u624b\u52d5\u30d7\u30ed\u30f3\u30d7\u30c8\u30a8\u30f3\u30b8\u30cb\u30a2\u30ea\u30f3\u30b0\u306e\u9650\u754c\u3092\u514b\u670d\u3057\u3001\u5927\u898f\u6a21\u8a00\u8a9e\u30e2\u30c7\u30eb\uff08LLM\uff09\u3092\u4f7f\u3063\u305f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u3092\u6839\u672c\u7684\u306b\u5909\u9769\u3059\u308b\u3053\u3068\u3092\u76ee\u7684\u3068\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p dir=\"auto\"><a target=\"_blank\" href=\"https:\/\/dspy.ai\/\" rel=\"nofollow\">https:\/\/dspy.ai\/<\/a><\/p>\n<p dir=\"auto\">DSPy\u306e\u6838\u5fc3\u7684\u306a\u30a2\u30a4\u30c7\u30a2\u306f\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u624b\u52d5\u3067\u4f5c\u6210\u30fb\u8abf\u6574\u3059\u308b\u4ee3\u308f\u308a\u306b\u3001<strong>\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u8ad6\u7406\u69cb\u9020\u3092\u5ba3\u8a00\u7684\u306b\u5b9a\u7fa9\u3057\u3001\u305d\u306e\u5f8c\u81ea\u52d5\u7684\u306b\u6700\u9069\u5316\u3059\u308b<\/strong>\u3068\u3044\u3046\u30a2\u30d7\u30ed\u30fc\u30c1\u3067\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u958b\u767a\u8005\u306f\u300c\u4f55\u3092\u3057\u305f\u3044\u304b\u300d\u306b\u96c6\u4e2d\u3067\u304d\u3001\u300c\u3069\u306e\u3088\u3046\u306b\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u66f8\u304f\u304b\u300d\u3068\u3044\u3046\u4f5c\u696d\u304b\u3089\u89e3\u653e\u3055\u308c\u307e\u3059\u3002<\/p>\n<p dir=\"auto\">\u4f8b\u3048\u3070\u3001\u8cea\u554f\u5fdc\u7b54\u30b7\u30b9\u30c6\u30e0\u3092\u69cb\u7bc9\u3059\u308b\u969b\u3001\u5f93\u6765\u306e\u65b9\u6cd5\u3067\u306f\u300c\u3042\u306a\u305f\u306f\u89aa\u5207\u306a\u30a2\u30b7\u30b9\u30bf\u30f3\u30c8\u3067\u3059\u3002\u4ee5\u4e0b\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3092\u8aad\u3093\u3067\u2026\u300d\u3068\u3044\u3063\u305f\u8a73\u7d30\u306a\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u624b\u52d5\u3067\u4f5c\u6210\u3057\u3001\u8a66\u884c\u932f\u8aa4\u3092\u7e70\u308a\u8fd4\u3059\u5fc5\u8981\u304c\u3042\u308a\u307e\u3057\u305f\u3002\u3057\u304b\u3057\u3001DSPy\u3067\u306f\u3001\u5165\u529b\uff08\u8cea\u554f\u3068\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\uff09\u3068\u51fa\u529b\uff08\u56de\u7b54\uff09\u306e\u95a2\u4fc2\u3092\u62bd\u8c61\u7684\u306b\u5b9a\u7fa9\u3059\u308b\u3060\u3051\u3067\u3001\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u304c\u81ea\u52d5\u7684\u306b\u6700\u9069\u306a\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u751f\u6210\u3057\u3066\u304f\u308c\u307e\u3059\u3002<\/p>\n<h2 dir=\"auto\">\u306a\u305c\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304b\u3089\u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3078<\/h2>\n<p dir=\"auto\">\u73fe\u5728\u306eLLM\u9032\u5316\u306f\u3082\u306e\u3059\u3054\u304f\u65e9\u304f\u3001\u6b21\u3005\u306e\u9ad8\u6027\u80fd\u306e\u30e2\u30c7\u30eb\u304c\u51fa\u3066\u304d\u307e\u3059\u3002\u305d\u308c\u306b\u4f34\u3044\u3001\u958b\u767a\u3057\u305fAI\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3082\u6539\u4fee\u30fb\u5909\u66f4\u3057\u306a\u3044\u3068\u3044\u3051\u306a\u3044\u5834\u9762\u3082\u51fa\u3066\u304d\u307e\u3059\u3002 \u4f8b\u3048\u3070\u3001\u6628\u5e74\u306b\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305f\u30e2\u30c7\u30eb\u306f\u3001\u4eca\u5e74\u306b\u306a\u3063\u3066\u3001Deprecated\u306b\u306a\u308a\u3001\u5229\u7528\u3067\u304d\u306a\u304f\u306a\u3063\u305f\u308a\u3068\u3046\u3053\u3068\u3082\u3042\u308a\u307e\u3059\u3002\u305d\u306e\u5834\u5408\u306f\u3001AI\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u30e2\u30c7\u30eb\u306b\u79fb\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u8a72\u5f53\u306eAI\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306fLLM\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u306b\u4f9d\u5b58\u3059\u308b\u5834\u5408\u306f\u3001\u518d\u5ea6\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u306f\u884c\u3046\u5fc5\u8981\u3067\u3059\u3002<\/p>\n<p dir=\"auto\">\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u306e\u8ab2\u984c\u3068\u3057\u3066\u306f<\/p>\n<ul dir=\"auto\">\n<li><strong>\u30b9\u30b1\u30fc\u30e9\u30d3\u30ea\u30c6\u30a3\u306e\u554f\u984c<\/strong>\uff1a\u624b\u52d5\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u306f\u6642\u9593\u304c\u304b\u304b\u308a\u3001\u8907\u96d1\u306a\u30b7\u30b9\u30c6\u30e0\u3067\u306f\u7ba1\u7406\u304c\u56f0\u96e3<\/li>\n<li><strong>\u518d\u73fe\u6027\u306e\u554f\u984c<\/strong>\uff1a\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u5fae\u8abf\u6574\u304c\u4ed6\u306e\u90e8\u5206\u306b\u4e88\u671f\u3057\u306a\u3044\u5f71\u97ff\u3092\u4e0e\u3048\u308b<\/li>\n<li><strong>\u30e2\u30c7\u30eb\u4f9d\u5b58\u6027<\/strong>\uff1a\u7570\u306a\u308bLLM\u306b\u5bfe\u3057\u3066\u540c\u3058\u30d7\u30ed\u30f3\u30d7\u30c8\u304c\u6a5f\u80fd\u3057\u306a\u3044\u5834\u5408\u304c\u3042\u308b<\/li>\n<\/ul>\n<p dir=\"auto\">\u4e0a\u8a18\u3092\u89e3\u6c7a\u3059\u308b\u305f\u3081\u306b\u3001\u4e88\u6e2c\u53ef\u80fd\u3068\u518d\u73fe\u53ef\u80fd\u3068\u5b89\u5b9a\u7684\u306a\u306a\u30a2\u30d7\u30ed\u30fc\u30c1\u304c\u5fc5\u8981\u3067\u3059\u3002\u305d\u3053\u3067\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3068\u3044\u3046\u30a2\u30d7\u30ed\u30fc\u30c1\u306e\u51fa\u756a\u306b\u306a\u308a\u307e\u3059\u3002 \u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306f\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u4f5c\u6210\u30fb\u6700\u9069\u5316\u81ea\u4f53\u306f\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u5f62\u5f0f\u3067\u884c\u3044\u3001LLM\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u958b\u767a\u306f\u3088\u308a\u4f53\u7cfb\u7684\u3067\u4e88\u6e2c\u53ef\u80fd\u306a\u30d7\u30ed\u30bb\u30b9\u306b\u306a\u308a\u3001\u5f93\u6765\u306e\u6a5f\u68b0\u5b66\u7fd2\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3068\u540c\u69d8\u306e\u5b89\u5b9a\u6027\u3068\u54c1\u8cea\u7ba1\u7406\u3092\u6301\u3064\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<div dir=\"auto\">\n<p><h2 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">DSPy\u306e\u7279\u5fb4<\/h2>\n<\/p>\n<p dir=\"auto\">DSPy\u306f\u3001\u4ee5\u4e0b\u306e\uff13\u306e\u91cd\u8981\u306a\u30b3\u30f3\u30dd\u30cd\u30f3\u30c8\u3067\u69cb\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<ul dir=\"auto\">\n<li>\u30b7\u30b0\u30cd\u30c1\u30e3\uff08Signatures\uff09<\/li>\n<li>\u30e2\u30b8\u30e5\u30fc\u30eb\uff08Modules\uff09<\/li>\n<li>\u30d7\u30ed\u30f3\u30d7\u30c8\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6<\/li>\n<\/ul>\n<p dir=\"auto\">\u305d\u308c\u305d\u308c\u306e\u30b3\u30f3\u30dd\u30cd\u30f3\u30c8\u306e\u8a73\u7d30\u3068\u5f79\u5272\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n<p><h3 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">1. \u30b7\u30b0\u30cd\u30c1\u30e3\uff08Signatures\uff09\uff1a\u30bf\u30b9\u30af\u3084\u610f\u56f3\u306e\u5ba3\u4f1d<\/h3>\n<\/p>\n<p dir=\"auto\">\u30b7\u30b0\u30cd\u30c1\u30e3\u306f\u57fa\u672c\u7684\u306bDSPy\u306e\u4e2d\u306b\u4e00\u756a\u91cd\u8981\u306a\u30b3\u30f3\u30dd\u30cd\u30f3\u30c8\u3067\u3059\u3002\u3053\u3061\u3089\u3067\u3001LLM\u304b\u3089\u3001\u4f55\u3092\u6c42\u3081\u305f\u3044\u304b\u5177\u4f53\u7684\u306b\u5ba3\u8a00\u3059\u308b\u3068\u3044\u3046\u65b9\u6cd5\u3067\u3059\u3002\u4f8b\u3048\u3070\u3001\u3069\u3093\u306a\u30a4\u30f3\u30d7\u30c3\u30c8\u306bLLM\u306b\u308f\u305f\u3059\u304b\u3001\u305d\u3057\u3066\u3001LLM\u304b\u3089\u3069\u3093\u306a\u56de\u7b54\u671f\u5f85\u3059\u308b\u304b\u3053\u3061\u3089\u306e\u30b3\u30f3\u30dd\u30cd\u30f3\u30c8\u3067\u7d30\u304b\u304f\u5ba3\u8a00\u3057\u307e\u3059\u3002<\/p>\n<p dir=\"auto\">\u5177\u4f53\u7684\u306a\u4f8b\u3068\u3057\u3066\u306f\u4ee5\u4e0b\u306e\u8cea\u554f\u30fb\u56de\u7b54\u306e\u30bf\u30b9\u30af\u306e\u4f8b\u3067\u3059\u3002<\/p>\n<\/div>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">import dspy&#13;\n&#13;\nclass BasicQA(dspy.Signature):&#13;\n    \"\"\"Answer questions based on context.\"\"\"&#13;\n    &#13;\n    context = dspy.InputField(desc=\"Relevant facts or passages.\")&#13;\n    question = dspy.InputField(desc=\"The user's question.\")&#13;\n    answer = dspy.OutputField(desc=\"A concise answer, often a single phrase.\")<\/pre>\n<p dir=\"auto\">\u3053\u306e\u30b3\u30fc\u30c9\u304c\u4f55\u3092\u3057\u3066\u3044\u3066\u3001\u305d\u3057\u3066\u3088\u308a\u91cd\u8981\u306a\u3053\u3068\u306b\u3001\u4f55\u3092\u3057\u3066\u3044\u306a\u3044\u304b\u3092\u898b\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<ul dir=\"auto\">\n<li>\u5951\u7d04\u3092\u5b9a\u7fa9\u3059\u308b\uff1a \u3053\u306e\u30b7\u30b0\u30cd\u30c1\u30e3\u3092\u4f7f\u7528\u3059\u308b\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u3001context\u3068question\u3092\u53d7\u3051\u5165\u308c\u3001answer\u3092\u751f\u6210\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002<\/li>\n<li>\u610f\u5473\u7684\u306a\u30ac\u30a4\u30c0\u30f3\u30b9\u3092\u63d0\u4f9b\u3059\u308b\uff1a docstring\u3084desc\u30d5\u30a3\u30fc\u30eb\u30c9\u306f\u3001\u4eba\u9593\u304c\u8aad\u3080\u305f\u3081\u3060\u3051\u306e\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002DSPy\u306e\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u306f\u3001\u3053\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u3092\u4f7f\u7528\u3057\u3066\u3001\u3088\u308a\u826f\u304f\u3001\u3088\u308a\u8aac\u660e\u7684\u306a\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002\u4f8b\u3048\u3070\u3001\u6700\u7d42\u7684\u306a\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u6307\u793a\u306f\u3001\u30b7\u30b0\u30cd\u30c1\u30e3\u306edocstring\u304b\u3089\u300c\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306b\u57fa\u3065\u3044\u3066\u8cea\u554f\u306b\u7b54\u3048\u307e\u3059\u3002\u300d\u306e\u3088\u3046\u306b\u5c0e\u51fa\u3055\u308c\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/li>\n<li>\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u542b\u307e\u306a\u3044\uff1a f-string\u3084\u3001\u300c\u3042\u306a\u305f\u306f\u89aa\u5207\u306a\u30a2\u30b7\u30b9\u30bf\u30f3\u30c8\u3067\u3059\u2026\u300d\u3068\u3044\u3063\u305f\u6307\u793a\u3001\u624b\u66f8\u304d\u306e\u4f8b\u306f\u4e00\u5207\u3042\u308a\u307e\u305b\u3093\u3002\u3053\u308c\u306f\u7d14\u7c8b\u306a\u610f\u56f3\u306e\u5ba3\u8a00\u3067\u3059<\/li>\n<\/ul>\n<p dir=\"auto\">\u4ed6\u306e\u4f8b\u306fEmail\u306e\u30bf\u30a4\u30d7\u306e\u5206\u985e\u3068\u7dca\u6025\u5ea6\u306e\u5206\u985e\u306b\u306a\u308a\u307e\u3059\uff1a<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">import dspy&#13;\nimport os&#13;\nfrom typing import List, Optional, Literal&#13;\nfrom datetime import datetime&#13;\nfrom pydantic import BaseModel&#13;\nfrom enum import Enum&#13;\n&#13;\nclass EmailType(str, Enum):&#13;\n    ORDER_CONFIRMATION = \"order_confirmation\"&#13;\n    SUPPORT_REQUEST = \"support_request\"&#13;\n    MEETING_INVITATION = \"meeting_invitation\"&#13;\n    NEWSLETTER = \"newsletter\"&#13;\n    PROMOTIONAL = \"promotional\"&#13;\n    INVOICE = \"invoice\"&#13;\n    SHIPPING_NOTIFICATION = \"shipping_notification\"&#13;\n    OTHER = \"other\"&#13;\n&#13;\nclass UrgencyLevel(str, Enum):&#13;\n    LOW = \"low\"&#13;\n    MEDIUM = \"medium\"&#13;\n    HIGH = \"high\"&#13;\n    CRITICAL = \"critical\"&#13;\n&#13;\n&#13;\nclass ClassifyEmail(dspy.Signature):&#13;\n    \"\"\"Classify the type and urgency of an email based on its content.\"\"\"&#13;\n&#13;\n    email_subject: str = dspy.InputField(desc=\"The subject line of the email\")&#13;\n    email_body: str = dspy.InputField(desc=\"The main content of the email\")&#13;\n    sender: str = dspy.InputField(desc=\"Email sender information\")&#13;\n&#13;\n    email_type: EmailType = dspy.OutputField(desc=\"The classified type of email\")&#13;\n    urgency: UrgencyLevel = dspy.OutputField(desc=\"The urgency level of the email\")&#13;\n    reasoning: str = dspy.OutputField(desc=\"Brief explanation of the classification\")<\/pre>\n<p dir=\"auto\">\u4e0a\u8a18\u306e\u30b7\u30b0\u30cd\u30c1\u30e3\u3067\u306f\u3001<\/p>\n<ul dir=\"auto\">\n<li>input\u306e\u5b9a\u7fa9\u306f\uff13\u306e\u30d5\u30a3\u30fc\u30eb\u30c9(email_subject,email_body,sender)\u3092\u5229\u7528\u3057\u3066\u3044\u307e\u3059\u3002<\/li>\n<li>output\u306e\u5b9a\u7fa9\u306f\u4ee5\u4e0b\u306e\uff13\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\n<ul dir=\"auto\">\n<li>email_type\uff1a\u5206\u985e\u3055\u308c\u305f\u30e1\u30fc\u30eb\u306e\u7a2e\u985e\u3002\u5206\u985e\u30af\u30e9\u30b9\u306f\u81ea\u52d5\u7684\u306bType Annotation\u3067\u5ba3\u8a00\u3055\u308c\u305fEmailType\u306e\u7a2e\u985e\u4e2d\u306b\u3001\u5206\u985e\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/li>\n<li>urgency\uff1a\u7dca\u6025\u5ea6\u306e\u5206\u985e\u3002\u3053\u3061\u3089\u306e\u30d5\u30a3\u30fc\u30eb\u3069\u3082\u81ea\u52d5\u7684\u306b\u7684\u306b\u3001Type Annotation\u3067\u5ba3\u8a00\u3055\u308c\u305fUrgencyLevel\u306e\u7a2e\u985e\u4e2d\u306b\u3001\u5206\u985e\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/li>\n<li>reasoning\uff1a\u5206\u985e\u3055\u308c\u305f\u7d50\u679c\u306e\u88cf\u4ed8\u3051\u306e\u7406\u7531\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p dir=\"auto\">\u4e0a\u8a18\u306e\u3088\u3046\u306b\u3001\u69d8\u3005\u306a\u30bf\u30b9\u30af\u306fjson\u306e\u5b9a\u7fa9\u3084\u30c6\u30ad\u30b9\u30c8\u30d9\u30fc\u30b9\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u3067\u7ba1\u7406\u3055\u308c\u308b\u3067\u306f\u306a\u304f\u3001\u3061\u3083\u3093\u3068\u30b3\u30fc\u30c9\u3068\u3057\u3066\u3001\u7ba1\u7406\u3059\u308b\u304c\u3067\u304d\u307e\u3059\u3002\u8907\u96d1\u306a\u30bf\u30b9\u30af\u3084\u5927\u5e0c\u671b\u306e\u30b7\u30b9\u30c6\u30e0\u3067\u306f\u3001\u5411\u3044\u3066\u3044\u308b\u3068\u601d\u3044\u307e\u3059\u3002 \u3088\u308a\u3001\u7ba1\u7406\u3057\u3084\u3059\u304f\u3001\u67d4\u8edf\u6027\u304c\u9ad8\u304f\u3001\u904b\u7528\u30fb\u958b\u767a\u306b\u3082\u69d8\u3005\u3053\u3068\u306e\u52b9\u7387\u3067\u304d\u307e\u3059\u3002 \u307e\u305f\u3001\u3053\u3061\u3089\u306e\u5b9a\u7fa9\u3059\u308b\u3053\u3068\u3067\u3001DSPy\u306e\u76ee\u7389\u6a5f\u80fd(Prompt Optimizer)\u3067\u3001\u30e2\u30c7\u30eb\u4f9d\u5b58\u305b\u305a\u306b\u3001\u81ea\u52d5\u7684\u306b\u6700\u9069\u5316\u3067\u304d\u308b\u306e\u3067\u3001\u30e2\u30c7\u30eb\u304c\u5909\u308f\u3063\u3066\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u5468\u308a\u306e\u5927\u5909\u306a\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u306f\u307b\u3068\u3093\u3069\u4e0d\u8981\u306b\u306a\u308b\u304b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p><h3 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">2. \u30e2\u30b8\u30e5\u30fc\u30eb\uff1a\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u69cb\u6210\u8981\u7d20<\/h3>\n<\/p>\n<p dir=\"auto\">\u30b7\u30b0\u30cd\u30c1\u30e3\u304c\u578b\u5b9a\u7fa9\u3067\u3042\u308b\u3068\u3059\u308c\u3070\u3001\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u5b9f\u884c\u53ef\u80fd\u306a\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3067\u3059\u3002\u3053\u308c\u3089\u306f\u72b6\u614b\u3092\u6301\u3061\u3001\u5b66\u7fd2\u53ef\u80fd\u306a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3067\u3042\u308a\u3001DSPy\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u30b7\u30b0\u30cd\u30c1\u30e3\u3092\u53d7\u3051\u53d6\u308a\u3001\u305d\u308c\u3092\u4f7f\u3063\u3066LLM\u3092\u547c\u3073\u51fa\u3057\u307e\u3059\u3002<\/p>\n<p dir=\"auto\">\u6700\u3082\u57fa\u790e\u7684\u306a\u30e2\u30b8\u30e5\u30fc\u30eb\u306f<code>dspy.Predict<\/code>\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3059\u3002\u3053\u308c\u306f\u3001\u30b7\u30b0\u30cd\u30c1\u30e3\u3092\u4f7f\u3063\u3066LLM\u304b\u3089\u4e88\u6e2c\u3092\u5f97\u308b\u6700\u3082\u7c21\u5358\u306a\u65b9\u6cd5\u3067\u3059\u3002\u5177\u4f53\u7684\u306a\u4f8b\u306f\u4ee5\u4e0b\u306e\u3068\u304a\u308a\u3067\u3059<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\"># \u4e0a\u8a18\u306e\u30b7\u30b0\u30cd\u30c1\u30e3\u306e\u4f8b\u304b\u3089\u7d9a\u3051\u308b&#13;\nqa_predictor = dspy.Predict(BasicQA)&#13;\n&#13;\n# \u30b5\u30f3\u30d7\u30eb\u30c7\u30fc\u30bf\u3067\u5b9f\u884c\u3057\u3066\u307f\u308b&#13;\ncontext_data = \"\u30a8\u30c3\u30d5\u30a7\u30eb\u5854\u306f1889\u5e74\u306b\u5b8c\u6210\u3057\u3001\u30d5\u30e9\u30f3\u30b9\u306e\u30d1\u30ea\u306b\u4f4d\u7f6e\u3057\u3066\u3044\u307e\u3059\u3002\"&#13;\nquestion_data = \"\u30a8\u30c3\u30d5\u30a7\u30eb\u5854\u304c\u5b8c\u6210\u3057\u305f\u306e\u306f\u3044\u3064\u3067\u3059\u304b\uff1f\"&#13;\n&#13;\nprediction = qa_predictor(context=context_data, question=question_data)&#13;\nprint(prediction.answer)<\/pre>\n<p>\u00a0<\/p>\n<p dir=\"auto\">\u4e0a\u8a18\u306e\u30b3\u30fc\u30c9\u306fBasicQA\u30b7\u30b0\u30cd\u30c1\u30e3\u306b\u57fa\u3065\u3044\u3066\u3001\u57fa\u672c\u7684\u306a\u30bc\u30ed\u30b7\u30e7\u30c3\u30c8\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u751f\u6210\u3057\u307e\u3059\u3002LLM\u306b\u4f55\u304c\u9001\u3089\u308c\u305f\u304b\u3092\u8abf\u3079\u308b\u3068\u3001\u6b21\u306e\u3088\u3046\u306a\u3082\u306e\u306b\u306a\u3063\u3066\u3044\u308b\u3067\u3057\u3087\u3046\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Answer questions based on context.&#13;\n&#13;\n---&#13;\n&#13;\nFollow the following format.&#13;\n&#13;\nContext: Relevant facts or passages.&#13;\nQuestion: The user's question.&#13;\nAnswer: A concise answer, often a single phrase.&#13;\n&#13;\n---&#13;\n&#13;\nContext: The Eiffel Tower was completed in 1889 and is located in Paris, France.&#13;\nQuestion: When was the Eiffel Tower finished?&#13;\nAnswer:&#13;\n<\/pre>\n<p dir=\"auto\">DSPy\u306f\u3001\u3044\u304f\u3064\u304b\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u4e00\u822c\u7684\u306b\u3088\u304f\u5229\u7528\u3055\u308c\u308b\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n<ul dir=\"auto\">\n<li>dspy.Predict: \u6700\u3082\u30b7\u30f3\u30d7\u30eb\u306a\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3001\u76f4\u63a5\u7684\u306a\u5165\u529b\u2192\u51fa\u529b\u306e\u4e88\u6e2c\u3092\u884c\u3044\u307e\u3059\u3002<\/li>\n<li>dspy.ChainOfThought: LLM\u306b\u300c\u30b9\u30c6\u30c3\u30d7\u30d0\u30a4\u30b9\u30c6\u30c3\u30d7\u3067\u8003\u3048\u308b\u300d\u3088\u3046\u6307\u793a\u3057\u3001\u8907\u96d1\u306a\u63a8\u8ad6\u30bf\u30b9\u30af\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u5411\u4e0a\u3055\u305b\u307e\u3059\u3002<\/li>\n<li>dspy.ReAct: ReAct\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3092\u5b9f\u88c5\u3057\u3001\u30e2\u30c7\u30eb\u304c\u601d\u8003\u3001\u884c\u52d5\u3001\u89b3\u5bdf\u306e\u30eb\u30fc\u30d7\u306e\u4e2d\u3067\u30c4\u30fc\u30eb\uff08\u691c\u7d22\u30a8\u30f3\u30b8\u30f3\u306a\u3069\uff09\u3092\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/li>\n<li>dspy.MultiChainComparison: \u8907\u6570\u306e\u63a8\u8ad6\u30c1\u30a7\u30fc\u30f3\u3092\u751f\u6210\u3057\u3001\u305d\u308c\u3089\u3092\u6bd4\u8f03\u3057\u3066\u6700\u7d42\u7684\u306b\u3088\u308a\u4fe1\u983c\u6027\u306e\u9ad8\u3044\u56de\u7b54\u3092\u751f\u6210\u3057\u307e\u3059\u3002<\/li>\n<\/ul>\n<p dir=\"auto\">\u4e0a\u8a18\u306e\u57fa\u672c\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3001\u8981\u4ef6\u306b\u6e80\u305f\u305b\u306a\u3044\u5834\u5408\u306f\u3001\u8907\u96d1\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u7d44\u307f\u5408\u308f\u305b\u3066\u65b0\u898f\u30e2\u30b8\u30e5\u30fc\u30eb\u3082\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002\u307e\u305f\u3001\u8ffd\u52a0\u30ed\u30b8\u30c3\u30af\u306a\u3069\u304c\u5fc5\u8981\u3067\u3042\u308c\u3070<code>dspy.Module<\/code>\u3092\u7d99\u627f\u3059\u308b\u72ec\u81ea\u306e\u30af\u30e9\u30b9\u3092\u4f5c\u6210\u3057\u3001\u305d\u306eforward\u30e1\u30bd\u30c3\u30c9\u3067\u72ec\u81ea\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u5b9f\u65bd\u738b\u3057\u3001\u30ab\u30b9\u30bf\u30e0\u30ed\u30b8\u30c3\u30af\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><h3 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">3. \u30d7\u30ed\u30f3\u30d7\u30c8\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\uff08\u30c6\u30ec\u30d7\u30ed\u30f3\u30d7\u30c8\uff09<\/h3>\n<\/p>\n<p dir=\"auto\">\u3053\u3061\u3089\u306fDSPy\u306e\u76ee\u7389\u6a5f\u80fd\u306b\u306a\u308a\u307e\u3059\u3002\u30d7\u30ed\u30f3\u30d7\u30c8\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u306f\u3001\u6700\u9069\u5316\u3055\u308c\u3066\u3044\u306a\u3044DSPy\u30d7\u30ed\u30b0\u30e9\u30e0\u3001\u5c11\u6570\u306e\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u4f8b\u3001\u305d\u3057\u3066\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6307\u6a19\u3092\u53d7\u3051\u53d6\u308a\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u5185\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u307e\u305f\u306f\u30e2\u30c7\u30eb\u306e\u91cd\u307f\u3092\u81ea\u52d5\u7684\u306b\u6700\u9069\u5316\u3059\u308b\u6a5f\u80fd\u3067\u3059\u3002<\/p>\n<p dir=\"auto\">\u3053\u306e\u30d7\u30ed\u30bb\u30b9\u306f\u30b3\u30f3\u30d1\u30a4\u30eb\u3068\u547c\u3070\u308c\u307e\u3059\u3002\u958b\u767a\u8005\u306f\u9ad8\u30ec\u30d9\u30eb\u306e\u30ed\u30b8\u30c3\u30af\u3067\u5b9a\u7fa9\u3055\u308c\u305f\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u5b9f\u88c5\u3057\u3001LLM\u306e\u305f\u3081\u306e\u4f4e\u30ec\u30d9\u30eb\u3067\u9ad8\u5ea6\u306b\u7279\u5316\u3057\u305f\u4e00\u9023\u306e\u547d\u4ee4\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u3044\u308b\u306e\u3067\u3059\u3002\u5404\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u306e\u4ed5\u7d44\u307f\u306f\u7570\u306a\u308a\u307e\u3059\u304c\u3001\u6b21\u306e\u30d1\u30fc\u30c4\u3067\u3001\u4e00\u3064\u306e\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\uff08MIPRO-V2)\u306e\u4ed5\u7d44\u307f\u3092\u8a73\u7d30\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n<p dir=\"auto\">DSPy\u306e\u4e2d\u306b\u3001\u3044\u304f\u3064\u304b\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u304c\u7528\u610f\u3055\u308c\u3001\u4e00\u822c\u7684\u306b\u3088\u304f\u4f7f\u308f\u308c\u3066\u3044\u308b\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n<ul dir=\"auto\">\n<li>BootstrapFewShot: \u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30c7\u30fc\u30bf\u306e\u30b5\u30d6\u30bb\u30c3\u30c8\u3092\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u3057\u3066\u30d5\u30e5\u30fc\u30b7\u30e7\u30c3\u30c8\u4f8b\u3068\u3057\u3066\u4f7f\u7528\u3057\u3001\u305d\u308c\u3089\u3092\u8a55\u4fa1\u3057\u3066\u6700\u826f\u306e\u3082\u306e\u3092\u9078\u629e\u3057\u307e\u3059\u3002<\/li>\n<li>MIPRO\/MIPRO-V2 (Multi-prompt Instruction-driven Prompt Optimization): \u30d5\u30e5\u30fc\u30b7\u30e7\u30c3\u30c8\u4f8b\u3092\u751f\u6210\u3059\u308b\u3060\u3051\u3067\u306a\u304f\u3001\u8907\u6570\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u63d0\u6848\u3068\u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u3092\u7528\u3044\u3066\u30d7\u30ed\u30f3\u30d7\u30c8\u5185\u306e\u6307\u793a\u81ea\u4f53\u3082\u6539\u826f\u3059\u308b\u3001\u3088\u308a\u9ad8\u5ea6\u306a\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u3067\u3059\u3002<\/li>\n<\/ul>\n<p dir=\"auto\">\u3053\u306e3\u306e\u30b3\u30f3\u30dd\u30cd\u30f3\u30c8\uff08\u30b7\u30b0\u30cd\u30c1\u30e3\u3001\u30e2\u30b8\u30e5\u30fc\u30eb\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\uff09\u306e\u69cb\u6210\u3067\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u3084LLM\u306e\u30bf\u30b9\u30af\u5468\u308a\u3001\u3088\u308a\u660e\u78ba\u306b\u30b3\u30fc\u30c9\u5316\u3067\u304d\u307e\u3059\u3002\u30b7\u30b0\u30cd\u30c1\u30e3\u3067\u30bf\u30b9\u30af\u306e\u30ed\u30b8\u30c3\u30af\u3092\u5b9a\u7fa9\u3057\u3001\u5f37\u529b\u306a\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u4f7f\u3063\u3066\u305d\u306e\u30ed\u30b8\u30c3\u30af\u3092\u7d44\u307f\u7acb\u3066\u3001\u6700\u5f8c\u306b\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u3092\u4f7f\u3063\u3066\u3001\u7279\u5b9a\u306e\u30bf\u30b9\u30af\u3068LLM\u306b\u5bfe\u3057\u3066\u305d\u306e\u30ed\u30b8\u30c3\u30af\u306e\u53ef\u80fd\u306a\u9650\u308a\u6700\u9ad8\u306e\u5b9f\u88c5\u3092\u81ea\u52d5\u7684\u306b\u898b\u3064\u3051\u51fa\u3059\u306e\u3067\u3059\u3002<\/p>\n<p><h2 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">DSPy\u306e\u5fdc\u7528\u4f8b<\/h2>\n<\/p>\n<p dir=\"auto\">DSPy\u81ea\u4f53\u306f\u69d8\u3005\u306a\u5fdc\u7528\u4f8b\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u4eca\u56de\u7c21\u5358\u306b\u81ea\u52d5\u7684\u306b\u30d7\u30ed\u30f3\u30d7\u30c8\u6700\u9069\u5316\u3092\u7c21\u5358\u306b\u7d39\u4ecb\u3057\u307e\u3059<\/p>\n<p><h3 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">\u81ea\u52d5\u7684\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u30d5\u30a1\u30a4\u30f3\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0<\/h3>\n<\/p>\n<p dir=\"auto\">\u30bf\u30b9\u30af\u6982\u8981\uff1a \u975e\u69cb\u9020\u5316\u30c6\u30ad\u30b9\u30c8\u304b\u3089\u4eba\u306e\u540d\u524d\u3068\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u62bd\u51fa\u3067\u304d\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f5c\u6210\u3002\u30c6\u30ad\u30b9\u30c8\u306e\u4e2d\u304b\u3089\u3001\u8a72\u5f53\u9805\u76ee(\u540d\u524d\u304b\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9)\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u5834\u5408\u306f\u3001\u201dN\/A\u201d\u3092\u8fd4\u3059\u3002<\/p>\n<p dir=\"auto\">\u4eca\u56de\u3001\u4e0a\u8a18\u306e\u30bf\u30b9\u30af\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306b\u3001\u4ee5\u4e0b\u306e\u624b\u9806\u306e\u30b9\u30c6\u30c3\u30d7\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p><h4 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">1: \u30b7\u30b0\u30cd\u30c1\u30e3\u30fc\u3068\u8a55\u4fa1\u6307\u6a19\u306e\u5b9a\u7fa9<\/h4>\n<\/p>\n<p dir=\"auto\">\u30b7\u30b0\u30cd\u30c1\u30e3\u30fc\u306e\u5f62\u5f0f\u3067\u3001\u30bf\u30b9\u30af\u306e\u5185\u5bb9\u3068\u3001\u5165\u529b\u3068\u51fa\u529b\u9805\u76ee\u3092\u5b9a\u7fa9\u3057\u307e\u3059\u3002\u307e\u305f\u3001\u81ea\u52d5\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u306e\u305f\u3081\u306b\u3001\u8a55\u4fa1\u6307\u6a19\u3002\u4eca\u56de\u306e\u8a55\u4fa1\u6307\u6a19\u306fLLM\u3067\u51fa\u529b\u304c\u671f\u5f85\u3059\u308b\u9805\u76ee\u306e\u5185\u5bb9\u3068\u540c\u3058\u304b\u3069\u3046\u304b\uff08True\u304bFalse\uff09\u3060\u3051\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">import dspy&#13;\nimport os&#13;\n&#13;\nclass ExtractContactInfo(dspy.Signature):&#13;\n    \"\"\"Extract the person's first name, last name, and email from a given text. If the email of the person or the name of the person is not found, return 'N\/A'.\"\"\"&#13;\n    &#13;\n    text = dspy.InputField(desc=\"Unstructured text containing contact information.\")&#13;\n    first_name = dspy.OutputField(desc=\"The first name of the person.\")&#13;\n    last_name = dspy.OutputField(desc=\"The last name of the person.\")&#13;\n    email = dspy.OutputField(desc=\"The email address of the person.\")&#13;\n&#13;\ndef extraction_metric(gold, pred, trace=None):&#13;\n    \"\"\"Checks if all three fields are extracted correctly.\"\"\"&#13;\n    return (gold.first_name.lower() == pred.first_name.lower() and&#13;\n            gold.last_name.lower() == pred.last_name.lower() and&#13;\n            gold.email.lower() == pred.email.lower())<\/pre>\n<p><h4 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">2: \u5b66\u7fd2\u30c7\u30fc\u30bf\u3092\u7528\u610f\u3059\u308b<\/h4>\n<\/p>\n<p dir=\"auto\">\u30d7\u30ed\u30f3\u30d7\u30c8\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u3092\u5229\u7528\u3059\u308b\u3068\u304d\u306b\u3001\u9ad8\u54c1\u8cea\u306e\u30b5\u30f3\u30d7\u30eb\u30c7\u30fc\u30bf\u304c\u5fc5\u8981\u3067\u3059\u3002\u4eca\u56de\u306f\u7c21\u5358\u306a\u4f8b\u306a\u306e\u3067\u3001\u6570\u4ef6\u306e\u30c7\u30fc\u30bf\u3092\u7528\u610f\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">train_examples = [&#13;\n    dspy.Example(&#13;\n        text=\"You can reach Jane Doe at <a target=\"_blank\" href=\"https:\/\/recruit.gmo.jp\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"f399929d96dd97b3968b929e839f96dd909c9e\">[email\u00a0protected]<\/a> for further questions.\",&#13;\n        first_name=\"Jane\", last_name=\"Doe\", email=\"<a target=\"_blank\" href=\"https:\/\/recruit.gmo.jp\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"93f9f2fdf6bdf7d3f6ebf2fee3fff6bdf0fcfe\">[email\u00a0protected]<\/a>\"&#13;\n    ).with_inputs(\"text\"),&#13;\n    dspy.Example(&#13;\n        text=\"The main point of contact is John Smith (<a target=\"_blank\" href=\"https:\/\/recruit.gmo.jp\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"b5dfdadddb9bc6d8dcc1ddf5c2dac7dec5d9d4d6d09bdbd0c1\">[email\u00a0protected]<\/a>).\",&#13;\n        first_name=\"John\", last_name=\"Smith\", email=\"<a target=\"_blank\" href=\"https:\/\/recruit.gmo.jp\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"a8c2c7c0c686dbc5c1dcc0e8dfc7dac3d8c4c9cbcd86c6cddc\">[email\u00a0protected]<\/a>\"&#13;\n    ).with_inputs(\"text\"),&#13;\n    dspy.Example(&#13;\n        text=\"For support, email <a target=\"_blank\" href=\"https:\/\/recruit.gmo.jp\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"c9babcb9b9a6bbbd89bdacaaa1e7aaa6\">[email\u00a0protected]<\/a>. The ticket was assigned to Bob Johnson.\",&#13;\n        first_name=\"Bob\", last_name=\"Johnson\", email=\"<a target=\"_blank\" href=\"https:\/\/recruit.gmo.jp\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"dcafa9acacb3aea89ca8b9bfb4f2bfb3\">[email\u00a0protected]<\/a>\"&#13;\n    ).with_inputs(\"text\"),&#13;\n    dspy.Example(&#13;\n        text=\"Peter Parker github repository can be cloned from ssh:\/\/<a target=\"_blank\" href=\"https:\/\/recruit.gmo.jp\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"c7a0aeb387a0aeb3afb2a5e9a4a8aa\">[email\u00a0protected]<\/a>\/peterparker\/spiderman.git\",&#13;\n        first_name=\"Peter\", last_name=\"Parker\", email=\"N\/A\"&#13;\n    ).with_inputs(\"text\"),&#13;\n    dspy.Example(&#13;\n        text=\"If you have any questions, please contact the marketing department at <a target=\"_blank\" href=\"https:\/\/recruit.gmo.jp\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"9df0fceff6f8e9f4f3faddf9fcf4f1e4edf1fcf3f8e9b3fef2f0\">[email\u00a0protected]<\/a>\",&#13;\n        first_name=\"N\/A\", last_name=\"N\/A\", email=\"<a target=\"_blank\" href=\"https:\/\/recruit.gmo.jp\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"ef828e9d848a9b868188af8b8e8683969f838e818a9bc18c8082\">[email\u00a0protected]<\/a>\"&#13;\n    ).with_inputs(\"text\")  &#13;\n]<\/pre>\n<p><h4 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">3: \u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u306e\u8a2d\u5b9a\u3068\u5b9f\u884c<\/h4>\n<\/p>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">class ContactExtractor(dspy.Module):&#13;\n    def __init__(self):&#13;\n        super().__init__()&#13;\n        self.extractor = dspy.ChainOfThought(ExtractContactInfo)&#13;\n    &#13;\n    def forward(self, text):&#13;\n        return self.extractor(text=text)&#13;\n&#13;\n&#13;\ndef run_prompt_optimizer():&#13;\n    # teacher_llm is the powerful model that will be used to create the examples&#13;\n    teacher_llm = dspy.LM(model=\"openai\/gpt-5\", max_tokens=16000,temperature=1.0)&#13;\n    # student_llm is the cheaper model that will be used to run the final, optimized program&#13;\n    student_llm = dspy.LM(model=\"openai\/gpt-4o-mini\", max_tokens=1000)&#13;\n    # set the default LLM to our student model for validation and testing&#13;\n    dspy.configure(lm=student_llm)&#13;\n&#13;\n    # program_to_optimize is the program that will be optimized&#13;\n    student_program = ContactExtractor()&#13;\n&#13;\n    # optimizer is the optimizer that will be used to optimize the program&#13;\n    #optimizer = BootstrapFewShot(metric=extraction_metric, max_bootstrapped_demos=2)&#13;\n    optimizer=MIPROv2(metric=extraction_metric,prompt_model=teacher_llm,task_model=student_llm)&#13;\n&#13;\n    # compile the program with the teacher model&#13;\n    compiled_program = optimizer.compile(student_program, trainset=train_examples)&#13;\n&#13;\n&#13;\n&#13;\n    &#13;\n    test_text = \"The report was authored by Clark Kent. For questions, contact his supervisor at <a target=\"_blank\" href=\"https:\/\/recruit.gmo.jp\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"e192949184939788928e93a18580888d98918d808f8495cf828e8c\">[email\u00a0protected]<\/a>.\"&#13;\n    # test the optimized program with the teacher model&#13;\n    prediction = compiled_program(text=test_text)&#13;\n&#13;\n    print(f\"Extracted First Name: {prediction.first_name}\")&#13;\n    print(f\"Extracted Last Name: {prediction.last_name}\")&#13;\n    print(f\"Extracted Email: {prediction.email}\")&#13;\n&#13;\n    # Inspect the final, optimized prompt&#13;\n    compiled_program.inspect_history(n=1)&#13;\n&#13;\n    # test the raw program with the student model&#13;\n    raw_prediction = student_program(text=test_text)&#13;\n    print(f\"Raw Prediction - First Name: {raw_prediction.first_name}\")&#13;\n    print(f\"Raw Prediction - Last Name: {raw_prediction.last_name}\")&#13;\n    print(f\"Raw Prediction - Email: {raw_prediction.email}\")&#13;\n    &#13;\n    # inspect the raw prompt&#13;\n    student_program.inspect_history(n=1)&#13;\n<\/pre>\n<p dir=\"auto\">\u4e0a\u8a18\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001\u6700\u9069\u5316\u3055\u308c\u305f\u30d7\u30ed\u30f3\u30d7\u30c8\u3068\u5b9f\u969b\u306b\u5b9f\u884c\u3057\u305f\u7d50\u679c\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n<p dir=\"auto\">\u6700\u9069\u5316\u3055\u308c\u305f\u30d7\u30ed\u30f3\u30d7\u30c8<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Your input fields are:&#13;\n1. `text` (str): Unstructured text containing contact information.&#13;\nYour output fields are:&#13;\n1. `reasoning` (str): &#13;\n2. `first_name` (str): The first name of the person.&#13;\n3. `last_name` (str): The last name of the person.&#13;\n4. `email` (str): The email address of the person.&#13;\nAll interactions will be structured in the following way, with the appropriate values filled in.&#13;\n&#13;\n[[ ## text ## ]]&#13;\n{text}&#13;\n&#13;\n[[ ## reasoning ## ]]&#13;\n{reasoning}&#13;\n&#13;\n[[ ## first_name ## ]]&#13;\n{first_name}&#13;\n&#13;\n[[ ## last_name ## ]]&#13;\n{last_name}&#13;\n&#13;\n[[ ## email ## ]]&#13;\n{email}&#13;\n&#13;\n[[ ## completed ## ]]&#13;\nIn adhering to this structure, your objective is: &#13;\n        Your extraction feeds an automated incident-response and compliance system. A single mistake could notify the wrong person or miss a legal deadline, causing financial and privacy harm. Work meticulously and avoid guessing.&#13;\n        &#13;\n        Task: From the input Text, extract exactly one person\u2019s first name, last name, and one email address.&#13;\n        &#13;\n        Rules for names:&#13;\n        - Preserve capitalization exactly as written in the text.&#13;\n        - Ignore honorifics\/titles and role words (e.g., Mr., Ms., Dr., Prof., CEO).&#13;\n        - Do not invent names from the email handle; only use an explicit name present in the text.&#13;\n        - First Name = the given name (the first name token after any honorific).&#13;\n        - Last Name = the surname. Exclude suffixes (Jr., Sr., III). If particles are present (e.g., de, del, de la, da, dos, van, von, bin, al), include them with the surname when they appear as part of the name. Ignore middle names\/initials for output.&#13;\n        &#13;\n        Rules for email:&#13;\n        - Extract a valid email if present.&#13;\n        - Normalize by trimming surrounding whitespace, removing any leading \u201cmailto:\u201d and stripping surrounding quotes\/brackets\/parentheses and any trailing sentence punctuation (e.g., .,;:!?) immediately following the email.&#13;\n        - Do not modify internal characters of the email (do not change case, add, or remove characters inside the address).&#13;\n        &#13;\n        Multiple candidates:&#13;\n        - If multiple names\/emails appear, select the single person-email pair most clearly associated in the sentence. If unclear, choose the first valid-looking pair in reading order.&#13;\n        - If a name or an email is not explicitly present, return N\/A for that field (e.g., N\/A for both first and last name if only an email appears).&#13;\n        &#13;\n        Output format (exactly these four lines, in this order, with these exact prefixes):&#13;\n        - Reasoning: Let\u2019s think step by step in order to [briefly explain how you identified the name and email].&#13;\n        - First Name: <value or=\"\" n=\"\">&#13;\n        - Last Name: <value or=\"\" n=\"\">&#13;\n        - Email: <value or=\"\" n=\"\">&#13;\n        &#13;\n        Do not output anything else.&#13;\n&#13;\n&#13;\nUser message:&#13;\n&#13;\n[[ ## text ## ]]&#13;\nThe report was authored by Clark Kent. For questions, contact his supervisor at <a target=\"_blank\" href=\"https:\/\/recruit.gmo.jp\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"7d0e080d180f0b140e120f3d191c1411040d111c131809531e1210\">[email\u00a0protected]<\/a>.&#13;\n&#13;\nRespond with the corresponding output fields, starting with the field `[[ ## reasoning ## ]]`, then `[[ ## first_name ## ]]`, then `[[ ## last_name ## ]]`, then `[[ ## email ## ]]`, and then ending with the marker for `[[ ## completed ## ]]`.&#13;\n&#13;\n&#13;\nResponse:&#13;\n&#13;\n[[ ## reasoning ## ]]&#13;\nLet\u2019s think step by step in order to identify the name and email. The text mentions \"Clark Kent\" as the author, which gives us the first and last name. The email address provided is \"<a target=\"_blank\" href=\"https:\/\/recruit.gmo.jp\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"a7d4d2d7c2d5d1ced4c8d5e7c3c6cecbded7cbc6c9c2d389c4c8ca\">[email\u00a0protected]<\/a>\", which is clearly associated with the context of the report. Therefore, I will extract \"Clark\" as the first name, \"Kent\" as the last name, and \"<a target=\"_blank\" href=\"https:\/\/recruit.gmo.jp\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"5d2e282d382f2b342e322f1d393c3431242d313c333829733e3230\">[email\u00a0protected]<\/a>\" as the email address.&#13;\n&#13;\n[[ ## first_name ## ]]&#13;\nClark&#13;\n&#13;\n[[ ## last_name ## ]]&#13;\nKent&#13;\n&#13;\n[[ ## email ## ]]&#13;\n<a target=\"_blank\" href=\"https:\/\/recruit.gmo.jp\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"0d7e787d687f7b647e627f4d696c6461747d616c636879236e6260\">[email\u00a0protected]<\/a>&#13;\n&#13;\n[[ ## completed ## ]]<\/value><\/value><\/value><\/pre>\n<\/div>\n<p dir=\"auto\">\u4e0a\u8a18\u306e\u7d50\u679c\u306f\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u81ea\u4f53\u304c\u7d50\u69cb\u5909\u308f\u3063\u3066\u3001\u6700\u7d42\u7684\u306b\u3001\u69d8\u3005\u306e\u30eb\u30fc\u30eb\u3084\u6761\u4ef6\u3082\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002\u307e\u305f\u3001\u5b9f\u969b\u306e\u7d50\u679c\u3082\u671f\u5f85\u901a\u308a\u306e\u7d50\u679c\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002 \u5165\u529b\u81ea\u4f53\u304c\u5c11\u3057\u3044\u66d6\u6627\u306b\u3057\u3001\u4eba\u7269\u306e\u540d\u524d\u3068\u3001\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306f\u30de\u30c3\u30c1\u3057\u306a\u3044\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002\u307e\u305f\u3001\u6587\u7ae0\u81ea\u4f53\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3082\u30ec\u30dd\u30fc\u30c8\u3068\u3057\u3066\u3061\u3083\u3093\u3068\u8a8d\u8b58\u3057\u3001\u30ec\u30dd\u30fc\u30c8\u306b\u5bfe\u3059\u308b\u554f\u3044\u5408\u308f\u305b\u5148\u306f\u304d\u3061\u3093\u3068\u628a\u63e1\u3057\u3001\u9069\u5207\u306a\u30b3\u30f3\u30bf\u30af\u30c8\u3092\u62bd\u51fa\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002 \u3053\u3061\u3089\u306e\u30b1\u30fc\u30b9\u306f\u3001\u5b9f\u969b\u306e\u73fe\u5834\u306b\u3082\u3088\u304f\u3042\u308b\u30b1\u30fc\u30b9\u3067\u3001\u554f\u3044\u5408\u308f\u305b\u5148\u306f\u500b\u4eba\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3067\u306f\u306a\u304f\u3001\u5225\u306e\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u4f7f\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<p dir=\"auto\">\u4e00\u65b9\u3001\u6700\u9069\u5316\u3055\u308c\u306a\u3044\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u7d50\u679c\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">System message:&#13;\n&#13;\nYour input fields are:&#13;\n1. `text` (str): Unstructured text containing contact information.&#13;\nYour output fields are:&#13;\n1. `reasoning` (str): &#13;\n2. `first_name` (str): The first name of the person.&#13;\n3. `last_name` (str): The last name of the person.&#13;\n4. `email` (str): The email address of the person.&#13;\nAll interactions will be structured in the following way, with the appropriate values filled in.&#13;\n&#13;\n[[ ## text ## ]]&#13;\n{text}&#13;\n&#13;\n[[ ## reasoning ## ]]&#13;\n{reasoning}&#13;\n&#13;\n[[ ## first_name ## ]]&#13;\n{first_name}&#13;\n&#13;\n[[ ## last_name ## ]]&#13;\n{last_name}&#13;\n&#13;\n[[ ## email ## ]]&#13;\n{email}&#13;\n&#13;\n[[ ## completed ## ]]&#13;\nIn adhering to this structure, your objective is: &#13;\n        Extract the person's first name, last name, and email from a given text. If the email of the person or the name of the person is not found, return 'N\/A'.&#13;\n&#13;\n&#13;\nUser message:&#13;\n&#13;\n[[ ## text ## ]]&#13;\nThe report was authored by Clark Kent. For questions, contact his supervisor at <a target=\"_blank\" href=\"https:\/\/recruit.gmo.jp\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"ef9c9a9f8a9d99869c809daf8b8e8683969f838e818a9bc18c8082\">[email\u00a0protected]<\/a>.&#13;\n&#13;\nRespond with the corresponding output fields, starting with the field `[[ ## reasoning ## ]]`, then `[[ ## first_name ## ]]`, then `[[ ## last_name ## ]]`, then `[[ ## email ## ]]`, and then ending with the marker for `[[ ## completed ## ]]`.&#13;\n&#13;\n&#13;\nResponse:&#13;\n&#13;\n[[ ## reasoning ## ]]&#13;\nThe text contains the name \"Clark Kent\" which can be split into the first name \"Clark\" and the last name \"Kent\". Additionally, the email address provided is \"<a target=\"_blank\" href=\"https:\/\/recruit.gmo.jp\/cdn-cgi\/l\/email-protection\" class=\"__cf_email__\" data-cfemail=\"6c1f191c091e1a051f031e2c080d0500151c000d020918420f0301\">[email\u00a0protected]<\/a>\", but it does not belong to Clark Kent. Since the task requires the extraction of the person's email, and Clark's email is not provided, I will return 'N\/A' for the email field.&#13;\n&#13;\n[[ ## first_name ## ]]&#13;\nClark&#13;\n&#13;\n[[ ## last_name ## ]]&#13;\nKent&#13;\n&#13;\n[[ ## email ## ]]&#13;\nN\/A&#13;\n&#13;\n[[ ## completed ## ]]<\/pre>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\">\n<p dir=\"auto\">\u4e0a\u8a18\u306e\u6700\u9069\u5316\u3055\u308c\u306a\u3044\u30d7\u30ed\u30f3\u30d7\u30c8\u306f\u305f\u3060\u306e\u57fa\u672c\u7684\u306a\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u3088\u3046\u306a\u30d7\u30ed\u30f3\u30d7\u30c8\u3067\u3001\u66d6\u6627\u306a\u30b1\u30fc\u30b9\u304c\u3046\u307e\u304f\u5bfe\u5fdc\u3067\u304d\u306a\u3044\u3002\u3082\u3061\u308d\u3093\u3001\u30b7\u30b0\u30cd\u30c1\u30e3\u30fc\u3067\u3001\u3088\u308a\u5185\u5bb9\u3092\u4fee\u6b63\u3057\u3001\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u3059\u308b\u81ea\u4f53\u306f\u3067\u304d\u307e\u3059\u304c\u3001\u305d\u308c\u3088\u308a\u3001\u30a8\u30c3\u30b8\u30b1\u30fc\u30b9\u306e\u30b5\u30f3\u30d7\u30eb\u81ea\u4f53\u3092\u8ffd\u52a0\u3057\u3001\u81ea\u52d5\u7684\u306b\u30d7\u30ed\u30f3\u30d7\u30c8\u6700\u9069\u5316\u3092\u56de\u3057\u305f\u307b\u3046\u304c\u697d\u3060\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p dir=\"auto\">\u4eca\u56de\u4f7f\u7528\u3059\u308bMIPROV2\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u6700\u9069\u5316\u306f\u3001\u5b9f\u969b\u306b\u3069\u306e\u3088\u3046\u306b\u4ed5\u7d44\u307f\u306b\u306a\u3063\u3066\u3044\u308b\u304b\u7c21\u5358\u306b\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n<\/div>\n<p><h3 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">a. Few-Shots\u306e\u30c7\u30fc\u30bf\u3092\u4f5c\u6210<\/h3>\n<\/p>\n<p dir=\"auto\">\u4e0e\u3048\u3089\u308c\u305f\u30b5\u30f3\u30d7\u30eb\u30c7\u30fc\u30bf\u304b\u3089\u3001Bootstrap\u306e\u624b\u6cd5\u3067\u3001\u3044\u304f\u3064\u304bFew-Shots\u306e\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3092\u4f5c\u6210\u3002 Few-Shots\u306e\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u306f\u4ee5\u4e0b\u306e\u30d1\u30fc\u30c4\u306b\u69cb\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<ul dir=\"auto\">\n<li>Prompt\u3067\u8a18\u8f09\u3059\u308bFew-Shots\u306e\u30c7\u30fc\u30bf\u4f8b<\/li>\n<li>LLM\u306b\u56de\u7b54\u6c42\u3081\u308b\u8a55\u4fa1\u30c7\u30fc\u30bf(Validation data)<\/li>\n<\/ul>\n<p><h3 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">b. Few-Shots\u306e\u30c7\u30fc\u30bf\u3084\u30b5\u30f3\u30d7\u30eb\u30c7\u30fc\u30bf\u304b\u3089\u3001\u9069\u5207\u306a\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u5019\u88dc\u3092\u751f\u6210<\/h3>\n<\/p>\n<p dir=\"auto\">\u4e0e\u3048\u3089\u308c\u305f\u30b5\u30f3\u30d7\u30eb\u3068\u4f5c\u6210\u3057\u305fFew-Shot\u306e\u30c7\u30fc\u30bf\u304b\u3089\u3001\u3069\u3093\u306a\u30d7\u30ed\u30f3\u30d7\u30c8\u304c\u9069\u5207\u5316\u3001LLM\u306b\u751f\u6210\u3055\u305b\u308b\u3002\u4e00\u822c\u7684\u306b\u3001\u3053\u3061\u3089\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u5019\u88dc\u3092\u751f\u6210\u3059\u308b\u306e\u306f\u3001\u9ad8\u6027\u80fd\u306e\u30e2\u30c7\u30eb\u304c\u3088\u304f\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\u3002\u4eca\u56de\u306e\u4f8b\u306fGPT-\uff15\u3092\u5229\u7528\u3057\u3001\u751f\u6210\u3057\u305f\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u5019\u88dc\u306f\u30bf\u30b9\u30af\u7528\u306eLLM\uff08\u30b3\u30b9\u30c8\u9762\u3067\u5b89\u3044\u30e2\u30c7\u30eb\uff09\u306b\u4e0e\u3048\u308b\u60f3\u5b9a\u3067\u3059\u3002<\/p>\n<p dir=\"auto\">\u5b9f\u969b\u306b\u3001\u4eca\u56de\u751f\u6210\u3055\u308c\u305f\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u5019\u88dc\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n<p dir=\"auto\">\u5019\u88dc\uff11<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Extract the person's first name, last name, and email from a given text. If the email of the person or the name of the person is not found, return 'N\/A'.<\/pre>\n<p dir=\"auto\">\u5019\u88dc2<\/p>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">You are given a single sentence of unstructured text that mentions exactly one person and an email address. Extract that person\u2019s First Name, Last Name, and Email, returning a short reasoning trace and the three fields. Follow these rules strictly:&#13;\n&#13;\nOutput format&#13;\n- Return exactly four lines, using these exact prefixes:&#13;\n  - Reasoning: Let's think step by step in order to <your concise=\"\" reasoning=\"\" here=\"\">&#13;\n  - First Name: <value or=\"\" n=\"\">&#13;\n  - Last Name: <value or=\"\" n=\"\">&#13;\n  - Email: <value or=\"\" n=\"\">&#13;\n- Do not include any extra lines, labels, bullets, or commentary. Do not add quotes around values.&#13;\n&#13;\nName extraction&#13;\n- Identify the human person\u2019s name explicitly written in the text. Ignore titles and suffixes (e.g., Mr., Ms., Dr., Prof., Jr., Sr., III) and any enclosing punctuation near the name.&#13;\n- Preserve capitalization and diacritics exactly as written in the text. Trim surrounding punctuation and whitespace; keep internal characters like hyphens and apostrophes (e.g., O\u2019Neil, Smith-Jones).&#13;\n- If the name appears as \u201cLast, First\u201d, reorder into First Name and Last Name accordingly.&#13;\n- If middle names or initials are present, include only the first given name as First Name and exclude middle names\/initials from both fields.&#13;\n- If only one part of the name is present, fill the present part and set the missing part to N\/A.&#13;\n- Do not infer a name from the email handle; use only names explicitly present in the text.&#13;\n- When multiple names are mentioned, choose the single person clearly associated with the email; if association is ambiguous, set the name fields to N\/A.&#13;\n&#13;\nEmail extraction and normalization&#13;\n- Extract one valid email address. Prefer the one adjacent to or clearly associated with the extracted person; if unclear, choose the first valid email address in the text.&#13;\n- Normalize by removing surrounding quotes or brackets and stripping any trailing punctuation or closing delimiters that are not part of the address (e.g., .,;:!?) and ), ], &gt;. Also remove a leading \u201cmailto:\u201d if present.&#13;\n- Do not modify the internal content of the email beyond this normalization (no lowercasing or rewriting). Do not invent or correct domains.&#13;\n&#13;\nMissing data policy&#13;\n- If any value (first name, last name, or email) is not present in the text, output exactly N\/A (uppercase) for that field. Never guess or fabricate.&#13;\n&#13;\nScope&#13;\n- Extract only the person\u2019s name and email. Ignore organizations, roles, phone numbers, URLs, and other data.&#13;\n- Ensure values have no leading\/trailing spaces.<\/value><\/value><\/value><\/your><\/pre>\n<p>\u5019\u88dc3<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">Your extraction feeds an automated incident-response and compliance system. A single mistake could notify the wrong person or miss a legal deadline, causing financial and privacy harm. Work meticulously and avoid guessing.&#13;\n&#13;\nTask: From the input Text, extract exactly one person\u2019s first name, last name, and one email address.&#13;\n&#13;\nRules for names:&#13;\n- Preserve capitalization exactly as written in the text.&#13;\n- Ignore honorifics\/titles and role words (e.g., Mr., Ms., Dr., Prof., CEO).&#13;\n- Do not invent names from the email handle; only use an explicit name present in the text.&#13;\n- First Name = the given name (the first name token after any honorific).&#13;\n- Last Name = the surname. Exclude suffixes (Jr., Sr., III). If particles are present (e.g., de, del, de la, da, dos, van, von, bin, al), include them with the surname when they appear as part of the name. Ignore middle names\/initials for output.&#13;\n&#13;\nRules for email:&#13;\n- Extract a valid email if present.&#13;\n- Normalize by trimming surrounding whitespace, removing any leading \u201cmailto:\u201d and stripping surrounding quotes\/brackets\/parentheses and any trailing sentence punctuation (e.g., .,;:!?) immediately following the email.&#13;\n- Do not modify internal characters of the email (do not change case, add, or remove characters inside the address).&#13;\n&#13;\nMultiple candidates:&#13;\n- If multiple names\/emails appear, select the single person-email pair most clearly associated in the sentence. If unclear, choose the first valid-looking pair in reading order.&#13;\n- If a name or an email is not explicitly present, return N\/A for that field (e.g., N\/A for both first and last name if only an email appears).&#13;\n&#13;\nOutput format (exactly these four lines, in this order, with these exact prefixes):&#13;\n- Reasoning: Let\u2019s think step by step in order to [briefly explain how you identified the name and email].&#13;\n- First Name: <value or=\"\" n=\"\">&#13;\n- Last Name: <value or=\"\" n=\"\">&#13;\n- Email: <value or=\"\" n=\"\">&#13;\n&#13;\nDo not output anything else.<\/value><\/value><\/value><\/pre>\n<\/div>\n<p><h3 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">c. \u6700\u9069\u5316\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u9078\u5b9a<\/h3>\n<\/p>\n<p dir=\"auto\">\u30d7\u30ed\u30f3\u30d7\u30c8\u5019\u88dc\u304b\u3089\u3001\u3069\u308c\u304c\u4e00\u756a\u826f\u3044\u306e\u304b\u3001\u5404\u5019\u88dc\u3068(a)\u3067\u4f5c\u6210\u3057\u305f\u3044\u304f\u3064\u304b\u306eFew-Shots\u306e\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u306b\u5bfe\u3057\u3066\u3001\u6570\u56de\u8a55\u4fa1\u3092\u884c\u3044\u307e\u3059\u3002 \u5177\u4f53\u7684\u306b\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u3068Few-Shots\u306e\u30c7\u30fc\u30bf\u3092\u5229\u7528\u3057\u3001LLM\u306b\u6d41\u3057\u3066\u3001\u305d\u3057\u3066\u3001LLM\u304b\u3089\u51fa\u305f\u7d50\u679c\u306f\u8a55\u4fa1\u30c7\u30fc\u30bf\u306e\u6b63\u89e3\u306e\u56de\u7b54\u3092\u6bd4\u8f03\u3057\u307e\u3059\u3002 \u8a55\u4fa1\u6307\u6a19\u306f\u3001\u4e0a\u8a18\u3067\u5b9a\u7fa9\u3057\u305f\u8a55\u4fa1\u6307\u6a19(<code>extraction_metric<\/code>\u95a2\u6570)\u3067\u3059\u3002\u3053\u306e\u30d7\u30ed\u30bb\u30b9\u3067\u3001\u4e00\u756a\u826f\u3044\u6210\u7e3e\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u304c\u9078\u3070\u308c\u307e\u3059\u3002<\/p>\n<p dir=\"auto\">\u4eca\u56de\u306f\u30d7\u30ed\u30f3\u30d7\u30c8\u5019\u88dc\uff13\u304c\u9078\u3070\u308c\u307e\u3057\u305f<\/p>\n<p><h2 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">\u307e\u3068\u3081<\/h2>\n<\/p>\n<p dir=\"auto\">\u672c\u8a18\u4e8b\u3067\u306f\u3001DSPy\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3092\u901a\u3058\u3066\u3001\u5f93\u6765\u306e\u624b\u52d5\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304b\u3089\u81ea\u52d5\u5316\u3055\u308c\u305f\u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3078\u306e\u79fb\u884c\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3057\u305f\u3002 \u5f93\u6765\u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u306e\u4ed5\u7d44\u307f\u306b\u6bd4\u3079\u3066\u3001\u306f\u308b\u304b\u306b\u69cb\u9020\u5316\u3055\u308c\u305f\u30a2\u30d7\u30ed\u30fc\u30c1\u306b\u306a\u308a\u3001\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3068\u3044\u3046\u30d1\u30e9\u30c0\u30a4\u30e0\u306b\u79fb\u884c\u3059\u308b\u3053\u3068\u3067\u3001\u958b\u767a\u8005\u306b\u3068\u3063\u3066\u3082\u5b9f\u73fe\u3057\u3084\u3059\u304f\u3001\u30b3\u30b9\u30c8\u524a\u6e1b\u306b\u7e4b\u304c\u3063\u3066\u3044\u307e\u3059\u3002\u307e\u305f\u3001API\u30ec\u30d9\u30eb\u3067\u3082\u5145\u5b9f\u3055\u308c\u3066\u304a\u308a\u3001\u4ed6\u306e\u30b7\u30b9\u30c6\u30e0\u3068\u3064\u306a\u3052\u308b\u3053\u3068\u3082\u697d\u306b\u306a\u308b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p dir=\"auto\">DSPy\u307e\u305f\u306f\u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306f\u3001LLM\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u306b\u304a\u3051\u308b\u65b0\u3057\u3044\u30d1\u30e9\u30c0\u30a4\u30e0\u3092\u63d0\u793a\u3057\u3066\u304a\u308a\u3001LLM\u306e\u9032\u5316\u306b\u4f34\u3044\u3001AI\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u54c1\u8cea\u30fb\u67d4\u8edf\u6027\u306e\u5411\u4e0a\u306f\u91cd\u8981\u30a2\u30d7\u30ed\u30fc\u30c1\u3060\u3068\u601d\u308f\u308c\u307e\u3059\u3002<\/p>\n<h2 dir=\"auto\">\u53c2\u8003\u8cc7\u6599<\/h2>\n<p><a target=\"_blank\" href=\"https:\/\/www.twosigma.com\/articles\/a-guide-to-large-language-model-abstractions\/\">https:\/\/www.twosigma.com\/articles\/a-guide-to-large-language-model-abstractions\/<\/a><\/p>\n<p><a target=\"_blank\" href=\"https:\/\/dspy.ai\/\">https:\/\/dspy.ai\/<\/a><\/p>\n<p><a target=\"_blank\" href=\"https:\/\/huggingface.co\/blog\/dleemiller\/auto-prompt-opt-dspy-cross-encoders\">https:\/\/huggingface.co\/blog\/dleemiller\/auto-prompt-opt-dspy-cross-encoders<\/a><\/p>\n<p>\u00a0<\/p>\n<h2 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\">\u6700\u5f8c\u306b<\/h2>\n<p>\u30b0\u30eb\u30fc\u30d7\u7814\u7a76\u958b\u767a\u672c\u90e8 AI\u7814\u7a76\u958b\u767a\u5ba4\u3067\u306f\u3001\u30c7\u30fc\u30bf\u30b5\u30a4\u30a8\u30f3\u30c6\u30a3\u30b9\u30c8\/\u6a5f\u68b0\u5b66\u7fd2\u30a8\u30f3\u30b8\u30cb\u30a2\u3092\u52df\u96c6\u3057\u3066\u3044\u307e\u3059\u3002\u30d3\u30c3\u30b0\u30c7\u30fc\u30bf\u306e\u89e3\u6790\u696d\u52d9\u306a\u3069AI\u7814\u7a76\u958b\u767a\u5ba4\u306b\u3054\u8208\u5473\u3092\u6301\u3063\u3066\u9802\u3051\u308b\u65b9\u304c\u3044\u3089\u3063\u3057\u3083\u3044\u307e\u3057\u305f\u3089\u3001\u305c\u3072\u00a0<a target=\"_blank\" href=\"http:\/\/recruit.gmo.jp\/engineer\/jisedai\/entry\/\" target=\"_blank\" rel=\"noopener noreferrer\">\u52df\u96c6\u8077\u7a2e\u4e00\u89a7<\/a>\u00a0\u304b\u3089\u3054\u5fdc\u52df\u3092\u304a\u9858\u3044\u3057\u307e\u3059\u3002\u7686\u3055\u3093\u306e\u3054\u5fdc\u52df\u3092\u304a\u5f85\u3061\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<\/p><\/div>\n\n<br \/><a href=\"https:\/\/recruit.gmo.jp\/engineer\/jisedai\/blog\/from_prompt_tuning_to_prompt_programming\/\">\u5143\u306e\u8a18\u4e8b\u3092\u78ba\u8a8d\u3059\u308b <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\u3053\u3093\u306b\u3061\u306f\u3001\u30b0\u30eb\u30fc\u30d7\u7814\u7a76\u958b\u767a\u672c\u90e8\u30fbAI\u7814\u7a76\u958b\u767a\u5ba4\u306eA.Z\u3067\u3059 LLM\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u3059\u308b\u3068\u304d\u306b\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u5468\u308a\u306e\u751f\u6210\u3084\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u306f\u7d50\u69cb\u5927\u5909\u3001\u30e2\u30c7\u30eb\u5909\u66f4\u3059\u308b\u3068\u307e\u305f\u30d7\u30ed\u30f3\u30d7\u30c8\u518d\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304c\u5fc5\u8981\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u5fae\u8abf\u6574\u3067 [&hellip;]","protected":false},"author":1,"featured_media":7755,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-7754","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-company-tec"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>DSPy\u3092\u7528\u3044\u3066\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304b\u3089\u8131\u51fa\u3057\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3078 - GMO\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30b0\u30eb\u30fc\u30d7 \u30b0\u30eb\u30fc\u30d7\u7814\u7a76\u958b\u767a\u672c\u90e8 - \u30dd\u30b1\u30b3\u30f3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/recruit.gmo.jp\/engineer\/jisedai\/blog\/from_prompt_tuning_to_prompt_programming\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DSPy\u3092\u7528\u3044\u3066\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304b\u3089\u8131\u51fa\u3057\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3078 - GMO\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30b0\u30eb\u30fc\u30d7 \u30b0\u30eb\u30fc\u30d7\u7814\u7a76\u958b\u767a\u672c\u90e8 - \u30dd\u30b1\u30b3\u30f3\" \/>\n<meta property=\"og:description\" content=\"\u3053\u3093\u306b\u3061\u306f\u3001\u30b0\u30eb\u30fc\u30d7\u7814\u7a76\u958b\u767a\u672c\u90e8\u30fbAI\u7814\u7a76\u958b\u767a\u5ba4\u306eA.Z\u3067\u3059 LLM\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u3059\u308b\u3068\u304d\u306b\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u5468\u308a\u306e\u751f\u6210\u3084\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u306f\u7d50\u69cb\u5927\u5909\u3001\u30e2\u30c7\u30eb\u5909\u66f4\u3059\u308b\u3068\u307e\u305f\u30d7\u30ed\u30f3\u30d7\u30c8\u518d\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304c\u5fc5\u8981\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u5fae\u8abf\u6574\u3067 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/recruit.gmo.jp\/engineer\/jisedai\/blog\/from_prompt_tuning_to_prompt_programming\/\" \/>\n<meta property=\"og:site_name\" content=\"\u30dd\u30b1\u30b3\u30f3\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-01T19:49:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/dspy_prompt_programming-150x150.png\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"info@pokecon.jp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"info@pokecon.jp\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"12\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/recruit.gmo.jp\\\/engineer\\\/jisedai\\\/blog\\\/from_prompt_tuning_to_prompt_programming\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/7754\\\/\"},\"author\":{\"name\":\"info@pokecon.jp\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\"},\"headline\":\"DSPy\u3092\u7528\u3044\u3066\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304b\u3089\u8131\u51fa\u3057\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3078 &#8211; GMO\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30b0\u30eb\u30fc\u30d7 \u30b0\u30eb\u30fc\u30d7\u7814\u7a76\u958b\u767a\u672c\u90e8\",\"datePublished\":\"2025-10-01T19:49:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/7754\\\/\"},\"wordCount\":162,\"image\":{\"@id\":\"https:\\\/\\\/recruit.gmo.jp\\\/engineer\\\/jisedai\\\/blog\\\/from_prompt_tuning_to_prompt_programming\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/dspy_prompt_programming-150x150.png\",\"articleSection\":[\"\u4f01\u696d\u30c6\u30c3\u30af\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/7754\\\/\",\"url\":\"https:\\\/\\\/recruit.gmo.jp\\\/engineer\\\/jisedai\\\/blog\\\/from_prompt_tuning_to_prompt_programming\\\/\",\"name\":\"DSPy\u3092\u7528\u3044\u3066\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304b\u3089\u8131\u51fa\u3057\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3078 - GMO\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30b0\u30eb\u30fc\u30d7 \u30b0\u30eb\u30fc\u30d7\u7814\u7a76\u958b\u767a\u672c\u90e8 - \u30dd\u30b1\u30b3\u30f3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/recruit.gmo.jp\\\/engineer\\\/jisedai\\\/blog\\\/from_prompt_tuning_to_prompt_programming\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/recruit.gmo.jp\\\/engineer\\\/jisedai\\\/blog\\\/from_prompt_tuning_to_prompt_programming\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/dspy_prompt_programming-150x150.png\",\"datePublished\":\"2025-10-01T19:49:26+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/recruit.gmo.jp\\\/engineer\\\/jisedai\\\/blog\\\/from_prompt_tuning_to_prompt_programming\\\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/recruit.gmo.jp\\\/engineer\\\/jisedai\\\/blog\\\/from_prompt_tuning_to_prompt_programming\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/recruit.gmo.jp\\\/engineer\\\/jisedai\\\/blog\\\/from_prompt_tuning_to_prompt_programming\\\/#primaryimage\",\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/dspy_prompt_programming-150x150.png\",\"contentUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/dspy_prompt_programming-150x150.png\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/recruit.gmo.jp\\\/engineer\\\/jisedai\\\/blog\\\/from_prompt_tuning_to_prompt_programming\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u30db\u30fc\u30e0\",\"item\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DSPy\u3092\u7528\u3044\u3066\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304b\u3089\u8131\u51fa\u3057\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3078 &#8211; GMO\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30b0\u30eb\u30fc\u30d7 \u30b0\u30eb\u30fc\u30d7\u7814\u7a76\u958b\u767a\u672c\u90e8\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#website\",\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/\",\"name\":\"\u30dd\u30b1\u30b3\u30f3\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\",\"name\":\"info@pokecon.jp\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"caption\":\"info@pokecon.jp\"},\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/author\\\/infopokecon-jp\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DSPy\u3092\u7528\u3044\u3066\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304b\u3089\u8131\u51fa\u3057\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3078 - GMO\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30b0\u30eb\u30fc\u30d7 \u30b0\u30eb\u30fc\u30d7\u7814\u7a76\u958b\u767a\u672c\u90e8 - \u30dd\u30b1\u30b3\u30f3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/recruit.gmo.jp\/engineer\/jisedai\/blog\/from_prompt_tuning_to_prompt_programming\/","og_locale":"ja_JP","og_type":"article","og_title":"DSPy\u3092\u7528\u3044\u3066\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304b\u3089\u8131\u51fa\u3057\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3078 - GMO\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30b0\u30eb\u30fc\u30d7 \u30b0\u30eb\u30fc\u30d7\u7814\u7a76\u958b\u767a\u672c\u90e8 - \u30dd\u30b1\u30b3\u30f3","og_description":"\u3053\u3093\u306b\u3061\u306f\u3001\u30b0\u30eb\u30fc\u30d7\u7814\u7a76\u958b\u767a\u672c\u90e8\u30fbAI\u7814\u7a76\u958b\u767a\u5ba4\u306eA.Z\u3067\u3059 LLM\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u3059\u308b\u3068\u304d\u306b\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u5468\u308a\u306e\u751f\u6210\u3084\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u306f\u7d50\u69cb\u5927\u5909\u3001\u30e2\u30c7\u30eb\u5909\u66f4\u3059\u308b\u3068\u307e\u305f\u30d7\u30ed\u30f3\u30d7\u30c8\u518d\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304c\u5fc5\u8981\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u306e\u5fae\u8abf\u6574\u3067 [&hellip;]","og_url":"https:\/\/recruit.gmo.jp\/engineer\/jisedai\/blog\/from_prompt_tuning_to_prompt_programming\/","og_site_name":"\u30dd\u30b1\u30b3\u30f3","article_published_time":"2025-10-01T19:49:26+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/dspy_prompt_programming-150x150.png","type":"image\/png"}],"author":"info@pokecon.jp","twitter_card":"summary_large_image","twitter_misc":{"\u57f7\u7b46\u8005":"info@pokecon.jp","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"12\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/recruit.gmo.jp\/engineer\/jisedai\/blog\/from_prompt_tuning_to_prompt_programming\/#article","isPartOf":{"@id":"https:\/\/pokecon.jp\/job\/7754\/"},"author":{"name":"info@pokecon.jp","@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997"},"headline":"DSPy\u3092\u7528\u3044\u3066\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304b\u3089\u8131\u51fa\u3057\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3078 &#8211; GMO\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30b0\u30eb\u30fc\u30d7 \u30b0\u30eb\u30fc\u30d7\u7814\u7a76\u958b\u767a\u672c\u90e8","datePublished":"2025-10-01T19:49:26+00:00","mainEntityOfPage":{"@id":"https:\/\/pokecon.jp\/job\/7754\/"},"wordCount":162,"image":{"@id":"https:\/\/recruit.gmo.jp\/engineer\/jisedai\/blog\/from_prompt_tuning_to_prompt_programming\/#primaryimage"},"thumbnailUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/dspy_prompt_programming-150x150.png","articleSection":["\u4f01\u696d\u30c6\u30c3\u30af"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/pokecon.jp\/job\/7754\/","url":"https:\/\/recruit.gmo.jp\/engineer\/jisedai\/blog\/from_prompt_tuning_to_prompt_programming\/","name":"DSPy\u3092\u7528\u3044\u3066\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304b\u3089\u8131\u51fa\u3057\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3078 - GMO\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30b0\u30eb\u30fc\u30d7 \u30b0\u30eb\u30fc\u30d7\u7814\u7a76\u958b\u767a\u672c\u90e8 - \u30dd\u30b1\u30b3\u30f3","isPartOf":{"@id":"https:\/\/pokecon.jp\/job\/#website"},"primaryImageOfPage":{"@id":"https:\/\/recruit.gmo.jp\/engineer\/jisedai\/blog\/from_prompt_tuning_to_prompt_programming\/#primaryimage"},"image":{"@id":"https:\/\/recruit.gmo.jp\/engineer\/jisedai\/blog\/from_prompt_tuning_to_prompt_programming\/#primaryimage"},"thumbnailUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/dspy_prompt_programming-150x150.png","datePublished":"2025-10-01T19:49:26+00:00","author":{"@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997"},"breadcrumb":{"@id":"https:\/\/recruit.gmo.jp\/engineer\/jisedai\/blog\/from_prompt_tuning_to_prompt_programming\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/recruit.gmo.jp\/engineer\/jisedai\/blog\/from_prompt_tuning_to_prompt_programming\/"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/recruit.gmo.jp\/engineer\/jisedai\/blog\/from_prompt_tuning_to_prompt_programming\/#primaryimage","url":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/dspy_prompt_programming-150x150.png","contentUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/10\/dspy_prompt_programming-150x150.png","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/recruit.gmo.jp\/engineer\/jisedai\/blog\/from_prompt_tuning_to_prompt_programming\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u30db\u30fc\u30e0","item":"https:\/\/pokecon.jp\/job\/"},{"@type":"ListItem","position":2,"name":"DSPy\u3092\u7528\u3044\u3066\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304b\u3089\u8131\u51fa\u3057\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3078 &#8211; GMO\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30b0\u30eb\u30fc\u30d7 \u30b0\u30eb\u30fc\u30d7\u7814\u7a76\u958b\u767a\u672c\u90e8"}]},{"@type":"WebSite","@id":"https:\/\/pokecon.jp\/job\/#website","url":"https:\/\/pokecon.jp\/job\/","name":"\u30dd\u30b1\u30b3\u30f3","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pokecon.jp\/job\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997","name":"info@pokecon.jp","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","caption":"info@pokecon.jp"},"url":"https:\/\/pokecon.jp\/job\/author\/infopokecon-jp\/"}]}},"_links":{"self":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/7754","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/comments?post=7754"}],"version-history":[{"count":1,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/7754\/revisions"}],"predecessor-version":[{"id":7756,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/7754\/revisions\/7756"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/media\/7755"}],"wp:attachment":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/media?parent=7754"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/categories?post=7754"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/tags?post=7754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}