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
840
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
レガシーシステムの機能調査・開発におけるAI利活用
takuya ohtonari
June 11, 2025
Other Decks in Programming
See All in Programming
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
520
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
320
Modding RubyKaigi for Myself
yui_knk
0
910
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
520
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
310
The NotImplementedError Problem in Ruby
koic
1
660
net-httpのHTTP/2対応について
naruse
0
460
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
3.4k
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
630
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1.2k
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
150
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
18
6.3k
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
820
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How to Talk to Developers About Accessibility
jct
2
220
Statistics for Hackers
jakevdp
799
230k
Thoughts on Productivity
jonyablonski
76
5.2k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
330
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
The agentic SEO stack - context over prompts
schlessera
0
800
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
The browser strikes back
jonoalderson
0
1.2k
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