Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
レガシーシステムの機能調査・開発におけるAI利活用
Search
takuya ohtonari
June 11, 2025
Programming
0
720
レガシーシステムの機能調査・開発におけるAI利活用
takuya ohtonari
June 11, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
CSC509 Lecture 05
javiergs
PRO
0
300
LLMとPlaywright/reg-suitを活用した jQueryリファクタリングの実際
kinocoboy2
4
670
ソフトウェア設計の実践的な考え方
masuda220
PRO
3
500
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
23
12k
どの様にAIエージェントと 協業すべきだったのか?
takefumiyoshii
2
620
Serena MCPのすすめ
wadakatu
4
910
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
940
Advance Your Career with Open Source
ivargrimstad
0
380
Signals & Resource API in Angular: 3 Effective Rules for Your Architecture @BASTA 2025 in Mainz
manfredsteyer
PRO
0
110
クラシルを支える技術と組織
rakutek
0
190
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
790
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
240
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
75
5k
Code Reviewing Like a Champion
maltzj
525
40k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
A better future with KSS
kneath
239
17k
Context Engineering - Making Every Token Count
addyosmani
5
200
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
Balancing Empowerment & Direction
lara
4
680
Bash Introduction
62gerente
615
210k
Thoughts on Productivity
jonyablonski
70
4.9k
Transcript
レガシーシステムの 機能調査・開発における AI 利活用 1 / 15
本 LT の内容 レガシーシステムの調査や開発においてふりかえって考えたときに AI に頼って正解だったと思えることを共有します 話すこと 本 LT におけるレガシーシステムとは
利用した AI ツールや利用方法 話さないこと AI を利用できるようにするまでの過程や手順 AI 同士の比較結果 2 / 15
お伝えしたいこと まずは認知負荷を下げる方法を考えよう! 3 / 15
大隣 卓也 バックエンドエンジニア / 広く浅く何でも屋 所属: オイシックス・ラ・大地株式会社 # ゲーム #
ポタリング # 謎解き # リアル脱出ゲーム # 音楽 4 / 15
本 LT における「レガシーシステム」 色々と暗黙的で認知負荷が非常に高い状態 明確な仕様がない・わからない テストケースや自動テストが積み上げられておらず、毎回ゼロから作成している 何故、そうなっているのか、そうしたのか、読み解くことができないソースコード 5 / 15
この LT を届けたい人たち 猫の手も借りたい、でも… Agent モードの処理が先に進まない そもそも目の前のお仕事が手一杯で AI と試行錯誤する余裕がない 最終的に人間が責任をもたないといけないため、任せっきりにできない
使いこなせずお金と時間だけ浪費していく不安がある 人間にとって認知負荷が高い状態は AI にとっても同様に認知負荷が高いことも 6 / 15
実例紹介 おまかせできるようにするために AI と伴走する 難しく考えず「これだけでもいいんだ」を実感する 7 / 15
参考)弊社における AI 事情 今回紹介する内容は、以下を利用した結果です 利用できる AI ツール Gemini NotebookLM GitHub
Copilot Amazon Bedrock モデルは割愛します 利用している環境 Visual Studio Code IntelliJ IDEA 基本的にはローカル環境で利用したお話です 8 / 15
ノイズを減らして認知負荷を下げていく 例) 「長期間、コメントアウトされているソースコードを削除してください」 PR レビューの負荷も小さい 心理的負担、時間を軽減できる Ask モードで利用する場合 削除したソースコードを出力してくれる コピペして差分チェック
Agent モードで利用する場合 区切りをつけて任せるとうまくいく パッケージ単位など 別案)明らかに不要になったコンパイルスイッチの削除を依頼する、など 9 / 15
とりあえずユニットテストを作らせてみる 例) 「このファイルのユニットテストを作成してください」 作成されたユニットテストをベースにコードを読み込んでいく ある程度の使い方がざっくりと理解しやすくなる AI に更に修正させる 作成させたユニットテストに対して 「このファイルの問題点を指摘してください」 カバレッジレポートをコンテキストに追加して
「テストカバレッジを高めてください」 人間の手で修正して学ばせる 理想的な形にリファクタリングする ルールを記載したファイルを作成して 次回以降、コンテキストに指定する 一切読まずに呼吸をするように指示を出すのがコツ 10 / 15
読みやすい形に整理させてみる 例) 「このファイルについて説明してください。 以下のアウトラインに従い markdown 形式で出力してください。 」 アウトラインをテンプレート化してテンプレートも育てていく アウトラインの例 はじめに
主な特徴・役割 画面 画面遷移 依存関係 ドキュメントに残して人間が育てていく AI は出力内容が安定しないため ある程度満足なものが出力されたら残す 今度は AI のインプットにできる状態を目指す 11 / 15
SQL を作らせてみる 例) 「< テーブル名> の < カラム名> を更新する SQL
を作成してください」 IntelliJ の Database Tool Window で Schema を表示できる状態で指示を出す Schema に対応した SQL を作成してくれる 大体の CRUD を出力できる 複雑な SQL も言語化できれば作成してくれる SQL をファイル化しておくと吉 参照して他の SQL をベースに出力してくれる 12 / 15
参考)失敗例 失敗例) 非常に大きなサイズのファイル(数千行〜数万行)に対して調査指示 何故か別のファイルの調査結果を出してきた 13 / 15
参考)失敗例 ワークスペース全体に対して以下のような指示 「〇〇の処理を行っている箇所を特定して」 AI からの回答は以下のような結果になりました このような単語を用いることが多いです(関連キーワードが羅列される) ワークスペース内で関連キーワードを検索してみましょう 一般的なシステムではこのような場所で実装されることが多いです(テーブル名や処理名が羅列される) 具体的なファイルを確認してお教えできますので、関連するファイルを教えて下さい その関連するファイルを教えてほしいのですよ…
14 / 15
ご清聴ありがとうございました 15 / 15