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活用時代のUML再評価/UML collaborate with AI
Search
岡本卓也
November 29, 2024
Technology
0
100
AI活用時代のUML再評価/UML collaborate with AI
2024/11/30
TeckBoost LT大会発表資料
岡本卓也
November 29, 2024
Tweet
Share
More Decks by 岡本卓也
See All by 岡本卓也
私が好きなUMLダイアグラム / The UML Diagrams I Love.
okamototakuyasr2
0
56
スクラムチームだけどエクセルで要件定義書を書くことにしました / Requirements-Specification-Document-in-Scrum
okamototakuyasr2
2
1.7k
合宿はいいぞ / Training camp is so good.
okamototakuyasr2
0
700
幸運を科学する ~アジャイルチームの成功を再現する方法~ / How to reproduce nice team at ESM webiner.
okamototakuyasr2
0
60
幸運を科学する ~アジャイルチームの成功を再現する方法~
okamototakuyasr2
0
1.5k
アジャイルと設計 / Design in Agile Development
okamototakuyasr2
0
48
なぜアジャイルをやるのですか
okamototakuyasr2
0
190
コミュニティと人の縁〜まずは楽しんで、そしてその先にあるもの〜
okamototakuyasr2
0
480
アジャイル開発の中の設計
okamototakuyasr2
0
930
Other Decks in Technology
See All in Technology
Keynote - KCD Brazil - Platform Engineering on K8s (portuguese)
salaboy
0
120
大規模アジャイル開発のリアル!コミュニケーション×進捗管理×高品質
findy_eventslides
0
460
20250326_管理ツールの権限管理で改善したこと
sasata299
1
360
ソフトウェア開発現代史: なぜ日本のソフトウェア開発は「滝」なのか?製造業の成功体験とのギャップ #jassttokyo
takabow
2
1.5k
OPENLOGI Company Profile for engineer
hr01
1
22k
Go製のマイグレーションツールの git-schemalex の紹介と運用方法
shinnosuke_kishida
1
400
Go の analysis パッケージで自作するリファクタリングツール
kworkdev
PRO
1
410
SSH公開鍵認証による接続 / Connecting with SSH Public Key Authentication
kaityo256
PRO
2
210
技術好きなエンジニアが _リーダーへの進化_ によって得たものと失ったもの / The Gains and Losses of a Tech-Enthusiast Engineer’s “Evolution into Leadership”
kaminashi
0
200
Dapr For Java Developers SouJava 25
salaboy
1
130
Agile TPIを活用した品質改善事例
tomasagi
0
290
バクラクでのSystem Risk Records導入による変化と改善の取り組み/Changes and Improvement Initiatives Resulting from the Implementation of System Risk Records
taddy_919
0
220
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
52
11k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
A better future with KSS
kneath
238
17k
4 Signs Your Business is Dying
shpigford
183
22k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Adopting Sorbet at Scale
ufuk
75
9.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Writing Fast Ruby
sferik
628
61k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.4k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Scaling GitHub
holman
459
140k
Transcript
© 2024 ESM, Inc. Tech Boost LT大会 AI活用時代のUML再評価 1 2024年11月30日
永和システムマネジメント Agile Studio 岡本 卓也
© 2024 ESM, Inc. 自己紹介 • 岡本 卓也 • EM@AgileStudio
• スクラムコーチ兼開発者 ◦ ガチWF :15 年 ◦ 過渡期 :5年 ◦ Agile :5年 • アジャイル開発導入支援 WFからの移行支援 • X:@haraguro3 好きなものはアジャイルとモデリングとトムデマルコ。 • note:https://note.com/haraguro3 • mail:
[email protected]
2
© 2024 ESM, Inc. マイブーム AIに仕事を手伝ってもらう • 調査 • 設計
• コーディング • レビュー • テスト • デバッグ • 不具合対応 • 情報整理 • アジェンダ作成 • スライド作成 3
© 2024 ESM, Inc. 今日のお話 4
© 2024 ESM, Inc. はじめに 背景 • UML(Unified Modeling Language)はかつて開発設計の中心だったが
時代とともにその役割が薄れた。 • その原因には「コード自動生成の失敗」や「利用目的の曖昧さ」が挙げられる。 新たな視点 • 近年、AI技術が急速に進化し、UMLの再評価が可能になった。 AIがUMLを「読む」「書く」能力を持ち、これをどう活用できるか? 5
© 2024 ESM, Inc. UMLの過去と現在 かつてのUMLの目的 • 人間同士の設計コミュニケーションのためのツール。 • 自動コード生成への挑戦(例:MDA
- Model-Driven Architecture)も 試みられたが、大規模な失敗に終わった。 現在の状況 • 利用頻度は減少し、特定の開発分野や学術的な場で使われる程度に。 • UMLはオワコン。 6
© 2024 ESM, Inc. AIによるUMLの新しい可能性 AIがUMLを読み書きできる時代 • AIモデル(例:ChatGPT、GPT-4など)は、UMLのモデルを解析し、 それに基づいてコードや設計文書を生成可能。 •
人間が手書きしたUMLを画像として提供しても認識可能なマルチモーダル能力。 厳密性を提供するツール • MermaidやPlantUMLのような記述形式なら、AIは曖昧さなくモデルを理解し、 意図を正確に再現できる。 7
© 2024 ESM, Inc. AIと協業する観点でUMLを再評価 人間 vs. AI:UMLの利用目的が変わる • これまでは「人間同士」のコミュニケーション手段として利用されていた。
• これからは「AIが理解しやすい設計モデル」としての価値が出てくる。 実際の利用シナリオ • UMLを設計ツールとして使い、AIにコード生成やデバッグ支援を依頼。 8
© 2024 ESM, Inc. 実験してみました 9
© 2024 ESM, Inc. お題 こんなシステムを作るとしたら? • レンタルビデオショップのシステムを設計します。 • このシステムでは、利用者がビデオを借りたり返却したりする操作を管理します。
• ショップのスタッフは、ビデオの在庫を確認したり、新しいビデオを追加したりする ことができます。 10
© 2024 ESM, Inc. クラス図を読んで要件を理解する 11 実験その1
© 2024 ESM, Inc. 人間がクラス図を書いた 12
© 2024 ESM, Inc. この画像を読み込ませてみる 13
© 2024 ESM, Inc. 理解できたこと 14
© 2024 ESM, Inc. 理解できたこと 15
© 2024 ESM, Inc. 理解できたこと 16
© 2024 ESM, Inc. 理解できたこと 17
© 2024 ESM, Inc. 理解できたこと 18
© 2024 ESM, Inc. 理解できたことをクラス図に戻してみる 19
© 2024 ESM, Inc. AIが書いたクラス図 20 オリジナル
© 2024 ESM, Inc. 実験結果(その1) • 画像からほぼ完璧に意図を理解することができる • 入力にない情報も文脈を汲み取って補完してくれる •
PlantUMLによる出力が可能 21
© 2024 ESM, Inc. 要件を理解してクラス図を書く 22 実験その2
© 2024 ESM, Inc. 要件を提示する 23
© 2024 ESM, Inc. AIが書いたクラス図 24 オリジナル
© 2024 ESM, Inc. コードの自動生成にチャレンジ 25
© 2024 ESM, Inc. AIが実装したコード 26
© 2024 ESM, Inc. AIが実装したコード 27
© 2024 ESM, Inc. AIが実装したコード 28
© 2024 ESM, Inc. AIが実装したコード 29
© 2024 ESM, Inc. AIが実装したコード 30
© 2024 ESM, Inc. AIが実装したコード 31
© 2024 ESM, Inc. 実験結果(その2) • 自然言語からほぼ完璧に意図を理解することができる • 入力にない情報も文脈を汲み取って補完してくれる •
PlantUMLによる出力が可能 • プログラム言語による出力が可能(コードの自動生成が実用レベル) 32
© 2024 ESM, Inc. わかったこと 33
© 2024 ESM, Inc. 完全に実用レベル 34 人間 設計 実装 思考
自然言語 モデル ソースコード 生成 生成 解析 説明
© 2024 ESM, Inc. AIと協業する観点でUMLを再評価 AIの利用シナリオ • AIを設計アシスタントとして使い、レビューとフィードバックを依頼。 • AIをドキュメントライターとして使い、設計ドキュメント作成を依頼。
• AIを高級コンパイラとして使い、コード生成を依頼。 • AIをコードレビュアーとして使い、レビューとフィードバックを依頼。 • AIをデバッグ要員として使い、エラーの調査と修正を依頼。 UMLの価値 • 設計/実装のための中間言語として用いることで、高精度なAI支援を受ける • プロジェクト/プロダクトの文脈を与えることで、高精度なAI支援を受ける 35
© 2024 ESM, Inc. でも所詮は、レンタルビデオの 簡単なサンプルでしょ? と思った人 36
© 2024 ESM, Inc. 実開発でもバリバリに使っています 37 実例
© 2024 ESM, Inc. 実装レベルの設計(クラス図) 38
© 2024 ESM, Inc. 39
© 2024 ESM, Inc. 設計レビュー 40
© 2024 ESM, Inc. 41
© 2024 ESM, Inc. 42
© 2024 ESM, Inc. 43
© 2024 ESM, Inc. AIがやっている仕事 • 利用する技術やライブラリの調査 • 実験用のサンプルコード生成 •
アーキテクチャのレビュー • プロダクトコードの生成(80点くらい) • テストコードの生成(90点くらい) • コードレビュー 44
© 2024 ESM, Inc. AIと働いてみて Good • 開発チームにシニアエンジニアが加わった感じ • Googleによる検索を完全に置き換えた
• 思いつき→調査→実装して実験、のサイクルが爆速になる • 結果として、エンジニアとしての学習速度が爆上がりする Note • AIはエンジニアの力を0→1ではなく、1→10とか10→100にしてくれる • 地力の強いエンジニアほどAIのメリットを多く受けられる • AIの使い方は明瞭期、しかし今トライしないと確実に取り残される 45
© 2024 ESM, Inc. おしまい 46