設計は最強のプロンプト - AI時代に武器にすべきスキルとは?-
by
Ken'ichirou Kimura
×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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