åæïŒæ¬ããã°ã¯æ¢åã·ã¹ãã ã®æ¹ä¿®ãæŽæ°ã«æºãããšã³ãžãã¢ã®æ¹ãæ¢åããã°ã©ã ã®æŠèŠãææ¡ããææ®µã®éžæè¢ã®äžã€ãšããŠãLLMã®å¯èœæ§ãæç€ºãããã®ã§ããå®éã«çšŒåããŠããã·ã¹ãã ã®ããã°ã©ã ã¯ãæ¬ããã°ã§çšããããã°ã©ã ãããèŠæš¡ã»è€é床ãšãã«å€§ããã玹ä»ããæ¹æ³ã ãã§ã¯ååãªçµæãåŸãããªãå¯èœæ§ããããŸããåŸè¿°ãããæ¹åãã€ã³ãããåèã«ãã«ã¹ã¿ãã€ãºããŠãå©çšãã ããã æ¬ããã°ã§ã¯ãæ¢åã·ã¹ãã æŽæ°ã«é¢ãã課é¡è§£æ±ºã®ããã«ãAWS ã®çæ AI ãµãŒãã¹ã§ãã Amazon Bedrock ã䜿ã£ãŠ COBOL ãœãŒã¹ã³ãŒãããããã°ã©ã æŠèŠè³æãäœæããæŽ»çšäŸã解説ããŸããå®éã«äœ¿çšããããã³ããã玹ä»ããŠãããŸãã®ã§åèã«ããããæ§æã«ãªã£ãŠããŸãããŸããCOBOL èšèªåå¿è
ã®çè
ãçæ AI ãæŽ»çšããªãã COBOL èšèªãåŠã³ãææç©å質ãåäžãããŠãã£ãæ¹æ³ã«ã€ããŠã解説ããŸããä»å玹ä»ããæ¹æ³ããæ¢åã·ã¹ãã ã®çè§£ä¿é²ãšå°æ¥ã®çºå±ã®ããã®åèã«ãªãã°å¹žãã§ãïŒ ã¯ããã« 2018幎ãçµæžç£æ¥çããã DXã¬ããŒãïœITã·ã¹ãã ã2025幎ã®åŽãã®å
æãšDXã®æ¬æ Œçãªå±éïœ ããå
¬éãããŸãããããããç£æ¥ã«ãããŠãããžã¿ã«ãã©ã³ã¹ãã©ãŒã¡ãŒã·ã§ã³ã®ã¹ããŒãã£ãŒãªå®çŸãæ±ããããŠããäžæ¹ã§ãäŒæ¥ãæ±ããå€ãã®åé¡ã«ã€ããŠãèšåãããŸããããã®äžã€ãæ¢åã·ã¹ãã ã®èæœåã»è€éåã»ãã©ãã¯ããã¯ã¹åããŠããçŸç¶ã§ãããã¬ããŒãã«ã¯èª¿æ»çµæãåŒçšãããŠãããæ¢åã·ã¹ãã ã®æ±ããåé¡ã®ã€ã³ãã¯ãã®å€§ããã䌺ããŸãã ãJUASã®ã¢ã³ã±ãŒã調æ»ã«ãããšãçŽ8å²ã®äŒæ¥ããã¬ã¬ã·ãŒã·ã¹ãã ããæ±ããŠãããçŽ7å²ããã¬ã¬ã·ãŒã·ã¹ãã ããèªç€Ÿã®ããžã¿ã«åã®è¶³ããã«ãªã£ãŠãããšåçããŠãããã ã¬ããŒãã§ã¯ãã®æ¢åã·ã¹ãã ã DX ã®è¶³ãããšãªã£ãŠããçç±ã«ã€ããŠãèšåãããŠããããããã¥ã¡ã³ããæŽåãããŠããªããã調æ»ã«æéãèŠããããšãããã®ãäžçªå€ãã®äŒæ¥ã§æããããŠããŸããã ãã®ãããªæ¢åã·ã¹ãã ã§äœ¿ãããŠããããã°ã©ãã³ã°èšèªã®äžã€ã COBOL èšèªã§ããCOBOL èšèªã¯1959幎ã«äºååŠççšã«éçºãããããã°ã©ãã³ã°èšèªã§ãããçŸåšãå€ãã®äŒæ¥ãã·ã¹ãã ã§çšŒåããŠããŸããäžæ¹ã§æ¢åã·ã¹ãã ãéçºãããšã³ãžãã¢ãé¢è·ãªã©ã«ããæžã£ãŠããŠããä»ãçŸåšã¯æ°ãã« COBOL ãåŠã¶ãšã³ãžãã¢ãæžã£ãŠããŠãã COBOL ãšã³ãžãã¢ã®çµ¶å¯Ÿæ°ãäžè¶³ããŠããçŸç¶ããããŸãã ãããªäžã§è¿å¹Žæã泚ç®ãéããŠããã®ãçæ AI ã§ããçæ AI ã¯ããã¹ãã®çè§£åã衚çŸåãéåžžã«é«ããããã¹ãçæããã³ãŒãçæãåŸæãšããŠããŸããAWS ã¯æšå¹Žã® re:Invent ã«ãŠçæ AI ãæŽ»çšãæ
å ±æ€çŽ¢ãç°¡åã«ãã Amazon Q ãšãããµãŒãã¹ããçæ AIãçšããŠå¯Ÿè©±çã«ETLãžã§ãã®ã³ãŒããçæããæ©èœãªã©ããªãªãŒã¹ããŠããŸãã æ¬ããã°ã§ã¯ãAWS ã®çæ AI ãµãŒãã¹ã§ãã Amazon Bedrock ïŒãµãŒãã¹ã«ã€ããŠã®è©³çŽ°ã¯ ãã¡ã ãã芧ãã ããïŒãçšããŠãCOBOL ã®ããã¥ã¡ã³ãïŒä»åã¯ããã°ã©ã æŠèŠè³æïŒãäœæããæŽ»çšäŸã解説ããŸãã ãªãããšã³ã¿ãŒãã©ã€ãºäŒæ¥ã«ãããã¡ã€ã³ãã¬ãŒã ã¢ããã€ãŒãŒã·ã§ã³ã®å
šäœåã¯å€§èŠæš¡ã§ããã®ãã€ã°ã¬ãŒã·ã§ã³ããã»ã¹ãè€éã§ããéãããæéãšã³ã¹ãã§ããžãã¹ãŽãŒã«ãéæããããã«ãæ¥çã®ãã¹ããã©ã¯ãã£ã¹ããåç
§ãã ããã詳现ã¯ãã¡ãã Mainframe Modernizationãžã®ã¢ãããŒãïŒåç·šïŒ ãã çæ AI ã®åºåãçµã¿èŸŒãã ããã°ã©ã æŠèŠè³æ ãè«ãã蚌æ ãããŸãã¯å®éã«çæ AIã®åºåãçµã¿èŸŒãã ããã°ã©ã æŠèŠè³æãã玹ä»ããŸãã 察象ãšãã COBOL ããã°ã©ã ã«ã¯ãAWS ãå
¬éããŠãã CardDemo ãšããã«ãŒãäŒç€Ÿã®ã·ã¹ãã ãæš¡ãããã®ã䜿ããŸãããCardDemo ã¯ç»é¢ãåããã¢ããªã§ãããã€ãã®ãããããã°ã©ã ããããå®éã«ç°å¢ãæŽããã°å®è¡ããããšãã§ããŸãã CardDemo ã®ç»é¢ã€ã¡ãŒãžã¯ä»¥äžã®ããã«ãªã£ãŠããŸãã å³1-1ïŒCardDemo ã®ç»é¢ã®äžäŸ ãããããã°ã©ã ã®äžèЧã¯ãã¡ãã§ãã å³1-2ïŒCardDemo ã®ãããããã°ã©ã ã®äžèЧ å®éã«çæ AI ã®åºåãçµã¿èŸŒãã ããã°ã©ã æŠèŠè³æã¯ä»¥äžã®ãšããã§ãã å³1-3ïŒçæ AI ã®åºåãçµã¿èŸŒãã ããã°ã©ã æŠèŠè³æ 以éã§ã¯ãããã°ã©ã æ¬äœã®ãã¡ã€ã«ãšç»é¢å®çŸ©ã®ãã¡ã€ã«ã«ã€ããŠè©³çްã瀺ããŸãã ããã°ã©ã æ¬äœã®ãã¡ã€ã«ïŒãã¡ã€ã«æ¡åŒµå.cblïŒ å³2-1ïŒCardDemo ã®ããã°ã©ã æ¬äœã®ãã¡ã€ã«ãå³ãäœæããããã°ã©ã æŠèŠè³æ ããã°ã©ã æŠèŠè³æã«ã¯ããã°ã©ã åãããã°ã©ã 説æã®ã»ãã䜿çšããå
¥åãã¡ã€ã«ãåºåãã¡ã€ã«ã倿°ã§ããããŒã¿é
ç®ãããã·ãžã£ãŒã®åŠçæŠèŠãããã·ãžã£ãŒã®äžèЧãããã·ãžã£ãŒããåŒã³åºããããã·ãžã£ãŒã®äžéšãšããŠå®è¡ããã COPYBOOK ãšãããã¡ã€ã«ã®äžèЧãåºåããŠããŸãã ç»é¢å®çŸ©ã®ãã¡ã€ã«ïŒãã¡ã€ã«æ¡åŒµå.bmsïŒ å³2-2ïŒCardDemo ã®ç»é¢å®çŸ©ã®ãã¡ã€ã«ãå³ãäœæããããã°ã©ã æŠèŠè³æ ããã°ã©ã æŠèŠè³æã«ã¯ç»é¢åãç»é¢èª¬æã®ã»ããç»é¢ã€ã¡ãŒãžãç»é¢é
ç®ã®äžèЧãåºåããŠããŸãã ãããã§ããããïŒ ããã°ã©ã æ¬äœãç»é¢å®çŸ©ã«ã€ããŠãäººãæ¯èŒçã«èªã¿ããã圢ã§ããã¥ã¡ã³ãåã§ããããšãåãããŸããã 以éã§ã¯ããã®ããã¥ã¡ã³ãã Amazon Bedrock ãçšããŠã©ã®ããã«äœæããã®ãã解説ããŠãããŸãã Amazon Bedrock ãçšããããã°ã©ã æŠèŠè³æäœæ æŠèŠè³æäœæããã°ã©ã ã®æ§æ ä»åäœæããæŠèŠè³æäœæããã°ã©ã å
šäœã®æ§æã¯ä»¥äžã®éãã§ãã å³3-1ïŒããã°ã©ã æŠèŠè³æäœæããã°ã©ã ã®æ§æ å
šäœã¯ Python ã§ããã°ã©ãã³ã°ããŠããŸããAmazon Bedrock 㯠COBOL ãœãŒã¹ã³ãŒãã®è§£æéšåã«å©çšããŠããŸãã Amazon Bedrock ããå©çšãã LLMïŒLarge Language ModelïŒ ã«ã¯ Anthropic Claude v2.1 ã䜿ããŸãããéžå®çç±ã¯ã1/æ¥æ¬èªã§ã®åºåãå¿
èŠãªããšãšã2/åŸè¿°ããéã XML ã JSON ãªã©ãåãæ±ããé«å質ãªã¢ãŠãããããæåŸ
ã§ããããã§ãã æŠèŠè³æäœæããã°ã©ã 詳现 æŠèŠè³æäœæããã°ã©ã ã®åŠçã¯ä»¥äžã®éãã§ãã ãã¡ã€ã«ã®æ
å ±ïŒãã¡ã€ã«åããã¡ã€ã«ãã¹ããµã€ãºããã¡ã€ã«æ¡åŒµåããã¡ã€ã«è¡æ°ïŒãååŸãã åãã¡ã€ã«ã«ã€ã㊠Amazon Bedrock ã䜿ã£ãŠä»æ§æ
å ±ãååŸãã äžè¿°ã®æ
å ±ãããã°ã©ã æŠèŠè³æïŒWord 圢åŒïŒã«æžãåºã ïŒã¯æŠèŠè³æã«ãã¡ã€ã«ã®äžèЧãåºåããç®çã®ãããã¡ã€ã«ãåæããããã«çæ AI ã§ã¯é£ããã Python ã§å¯èœãªåŠçïŒäŸïŒè¡æ°ãæ°ããïŒãè¡ãªããŸãã ïŒã§ã¯ãã¡ã€ã«çš®å¥æ¯ã«ããã³ãããåãæ¿ããŠä»æ§æ
å ±ãååŸããŸãã ïŒã§ã¯ïŒãïŒã§ååŸããæ
å ±ãããã°ã©ã æŠèŠè³æã«æžãåºããŸããäŸãã°1ã®çµæãããšã«ç»é¢äžèЧãåºåãããã2ã®çµæãããšã«ç»é¢è©³çް仿§ãåºåãããããšèšã£ãæãã§ãã ãã®ããã°ã§ã¯ Amazon Bedrock ã«ãã©ãŒã«ã¹ããŠèª¬æãããã Python éšåã®ã³ãŒãã«ã€ããŠã®èª¬æã¯å²æããŸããããµã³ãã«ããã°ã©ã ã®å
¬éãæ€èšäžã§ãã®ã§åŸç¶ã®ããã°ããåŸ
ã¡ããã ãããšå¹žãã§ãã 以éãïŒã® Amazon Bedrock ã®äœ¿ãæ¹ã«ã€ããŠè§£èª¬ããŠãããŸãã Amazon Bedrock ã¿ã¹ã¯ ããããã¯ææç©ã€ã¡ãŒãžã§ãèŠããããCOBOL ããã°ã©ã ã®ããã°ã©ã æ¬äœãšç»é¢å®çŸ©ã«ã€ããŠå
·äœçãªããã³ãããã玹ä»ããŸãã COBOL ããã°ã©ã ã®ããã°ã©ã æ¬äœããæŠèŠè³æçæã«å¿
èŠãªæ
å ±ãååŸããããã«äœ¿çšããããã³ããã¯ä»¥äžã®ãšããã§ãã ã³ãŒã㯠<inputText> XML ã¿ã°ã®äžã« Python ã§åã蟌ãã§ Amazon Bedrock ã® API ãåŒã³åºããŸããã Human: ããªãã¯COBOLããã°ã©ã ã®èšèšãå®è£
ã詊éšã®ã¹ãã·ã£ãªã¹ãã§ãã <inputText></inputText>XMLã¿ã°å
ã®ããã°ã©ã ã¯COBOLããã°ã©ã ã§ãã ãã®COBOLããã°ã©ã ãèªãã§ãCOBOLããã°ã©ã 仿§æžãäœæããŠãã ããã COBOLããã°ã©ã 仿§æžã®ãã³ãã¬ãŒãã<template></template>XMLã¿ã°å
ã«èšèŒããŸãããCOBOLããã°ã©ã 仿§æžãäœæããéã«ã¯ããã³ãã¬ãŒãã«æ²¿ãå¿
èŠããããŸãã ãŸãCOBOLããã°ã©ã 仿§æžãäœæããéã«ã¯<condition></condition>XMLã¿ã°å
ã«èšèŒããæ¡ä»¶ãæºãããŠäœæããŠãã ããã COBOLããã°ã©ã 仿§æžã®èª¬ææã¯æ¥æ¬èªã§èšè¿°ããå¿
èŠããããŸãããã ãããã¡ã€ã«åç§°ã¯å€æ°åã颿°åãªã©ã®COBOLããã°ã©ã ã«èšè¿°ãããŠããåèªã¯COBOLããã°ã©ã äžã®èšèŒãåªå
ããããšãå¿
èŠã§ãã <condition> 1.COBOLããã°ã©ã 仿§æžã®èª¬ææã¯æ¥æ¬èªã§èšè¿°ããŠãã ãããæäœã¯ã§ããŸã調ã§çµ±äžããŠãã ããã 2.åºåã¯<template></template>XMLã¿ã°å
ã«ç€ºããJSON圢åŒã®ããã¹ãéšåã ããèšè¿°ããŠãã ããã 3.åºåããJSON圢åŒã®ããã¹ãã®ååŸã«ãã®ã¿ã¹ã¯ã«é¢ãã説æãä»å ããªãã§ãã ããã 4.<template>ã¿ã°ã</template>ã¿ã°ãã®ãã®ãåºåããªãã§ãã ããã 5.JSON圢åŒã¯å³å¯ã«å®ã£ãŠãã ããã </condition> <template> [{"programtitle":"ããã«COBOLããã°ã©ã ã®PROGRAM-IDã®å
容ãèšè¿°ããŠãã ãã", "processdescription":"ããã«COBOLããã°ã©ã ã®åŠçæŠèŠã400æå以å
ã§èšè¿°ããŠãã ããã", "inputfile":[{"inputfilename":"ããã«å
¥åãã¡ã€ã«åãèšè¿°ããŠãã ãã","inputfiledescription":"ããã«å
¥åãã¡ã€ã«ã®æŠèŠã40æå以å
ã§èšè¿°ããŠãã ããâ}], "outputfile":[{"outputfilename":"ããã«åºåãã¡ã€ã«åãèšè¿°ããŠãã ãã","outputfiledescription":"ããã«åºåãã¡ã€ã«ã®æŠèŠã40æå以å
ã§èšè¿°ããŠãã ããâ}], "dataitem":[{"dataitemname":"ããã«COBOLããã°ã©ã ã®DATAãã£ããžã§ã³ã®WORKING-STORAGEã»ã¯ã·ã§ã³ã®ããŒã¿é
ç®ãèšè¿°ããŠãã ãã","dataitemdescription":"ããã«COBOLããã°ã©ã ã®DATAãã£ããžã§ã³ã®WORKING-STORAGEã»ã¯ã·ã§ã³ã®ããŒã¿é
ç®ã®æŠèŠã40æå以å
ã§èšè¿°ããŠãã ããâ}], "procedureitem":[{"procedurename":"ããã«COBOLããã°ã©ã ã®ããã·ãžã£ãŒåãèšè¿°ããŠãã ãã","proceduredescription":"ããã«COBOLããã°ã©ã ã®ããã·ãžã£ãŒã®æŠèŠã40æå以å
ã§èšè¿°ããŠãã ããâ}], "workflow":[{"workflowstep":"ããã«COBOLããã°ã©ã ã®PROCEDURE DIVISION. ã®äžèº«ã®ã¯ãŒã¯ãããŒã®åŠçã¹ãããæ°ã1ããé ã«ã€ã³ã¯ãªã¡ã³ãããªããèšè¿°ããŠãã ããã","workflowdescription":"ããã«COBOLããã°ã©ã ã®PROCEDURE DIVISION. ã®äžèº«ã®ã¯ãŒã¯ãããŒã®æŠèŠã40æå以å
ã§èšè¿°ããŠãã ããâ}], "copyfile":[{"copyfilename":"ããã«COBOLããã°ã©ã ãCOPYããŠãããã¡ã€ã«ã®ååãèšè¿°ããŠãã ãããCOPYããŠãããã¡ã€ã«ãšããã®ã¯COPYåœä»€ã®åŸã«ç€ºãããã¢ãžã¥ãŒã«ã®ååã§ãã","outputfiledescription":"ããã«COBOLããã°ã©ã ãCOPYããŠãããã¡ã€ã«ã®æŠèŠã40æå以å
ã§èšè¿°ããŠãã ããâ}] }] </template> <inputText> --filecontent-- </inputText> ããã§ã¯ã<inputText></inputText>XMLã¿ã°å
ã®COBOLããã°ã©ã ãèªãã§ã<template></template>ã«èšèŒããCOBOLããã°ã©ã 仿§æžã®ãã³ãã¬ãŒãã«åŸã£ãŠãCOBOLããã°ã©ã 仿§æžãçæããŠãã ããã Assistant:[ Outputã®äžäŸïŒCOCRDLIC.cblãå
¥åãšããå ŽåïŒ { "programtitle":"COCRDLIC", "processdescription":"COCRDLICããã°ã©ã ã¯ãã¯ã¬ãžããã«ãŒãã®äžèŠ§è¡šç€ºãè¡ãããžãã¹ããžãã¯å±€ã®ããã°ã©ã ã§ãã管çè
ãŠãŒã¶ãŒã®å Žåã¯ãã³ã³ããã¹ããæž¡ãããªããã°ããã¹ãŠã®ã«ãŒããäžèŠ§è¡šç€ºããŸãã管çè
以å€ã®ãŠãŒã¶ãŒã®å Žåã¯ãCOMMAREAã§æž¡ãããACCTã«é¢é£ä»ããããã«ãŒãã®ã¿ãäžèŠ§è¡šç€ºããŸãã", "inputfile":[ {"inputfilename":"COMMAREA","inputfiledescription":"åç»é¢ããæž¡ãããã³ã³ããã¹ãæ
å ±ãæ ŒçŽãããŠãã"} ], "outputfile":[ {"outputfilename":"ç»é¢","outputfiledescription":"ã¯ã¬ãžããã«ãŒãã®äžèЧã衚瀺"} ], "dataitem":[ {"dataitemname":"WS-COMMAREA","dataitemdescription":"åç»é¢ããåãåã£ãã³ã³ããã¹ãæ
å ±"}, {"dataitemname":"WS-SCREEN-DATA","dataitemdescription":"ç»é¢ã«è¡šç€ºããã«ãŒãæ
å ±"} ], "procedureitem":[ {"procedurename":"0000-MAIN","proceduredescription":"ã¡ã€ã³åŠç"}, {"procedurename":"1000-SEND-MAP","proceduredescription":"ç»é¢éä¿¡"}, {"procedurename":"2000-RECEIVE-MAP","proceduredescription":"ç»é¢åä¿¡"} ], "copyfile":[ {"copyfilename":"DFHAID","outputfiledescription":"AIDæ¡ä»¶å"}, {"copyfilename":"DFHBMSCA","outputfiledescription":"BMSãããå®çŸ©"} ] }] COBOL ããã°ã©ã ã®ç»é¢å®çŸ©ã«å¯ŸããŠäœ¿çšããããã³ããã¯ä»¥äžã®ãšããã§ãã ã³ãŒãã¯åãã <inputText> XML ã¿ã°ã®äžã«èšèŒã㊠Amazon Bedrock ã® API ãåŒã³åºããŸãã Human: ããªãã¯COBOLããã°ã©ã ã®èšèšãå®è£
ã詊éšã®ã¹ãã·ã£ãªã¹ãã§ãã <inputText></inputText>XMLã¿ã°å
ã®ããã°ã©ã ã¯BMSãããã§ãã ãã®BMSããããèªãã§ãBMSããã仿§æžãäœæããŠãã ããã BMSããã仿§æžã®ãã³ãã¬ãŒãã<template></template>XMLã¿ã°å
ã«èšèŒããŸãããBMSããã仿§æžãäœæããéã«ã¯ããã³ãã¬ãŒãã«æ²¿ãå¿
èŠããããŸãã ãŸãBMSããã仿§æžãäœæããéã«ã¯<condition></condition>XMLã¿ã°å
ã«èšèŒããæ¡ä»¶ãæºãããŠäœæããŠãã ããã BMSããã仿§æžã®èª¬ææã¯æ¥æ¬èªã§èšè¿°ããå¿
èŠããããŸãããã ãããã¡ã€ã«åç§°ã¯å€æ°åã颿°åãªã©ã®BMSãããã«èšè¿°ãããŠããåèªã¯BMSãããäžã®èšèŒãåªå
ããããšãå¿
èŠã§ãã <condition> 1.BMSããã仿§æžã®èª¬ææã¯æ¥æ¬èªã§èšè¿°ããŠãã ãããæäœã¯ã§ããŸã調ã§çµ±äžããŠãã ããã 2.åºåã¯<template></template>XMLã¿ã°å
ã«ç€ºããJSON圢åŒã®ããã¹ãéšåã ããèšè¿°ããŠãã ããã 3.åºåããJSON圢åŒã®ããã¹ãã®ååŸã«ãã®ã¿ã¹ã¯ã«é¢ãã説æãä»å ããªãã§ãã ããã 4.<template>ã¿ã°ã</template>ã¿ã°ãã®ãã®ãåºåããªãã§ãã ããã 5.JSON圢åŒã¯å³å¯ã«å®ã£ãŠãã ããã </condition> <template> [{"programtitle":"ããã«BMSãããã®TITLEãèšè¿°ããŠãã ãã", "processdescription":"ããã«BMSãããã®æŠèŠã400æå以å
ã§èšè¿°ããŠãã ããã", "displayimage":"ããã«BMSãããã®ç»é¢ã€ã¡ãŒãžãã¢ã¹ããŒã¢ãŒãã§èšè¿°ããŠãã ãããç»é¢ã€ã¡ãŒãžã¯ã³ã³ãœãŒã«ã«åºåãããã€ã¡ãŒãžã«ãªãã¹ãè¿ã¥ããŠãã ãããBMSãããå
ã®ãã£ãŒã«ãåç§°ãªã©ã¯è¡šç€ºããªãã§ãã ããã", "fieldnames":[{"fieldname":"ããã«BMSãããã®ç»é¢ãã£ãŒã«ãåç§°ãèšèŒããŠãã ãã","fielddefaultvalue":"ããã«BMSãããã®ç»é¢ãã£ãŒã«ãã®åæå€ãBMSãããã®èšèŒéãã«æ¥æ¬èªã«å€æŽããèšèŒããŠãã ãã "}]}] </template> <inputText> --filecontent-- </inputText> ããã§ã¯ã<inputText></inputText>XMLã¿ã°å
ã®BMSããããèªãã§ã<template></template>ã«èšèŒããBMSããã仿§æžã®ãã³ãã¬ãŒãã«åŸã£ãŠãBMSããã仿§æžãçæããŠãã ããã Assistant:[ Outputã®äžäŸïŒCOBIL00.bmsãå
¥åãšããå ŽåïŒ {"programtitle":"CardDemo - Main Menu Screen", "processdescription":"CardDemoã¯ã¡ã€ã³ã¡ãã¥ãŒç»é¢ããã°ã©ã ã§ãããŠãŒã¶ãŒã¯ã¢ã«ãŠã³ãIDãå
¥åããçŸåšã®æ®é«ã確èªããåŸãæ®é«ã®æ¯æããå®è¡ãããã©ãããéžæããããšãã§ããŸãã", "displayimage":" Tran:____ Bill Payment Date:__/__/__ Prog:________ Time:__:__:__ ------------------------------------------------------------ Enter Acct ID:_________ ------------------------------------------------------------ Your current balance is: __________ Do you want to pay your balance now. Please con- firm: _ (Y/N) ", "fieldnames":[{"fieldname":"TRNNAME","fielddefaultvalue":"____"}, {"fieldname":"TITLE01","fielddefaultvalue":"Bill Payment"}, {"fieldname":"CURDATE","fielddefaultvalue":"__/__/__"}, {"fieldname":"PGMNAME","fielddefaultvalue":"________"}, {"fieldname":"TITLE02","fielddefaultvalue":""}, {"fieldname":"CURTIME","fielddefaultvalue":"__:__:__"}, {"fieldname":"ACTIDIN","fielddefaultvalue":"_________"}, {"fieldname":"CURBAL","fielddefaultvalue":"__________"}, {"fieldname":"CONFIRM","fielddefaultvalue":"_"}, {"fieldname":"ERRMSG","fielddefaultvalue":""}]}] ããã³ããã¯1ãã¡ã€ã«ã«ã€ã1åã® Amazon Bedrock API ã®åŒã³åºãã§è€æ°ã®å¿
èŠãªæ
å ±ãåŸãããããã«å·¥å€«ããŸããã1)1åã®åŒã³åºãã§è€æ°ã®åçãåæã«åŸãããããšã§ããã°ã©ã å
šäœã®å®è¡æéã®ççž®ãšã³ã¹ãã®åæžãèŠèŸŒããã2)åäžã³ãŒãã«å¯ŸããŠã®è€æ°ã®é
ç®ãå¥ã
ã«ååŸããå Žåã«æ¯ã¹ãŠåºåå
容éã®æŽåæ§ããšããå¯èœæ§ãããããšä»®å®ããŠããŸãã ä»åã®ããã³ããã§å©çšãã Anthropic Claude ã®ããã³ãããã¯ããã¯ã«ã€ããŠã Anthropic ã®ããã³ããã¬ã€ã ãåŒçšããŠåæããŸãã ãã¯ããã¯ïŒïŒ Mark different parts of the prompt/ããã³ããã®ããŸããŸãªéšåã«ããŒã¯ãä»ãã Claude 㯠XML ã¿ã°ãèªèã§ããããã«åŸ®èª¿æŽãããŠããŸããXML ã¿ã°ã䜿çšããããšã§ãããã³ããããµãã»ã¯ã·ã§ã³ã«åºåãããšãã§ããŸãããŸã JSON ã YAML ãªã©ã®ä»ã®æ§é å圢åŒãèªèã§ããŸããä»åã®ãµã³ãã«ã§ã¯ãæç€ºãæç¢ºã«ããããã« XML ã¿ã°ã䜿ããŸããããŸãã1åã® API åŒã³åºãã§è€æ°ã®æ
å ±ãåŸãããããã« JSON 圢åŒã§å¿çããããã«æç€ºããŸããã ãã¯ããã¯ïŒïŒ Put words in Claudeâs mouth/ã¯ããŒãã®å£ã«èšèãå
¥ãã çæ AI ã¯åçã®åé ã«ããâââã«ã€ããŠã以äžã«èª¬æããŸãããã®ãããªèšèãå ããããšããããŸããããã¯æŠèŠè³æã«èšèŒããé
ç®ãšããŠã¯äžèŠã§ããäžèšããã³ããã§ã¯åºåã®åœ¢åŒã JSON ã«ããæç€ºäžã® Condition ã«äžèŠãªèª¬æãå«ããªãããã«å¶éã瀺ããAssistant: ã®çŽåŸã« JSON ã®â[âãæå®ããããšã§ãJSON ã®ã¿ã®åºåãåŸããããã工倫ããŸããã ïŒãã®ããã³ããã¯æŠãããŸããããŸãããå®å
šã§ã¯ãããŸããã§ãããä»åã®äºäŸã§ã¯æ£ããåºåãåŸãããåå®è¡ãå¿
èŠãªããšããããŸããã ãã¯ããã¯ïŒïŒ Documents before instructions/æç€ºåã«ããã¥ã¡ã³ããå
¥ãã Claude ã¯å€§ããªã³ã³ããã¹ããŠã£ã³ããŠããããå€§èŠæš¡ãª COBOL ããã°ã©ã ãããã³ããã«å«ããŠæž¡ãããšãã§ããŸããããã³ããã®æ§é ãšããŠãæåã«æç€ºãæžããæ¬¡ã«å
¥åãšãªã COBOL ã³ãŒãã瀺ããäžã§ãæåŸã«å床æç€ºãæžããŸãããããã«ããæç€ºãå®ããããããªããŸãã Amazon Bedrock ã®äœ¿ãæ¹ãšããŠã䜿çšããããã³ããã¯ä»¥äžã§ãããã®ããã³ããã䜿ã£ãŠåŸããã JSON 圢åŒã®å¿çã Python ã§åãåããããã°ã©ã æŠèŠè³æã«åºåããŸããã æ¬¡ã«ãã®æŠèŠè³æäœæããã°ã©ã ãäœãã«ããããã©ã®ããã«é²ããã®ã説æããŠãããŸãã COBOL åå¿è
ã®ç§ã COBOL æŠèŠè³æäœæã®çæ AI ãã¢ãéçºããéã®ã ç§ã¯ COBOL èšèªã䜿ã£ãããšããããŸããã§ããã®ã§ãåœç¶ææ³ã«ã€ããŠã®ç¥èããããŸããã§ããããã®ããçæ AI ã䜿ã£ãŠ COBOL èšèªã COBOL ãœãŒã¹ã³ãŒããçè§£ããªãããæŠèŠè³æäœæããã°ã©ã ãåŸã
ã«è¯ãããŠãããšããæ¹æ³ãåããŸããã ã ãããæ¬¡ã®ãããªæµãã§é²ããŸããã ãããŸãã«è³ªåããŠãå
šäœæãææ¡ããã å
·äœçã«ãããéšåã«çµã£ã質åãããŠãããè©³çŽ°ãªæ
å ±ãåŸãã ããŒã¯ãŒããããŸã« Web æ€çŽ¢ããŠãçæ AI ã®åºåçµæãæ£ããã®ãäºå®ç¢ºèªãããã 以éãïŒããïŒãç¹°ãè¿ã Amazon Bedrock ã«ã¯çæ AI ãšã€ã³ã¿ã©ã¯ãã£ãã«å¯Ÿè©±ããªãã LLM ã®åºåããã§ãã¯ãã質åå¿çãè¡ãããšãã§ãã ãã£ãããã¬ã€ã°ã©ãŠã³ã ãçšæãããŠããŸãã以äžã§ã¯ãç§ããã£ãããã¬ã€ã°ã©ãŠã³ããå©çšã㊠COBOL èšèªãåŠãã§ãã£ãéã®ã€ã¡ãŒãžã瀺ããŸãã ã©ã®ãããªãã¡ã€ã«ãããã®ãã質åãããããã¡ã€ã«ã®ä»æ§ã質åããããèšèªä»æ§ã®èª¿æ»ãè¡ãªã£ãŠããæ§åã§ãã å³5-1ïŒCOBOL èšèªã®ãã¡ã€ã«çš®å¥ã質åããå Žåã®åç å³5-2ïŒCOBOL èšèªã®ããã°ã©ã æ¬äœã®ãã¡ã€ã«æ§æã質åããå Žåã®åç å³5-3ïŒCOBOL èšèªã® MOVE åœä»€ã«ã€ããŠè³ªåããå Žåã®åç å³5-4ïŒCOBOL èšèªã® COPYBOOK ã«ã€ããŠè³ªåããå Žåã®åç ãœãŒã¹ã³ãŒãã調æ»ããéã®ã€ã¡ãŒãžã以äžã«ç€ºããŸãã ããã°ã©ã å
šäœã®æŠèŠã説æããããããœãŒã¹ã³ãŒããå°ããã€èª¬æããããããŠãœãŒã¹ã³ãŒã調æ»ãè¡ãªã£ãŠããæ§åã§ãã å³5-5ïŒCardDemo ã®ããããã°ã©ã æ¬äœããã¹ãŠåŒçšããŠè³ªåãããšãã å³5-6ïŒCardDemo ã®ããããã°ã©ã æ¬äœã«ã€ããŠåŒçšããŠè³ªåããå Žåã®åç å³5-7ïŒCardDemo ã®ããã°ã©ã æ¬äœã®æ°è¡ã«ã€ããŠè³ªåããããšãã å³5-8ïŒCardDemo ã®ããã°ã©ã æ¬äœã®æ°è¡ã«ã€ããŠè³ªåããå Žåã®åç Python ã§æŠèŠè³æäœæããéã®ã€ã¡ãŒãžã以äžã«ç€ºããŸãã Python ãã Word 圢åŒã®ããã°ã©ã æŠèŠè³æãäœæããããã®ã©ã€ãã©ãªèª¿æ»ãè¡ãªã£ãŠããæ§åã§ãã å³5-9ïŒPython ãã Word ãåŠçããããã«å¿
èŠãªã©ã€ãã©ãªã質åããå Žåã®åç å³5-10ïŒPython-docx ãšããã©ã€ãã©ãªã«ã€ããŠäœ¿ç𿹿³ã質åããå Žåã®åç ãã®ããã«ãçæ AI ãšã®å¯Ÿè©±ãéããŠãCOBOL èšèªãCardDemo ã«é¢ããç¥èãåŸã
ã«åºããªãããããã³ããã工倫ããã Python å®è£
ãè¡ãªã£ããããŠé²ããŠãããŸããã æ¬æŠèŠè³æäœæããã°ã©ã ã®äœæã«èŠããæéã§ãããèè
ã®å Žåã§çŽïŒé±éã§ããã æ¬ãã¢éçºãéããã©ãŒãã³ã°ã®ã·ã§ã¢ æ¬åãçµã¿ãéããŠåŸãããåŠã³ãã·ã§ã¢ããŸãã 1. æªç¥ã®èšèªãæªç¥ã®ã·ã¹ãã ã§ãã£ãŠãçæ AI ã䜿ãããšã§ãç°¡åã«çæéã§åŠã¶ããšãã§ãã å§ããåã¯ãçæ AI ã COBOL èšèªã®æ
å ±ãæã£ãŠãããåãããªãã£ããã質åããããšã§ç®çã«ååãªç¥èãããããšã確èªã§ããŸãããçæ AI ã䜿ãããšã§ãäžè¬çãªèšèªä»æ§ã®èª¬æãåŸãããäžã«ãç®ã®åã®ãœãŒã¹ã³ãŒãã«ã€ããŠã解説ãåŸãããã®ã§ãã·ã¹ãã ãäœãããŠããã®ãããæ©ãçè§£ããããšãã§ããŸããã ïŒLLM ãååã«åŠç¿ããŠããªãèšèªã ã£ãå Žåã§ãããã®èšèªã®ç¥èãæã¡èŸŒãããšïŒããã³ããããRAG çïŒã§å¯Ÿå¿å¯èœãªå¯èœæ§ããããŸãã 2. åŠã³ãæŠèŠè³æäœæã«æŽ»ããããšã§ãææç©ã®å質ãã©ãã©ãåäžãã åŠãã èšèªä»æ§ãåæãšããŠããã³ãããæ¹è¯ããããšã§ãç®çã«åèŽããæ
å ±ã確å®ã«åŸãããããã«ãªããŸããã çæ AI ã§ã¯åŸãããšãé£ããæ
å ±ã ãšåãã£ãå Žåã¯ãPython ã§ååŸããããã«å€æŽããŸããïŒäŸïŒããã°ã©ã è¡æ°ã®ååŸïŒããã®éãçæ AI ã䜿ã£ãŠ Python ã³ãŒããçæããããšã§ãçæéã§ç®çãéæããããšãã§ããŸãããïŒãã®ããã°ã§ã¯å²æããŸããããPython ã³ãŒãã®äœæã«ã¯ Amazon CodeWhisperer ã䜿ã£ãŠããŸããïŒ 3. çæ AI ãåºåããâæ¬åœãã©ããåãããªãâåºåããããã£ãœãã®ã§ããŸã䜿ããšäŸ¿å© çæ AI ã¯ãœãŒã¹ã³ãŒãå
ã®å€æ°åãããã·ãžã£ãŒåããããã£ãœã説æãçæããŸããïŒäŸïŒâTRNXFILEâ ãšãããã¡ã€ã«åã®èª¬æãããã©ã³ã¶ã¯ã·ã§ã³ããŒã¿ãå«ãå
¥åãã¡ã€ã«ããšåºåããŸãããïŒæ£ãããã©ããã¯èª¿æ»ãé²ããªããšåãããŸããããäºåæ
å ±ãªãããã£ãœã説æããŠãããã®ã§ãäžæŠæ§æãçè§£ããã®ã«åœ¹ç«ã¡ãŸããã ïŒèª¿æ»ãé²ã¿ãçæ AI ã®åºåãæ£ãããªããšæããããããã³ããã§ãã¡ã€ã«åã®åœåã«ãŒã«ãäžãããªã©ããã°ãããæ£ç¢ºãªåºåãåŸãããå¯èœæ§ããããŸãã æ¹åãã€ã³ã ä»åéãããæéã®äžã§ãæå³ã®ãããããªããã°ã©ã æŠèŠè³æãåŸããããšãããŸã§äœã蟌ãããšãã§ããŸããã ããã§ã¯ãã®æ¹æ³ãå®éã®ãããžã§ã¯ãã§æŽ»çšããããšæã£ãæã«ãèããããæ¹åã®ãã€ã³ãããããŠãããŸãã ããã³ããã¯ãŸã ãŸã æ¹åãã§ããŸããæç€ºãæ¹è¯ãããäŸã瀺ããªã©ããããšã§åºåãããããããããã€å®å®ãããããšãã§ããã¯ãã§ãã æŠèŠè³æã®ããã·ãžã£ãŒã®èª¬æã¯ãä»åã¯è¡šåœ¢åŒã§ã®èª¬æãšããŸãããããããŒãã£ãŒããªã©å³åãè¡ãªã£ãæ¹ãããçŽèгçã«ãããããããªããŸããPython ã§ã¯ã°ã©ãæ§é ãããã¹ãã§æç€ºããŠãããŒãã£ãŒããªã©ã®å³ãåºåã§ãã Graphviz ã䜿ããŸããçæ AI ã®åºåãšããŠãã® Graphviz ã§äœ¿ããã°ã©ãæ§é ã®ããã¹ããçæãããããšãã§ããŸããæ¹åã®äžã€ãšããŠãã®ãããªæ¹ä¿®ãå
¥ããã®ã¯æå¹ã§ãã çæ AI ã®åºåã¯æã«ã¯æåãšã¯èšããªããã®ãšãªãå¯èœæ§ããããŸããä»åã¯çæ AI ã®åºåãç®èŠã§ç¢ºèªãããªãã©ã€ãè¡ãªã£ãŠããŸããããçæ AI ã§åºåããææãçæ AI ã«ãã£ãŠåçå質ã倿ããå質ãäœãå Žåã¯èªåã§ãªãã©ã€ãããæ¹æ³ãèããããŸããçæ AI ã®åºåå質ãã§ãã¯çšã®ããŒã«ïŒäŸïŒhttps://github.com/citadel-ai/langcheckïŒãåºãŠããŠããŸãã®ã§ãçšéã«åã£ããã®ã䜿ãã®ãè¯ãããæ¹ã§ãã çæ AI ã§åºåãããæ
å ±ãããã«çµ±åçã«è§£æããçæ AI ãéãããšã§ããé«åºŠãªæ
å ±ãæŠèŠè³æã«å«ããããšãã§ããŸããäŸãã°ãåããã°ã©ã ãã䜿çšããŠãã COPYBOOK åãååŸæžã¿ã§ãããéã« COPYBOOK ã®ä¿®æ£ã«ãã圱é¿ãåãããã¡ã€ã«ã®äžèЧãåºåããããšãã§ããŸãããŸããåããã°ã©ã ãã¡ã€ã«ããçæããã説æãå
ã«ãçæ AI ã䜿ã£ãŠå床ããã°ã©ã å
šäœã®èª¬æãäœæããããšã§ãããã ã¢ããã§æ£ç¢ºãªèª¬æãã§ããå¯èœæ§ããããŸãã ãŸãšã æ¬ããã°ã§ã¯ãAWS ã®çæ AI ãµãŒãã¹ã§ãã Amazon Bedrock ã䜿ããCOBOL ãœãŒã¹ã³ãŒãã®ããã°ã©ã æŠèŠè³æãäœãæ¹æ³ã®è§£èª¬ãè¡ããŸãããAnthropic Claude ã®ããã³ããäŸãå
·äœçã«æç€ºããå¹ççã«æ£ããåçãåŸãããã®ããã³ãããã¯ããã¯ã«ã€ããŠè§£èª¬ããŸããã æ¬å
容ã¯COBOL以å€ã®ããã°ã©ã èšèªã§ãå¿çšã§ããå¯èœæ§ããããŸãã ããã°ã©ã æŠèŠè³æäœæã®ããã®æŠèŠè³æäœæããã°ã©ã ãäœãããšã§ãè§£æå¯Ÿè±¡ã®ã·ã¹ãã ãããæè»œã«æ©ãçè§£ããããšãã§ããããã«ãªããŸãããŸãæŠèŠè³æãèªãã çµæãæ°ããªèгç¹ã§èª¿æ»ãè¡ããããšãªã£ããšããããã®æŠèŠè³æäœæããã°ã©ã ã«æãå ããããšã§ãçæéã§èª¿æ»ãå®äºããããšãã§ããŸãããã®æŠèŠè³æäœæããã°ã©ã ã¯æ¢åã·ã¹ãã çè§£ã®ããã®éèŠãªããŒã«ãšãªããšå®æããŸããã ä»å玹ä»ããæ¹æ³ããæ¢åã·ã¹ãã ã®çè§£ä¿é²ãšå°æ¥ã®çºå±ã®ããã®åèã«ãªãã°å¹žãã§ãïŒ èè
ã«ã€ããŠ åæ¬ ç§ä¹(Hideyuki Katsumoto) 忬 ç§ä¹(Hideyuki Katsumoto) 㯠AWS Japan ã®ããŒãããŒãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ããšããŠãããŒãããŒã® AWS ããžãã¹ã®æšé²ãå奿¡ä»¶ã®æè¡æ¯æŽãæ
åœããŠããŸãã奜ããªãµãŒãã¹ã¯ Amazon Bedrock ã§ãã2024å¹Žã®æŽ»åããªã·ãŒã¯ãæãåããïŒããªã®ã§ãããããªãµã³ãã«ã³ãŒããäœã£ãŠãããããšæããŸããã質åããèŠæããã°ãé£çµ¡ãã ããïŒ æ¬æ© å貎 (Kazuki Motohashi) æ¬æ© å貎 (Kazuki Motohashi) ã¯ãAWS Japan ã®æ©æ¢°åŠç¿ããŒãããŒãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã§ããAWS äžã§æ©æ¢°åŠç¿é¢é£ã®ãœãããŠã§ã¢ãéçºããŠããããŒãããŒäŒæ¥ã®æè¡æ¯æŽãæ
åœãããŠããŸãã奜ããªãµãŒãã¹ã¯ Amazon SageMaker ã§ãã鱿«ã¯æã® RPG ã®ãªã¡ã€ã¯ã²ãŒã ã®æ»ç¥ã«å€ããã§ããŸããå士 (çåŠ)ã