設計は最強のプロンプト - AI時代に武器にすべきスキルとは?-
by
Ken'ichirou Kimura
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
設計は最強のプロンプト - AI時代に武器にすべきスキルとは?- 2025/11/08 PHPカンファレンス福岡 木村健一郎 / @show_m001 Copyright © Alterbooth Inc. All Rights Reserved. 1
Slide 2
Slide 2 text
自己紹介 株式会社オルターブース クラウドソリューション部 副部長 木村 健一郎(Kenichiro KIMURA) (@show_m001) 2020年にオルターブースにジョイン。 テックリードとしてAzureやGitHubを 武器に、お客様の支援やプロダクトの 開発に従事している。 Copyright © Alterbooth Inc. All Rights Reserved. 2
Slide 3
Slide 3 text
• 設計は最強のプロンプト • 壊れにくくメンテしやすいコードに導く • AIに簡潔に正しく意図を伝えられる • AIの試行回数を減らし確率を収束させる • AIの出力の評価 • AIとの協業を支えるツールの例 • 設計の学び方 本日のまとめ Copyright © Alterbooth Inc. All Rights Reserved. 3
Slide 4
Slide 4 text
• AI時代に設計力が求められる理由 • 設計が最強のプロンプトになる • ターゲットは商用の(仕事としての)ソフト ウェア開発 本日お話すること Copyright © Alterbooth Inc. All Rights Reserved. 4
Slide 5
Slide 5 text
• 個人プロダクト・趣味の開発のお話 • 個々のツールの詳細なお話 • 個々の設計手法のお話 本日お話しないこと Copyright © Alterbooth Inc. All Rights Reserved. 5
Slide 6
Slide 6 text
• 個人プロダクト・趣味の開発のお話 • 個々のツールの詳細なお話 • 個々の設計手法のお話 • PHPのこと 本日お話しないこと Copyright © Alterbooth Inc. All Rights Reserved. 6
Slide 7
Slide 7 text
AI、特にAIエージェントが自律的にコード を書く時代の到来 • コーディングの単純な速度や単位時間の処 理量(スループット)でAIに勝つのは不可能 • ならばこれから人にはどんなスキルが求め られるのか? AI時代に求められるスキルとは? Copyright © Alterbooth Inc. All Rights Reserved. 7
Slide 8
Slide 8 text
よく言われること • AIの書くコードは品質が悪い • 品質が悪いコードを量産されてレビュー 負荷ばかり高まる • とりあえず動いてはいるが、後の修正に 耐えられずほぼ書き直しになる AI vs 人間のエンジニア Copyright © Alterbooth Inc. All Rights Reserved. 8
Slide 9
Slide 9 text
ものづくりの対比構造 Copyright © Alterbooth Inc. All Rights Reserved. 9 • 産業革命時の機械工業化 による大量生産と職人の ものづくり • 近年の中国製品と日本の ものづくり
Slide 10
Slide 10 text
• いずれも、圧倒的なスケールとスピード は「世界の価値観の変革」を起こした • 職人のものづくり(≒高品質な仕事)は必要 だが、世界のルールが変わってしまった • ゲームチェンジが起こった スケールが起こすゲームチェンジ Copyright © Alterbooth Inc. All Rights Reserved. 10
Slide 11
Slide 11 text
ソフトウェアエンジニアの仕事は「ソフト ウェアを書くこと」ではなく「価値を提供/ 創造する」こと • 社会や誰かの課題を解決する • 課題を解決するための生産性を向上させる • 新しい価値を生み出す ソフトウェアエンジニアの仕事とは Copyright © Alterbooth Inc. All Rights Reserved. 11
Slide 12
Slide 12 text
コーディングはあくまでも価値を提供/創造 するための手段 • 手段の領域でAIに対抗する意味はありま すか? • 手段ならばAIもうまく使うべきではない ですか? コーディングでAIと闘う? Copyright © Alterbooth Inc. All Rights Reserved. 12
Slide 13
Slide 13 text
品質 x スループット Copyright © Alterbooth Inc. All Rights Reserved. 13 品質 スループット
Slide 14
Slide 14 text
品質 x スループット Copyright © Alterbooth Inc. All Rights Reserved. 14 品質 スループット 普通の人
Slide 15
Slide 15 text
品質 x スループット Copyright © Alterbooth Inc. All Rights Reserved. 15 品質 スループット 普通の人 凄い人
Slide 16
Slide 16 text
品質 x スループット Copyright © Alterbooth Inc. All Rights Reserved. 16 品質 スループット 凄い人 超凄い人 普通の人
Slide 17
Slide 17 text
品質 x スループット Copyright © Alterbooth Inc. All Rights Reserved. 17 品質 スループット 凄い人 超凄い人 普通の人 AI
Slide 18
Slide 18 text
品質 x スループット Copyright © Alterbooth Inc. All Rights Reserved. 18 品質 スループット 凄い人 超凄い人 普通の人 AI
Slide 19
Slide 19 text
品質 x スループット Copyright © Alterbooth Inc. All Rights Reserved. 19 品質 スループット 凄い人 超凄い人 普通の人 人間だけでも AIだけでも 到達できない 領域 AI
Slide 20
Slide 20 text
• 人間だけでは到達できない領域がある • AIだけでは到達できない領域がある • 協業して初めて到達できる領域がある 圧倒的スケールと品質を両立させるために は、AIと「協業」する必要がある AIとの協業 Copyright © Alterbooth Inc. All Rights Reserved. 20
Slide 21
Slide 21 text
• 「超凄い人」を1000人は集められない • AIは1000並列にできるが、制御しないと ごみの山を量産しかねない • AIと協業できる人を1000人集めることは できるかもしれない 協業の橋渡しになるのが「設計」という共 通言語 AIと協業できる人を増やす Copyright © Alterbooth Inc. All Rights Reserved. 21
Slide 22
Slide 22 text
品質 x スループット Copyright © Alterbooth Inc. All Rights Reserved. 22 品質 スループット 凄い人 超凄い人 AI AI協業 設計 普通の人
Slide 23
Slide 23 text
• 壊れにくくメンテしやすいコードに導く • AIに簡潔に正しく意図を伝えられる • AIの試行回数を減らし確率を収束させる • AIの出力の評価 設計は最強のプロンプト Copyright © Alterbooth Inc. All Rights Reserved. 24
Slide 24
Slide 24 text
• 壊れにくくメンテしやすいコードに導く • AIに簡潔に正しく意図を伝えられる • AIの試行回数を減らし確率を収束させる • AIの出力の評価 設計は最強のプロンプト Copyright © Alterbooth Inc. All Rights Reserved. 25
Slide 25
Slide 25 text
AIを使ったとしても、ソフトウェア開発ラ イフサイクルは変化しない • 基本的に「作ったものを改善し続ける」 • 人は欲しいものを1回で100%言語化できない • 人の要求もソフトウェアが利用される環境も 変わり続ける ソフトウェア開発ライフサイクル Copyright © Alterbooth Inc. All Rights Reserved. 26
Slide 26
Slide 26 text
ハードウェアと比較して「変化に強い」と いうのがソフトウェアの重要な特徴 =変化するのが前提 =本質的に「変更に強く、壊れにくいよう にしたい」という要求が存在する ソフトウェア開発ライフサイクル Copyright © Alterbooth Inc. All Rights Reserved. 27
Slide 27
Slide 27 text
変更に強く、壊れにくいソフトウェアを支 えるのは「良い設計」 ソフトウェア設計 Copyright © Alterbooth Inc. All Rights Reserved. 28 • 要件定義 • アーキテクチャ設計 • モデリング • テスト設計 • ドメイン指向設計 • クリーンアーキテクチャ • オブジェクト指向 • テスト駆動開発
Slide 28
Slide 28 text
• 壊れにくくメンテしやすいコードに導く • AIに簡潔に正しく意図を伝えられる • AIの試行回数を減らし確率を収束させる • AIの出力の評価 設計は最強のプロンプト Copyright © Alterbooth Inc. All Rights Reserved. 29
Slide 29
Slide 29 text
データストアへのアクセスを抽象化して、 差し替え可能な状態にしてください。まず は実装はメモリ上のモックで・・・ 設計の言語で説明する Copyright © Alterbooth Inc. All Rights Reserved. 30
Slide 30
Slide 30 text
データストアへのアクセスを抽象化して、 差し替え可能な状態にしてください。まず は実装はメモリ上のモックで・・・ リポジトリパターンで 設計の言語で説明する Copyright © Alterbooth Inc. All Rights Reserved. 31
Slide 31
Slide 31 text
全体の処理は変わりませんが、条件判定部 分がケースに応じて多種多様に変化します。 後日そのケースを簡単に追加できるように し、コードの変更を最小限に・・・ 設計の言語で説明する Copyright © Alterbooth Inc. All Rights Reserved. 32
Slide 32
Slide 32 text
全体の処理は変わりませんが、条件判定部 分がケースに応じて多種多様に変化します。 後日そのケースを簡単に追加できるように し、コードの変更を最小限に・・・ ストラテジーパターンで 設計の言語で説明する Copyright © Alterbooth Inc. All Rights Reserved. 33
Slide 33
Slide 33 text
分散システムA,B,Cがあり、これらを順に呼 び出す分散トランザクションを考えます。 データストアが個別なので全体のロックが 困難な場合・・・ 設計の言語で説明する Copyright © Alterbooth Inc. All Rights Reserved. 34
Slide 34
Slide 34 text
分散システムA,B,Cがあり、これらを順に呼 び出す分散トランザクションを考えます。 データストアが個別なので全体のロックが 困難な場合・・・ Sagaオーケストレーションパターンで 設計の言語で説明する Copyright © Alterbooth Inc. All Rights Reserved. 35
Slide 35
Slide 35 text
• 壊れにくくメンテしやすいコードに導く • AIに簡潔に正しく意図を伝えられる • AIの試行回数を減らし確率を収束させる • AIの出力の評価 設計は最強のプロンプト Copyright © Alterbooth Inc. All Rights Reserved. 36
Slide 36
Slide 36 text
確率で推移するAI(LLM)の思考の収束可能 性を高める AI(LLM)の思考を縛る Copyright © Alterbooth Inc. All Rights Reserved. 37
Slide 37
Slide 37 text
• 壊れにくくメンテしやすいコードに導く • AIに簡潔に正しく意図を伝えられる • AIの試行回数を減らし確率を収束させる • AIの出力の評価 設計は最強のプロンプト Copyright © Alterbooth Inc. All Rights Reserved. 38
Slide 38
Slide 38 text
AIの出力は必ず人間が評価する • 現状ではAI(LLM)の出力は非決定的 • 常に完全な品質を求めることは現実的で はない AIの出力を評価する Copyright © Alterbooth Inc. All Rights Reserved. 39
Slide 39
Slide 39 text
AIの高スループットをどう評価するか? • 設計や開発計画で、コードの変更範囲(= 評価範囲)を制限する • 自動テストで品質を担保する • AIに評価を手伝ってもらう • GitHub Copilot PR Review 良い設計と自動テストで評価する Copyright © Alterbooth Inc. All Rights Reserved. 40
Slide 40
Slide 40 text
設計の言葉をプロンプトに盛り込むだけで なく、より積極的にAIと協業するための手 法の1つ • 設計をドキュメントとして書き、それに 基づいてAIに作業してもらう • ドキュメント自身もAIに書いてもらう • Kiro(AWS)、Spec Kit(GitHub)など Spec Driven Development Copyright © Alterbooth Inc. All Rights Reserved. 41
Slide 41
Slide 41 text
「人との協業」でも品質や試行回数や齟齬 のないコミュニケーションといった同じ課 題は発生します。 設計はAIだけでなく「自分以外の誰か」と 協業する際の共通言語です。 人との協業 Copyright © Alterbooth Inc. All Rights Reserved. 42
Slide 42
Slide 42 text
生成AIは既存の設計論の知識をよく知って いるので、AIをメンターとして使う • 「このコードをSOLID原則に沿ってるか レビューして」 • 「XXパターンに沿うようにリファクタリ ングして」 • 「リファクタリングの意図を説明して」 どうやって設計を学ぶのか Copyright © Alterbooth Inc. All Rights Reserved. 43
Slide 43
Slide 43 text
理解できたと思ったら、自身の言葉で言語 化し、AIに説明してフィードバックを受け る • 「xxパターンの利点はこういうことだと 理解したが合っているか?」 • 「つまり、xxxによってyyyとなるので zzzが解決するという理解でいいのか?」 言語化とAIからのフィードバック Copyright © Alterbooth Inc. All Rights Reserved. 44
Slide 44
Slide 44 text
そもそも単語と概要も分からない状態だと どうにもならないので、まずは頑張って勉 強しましょう とはいえ Copyright © Alterbooth Inc. All Rights Reserved. 45
Slide 45
Slide 45 text
• 設計は最強のプロンプト • 壊れにくくメンテしやすいコードに導く • AIに簡潔に正しく意図を伝えられる • AIの試行回数を減らし確率を収束させる • AIの出力の評価 • AIとの協業を支えるツールの例 • 設計の学び方 本日のまとめ Copyright © Alterbooth Inc. All Rights Reserved. 46