生成AIとは共同作業を!レガシコードの解析に使ってみた

レガシシステム

美味しい水をお探しですか?
定額制だからお水は使い放題!全て“月額料金”にコミコミ!
利用料金は業界最安値!

PR広告!おいしい水を水道水から【Locca】


いま仕事でレガシ・システムの再構築に関わっていて、ABAPという言語で書かれたソースコードを解析している。

コメントなどを見ると作成日が1999年のような古いものもある。仕様書があっても改訂がされておらず、ソースコードと齟齬がある。中には、仕様書が無いものもある。

そして、私はABAPでの開発経験はない!ABAPと似た言語でCOBOLという言語は多少なりとも経験があるのが救いだ。

このような状況で約700行余りのABAPプログラムを解析するのに生成AIを使ってみた。

まずは手始めに「このABAPプログラムの処理内容を教えてください」とプロンプトを打ち込んで、ABAPのソースコードを読み込ませてみた。

その結果、数行でプログラムがどのような処理をしているのかを要約してくれた。しかし、それではあまりに粗過ぎるので以下のように目次を指示してみた

・処理概要
・入力項目
・出力項目
・主処理
・副処理
・例外処理


その結果、ソースコードを解析した結果を目次に沿って解説してくれた。そこで次に、さらに主処理について詳しく教えて欲しいとか、入出力項目の日本語名称を聞いてみると、さらに詳しく教えてくれた。

また、内部で使用している汎用モジュールについても聞いてみると、汎用モジュールの処理内容なども教えてくれた

汎用モジュールはソースコードが展開されているわけではないので、ネット上にある情報から拾ってきたものと思われる。

このように解析を進めた結果、普通にソースコードを読解していたら2~3週間はかかっていたと思われるが、1週間ほどで解析を完了することができた

私は若いころレガシ・コードを高速に解析して保守するために速読を学んだが、それでも開発経験のないABAPのソースコードをやみくもに速読するよりは非常に効率的だった。

このように非常に有能なパートナーである生成AIであるが完ぺきではない。特に解析内容を記述する粒度のレベルがなかなか意図したようにならなかった

概要の記述を求めると粗過ぎ、詳細な記述を求めると細か過ぎるのだ。また、入出力項目などが沢山あると適当に省略される

そういう場合は「全ての」項目を列挙してほしいなどと追加で指示を出すなどが必要になる。

時にはソースコードを確認し、間違えている場合はそれを指摘して修正してもらうということも必要になる。

自分でソースコードを確認するなら生成AIを使う意味がないなどと考えるのは早計だ。

生成AIにソースコードを読ませてボタンを押したら、完ぺきな解析内容や仕様書が生成されるという「夢」のようなことを、まだ期待しないほうが良い

あくまで有能なパートナーとして共同作業をするという気持ちで「根気よく」付き合うことだ。それでも、十分に生産性向上に寄与してくれる

例えば、PLMx生成AIという組み合わせによる実証実験なども行われている。PLMに蓄積された既存の設計情報を生成AIを使って検索するなどだ。

受注設計生産では毎回、顧客仕様に合わせた設計が必要図面(部品)の再利用率の向上が難しいとされている。

しかし、生成AIを使って顧客仕様に合った再利用可能な図面(部品)を容易に検索できれば、新図(新部品)の数を減らせる。

既存の図面(部品)を再利用できれば、治工具生産設備も再利用できるし、調達コストもさがる、アフターメンテナンスも複数製品間で同じ補用品が使えるなどバリューチェーンサプライチェーン全体でコスト削減につながる。

この時にも生成AIに完ぺきを求めて、一発で最適解を得ようなどと考えず、生成AIと会話を繰り返しながら、時にはフィードバックによって教育しながらよきパートナー」として共同作業するのがよい。

それにより、こちらも生成AIとの付き合い方を学習でき、プロンプトの出し方がうまくなる

まだまだ生成AIは使えない」と高みの見物を決めている会社より数段も先へ進むことができる。後からではなかなか追いつけないかもしれない。

そうなると生成AIとの付き合い方に「模擬困難性」が生じ、リソースベースドビューによる競争優位を獲得することにもつながる

今後は生成AIに自社の経営資源である「人・もの・金」をどれだけ先行投資したかで、とてつもない競争優位の格差が生じる可能性がある。

他社先駆けて虚をつく戦略が、労せず功を奏する

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●企業システム戦略 孫子の兵法 虚実篇 その3
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

その必ず趨く所に出でて、その意わざる所に趨く。行くこと千里にして労せざる者は、無人の地を行けばなり



話の分かる優秀なコンサルタントをお探しですか?

PR広告!一流コンサルタントに3.85万(税込み)〜WEB相談できる!【コンパスシェア】


DXに強いシステム開発会社をお探しですか?

PR広告!システム開発業者を完全無料でご紹介します!【EMEAO!】




PR広告!おいしい水を水道水から【Locca】



【PR広告】



■120社1000人以上が受講!!

1.研修・オンライン講座      
  経験と勘だけのレビューから脱却する!レビューを体系的に学び、成果につなげる!          
  『【リスク指向】超ドキュメントレビュー実践法』
  ※実務ですぐに使えるチェックリストを使用した演習付き!
  
  危険予知能力を高め、リスクを見つける!
  『100の失敗事例に学ぶ!企業システム戦略の危険予知訓練』
  ※すぐに実践で役立つ100の失敗事例による危険予知訓練の演習付き!

■便利な道具箱

自動でしゃべるパワーポイント(VBAマクロ)
 ノート欄のテキストを音声合成エンジンが読み上げ、画面も自動で切り替わるVBAマクロ!
音声を録音するよりとっても楽です。失敗して録音をやり直す手間もなく、部分的な変更も楽々です。

簡易日程計算(Excel/VBA)
 製品構成展開されたツリーデータを使用して、製品を期日までに組立完成させるために必要な日程を計算するExcel/VBA!

簡易原価積上げ計算(Excel/VBA)
 製品構成展開されたツリーデータを使用して、製品を構成する部材の原価を積上げ、製品原価を計算するExcel/VBA!

簡易所要量計算(Excel/VBA)
 製品構成展開されたツリーデータを使用して、製品を組み立てるために必要な部品の個数を
 計算するExcel/VBA! 

■間違いだらけのシステム構築(無料冊子ダウンロード)
 ~企業システムの強化書~
 https://www.kigyo-systems.com/books/book.html

PR広告!TechAcademy [テックアカデミー]
PR広告!システム開発業者を完全無料でご紹介します!【EMEAO!】

メルマガ読者登録・配信中止



コメント

タイトルとURLをコピーしました