Amazon Web Services ブログ

Amazon Bedrock でプログラム概要資料を生成しよう!!

前提:本ブログは既存システムの改修や更新に携わるエンジニアの方が既存プログラムの概要を把握する手段の選択肢の一つとして、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 の画面イメージは以下のようになっています。

CardDemo Console Image

図1-1:CardDemo の画面の一例

バッチプログラムの一覧はこちらです。

CardDemo Batch List

図1-2:CardDemo のバッチプログラムの一覧

実際に生成 AI の出力を組み込んだプログラム概要資料は以下のとおりです。

COBOL Specification Document #1COBOL Specification Document #2COBOL Specification Document #3 COBOL Specification Document #4 COBOL Specification Document #5COBOL Specification Document #6

図1-3:生成 AI の出力を組み込んだプログラム概要資料

以降では、プログラム本体のファイルと画面定義のファイルについて詳細を示します。

プログラム本体のファイル(ファイル拡張子.cbl)

COBOL Program/Specification Document Sample

図2-1:CardDemo のプログラム本体のファイル、右が作成したプログラム概要資料

プログラム概要資料にはプログラム名、プログラム説明のほか、使用する入力ファイル、出力ファイル、変数であるデータ項目、プロシジャーの処理概要、プロシジャーの一覧、プロシジャーから呼び出されプロシジャーの一部として実行される COPYBOOK というファイルの一覧を出力しています。

画面定義のファイル(ファイル拡張子.bms)

COBOL Display/Specification Document Sample

図2-2:CardDemo の画面定義のファイル、右が作成したプログラム概要資料

プログラム概要資料には画面名、画面説明のほか、画面イメージ、画面項目の一覧を出力しています。

いかがでしょうか?

プログラム本体や画面定義について、人が比較的に読みやすい形でドキュメント化できたことが分かりますね。

以降では、このドキュメントを Amazon Bedrock  を用いてどのように作成したのかを解説していきます。

Amazon Bedrock を用いたプログラム概要資料作成

概要資料作成プログラムの構成

今回作成した概要資料作成プログラム全体の構成は以下の通りです。

Program Structure

図3-1:プログラム概要資料作成プログラムの構成

全体は Python でプログラミングしています。Amazon Bedrock は COBOL ソースコードの解析部分に利用しています。

Amazon Bedrock から利用する LLM(Large Language Model) には Anthropic Claude v2.1 を使いました。選定理由は、1/日本語での出力が必要なことと、2/後述する通り XML や JSON などが取り扱え、高品質なアウトプットが期待できたためです。

概要資料作成プログラム詳細

概要資料作成プログラムの処理は以下の通りです。

  1. ファイルの情報(ファイル名、ファイルパス、サイズ、ファイル拡張子、ファイル行数)を取得する
  2. 各ファイルについて Amazon Bedrock を使って仕様情報を取得する
  3. 上述の情報をプログラム概要資料(Word 形式)に書き出す

1は概要資料にファイルの一覧を出力する目的のためファイルを列挙し、さらに生成 AI では難しいが Python で可能な処理(例:行数を数える)を行ないます。
2ではファイル種別毎にプロンプトを切り替えて仕様情報を取得します。
3では1、2で取得した情報をプログラム概要資料に書き出します。例えば1の結果をもとに画面一覧を出力したり、2の結果をもとに画面詳細仕様を出力したり、と言った感じです。

このブログでは Amazon Bedrock にフォーカスして説明するため Python 部分のコードについての説明は割愛しますが、サンプルプログラムの公開を検討中ですので後続のブログをお待ちいただけると幸いです。(こちらで公開予定です。)

以降、2の 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 のプロンプトガイドを引用して列挙します。

テクニック1:Mark different parts of the prompt/プロンプトのさまざまな部分にマークを付ける

Claude は XML タグを認識できるように微調整されています。XML タグを使用することで、プロンプトをサブセクションに区切ることができます。また JSON や YAML などの他の構造化形式も認識できます。今回のサンプルでは、指示を明確にするために XML タグを使いました。また、1回の API 呼び出しで複数の情報を得られるように JSON 形式で応答するように指示しました。

テクニック2:Put words in Claude’s mouth/クロードの口に言葉を入れる

生成 AI は回答の冒頭に、「○○○について、以下に説明します。」のような言葉を加えることがあります。これは概要資料に記載する項目としては不要です。上記プロンプトでは出力の形式を JSON にし、指示中の Condition に不要な説明を含めないように制限を示し、Assistant: の直後に JSON の“[”を指定することで、JSON のみの出力を得られるよう工夫しました。
*このプロンプトは概ねうまくいきますが、完全ではありませんでした。今回の事例では正しい出力を得るため再実行が必要なことがありました。

テクニック3:Documents before instructions/指示前にドキュメントを入れる

Claude は大きなコンテキストウィンドウがあり、大規模な COBOL プログラムもプロンプトに含めて渡すことができます。プロンプトの構造として、最初に指示を書き、次に入力となる COBOL コードを示した上で、最後に再度指示を書きました。これにより指示が守られやすくなります。

Amazon Bedrock の使い方として、使用したプロンプトは以上です。このプロンプトを使って得られた JSON 形式の応答を Python で受け取り、プログラム概要資料に出力しました。

次にこの概要資料作成プログラムを作るにあたり、どのように進めたのか説明していきます。

COBOL 初心者の私が COBOL 概要資料作成の生成 AI デモを開発した道のり

私は COBOL 言語を使ったことがありませんでしたので、当然文法についての知識もありませんでした。そのため生成 AI を使って COBOL 言語や COBOL ソースコードを理解しながら、概要資料作成プログラムを徐々に良くしていくという方法を取りました。

だいたい次のような流れで進めました。

  1. おおまかに質問して、全体感を把握する。
  2. 具体的にしたい部分に絞った質問をして、より詳細な情報を得る。
  3. キーワードをたまに Web 検索して、生成 AI の出力結果が正しいのか事実確認をする。
  4. 以降、1から3を繰り返す

Amazon Bedrock には生成 AI とインタラクティブに対話しながら  LLM  の出力をチェックし、質問応答を行うことができるチャットプレイグラウンドが用意されています。以下では、私がチャットプレイグラウンドを利用して COBOL 言語を学んでいった際のイメージを示します。

どのようなファイルがあるのかを質問したり、ファイルの仕様を質問したり、言語仕様の調査を行なっている様子です。

Amazon Bedrock Chat Playground #1

図5-1:COBOL 言語のファイル種別を質問した場合の回答

Amazon Bedrock Chat Playground #2

図5-2:COBOL 言語のプログラム本体のファイル構成を質問した場合の回答

Amazon Bedrock Chat Playground #3

図5-3:COBOL 言語の MOVE 命令について質問した場合の回答

Amazon Bedrock Chat Playground #4

図5-4:COBOL 言語の COPYBOOK について質問した場合の回答

ソースコードを調査した際のイメージを以下に示します。
プログラム全体の概要を説明させたり、ソースコードを少しずつ説明させたりしてソースコード調査を行なっている様子です。

Amazon Bedrock Chat Playground #5

図5-5:CardDemo のあるプログラム本体をすべて引用して質問したところ

Amazon Bedrock Chat Playground #6

図5-6:CardDemo のあるプログラム本体について引用して質問した場合の回答

Amazon Bedrock Chat Playground #7

図5-7:CardDemo のプログラム本体の数行について質問をしたところ

Amazon Bedrock Chat Playground #8

図5-8:CardDemo のプログラム本体の数行について質問した場合の回答

Python で概要資料作成した際のイメージを以下に示します。
Python から Word 形式のプログラム概要資料を作成するためのライブラリ調査を行なっている様子です。

Amazon Bedrock Chat Playground #9

図5-9:Python から Word を処理するために必要なライブラリを質問した場合の回答

Amazon Bedrock Chat Playground #10

図5-10:Python-docx というライブラリについて使用方法を質問した場合の回答

このように、生成 AI との対話を通して、COBOL 言語、CardDemo に関する知識を徐々に広げながら、プロンプトを工夫したり Python 実装を行なったりして進めていきました。
本概要資料作成プログラムの作成に要した期間ですが、著者の場合で約1週間でした。

本デモ開発を通じたラーニングのシェア

本取り組みを通して得られた学びをシェアします。

1. 未知の言語、未知のシステムであっても生成 AI を使うことで、簡単に短時間で学ぶことができた

始める前は、生成 AI が COBOL 言語の情報を持っているか分からなかったが、質問することで目的に十分な知識があることが確認できました。生成 AI を使うことで、一般的な言語仕様の説明を得られる上に、目の前のソースコードについても解説が得られるので、システムが何をしているのかより早く理解することができました。

*LLM が十分に学習していない言語だった場合でも、その言語の知識を持ち込むこと(プロンプトや、RAG 等)で対応可能な可能性があります。

2. 学びを概要資料作成に活かすことで、成果物の品質がどんどん向上した

学んだ言語仕様を前提としてプロンプトを改良することで、目的に合致する情報を確実に得られるようになりました。

生成 AI では得ることが難しい情報だと分かった場合は、Python で取得するように変更しました(例:プログラム行数の取得)。その際も生成 AI を使って Python コードを生成することで、短時間で目的を達成することができました。(このブログでは割愛しましたが、Python コードの作成には Amazon CodeWhisperer を使っています。)

3. 生成 AI が出力する“本当かどうか分からない”出力も、それっぽいのでうまく使うと便利

生成 AI はソースコード内の変数名やプロシジャー名からそれっぽい説明を生成します。(例:”TRNXFILE” というファイル名の説明を「トランザクションデータを含む入力ファイル」と出力しました。)正しいかどうかは調査を進めないと分かりませんが、事前情報なくそれっぽく説明してくれるので、一旦構成を理解するのに役立ちました。

*調査が進み、生成 AI の出力が正しくないと感じたら、プロンプトでファイル名の命名ルールを与えるなどすれば、より正確な出力が得られる可能性があります。

改善ポイント

今回限られた時間の中で、意味のありそうなプログラム概要資料を得られるところまで作り込むことができました。
ここではこの方法を実際のプロジェクトで活用しようと思った時に、考えられる改善のポイントをあげておきます。

  1. プロンプトはまだまだ改善ができます。指示を改良する、例を示すなどすることで出力をわかりやすく、かつ安定させることができるはずです。
  2. 概要資料のプロシジャーの説明は、今回は表形式での説明としましたが、フローチャートなど図化を行なった方がより直観的にわかりやすくなります。Python ではグラフ構造をテキストで指示してフローチャートなどの図を出力できる Graphviz が使えます。生成 AI の出力としてこの Graphviz で使えるグラフ構造のテキストを生成させることができます。改善の一つとしてこのような改修を入れるのは有効です。
  3. 生成 AI の出力は時には最善とは言えないものとなる可能性があります。今回は生成 AI の出力を目視で確認し、リトライを行なっていましたが、生成 AI で出力した成果を生成 AI によって回答品質を判断し、品質が低い場合は自動でリトライさせる方法が考えられます。生成 AI の出力品質チェック用のツール(例:https://github.com/citadel-ai/langcheck)も出てきていますので、用途に合ったものを使うのも良いやり方です。
  4. 生成 AI で出力された情報をさらに統合的に解析し、生成 AI を通すことでより高度な情報を概要資料に含めることができます。例えば、各プログラムから使用している COPYBOOK 名を取得済みですが、逆に COPYBOOK の修正により影響を受けるファイルの一覧を出力することができます。また、各プログラムファイルから生成された説明を元に、生成 AI を使って再度プログラム全体の説明を作成することで、ボトムアップで正確な説明ができる可能性があります。

まとめ

本ブログでは、AWS の生成 AI サービスである Amazon Bedrock を使い、COBOL ソースコードのプログラム概要資料を作る方法の解説を行いました。Anthropic Claude のプロンプト例を具体的に提示し、効率的に正しい回答を得るためのプロンプトテクニックについて解説しました。
本内容はCOBOL以外のプログラム言語でも応用できる可能性があります。

プログラム概要資料作成のための概要資料作成プログラムを作ることで、解析対象のシステムをより手軽に早く理解することができるようになります。また概要資料を読んだ結果、新たな観点で調査を行いたいとなったときも、この概要資料作成プログラムに手を加えることで、短時間で調査を完了することができます。この概要資料作成プログラムは既存システム理解のための重要なツールとなると実感しました。

今回紹介した方法が、既存システムの理解促進と将来の発展のための参考になれば幸いです!


著者について

Hideyuki Katsumoto

勝本 秀之(Hideyuki Katsumoto)

勝本 秀之(Hideyuki Katsumoto) は AWS Japan のパートナーソリューションアーキテクトとして、パートナーの AWS ビジネスの推進や個別案件の技術支援を担当しています。好きなサービスは Amazon Bedrock です。2024年の活動ポリシーは「手を動かす!」なので、いろんなサンプルコードを作っていきたいと思います。ご質問、ご要望あればご連絡ください!

Kazuki Motohashi

本橋 和貴 (Kazuki Motohashi)

本橋 和貴 (Kazuki Motohashi) は、AWS Japan の機械学習パートナーソリューションアーキテクトです。AWS 上で機械学習関連のソフトウェアを開発しているパートナー企業の技術支援を担当をしています。好きなサービスは Amazon SageMaker です。週末は昔の RPG のリメイクゲームの攻略に勤しんでいます。博士 (理学)。