ã¯ã˜ã‚㫠〜記事執ç†ã®ãã£ã‹ã‘〜
先日ã€ä»¥ä¸‹ã®è¨˜äº‹ã«ã¤ã„ã¦ã®ãƒ„イートãŒæµã‚Œã¦ãã¾ã—ãŸã€‚
ã“ã®è¨˜äº‹ã®å†…容ã«ã¤ã„ã¦ã¯ã€ChatGPTã‚’ã¯ã˜ã‚ã¨ã™ã‚‹AIã«ã‚ˆã‚‹ãƒ†ã‚¹ãƒˆã®å¯èƒ½æ€§ã‚’示ã—ãŸç´ 晴らã—ã„内容ã ã¨æ€ã„ã¾ã™ã€‚
ã§ã™ãŒã€æžœãŸã—ã¦"今時点(元記事ã®åŸ·ç†æ™‚点)ã®"出力çµæžœ*1ãŒå®Ÿç”¨ã«è€ãˆã†ã‚‹ã‚‚ã®ã«ãªã£ã¦ã„ã‚‹ã®ã‹æ¤œè¨Žã—ã€æ示ã™ã‚‹å¿…è¦ã‚‚ã‚ã‚‹ã¨æ„Ÿã˜ã¾ã—ãŸ*2。
ãã“ã§æœ¬è¨˜äº‹ã§ã¯ã€ãƒ†ã‚¹ãƒˆã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ã§ã‚ã‚‹ç§ã®å›žç”例ã¨"今時点ã®"AIã®å‡ºåŠ›çµæžœã‚’比較ã—ギャップを示ã™ã“ã¨ã‚’目的ã¨ã—ã¾ã™*3。
決ã—ã¦ã€AIã«ã‚ˆã‚‹ãƒ†ã‚¹ãƒˆè‡ªå‹•ç”Ÿæˆã®é€²åŒ–自体をå¦å®šã—ã¦ã„る訳ã§ã¯ãªã„ã“ã¨ã‚’念é ã«ãŠèªã¿ã„ãŸã ã‘ã‚Œã°ã¨æ€ã„ã¾ã™ã€‚
çµè«–
本記事ã§ã¯ã€"今時点ã®"AIã®å‡ºåŠ›çµæžœã«å¯¾ã—ã¦ã€ä»¥ä¸‹ã®çµè«–ã‚’å°Žã出ã—ã¦ã„ã¾ã™ã€‚
- 状態é·ç§»å›³ã®ãƒ†ã‚¹ãƒˆè¨è¨ˆã®é¡Œæã§ã¯ã€æ ¹å¹¹ã¨ãªã‚‹æ©Ÿèƒ½ã«é–¢ã™ã‚‹ä¸å…·åˆãŒå«ã¾ã‚Œã¦ã„ãŸ
- デシジョンテーブルã®ãƒ†ã‚¹ãƒˆè¨è¨ˆã®é¡Œæã§ã¯ã€ãƒ‡ã‚·ã‚¸ãƒ§ãƒ³ãƒ†ãƒ¼ãƒ–ルを表ç¾ã§ãã¦ã„ãªã„よã†ã«è¦‹ãˆã‚‹
- 境界値分æžã®ãƒ†ã‚¹ãƒˆè¨è¨ˆã®é¡Œæã§ã¯ã€ã‚³ãƒ¼ãƒ‰ã®ä¿å®ˆæ€§ãŒã‚ã¾ã‚Šè‰¯ããªã„よã†ã«è¦‹ãˆã‚‹
- 今時点ã®AIãŒä½œæˆã§ãã¦ã„ã‚‹ã®ã¯ãƒ†ã‚¹ãƒˆæ´»å‹•ã®ä¸€éƒ¨ã§ã‚ã‚‹
目次
- ã¯ã˜ã‚㫠〜記事執ç†ã®ãã£ã‹ã‘〜
- çµè«–
- 目次
- 比較対象
- 「3.1 ストップウォッãƒã®å‹•ä½œã€ã®æ¯”較çµæžœ
- 「2.1 1æ¯ç›®ã®ãƒ“ールã®ä¾¡æ ¼ã€ã®æ¯”較çµæžœ
- 「1.1 温度ã«ã‚ˆã£ã¦è¡¨ç¤ºã‚’変ãˆã‚‹ãƒšãƒƒãƒˆç”¨å®¤æ¸©ç³»ã€ã®æ¯”較çµæžœ
- ã•ã„ã”ã«ã€œAIãŒä½œæˆã‚’æ‹…ã£ã¦ã„る範囲〜
比較対象
比較ã¯å…ƒè¨˜äº‹ã«æ›¸ã‹ã‚Œã¦ã„る以下ã®3ã¤ã®ä»•æ§˜ã«å¯¾ã™ã‚‹æˆæžœç‰©ã‚’é¡Œæã¨ã—ã¾ã™ã€‚ã“れらã¯å…¨ã¦ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ãƒ†ã‚¹ãƒˆæŠ€æ³•ç·´ç¿’帳ã«æŽ²è¼‰ã•ã‚Œã¦ã„ã¾ã™ã€‚本記事内ã§ã®æŽ²è¼‰é †ã¯ã€ç‰¹ã«é‡è¦ãªèª²é¡ŒãŒã‚ã£ãŸé †ã¨ãªã‚Šã¾ã™ã€‚
- 3.1 ストップウォッãƒã®å‹•ä½œ
- 2.1 1æ¯ç›®ã®ãƒ“ールã®ä¾¡æ ¼
- 1.1 温度ã«ã‚ˆã£ã¦è¡¨ç¤ºã‚’変ãˆã‚‹ãƒšãƒƒãƒˆç”¨å®¤æ¸©ç³»
使用ã™ã‚‹å‡ºåŠ›çµæžœ
AIã®å‡ºåŠ›çµæžœã¯ã€å…ƒè¨˜äº‹ã®å‡ºåŠ›çµæžœã‚’ãã®ã¾ã¾å¼•ç”¨ã—ã¾ã™ã€‚
比較ã™ã‚‹å‡ºåŠ›çµæžœã¯ã€ç§ãŒå•é¡Œã‚’èªã‚“ã§æ›¸ã„ãŸæˆæžœç‰©ã§ã™*4。
「3.1 ストップウォッãƒã®å‹•ä½œã€ã®æ¯”較çµæžœ
AIã®å‡ºåŠ›çµæžœ
AIã®å‡ºåŠ›çµæžœã¯ä»¥ä¸‹ã§ã™ã€‚
ç§ã®æˆæžœç‰©
ç§ãŒæ›¸ã„ãŸçŠ¶æ…‹é·ç§»å›³ã¯ä»¥ä¸‹ã§ã™ã€‚
ã¾ãŸã€ç§ã¯çŠ¶æ…‹é·ç§»å›³ã ã‘ã§ãªã状態é·ç§»è¡¨ã¨ãƒ†ã‚¹ãƒˆã‚±ãƒ¼ã‚¹ã‚‚作æˆã—ã¾ã—ãŸ*5。
検証çµæžœ
AIãŒçŠ¶æ…‹é·ç§»å›³ã¨ã¨ã‚‚ã«å‡ºåŠ›ã—ãŸå®Ÿè£…物(元記事ã«è¨˜è¼‰ã‚り)ã«å¯¾ã—ã¦ã€ç§ãŒä½œæˆã—ãŸãƒ†ã‚¹ãƒˆã‚±ãƒ¼ã‚¹ã‚’実施ã—ãŸã¨ã“ã‚ã€1件ã®ä¸å…·åˆã‚’発見ã—ã¾ã—ãŸã€‚
ä¸å…·åˆå†…容ã¯ã€Œä¸€æ™‚åœæ¢ä¸ã«ã‚¹ã‚¿ãƒ¼ãƒˆãƒœã‚¿ãƒ³ã‚’押下ã™ã‚‹ã¨ã€çµŒéŽæ™‚é–“ã®ç¶šãã‹ã‚‰ã‚«ã‚¦ãƒ³ãƒˆã‚¢ãƒƒãƒ—ã™ã‚‹ã®ã§ã¯ãªãã€0:00ã‹ã‚‰ã‚«ã‚¦ãƒ³ãƒˆã‚¢ãƒƒãƒ—ã—ã¦ã—ã¾ã†ã€ã¨ã„ã†ã‚‚ã®ã§ã™ã€‚
ã“ã‚Œã¯ã‚¹ãƒˆãƒƒãƒ—ウォッãƒã®æ ¹å¹¹ã¨ãªã‚‹éƒ¨åˆ†ã®æ©Ÿèƒ½ã‚’æãªã£ã¦ã„ã‚‹ã¨ã„ãˆã‚‹ã§ã—ょã†ã€‚
ãªãœã“ã®ã‚ˆã†ãªæ¬ 陥ãŒåŸ‹ã‚è¾¼ã¾ã‚Œã¦ã—ã¾ã£ãŸã®ã‹è€ƒå¯Ÿã—ãŸã„ã®ã§ã™ãŒã€æœ¬æ–‡ä¸ã«æ›¸ãã¨è¨˜äº‹ãŒé•·ããªã£ã¦ã—ã¾ã†ã®ã§æ³¨é‡ˆã«è¨˜è¼‰ã—ã¾ã™*6。
「2.1 1æ¯ç›®ã®ãƒ“ールã®ä¾¡æ ¼ã€ã®æ¯”較çµæžœ
AIã®å‡ºåŠ›çµæžœ
AIã®å‡ºåŠ›çµæžœã¯ä»¥ä¸‹ã§ã™ã€‚
ç§ã®æˆæžœç‰©
ç§ãŒæ›¸ã„ãŸãƒ‡ã‚·ã‚¸ãƒ§ãƒ³ãƒ†ãƒ¼ãƒ–ルã¯ä»¥ä¸‹ã§ã™ã€‚
検証çµæžœ
元記事ã§ã¯ã€ã€Œè¦‹ãŸç›®ã«ã¯ã‚ã‹ã‚Šã‚„ã™ã„ã®ã§ã™ãŒã€å°‘々ç†è§£ã—ã«ãã„æ§‹é€ ã§ã‚ã‚‹ã“ã¨ãŒé›£ç‚¹ã§ã™ã€‚ã€ã¨æ›¸ã„ã¦ã„ã¾ã™ã€‚ã§ã™ãŒå€‹äººçš„ã«ã¯ãƒ‡ã‚·ã‚¸ãƒ§ãƒ³ãƒ†ãƒ¼ãƒ–ルã®ç›®çš„ã‚’æžœãŸã™å½¢å¼ã§ã®è¨˜è¿°ã«ãªã£ã¦ã„ãªã„よã†ã«è¦‹ãˆã¾ã™ã€‚
デシジョンテーブル(決定表)ã¯ã€ä»¥ä¸‹ã®ã‚ˆã†ã«å®šç¾©ã•ã‚Œã¦ã„ã¾ã™ã€‚
å•é¡Œã®è¨˜è¿°ã«ãŠã„ã¦èµ·ã“ã‚Šå¾—ã‚‹ã™ã¹ã¦ã®æ¡ä»¶ã¨ï¼Œãã‚Œã«å¯¾ã—ã¦å®Ÿè¡Œã™ã¹ã動作ã¨ã‚’組ã¿åˆã‚ã›ãŸè¡¨ã€‚(JIS X 0125:1986 より)
ã¾ãŸã€å‹•ä½œéƒ¨ï¼ˆã‚¢ã‚¯ã‚·ãƒ§ãƒ³ï¼‰ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«å®šç¾©ã•ã‚Œã¦ã„ã¾ã™ã€‚表記方法ã§ã¯ãªãã€å‹•ä½œéƒ¨ã§ã¯ã©ã‚“ãªæ„味をæŒãŸã™è¡¨è¨˜ã‚’目指ã—ã¦ã„ã‚‹ã®ã‹ã«æ³¨ç›®ã—ã¦å¼•ç”¨ç®‡æ‰€ã‚’見ã¦ãã ã•ã„。
アクション:
• X:アクションãŒç™ºç”Ÿã™ã‚‹ã“ã¨ã‚’æ„味ã™ã‚‹ï¼ˆYã€Tã€ã¾ãŸã¯ 1 ã¨ã‚‚記述ã™ã‚‹ï¼‰ã€‚
• 空白:アクションãŒç™ºç”Ÿã—ãªã„ã“ã¨ã‚’æ„味ã™ã‚‹ï¼ˆ-ã€Nã€Fã€ã¾ãŸã¯ 0 ã¨ã‚‚記述ã™ã‚‹ï¼‰ã€‚
(ISTQBãƒ†ã‚¹ãƒˆæŠ€è¡“è€…è³‡æ ¼åˆ¶åº¦Foundation Level シラãƒã‚¹ 日本語版 Version 2018V3.1.J03 より)
ã¤ã¾ã‚Šã€ãƒ‡ã‚·ã‚¸ãƒ§ãƒ³ãƒ†ãƒ¼ãƒ–ルã¯æ¡ä»¶éƒ¨ã¨å‹•ä½œéƒ¨ã«åˆ†ã‹ã‚Œã€å‹•ä½œéƒ¨ã§ã¯ã©ã®å‹•ä½œãŒè¡Œã‚れるã‹è¡¨ç¾ã™ã‚‹ã“ã¨ãŒç›®çš„ã¨ã„ãˆã¾ã™ã€‚
ã—ã‹ã—ã€AIã®å‡ºåŠ›çµæžœã¯ã€Œä½•ãŒæ¡ä»¶éƒ¨ã§ä½•ãŒå‹•ä½œéƒ¨ãªã®ã‹åˆ†ã‹ã‚‰ãªã„ã€ã€Œã©ã®å‹•ä½œã‚’è¡Œã†ã®ã‹è¡¨ç¾ã™ã‚‹ã¨ã„ã†ç›®çš„ãŒé”æˆã§ãã¦ã„ãªã„ã€ã‚ˆã†ã«è¦‹ãˆã¾ã™ã€‚
ã‚‚ã—ã‚‚ã€AIã®å‡ºåŠ›çµæžœã®å½¢å¼ã§ã€ãƒ‡ã‚·ã‚¸ãƒ§ãƒ³ãƒ†ãƒ¼ãƒ–ルã®ç›®çš„ã«æ²¿ã†ã‚ˆã†ã«è¡¨ç¾ã™ã‚‹ã¨ã—ãŸã‚‰ã€ä»¥ä¸‹ã®ã‚ˆã†ãªå½¢ã‚’æ案ã—ã¾ã™*7。
「1.1 温度ã«ã‚ˆã£ã¦è¡¨ç¤ºã‚’変ãˆã‚‹ãƒšãƒƒãƒˆç”¨å®¤æ¸©ç³»ã€ã®æ¯”較çµæžœ
AIã®å‡ºåŠ›çµæžœ
AIã®å‡ºåŠ›çµæžœã¯ä»¥ä¸‹ã§ã™ã€‚(元記事より抜粋)
describe("室温計ã®ãƒ—ãƒã‚°ãƒ©ãƒ ", () => { test("室温ãŒ24.0℃未満ã®å ´åˆã€ã€Œå¯’ã„ã€ã¨è¡¨ç¤ºã•ã‚Œã‚‹", () => { expect(getTemperatureMessage(23.9)).toBe("寒ã„"); }); test("室温ãŒ24.0℃ã®å ´åˆã€ã€Œå¿«é©ã€ã¨è¡¨ç¤ºã•ã‚Œã‚‹", () => { expect(getTemperatureMessage(24.0)).toBe("å¿«é©"); }); test("室温ãŒ24.1℃ã®å ´åˆã€ã€Œå¿«é©ã€ã¨è¡¨ç¤ºã•ã‚Œã‚‹", () => { expect(getTemperatureMessage(24.1)).toBe("å¿«é©"); }); test("室温ãŒ25.9℃ã®å ´åˆã€ã€Œå¿«é©ã€ã¨è¡¨ç¤ºã•ã‚Œã‚‹", () => { expect(getTemperatureMessage(25.9)).toBe("å¿«é©"); }); test("室温ãŒ26.0℃ã®å ´åˆã€ã€Œæš‘ã„ã€ã¨è¡¨ç¤ºã•ã‚Œã‚‹", () => { expect(getTemperatureMessage(26.0)).toBe("æš‘ã„"); }); test("室温ãŒ26.1℃ã®å ´åˆã€ã€Œæš‘ã„ã€ã¨è¡¨ç¤ºã•ã‚Œã‚‹", () => { expect(getTemperatureMessage(26.1)).toBe("æš‘ã„"); }); });
ç§ã®æˆæžœç‰©
ç§ãŒæ›¸ã„ãŸãƒ†ã‚¹ãƒˆã‚³ãƒ¼ãƒ‰ã¯ä»¥ä¸‹ã§ã™ã€‚
describe("室温計ã®ãƒ—ãƒã‚°ãƒ©ãƒ ", () => { describe("室温ãŒ24.0℃未満ã®å ´åˆã€ã€Œå¯’ã„ã€ã¨è¡¨ç¤ºã•ã‚Œã‚‹", () => { it("室温ãŒ23.9℃ã®å ´åˆã€ã€Œå¯’ã„ã€ã¨è¡¨ç¤ºã•ã‚Œã‚‹", () => { expect(getTemperatureMessage(23.9)).toBe("寒ã„"); }); }); describe("室温ãŒ24.0℃以上26.0℃未満ã®å ´åˆã€ã€Œå¿«é©ã€ã¨è¡¨ç¤ºã•ã‚Œã‚‹", () => { it("室温ãŒ24.0℃ã®å ´åˆã€ã€Œå¿«é©ã€ã¨è¡¨ç¤ºã•ã‚Œã‚‹", () => { expect(getTemperatureMessage(24.0)).toBe("å¿«é©"); }); it("室温ãŒ25.9℃ã®å ´åˆã€ã€Œå¿«é©ã€ã¨è¡¨ç¤ºã•ã‚Œã‚‹", () => { expect(getTemperatureMessage(25.9)).toBe("å¿«é©"); }); }); describe("室温ãŒ26.0℃以上ã®å ´åˆã€ã€Œæš‘ã„ã€ã¨è¡¨ç¤ºã•ã‚Œã‚‹", () => { it("室温ãŒ26.0℃ã®å ´åˆã€ã€Œæš‘ã„ã€ã¨è¡¨ç¤ºã•ã‚Œã‚‹", () => { expect(getTemperatureMessage(26.0)).toBe("æš‘ã„"); }); }); });
検証çµæžœ
AIã®ä½œæˆç‰©ã¨ç§ã®æˆæžœç‰©ã‚’比ã¹ã‚‹ã¨ã€ä»¥ä¸‹ã®2点ãŒç•°ãªã‚Šã¾ã™ã€‚
- 境界値分æžã®é¸æŠžãŒ2値ã‹3値ã‹
- 「未満ã€ã€Œä»¥ä¸Šã€ã®è¡¨è¨˜ãŒã‚ã‚‹ã‹ã©ã†ã‹ï¼ˆæŒ¯ã‚‹èˆžã„を表ç¾ã—ã¦ã„ã‚‹ã‹ã€å˜ã«ã‚³ãƒ¼ãƒ‰ã‚’表ç¾ã—ã¦ã„ã‚‹ã‹ï¼‰
ãã‚Œãžã‚Œã«ã¤ã„ã¦è©³ã—ãã¯æ³¨é‡ˆã§èª¬æ˜Žã‚’記載ã—ã¾ã™*8*9。
実際ã®å‹•ä½œã¨ã—ã¦ã¯ã©ã¡ã‚‰ã‚‚æ£ã—ãå‹•ãã¾ã™ãŒã€ãƒ†ã‚¹ãƒˆã‚³ãƒ¼ãƒ‰ã®ä¿å®ˆæ€§ã¨ã„ã†ç‚¹ã§ã¯ã€AI作æˆã‚ˆã‚Šã‚‚ç§ãŒä½œæˆã—ãŸã‚‚ã®ã®æ–¹ãŒè‰¯ã„ã‹ã¨æ€ã„ã¾ã™*10*11。
ã•ã„ã”ã«ã€œAIãŒä½œæˆã‚’æ‹…ã£ã¦ã„る範囲〜
ã“ã“ã¾ã§ã€"今時点ã§ã®AIã®"出力çµæžœã«å¯¾ã—ã¦ã€ã•ã¾ã–ã¾ãªæ°—ã«ãªã‚‹ç‚¹ã‚’æ示ã—ã¾ã—ãŸã€‚ã—ã‹ã—ã€ã“ã‚Œã¯ã‚ãã¾ã§ã‚‚"今時点ã®"出力çµæžœã§ã™ã€‚è¿‘ã„å°†æ¥ã€ã“ã®ã‚ˆã†ãªéƒ¨åˆ†ã¯æ”¹å–„ã•ã‚Œã¦ã„ãã“ã¨ã§ã—ょã†ã€‚
ãŸã ã—ã€ãƒ†ã‚¹ãƒˆã§è€ƒãˆã‚‹ã¨ã“ã‚ã¯ä»Šå›žè°è«–ã—ã¦ã„るよã†ãªéƒ¨åˆ†ã ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
例ãˆã°ã€JSTQBã§ã¯ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ãƒ†ã‚¹ãƒˆãƒ—ãƒã‚»ã‚¹ã‚’示ã—ã¦ã„ã¾ã™ã€‚
ã“ã®ã†ã¡ã€ä»Šå›žè¡Œã£ã¦ã„ãŸã®ã¯ä¸»ã«ã€Œãƒ†ã‚¹ãƒˆè¨è¨ˆã€ã€Œãƒ†ã‚¹ãƒˆå®Ÿè£…ã€ã®éƒ¨åˆ†ã§ã™ã€‚
「テスト分æžã€ã¯ã©ã†ãªã£ã¦ã„ãŸã‹ã¨ã„ã†ã¨ã€å®Ÿã¯AIã¸ã®æŒ‡ç¤ºå‘½ä»¤ã®æ–‡ç« 内(書ç±ã«æ›¸ã„ã¦ã‚ã‚‹å•é¡Œæ–‡å†…)ã«å…¥ã£ã¦ã„ã¾ã—ãŸã€‚例ãˆã°ã€ã€Œ2.1 1æ¯ç›®ã®ãƒ“ールã®ä¾¡æ ¼ã€ã®å•é¡Œæ–‡ã®æœ€å¾Œã«ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«æ›¸ã„ã¦ã‚ã‚Šã¾ã™ã€‚
1æ¯ç›®ã®ãƒ“ールã®ä¾¡æ ¼ã‚’表ã™ãƒ‡ã‚·ã‚¸ãƒ§ãƒ³ãƒ†ãƒ¼ãƒ–ルを作æˆã—ã¦ãã ã•ã„。
ã“ã‚Œã¯ã€ä»¥ä¸‹ã®æŒ‡å®šã‚’ã—ã¦ã„ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
- 1æ¯ç›®ã®ãƒ“ールã®ä¾¡æ ¼ã«é–¢ã™ã‚‹ãƒ†ã‚¹ãƒˆã‚’è¡Œã‚ãªãã¦ã¯ã„ã‘ãªã„
- 2æ¯ç›®ä»¥é™ã®ãƒ“ールã®ä¾¡æ ¼ã«é–¢ã™ã‚‹ãƒ†ã‚¹ãƒˆã¯è¡Œã‚ãªãã¦è‰¯ã„
- ãƒãƒƒãƒ”ーアワーã®æ™‚間帯ã«é–¢ã™ã‚‹ãƒ†ã‚¹ãƒˆã¯è¡Œã‚ãªãã¦è‰¯ã„
- クーãƒãƒ³ã®åŒæ™‚使用枚数ã«é–¢ã™ã‚‹ãƒ†ã‚¹ãƒˆã¯è¡Œã‚ãªãã¦è‰¯ã„
- ビールã®æ³¨ãŒã‚Œã‚‹é‡ã«é–¢ã™ã‚‹ãƒ†ã‚¹ãƒˆã¯è¡Œã‚ãªãã¦è‰¯ã„
- デシジョンテーブルを使用ã—ãªãã¦ã¯ã„ã‘ãªã„
- 状態é·ç§»ãƒ†ã‚¹ãƒˆã‚’è¡Œã‚ãªãã¦è‰¯ã„
- 境界値分æžã‚’è¡Œã‚ãªãã¦è‰¯ã„
幾多ã‚る確èªã—ãŸã„ã“ã¨ã«å¯¾ã—ã¦ã€Œ1æ¯ç›®ã®ãƒ“ールã®ä¾¡æ ¼ã€ã¨ã„ã†ç¢ºèªé …目を指定ã—ã€å¹¾å¤šã‚るテストè¨è¨ˆæŠ€æ³•ã®ã†ã¡ã€Œãƒ‡ã‚·ã‚¸ãƒ§ãƒ³ãƒ†ãƒ¼ãƒ–ルã€ã‚’指定ã—ã¦ã„ã¾ã™ã€‚
ã“ã®ã€Œä½•ã‚’確èªã™ã‚‹ã‹ã€ã€Œãã®ãŸã‚ã«ã©ã‚“ãªãƒ†ã‚¹ãƒˆè¨è¨ˆæŠ€æ³•ã‚’用ã„ã‚Œã°è‰¯ã„ã‹ã€ã¨ã„ã£ãŸéƒ¨åˆ†ã¯ã€ã¾ã ã¾ã AIã«è€ƒãˆã•ã›ã‚‹ã®ãŒé›£ã—ã„分野ã‹ãªã¨æ€ã£ã¦ã„ã¾ã™ã€‚
ã¾ãŸã€ãƒ‡ã‚·ã‚¸ãƒ§ãƒ³ãƒ†ãƒ¼ãƒ–ルã®ä¾‹ã‚„ã€å¢ƒç•Œå€¤åˆ†æžã«ãŠã‘る振る舞ã„ã®è¡¨ç¾ã®ã‚ˆã†ã«ã€ã€Œç‰©äº‹ã‚’俯瞰的ã«è¦‹ã¦è¡¨ç¾ã™ã‚‹ã€ã€Œãƒã‚¤ãƒ¬ãƒ™ãƒ«ãƒ†ã‚¹ãƒˆã‚±ãƒ¼ã‚¹ã§è¡¨ç¾ã™ã‚‹ã€ã¨ã„ã£ãŸéƒ¨åˆ†ã¯ã¾ã 苦手ãªã®ã‹ãªã¨æ„Ÿã˜ã¾ã—ãŸã€‚
ãªã®ã§ãƒ†ã‚¹ãƒˆã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ä»¥å¤–ã®æ–¹ï¼ˆé–‹ç™ºè€…ãªã©ï¼‰ã¯ã€å…ƒè¨˜äº‹ã‚’èªã‚“ã§ã€Œãã‚Œã˜ã‚ƒã‚ã€ã‚‚ã†ãƒ†ã‚¹ãƒˆã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ã¯å¿…è¦ãªã„ãã€ã¨æ€ã‚ãªã„æ–¹ãŒè‰¯ã„ã‹ã¨æ€ã„ã¾ã™ã€‚
ã¾ãŸãƒ†ã‚¹ãƒˆã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ã®æ–¹ã¯ã€ãã†æ€ã‚ã‚Œãªã„よã†ã«ã€Œæ™®æ®µã€è‡ªåˆ†ã¯ã©ã‚“ãªã“ã¨ã‚’ã‚„ã£ã¦ã„ã‚‹ã®ã‹ã€ã¨ã„ã†è©±ã‚’今ã¾ã§ä»¥ä¸Šã«ãã¡ã‚“ã¨èª¬æ˜Žã™ã¹ããªã®ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
ãã—ã¦ä½•åº¦ã‚‚ç¹°ã‚Šè¿”ã—è¿°ã¹ã¾ã™ãŒã€ä»Šå›žã®è¨˜äº‹ã¯"今時点ã®"AIã®å‡ºåŠ›çµæžœã«å¯¾ã—ã¦ã®è¨˜äº‹ã§ã™ã€‚今時点ã®è©•ä¾¡ã‚’ã—ã¤ã¤ã€ä»Šå¾Œã®AIã®ãƒ†ã‚¹ãƒˆä½œæˆã®é€²åŒ–ã‚’å¿œæ´ã—ã¦ã„ã¾ã™ï¼
*1:ã‚ãã¾ã§ã‚‚今時点ã§ã®è©±ã§ã™ã€‚本記事ã¯ã€å°†æ¥ã®AIã®é€²åŒ–ã¾ã§å¦å®šã—ãŸã„ã¨ã„ã†æ„図ã¯ã‚ã‚Šã¾ã›ã‚“。
*2:将棋ã®ä¸–ç•Œã§ã¯ä¼¼ãŸã‚ˆã†ãªã“ã¨ãŒèµ·ãã¾ã—ãŸã€‚Bonanzaメソッドã«ã‚ˆã£ã¦ç”»æœŸçš„ã«AIã®å®ŸåŠ›ãŒå¼·ããªã£ãŸå½“åˆã€ã€Œã“ã‚Œã£ã¦äººé–“を超ãˆãŸã®ã§ã¯ï¼Ÿã€ã¨è¨€ã‚れるよã†ã«ãªã‚Šã¾ã—ãŸã€‚ãã‚Œã«å¯¾ã—ã¦ã€å°†æ£‹é€£ç›Ÿã¯ã€Œé›»çŽ‹æˆ¦ã€ã¨ã„ã†ä¸€èˆ¬äººã«ã‚‚分ã‹ã‚Šã‚„ã™ã„å½¢ã§ãƒ—ãƒæ£‹å£«ã¨AIã¨ã®ç¾åœ¨åœ°ã‚’示ã—ã¾ã—ãŸã€‚ã•ã‚‰ã«æ°¸ç€¬å…段(当時)ã¯ã€è‡ªåˆ†è‡ªèº«ãŒæ˜Žã‚‰ã‹ã«å„ªå‹¢ãªæ®µéšŽã§ã€AIå´ã®ä¸å…·åˆã‚’指摘ã—ã¾ã—ãŸï¼ˆè§’ä¸æˆã®ä»¶ï¼‰ã€‚ã“ã‚Œã¨åŒã˜ã‚ˆã†ãªè©±ã‚’ã™ã‚‹å¿…è¦ãŒä»Šå›žã®ä»¶ã‚‚ã‚ã‚‹ã‚“ã˜ã‚ƒãªã„ã ã‚ã†ã‹ã€ã¨ã„ã†ã®ãŒæœ¬è¨˜äº‹åŸ·ç†ã®ãƒ¢ãƒãƒ™ãƒ¼ã‚·ãƒ§ãƒ³ã®è©³ç´°ã§ã™
*3:今回ã®è¨˜äº‹ã«å¯¾ã™ã‚‹ãƒ„ッコミã«äºˆã‚回ç”ã—ã¦ãŠãã¾ã™ã€‚
ã€ãƒ„ッコミ1】ãã†ã‚„ã£ã¦ãƒ†ã‚¹ãƒˆã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ã¨ã—ã¦ã®è‡ªå°Šå¿ƒã‚’ä¿ã¡ãŸã„ã ã‘ã ã‚→é•ã„ã¾ã™ã€‚ã‚€ã—ã‚ã€ä»Šå›žæ¤œè¨Žã—ãŸçµæžœã§ã•ãˆã™ãã«AIã¯ä¹—り越ãˆã¦ãã‚‹ã®ã§ã¯ï¼Ÿã¨ã•ãˆæ€ã£ã¦ã„ã¾ã™ã—ã€ãã†ãªã‚‹ã“ã¨ã‚’期待ã—ã¦ã„ã¾ã™ã€‚
ã€ãƒ„ッコミ2】「ã ã‹ã‚‰AIã¯ä½¿ãˆãªã„ã€ã¨è¨€ã„ãµã‚‰ã—ãŸã„ã‚“ã ã‚→é•ã„ã¾ã™ã€‚ã‚ãã¾ã§ã‚‚今時点ã®AIã®å‡ºåŠ›çµæžœã‚’比較ã™ã‚‹ã“ã¨ã‚’目的ã¨ã—ã¦ã„ã¾ã™ã€‚AIã«ã‚ˆã‚‹è‡ªå‹•ç”Ÿæˆã‚’å¿œæ´ã™ã‚‹æ°—æŒã¡ã¨ã€ä»Šæ™‚点ã®AIã®ä½œæˆç‰©ã‚’評価ã™ã‚‹è¡Œå‹•ã¯ä¸¡ç«‹ã™ã‚‹ã¨æ€ã£ã¦ã¾ã™ã€‚「ã‚ã‚ã€ã‚‚ã†ä»Šæ™‚点ã§ãƒ†ã‚¹ãƒˆã¯AIã«ä»»ã›ã‚Œã°å…¨ã¦OKã ãã€ã¨æ€ã£ã¦ã„ãŸæ–¹ã€…ãŒã€æœ¬è¨˜äº‹ã‚’èªã‚“ã§å°‘ã—ã§ã‚‚考ãˆæ–¹ã‚’変ãˆã¦ã‚‚らãˆã‚Œã°ã¨æ€ã£ã¦ã„ã¾ã™
*4:本当ã¯ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ãƒ†ã‚¹ãƒˆæŠ€æ³•ç·´ç¿’帳ã®æ›¸ç±ã«æ›¸ã‹ã‚Œã¦ã„る回ç”例を示ã—ãŸæ–¹ãŒè‰¯ã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ãŒã€è‘—作権ã®å•é¡Œã§ã©ã“ã¾ã§è¼‰ã›ã¦è‰¯ã„ã‹ä¸å®‰ã«ãªã£ãŸã®ã§ã€ã‚ãã¾ã§ã‚‚ç§ãŒæ›¸ã„ãŸã‚‚ã®ã‚’示ã—ã¾ã™ã€‚
*5:ãªãŠã€ã“ã“ã§ä½œæˆã—ãŸãƒ†ã‚¹ãƒˆã‚±ãƒ¼ã‚¹ã¯ã€çŠ¶æ…‹é·ç§»è¡¨ã‚’å…ƒã«ä½œæˆã—ãŸã‚‚ã®ã§ã‚ã‚Šã€è‡ªåˆ†ã§ãƒ†ã‚¹ãƒˆã™ã‚‹å ´åˆã¯ã€å®Ÿæ–½æ‰‹é †ã®åŠ¹çŽ‡ã‚’考ãˆã¦ã€æ‰‹é †ã®ä¸¦ã³æ›¿ãˆç‰ã‚’è¡Œã„ã¾ã™
*6:ãªãœAIãŒã“ã®ã‚ˆã†ãªæ¬ 陥を埋ã‚è¾¼ã¿ã€ç™ºè¦‹ã§ããªã‹ã£ãŸã®ã‹è€ƒå¯Ÿã—ã¾ã™ã€‚
ã€æ¬ 陥を埋ã‚込んã åŽŸå› ã€‘ä»•æ§˜ï¼ˆå•é¡Œæ–‡ï¼‰ã«ã¯æœŸå¾…値を明確ã«è¨˜è¼‰ã—ã¦ã„ãªã‹ã£ãŸ
状態é·ç§»å›³ã¯ã‚ãã¾ã§ã‚‚状態ãŒã©ã®ã‚ˆã†ã«å¤‰ã‚ã‚‹ã®ã‹ã‚’明記ã—ã¦ã„ã‚‹ã‚‚ã®ã§ã™ã€‚一方ã§ã€ãã‚Œãžã‚Œã®çŠ¶æ…‹ã§ã©ã®ã‚ˆã†ãªå‹•ä½œã«ãªã£ã¦ã„ã‚Œã°è‰¯ã„ã®ã‹ãŒæ›–昧ãªã¾ã¾ã§ã—ãŸã€‚
ã¡ãªã¿ã«å…ƒã®ä»•æ§˜ã§ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«è¨˜è¿°ã•ã‚Œã¦ã„ã¾ã™ã€‚何ã‹ã—ら別ã®å‹•ä½œã«ãªã‚‹ã‚ˆã†ã«è¦‹ãˆã¾ã™ãŒã€å…·ä½“çš„ã«ã©ã®ã‚ˆã†ã«å‹•ä½œã™ã‚‹ã®ã‹ã¯æ˜Žç¢ºã«è¨˜è¼‰ã•ã‚Œã¦ã„ã¾ã›ã‚“。
計測準備ä¸ã«ã‚¹ã‚¿ãƒ¼ãƒˆãƒœã‚¿ãƒ³ã‚’押ã™ã¨è¨ˆæ¸¬ãŒå§‹ã¾ã‚Šã¾ã™
一時åœæ¢ä¸ã«ã‚¹ã‚¿ãƒ¼ãƒˆãƒœã‚¿ãƒ³ã‚’押ã™ã¨å†é–‹ã—ã¾ã™
ãã®ãŸã‚ã€ã€Œè¨ˆæ¸¬ä¸ã¸ã®çŠ¶æ…‹ã®å¤‰åŒ–ï¼ã‚«ã‚¦ãƒ³ãƒˆã‚¢ãƒƒãƒ—を始ã‚ã‚‹ï¼0:00ã‹ã‚‰å¢—ã‚„ã—ã¦ã„ãã€ã¨å‹˜é•ã„ã—ã¦ã—ã¾ã£ãŸå¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚
ã‚‚ã£ã¨æ˜Žç¢ºã«å®šç¾©ã‚’記載ã™ã‚Œã°ã€AIã«ã‚ˆã‚‹ç”Ÿæˆã§ã‚‚今回ã®ã‚ˆã†ãªä¸å…·åˆã‚’埋ã‚è¾¼ã¾ãšã«æ¸ˆã‚“ã ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。元記事ã§ã€Œãƒ—ãƒãƒ³ãƒ—トã®æœ€é©åŒ–(プãƒãƒ³ãƒ—トエンジニアリング)ã€ã¨è¡¨ç¾ã—ã¦ã„る分野ã®ç™ºå±•ãŒå¿…è¦ã¨ãªã‚‹æœªæ¥ã«ãªã‚‹ã‹ã‚‚…?
ã€æ¬ 陥を発見ã§ããªã‹ã£ãŸåŽŸå› 】テストコード内ã§å†é–‹æ™‚ã®æ™‚間経éŽã®ãƒ†ã‚¹ãƒˆã‚’ã—ã¦ã„ãªã‹ã£ãŸ
今回ã®AI作æˆã®ãƒ†ã‚¹ãƒˆã‚³ãƒ¼ãƒ‰ã®ç¢ºèªå†…容を日本語ã§è¡¨è¨˜ã™ã‚‹ã¨ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
ã“ã®ä¸ã§ã€æ™‚間経éŽã«ã¤ã„ã¦ã¯ã€Œé–‹å§‹æ™‚ã€ã€Œä¸€æ™‚åœæ¢æ™‚ã€ã®2ã¤ã—ã‹ç¢ºèªã§ãã¦ã„ã¾ã›ã‚“ã§ã—ãŸã€‚ãã®ãŸã‚ã€æ¬ 陥を発見ã™ã‚‹ã“ã¨ã‚‚ã§ãã¦ã„ã¾ã›ã‚“。
*7:è¦æ ¼ã§å®šç¾©ã•ã‚Œã¦ã„るデシジョンテーブルã®æ›¸ãæ–¹ã¨æ¯”ã¹ã¦ã€è¡Œã¨åˆ—ãŒè»¢ç½®ã—ã¦ã„る点ã«ã¤ã„ã¦ã¯ã€ç¾çŠ¶ã§ã¯ä»•æ–¹ãªã„ã‹ãªã¨æ€ã£ã¦ã„ã¾ã™ã€‚è¦æ ¼ã§å®šç¾©ã•ã‚Œã¦ã„るデシジョンテーブルã¯1列ã”ã¨ã«ãƒ†ã‚¹ãƒˆãƒ‘ターンãŒæ›¸ã‹ã‚Œã¦ã„ã¾ã™ã€‚一方ã€ChatGPTã¯1è¡Œã”ã¨ã«å‡ºåŠ›ã•ã‚Œã‚‹ãŸã‚ã€ãƒ†ã‚¹ãƒˆãƒ‘ターンを1è¡Œã”ã¨ã«è¨˜è¿°ã™ã‚‹ç¾åœ¨ã®å½¢ã«ãªã‚‰ã–ã‚‹ã‚’å¾—ãªã„ã¨æ€ã†ã®ã§ã€‚
*8:ç§ãŒä½œæˆã—ãŸã‚‚ã®ã¯2値ã®å¢ƒç•Œå€¤åˆ†æžã‚’ã—ã¦ã„ã¾ã™ãŒã€AIãŒä½œæˆã—ãŸã‚‚ã®ã¯3値ã®å¢ƒç•Œå€¤åˆ†æžã‚’ã—ã¦ã„ã¾ã™ã€‚2値ã¨3値ã®å¢ƒç•Œå€¤åˆ†æžã«ã¤ã„ã¦è©³ã—ãã¯ã€akiyamaã•ã‚“ã®ãƒ–ãƒã‚°æŠ•ç¨¿ã‚’å‚考ã«ã—ã¦ãã ã•ã„。
ã“ã“ã§ã¯è©³ã—ã„説明を割愛ã—ã¾ã™ãŒã€2値より3値ã®æ–¹ãŒã‚ˆã‚Šæ³¨æ„æ·±ãテストã—ã¦ã„ã‚‹ã¨ã„ãˆã¾ã™ã€‚ç§ãŒ2値ã®å¢ƒç•Œå€¤åˆ†æžã‚’ã—ã¦ã„ã‚‹ç†ç”±ã¯ã€ã€Œ2値ã§ã¯ç™ºè¦‹ã§ããªã„ãŒ3値ã§ã¯åˆã‚ã¦ç™ºè¦‹ã§ãã‚‹ä¸å…·åˆãŒä»Šå›žã®å ´åˆã¯ã‚ã¾ã‚Šå¤šããªã„ã®ã§ã¯ãªã„ã‹ã€ã€Œ2値ã®æ–¹ãŒå˜ç´”ã«ãƒ†ã‚¹ãƒˆã‚³ãƒ¼ãƒ‰ã®ä½œæˆ/ä¿å®ˆã‚³ã‚¹ãƒˆãŒå°‘ãªã„ã€ã¨ã„ã†2点ã§ã™ã€‚
*9:AI作æˆã®ãƒ†ã‚¹ãƒˆã‚³ãƒ¼ãƒ‰ã§ã¯å¢ƒç•Œå€¤ã®ã©ã®ã‚ˆã†ãªéƒ¨åˆ†ã‚’調ã¹ãŸã„ã®ã‹ã‚’èªã¿å–ã‚‹ã“ã¨ãŒé›£ã—ã„ã§ã™ã€‚
数年後ã«æ©Ÿèƒ½ã®æ”¹ä¿®ãŒå…¥ã‚Šã€ä¾‹ãˆã°"室温ãŒ26.0℃ã®å ´åˆã€ã€Œæš‘ã„ã€ã¨è¡¨ç¤ºã•ã‚Œã‚‹"ã¨ã„ã†ãƒ†ã‚¹ãƒˆã‚³ãƒ¼ãƒ‰ã ã‘失敗ã—ãŸå ´åˆã€ã“ã®ãƒ†ã‚¹ãƒˆã‚³ãƒ¼ãƒ‰ã¯ä½•ã‚’確èªã—ãŸã„コードãªã®ã‹èªã¿å–ã‚‹ã“ã¨ãŒé›£ã—ããªã‚Šã¾ã™ã€‚
ã“ã®ç‚¹ã«ã¤ã„ã¦è©³ã—ãã¯ã€RAKUSã•ã‚“ã®ãƒ–ãƒã‚°æŠ•ç¨¿ãŒåˆ†ã‹ã‚Šã‚„ã™ã„ã®ã§ã€ãã¡ã‚‰ã‚’å‚考ã«ã—ã¦ãã ã•ã„。
*10:ç§è‡ªèº«ãŒä½œæˆã—ã€ç§ãŒã€Œè‰¯ã„ã€ã¨åˆ¤æ–ã—ã¦ã„ã‚‹ã®ã§ã€èªè€…ã®çš†ã•ã‚“ã®æ„見をèžããŸã„ã¨ã“ã‚ã§ã™
*11:ãã‚‚ãã‚‚ã€AI作æˆã®å ´åˆã€æ¯Žå›žæ–°ãŸã«ä½œã‚Œã°è‰¯ã„ã®ã§ä¿å®ˆæ€§ã‚’考ãˆã‚‹å¿…è¦ãŒãªã„ã¨ã„ã†æ„見もã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。