MaguyvaのCOBOL対応: レガシーモダナイゼーションのための依存関係解析
ここでは、幅広い言語対応が単なる数字の話ではなく、実際のモダナイゼーションツールになります。
拡張子
.cbl, .cob, .cpy
Javaは、多くのAIコードツールが最も厳しい現実に直面する場所です。コードベースは大規模で層が深く、ローカルな編集は安価でも、パス全体を理解することはそう簡単ではないほど古びています。単純なリクエストと実際の挙動の間には、コントローラー、サービス、リポジトリ、イベント、社内フレームワーク、モジュール横断のコントラクトがすべて挟まっています。
したがって重要な問いは、MaguyvaがJavaをパースできるかどうかではありません。他のチームが依存しているコードを変更する前に、あるクラスがどこに位置づけられるかを理解するのに十分なグラフコンテキストを、エージェントが保てるかどうかです。
Maguyvaは、クラス、インターフェース、コンストラクタ、メソッド、列挙型を別個の構造として抽出します。また、オブジェクト生成、配列生成、そして::newのようなコンストラクタ参照をインスタンス化のシグナルとして扱います。これは、エンタープライズのサービスコードにおいてグラフを実用的なものに保つのに役立つ種類の工夫です。
この設定において特に良い兆候の1つは、map、filter、collectのような一般的なストリーム系メソッドが、破棄されるのではなく許可リストに載っている点です。これは重要です。というのも、Javaのビジネスロジックの多くはこれらのメソッドを通過するため、それらを取りこぼすとグラフは実際のコードよりも実態を表さないものになってしまうからです。
レビューとリファクタリングの作業の大半は、次の3つの実践的な入り口でカバーできます。
find_symbol — サービス、リポジトリ、インターフェース、DTOの名前が分かっているとき。dependency_search — 共有コントラクトや中心的なサービスクラスを変更する前に。get_task_context — 「コントローラーから永続化層まで支払い承認を追跡する」のようなプロンプトで、複数ホップの要約をすばやく得たいとき。「これは大規模なJavaコードベースの中でエージェントが安全に作業する助けになるか?」という問いを持っているなら、ここから始めてください。周囲の資産により古いメインフレームのロジックが含まれる場合は、COBOLも読んでみてください。比較の対象がよりエンタープライズ向けのOOスタック全般である場合は、C#の方が近い比較対象になります。
最適な用途
エージェントワークフロー
エンジンの詳細
役立つMCPエントリーポイント
find_symbol
サービス、リポジトリ、インターフェース、DTOの名前について、正確なシンボルとその参照が必要なときに使用してください。
dependency_search
中心的なサービスやcontractを変更する前に実行し、どのモジュールがそれに依存しているかを確認してください。
get_task_context
レイヤー化されたスタックにおいて、「controllerからpersistenceまでの支払い承認フローを追跡する」といったプロンプトに適しています。
関連ガイド