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
280
レガシーシステムの機能調査・開発におけるAI利活用
takuya ohtonari
June 11, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
20250528 AWS Startupイベント登壇資料:AIコーディングの取り組み
procrustes5
0
130
FastMCPでMCPサーバー/クライアントを構築してみる
ttnyt8701
2
120
型安全なDrag and Dropの設計を考える
yudppp
5
700
SODA - FACT BOOK
sodainc
1
320
コードに語らせよう――自己ドキュメント化が内包する楽しさについて / Let the Code Speak
nrslib
6
1.2k
少数精鋭エンジニアがフルスタック力を磨く理由 -そしてAI時代へ-
rebase_engineering
0
150
2度もゼロから書き直して、やっとブラウザでぬるぬる動くAIに辿り着いた話
tomoino
0
130
DevDay2025-OracleDatabase-kernel-addressing-history
oracle4engineer
PRO
7
1.7k
CSC307 Lecture 17
javiergs
PRO
0
100
Prism.parseで 300本以上あるエンドポイントに 接続できる権限の一覧表を作ってみた
hatsu38
1
100
TypeScript だけを書いて Tauri でデスクトップアプリを作ろう / Tauri with only TypeScript
tris5572
2
560
REST API設計の実践 – ベストプラクティスとその落とし穴
kentaroutakeda
2
340
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
We Have a Design System, Now What?
morganepeng
52
7.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
106
19k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Optimizing for Happiness
mojombo
378
70k
Designing for Performance
lara
608
69k
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