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
130
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
66
スクラムチームだけどエクセルで要件定義書を書くことにしました / Requirements-Specification-Document-in-Scrum
okamototakuyasr2
2
1.8k
合宿はいいぞ / Training camp is so good.
okamototakuyasr2
0
720
幸運を科学する ~アジャイルチームの成功を再現する方法~ / How to reproduce nice team at ESM webiner.
okamototakuyasr2
0
66
幸運を科学する ~アジャイルチームの成功を再現する方法~
okamototakuyasr2
0
1.6k
アジャイルと設計 / Design in Agile Development
okamototakuyasr2
0
50
なぜアジャイルをやるのですか
okamototakuyasr2
0
200
コミュニティと人の縁〜まずは楽しんで、そしてその先にあるもの〜
okamototakuyasr2
0
480
アジャイル開発の中の設計
okamototakuyasr2
0
970
Other Decks in Technology
See All in Technology
Serverlessだからこそコードと設計にはこだわろう
kenichirokimura
2
940
AI駆動で進化する開発プロセス ~クラスメソッドでの実践と成功事例~ / aidd-in-classmethod
tomoki10
1
1k
genspark_presentation.pdf
haruki_uiru
1
240
Simplify! 10 ways to reduce complexity in software development
ufried
2
240
Part1 GitHubってなんだろう?その1
tomokusaba
3
740
SaaS公式MCPサーバーをリリースして得た学び
kawamataryo
0
120
AndroidアプリエンジニアもMCPを触ろう
kgmyshin
2
640
RubyKaigi NOC 近況 2025
sorah
1
700
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
110
AOAI で AI アプリを開発する時にまず考えたいこと
mappie_kochi
1
650
LLMの開発と社会実装の今と未来 / AI Builders' Community (ABC) vol.2
pfn
PRO
1
120
20 Years of Domain-Driven Design: What I’ve Learned About DDD
ewolff
1
300
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
For a Future-Friendly Web
brad_frost
177
9.7k
What's in a price? How to price your products and services
michaelherold
245
12k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
It's Worth the Effort
3n
184
28k
The Pragmatic Product Professional
lauravandoore
33
6.6k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Fireside Chat
paigeccino
37
3.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
A designer walks into a library…
pauljervisheath
205
24k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
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