その結果、AIエージェントはコードベース修正のための最適でない計画を立ててしまいます。たとえば log4j1 から v2 への移行を行っていた際、AIエージェントが更新を必要とするコールサイトを 9 件見つけてきたのに対し、全体は 54 件でした。
これを解決するために、私は AIエージェントが Cypher 言語を使ってクエリできるセマンティックなコードグラフを構築しました。AIエージェントにこのグラフをスキルの利用を通じて組み込むか、あるいは MCP 経由で公開することで、移行タスクにおいてAIエージェントが大幅に高い精度を出せるようになりました。これにより 54 件すべてのコールサイトの発見が可能になっただけでなく、同じ基底クラスを継承しているコールサイトが 54 件中 30 件あることを判定することで作業量も最適化できました。つまり、基底クラスを変更するだけで十分でした。
Java のリファレンス実装を公開しました:
Github: https://www.github.com/neuvem/java2graph
ぜひご意見を教えてください。また、考え・所感・フィードバックも共有していただければ幸いです
[リンク] [コメント]




