Slide 1

Slide 1 text

2025/05/07 佐藤智樹 AI駆動で進化する開発プロセス 〜クラスメソッドでの実践と成功事例〜

Slide 2

Slide 2 text

従来:⽣成AIチャットツールやGitHub Copilotを使って設計‧実装を効率化 まえがき 2 最近:多種多様なAIエージェントを活⽤してすべての作業を効率化 これだけあれば ⼗分じゃない? 何かめっちゃ 進化してる!?

Slide 3

Slide 3 text

従来:⽣成AIチャットツールやGitHub Copilotを使って設計‧実装を効率化 まえがき 3 最近:多種多様なAIエージェントを活⽤してすべての作業を効率化 これだけあれば ⼗分じゃない? 何かめっちゃ 進化してる!? 結局何やればいいの? →全部教えます!!

Slide 4

Slide 4 text

是⾮ハッシュタグを使って XでPOSTしてください! まずは 4 #AI駆動開発 #aidd

Slide 5

Slide 5 text

⾃⼰紹介 5 ● 2016年 某SIerにて基幹システム開発従事 ● 2020年 ⼊社 バックエンドエンジニア ○ IoT宅配ボックス、⼯場/家電などのIoTシステムの バックエンド、インフラ構築に従事 ● 2023年 チームマネージャー ○ 部署内全体技術⼒向上のため施策実施 ○ 案件にアーキテクトとして参画 ● 2025年 ○ AI駆動開発など⽣成AIを活⽤した⽣産性向上を ⽬的として活動。Devinブログ10本執筆! ● 部署 ○ 製造ビジネステクノロジー部 ● 名前 ○ 佐藤智樹 ● 役割 ○ チームマネージャー @tmk2154 @tomoki10 @tomoki10

Slide 6

Slide 6 text

想定する視聴者 ● エンジニアの⽅ ○ 特にコーディング系AIエージェントの活⽤に関⼼がある⽅ ● ソリューション営業などの⽅ ○ 開発の全サイクルに変⾰が訪れることを理解 持ち帰ってほしいもの ● AIエージェントを複数PJで活⽤している企業での実態を把握 ● 複数の実態から、今後も共通して必要になる思考を得る ● 開発スタイル変⾰と今後のリスクへの洞察 登壇内容について 6

Slide 7

Slide 7 text

● 登壇内容について ● 弊社の紹介 ● 発表の背景、前提の説明 ● AI駆動開発とは ● ⾃社開発の例 ● 伴⾛型開発の例 ● Vibe Codingについて ● 宣伝 ⽬次 7

Slide 8

Slide 8 text

名称    クラスメソッド株式会社 本社所在地 東京都港区⻄新橋1-1-1 ⽇⽐⾕フォートタワー 従業員数  780⼈(グループ全体) 売上    769億円(2024年6⽉末) 設⽴    2004年7⽉7⽇ (第21期) 拠点    国内 8拠点       東京 / 札幌 / 仙台/ 上越 / 名古屋 / ⼤阪 / 福岡 / 那覇       海外 5拠点       ベルリン(ドイツ) / バンクーバー(カナダ) /       バンコク(タイ) / ソウル(韓国) /       ダナン(ベトナム) 会社概要 8

Slide 9

Slide 9 text

⾃分たちの知⾒や経験をオープンに公開しています。情報発信に細かいルールはな く、透明性の⾼い情報を発信しており、情報発信の⽂化が醸成されています。 会社⽂化の紹介(DevelopersIO) 9 クラスメソッドの情報発信⽂化を代表する 「やってみた系技術ブログ」 - 約40,000本の技術記事 - ⼿順や設計含め全部を公開するスタンス - 最低限のルールで⾃由に発信 - 社内フィードバックで⾃分⾃⾝の勉強にも - インプット∕アウトプットのサイクルを⾼速に

Slide 10

Slide 10 text

2023年に⽣成AIが話題の際には1ヶ⽉で100本以上のブログが投稿され、最近話題と なっているMCPのブログも直近で60件以上公開されています! 会社⽂化の紹介(DevelopersIO) 10 https://dev.classmethod.jp/tags/generative-ai/ https://dev.classmethod.jp/tags/mcp/

Slide 11

Slide 11 text

「知⾒を共有するエンジニアに対価を」を コンセプトとした技術情報共有コミュニティです。 - 開発の知⾒やアイデアを得たら、気軽に記事にしてください - 知⾒がたくさん公開されるような場にしたいという 気持ちから、「また書こう」と思えるサービスを作っています - バッチ機能や書籍機能、Publicationなどの機能も提供 社員や社員以外の⽅も発信するプラットフォームづくりを通して、世の中の⽅々が 情報を発信するための環境にも貢献しています! 会社サービスの紹介(Zenn) 11 https://zenn.dev/about

Slide 12

Slide 12 text

会社サービスの紹介(Zenn) 12 https://zenn.dev/about ZennではAI Agentのハッカソンや、ZennCafeというコミュニティで⽣成AIに関する イベントも実施しています!

Slide 13

Slide 13 text

発表の背景 13 クラスメソッドでは、⾃社開発のシステムとお客様のシステムを伴に開発していく伴 ⾛型開発の両⽅へ⼤規模に取り組んでいます 両⽅の視点で開発を通して⾝につけた技法をご紹介します

Slide 14

Slide 14 text

コード⽣成AI∕AIコーディングエージェントのおさらい 14 Cursor Windsurf Cline GitHub Copilot Devin ⾃⽴型のソフトウェ アエンジニアAI SlackやDevinのUI から⾃然⾔語で指⽰ を⾏うとタスクこな す Devin内のインスタ ンスが⽴ち上がり⾮ 同期で処理が実⾏さ れる VS Codeなどに搭載 できるAIコーディン グアシスタント Tabによるコード補 間やAgentモードで ⾃律的にコード⽣成 も可能 VS Codeをフォーク したAIコーディング エディタ兼エージェ ント コード間の関連性を 抽象構⽂⽊として理 解することで優れた 推論結果を⽣成 VS Codeをフォーク したAIコーディング エディタ兼エージェ ント プロジェクトのコー ド全体をインデック ス化することで優れ た推論結果を⽣成 VS Codeの拡張機能 のAIコーディング エージェント BedrockやClaude Gemini、Open AIな ど外部のAPIを選ん で好きに実⾏可能 ⼀部導⼊ 全社導⼊ 全社導⼊ ⼀部導⼊ ⼀部導⼊

Slide 15

Slide 15 text

提案 改めてAI駆動開発とは ● ソフトウェアやシステム開発の全 ⼯程である、提案、要件定義、設 計、実装、テスト、運⽤に⽣成AI の技術やツールを積極的に組み込 んで、開発のスピードや品質、効 率を⾶躍的に⾼める開発⼿法を指 します ● まだ厳密な定義はないので、各社 模索中の概念です AI駆動開発について 15 要求分析∕要件定義 設計∕実装 テスト 運⽤∕保守

Slide 16

Slide 16 text

改めてAI駆動開発とは ● ソフトウェアやシステム開発の全 ⼯程である、提案、要件定義、設 計、実装、テスト、運⽤に⽣成AI の技術やツールを積極的に組み込 んで、開発のスピードや品質、効 率を⾶躍的に⾼める開発⼿法を指 します ● まだ厳密な定義はないので、各社 模索中の概念です AI駆動開発について 16 提案 要求分析∕要件定義 設計∕実装 テスト 運⽤∕保守

Slide 17

Slide 17 text

⾃社開発の例

Slide 18

Slide 18 text

Zennの実装でDevinを活⽤ - pit of death(抜け出せない⽳)に落ちない ようタスクのスコープを狭める - Knowledge(プロンプト)でLint、⾃動テ スト、開発ガイドを整備 - テストコードでフィードバックサイクル を強化 成果 - ⼀部の機能の7~8割はDevinが実装 - 実装の合間に既存コードのテストコード をDevinが実装していく Zennでの活⽤ 18 https://zenn.dev/team_zenn/articles/devin-joined-to-zenn-team

Slide 19

Slide 19 text

⾃社のテンプレート作成 19 ICASUアーキテクチャというAWS CDKの テンプレート作成でDevinを⼀部活⽤ - Devinは⼩さめのタスクで効果を発揮 - IaCのセキュリティ対応で指摘事項を 作成、微修正やサプレッション対応 - スナップショットテストの⾃動更新 - DeepWiki/Searchでノウハウ共有 https://github.com/classmethod/icasu-cdk-ecs-fargate-sample https://github.com/classmethod/icasu-cdk-serverless-api-sample

Slide 20

Slide 20 text

伴⾛型開発の例

Slide 21

Slide 21 text

顧客と会話した内容を素早くプロトタイピング - 顧客ヒアリング - Meetでオンラインヒアリングで録⾳の許 可をいただき議事録を⽂字起こし - 情報収集分析 - 競合をDeepResearchで調査 - 提案内容の整理 - 議事録からChatGPT/Claude、Cursor、 Notion MCPなどを活⽤して要件を整理 - プロトタイプを作成 - 提案内容をベースにCursorとプロンプト でシステムを作成 - モックを提案資料に追加 - デモ⽤のクラウド環境にデプロイ 仮説提案 21 提案 要求分析∕要件定義 設計∕実装 テスト 運⽤∕保守

Slide 22

Slide 22 text

設計∕実装 22 提案 要求分析∕要件定義 設計∕実装 テスト 運⽤∕保守 全工程の作業に Cursorを組み込み、常に生成 AIを使っ てプロセスを最適化できないか検討 - 要件を設計に落とす時、OpenAPI Specification など のフォーマットに変化 - 機能の命名での案出し - 作成したドキュメントやコードのレビューを依頼 - Tabによるコード/ドキュメント生成 (体感約30~50%生産性向上) 一部PJでやらなくなったこと - シーケンス図などのMarkdown生成 - Cursor RuleをベースにAgentにコードを書かせる Rule作成とのトレードオフ Ruleを適切に使うためのタスク分割が必要

Slide 23

Slide 23 text

DevinやCline、CursorのAgent ModeなどAIコーディングエージェントに実装を依頼する場合 Rule/Knowledge系の整備を⾏い、タスクも細かく明確に切り出す必要がある → 運⽤作業を⼿で⾏うか、スクリプトを書くかのようなトレードオフになる → 恒常タスクや例となる実装が豊富な⼤きめのコードベースや⼤規模PJの⽅が有利 Rule作成で発⽣するトレードオフ 23 ● Rule整備にかかる時間 ● タスク分解にかかる時間 ● 定型的な実装に費やす時間 ● 運⽤タスクに費やす時間 ● 典型的なレビューに費やす時間 右側の時間が⻑いほど 左側の時間に投資する 価値が上がる!?

Slide 24

Slide 24 text

🦥 怠惰 - Laziness Rule/Knowledge系の整備を⾏い、タスクも細かく明確に切り出す必要がある → 運⽤作業を⼿で⾏うか、スクリプトを書くかのようなトレードオフになる  → 今までのエンジニアの本質的な活動⾃体はそこまで変化しない? Rule作成の本質から学ぶ変わらないこと 24 😡 短気 - Impatience 👺 傲慢 - Hubris プログラマの三⼤美徳 プログラマの三大美徳の優しい解説: https://zenn.dev/tbpgr/books/a962605736e5da/viewer/929d26 全体として必要となる労⼒を 減らすためとなれば、努⼒を 惜しまないような姿勢 今まで :シェルや実装により作業を⾃動化 これから:範囲を絞った実装⾃体を⾃動化 →影響範囲を絞り、繰り返しで⾃明な作業を減らす  エンジニアの本質的な作業に変化はない

Slide 25

Slide 25 text

設計∕実装 25 提案 要求分析∕要件定義 設計∕実装 テスト 運⽤∕保守 とある機能を実装していく際に、既に使えそうな 実装やライブラリがないか調査する場合 ● OSSで利⽤可能なものがないか、 DeepResearchやPerplexityなどのサービスで 適切なOSSがないか競合含め調査 ● DeepWikiでOSS上のコードをWiki化してもら い調査 ○ ⽂章、シーケンスから処理概要を把握 ● 詳細が気になる場合は、DeepWiki上の Chatbotでソースについて質問 ○ シーケンスを⽣成させることで、余分な 処理が含まれていないかを確認

Slide 26

Slide 26 text

DeepWikiで作成されたClineのWiki 26

Slide 27

Slide 27 text

DeepWiki(Chatbotの返答) 27

Slide 28

Slide 28 text

DeepWiki(⽣成されたシーケンス図) 28

Slide 29

Slide 29 text

クローズドなソースもDevin Wiki/Search(Beta)なら解析可能 Devin Wiki 29

Slide 30

Slide 30 text

クローズドなソースもDevin Wiki/Search(Beta)なら解析可能 Devin Search 30

Slide 31

Slide 31 text

従来の開発像(経験則から) 31 設計 ドキュメント コード PJ管理 ツール データソース ビジネス 開発者 QA 調査/追加 ビジネス側が仕様に関して確認したかったり新機能を作りたい場合、開発者がドキュメント やソースを確認して、仕様や改修の影響範囲を確認。以下のような課題がある → ⼤規模PJでは⻑年いるエキスパートだけが正しい結果を判断できる → ビジネス側は知りたい情報を⼊⼿するのに⼈を介するので、情報収集までにラグがある 調査/QA 確認 確認 確認

Slide 32

Slide 32 text

1つのソースに設計や実装のドキュメントが集約され、機能の追加開発、バグの修正、仕様調 査などすべてのプロジェクトに関する動作が変わってくる 今後:エージェントが集約した情報からユーザが情報を収集。必要に応じて⽣成し追加 開発の将来像 32 設計 ドキュメント コード PJ管理 ツール Devin Wiki/Search データソース 検索/⽣成エージェント ビジネス 開発者 QA ユーザ 情報の裏取り∕情報を⽣成して追加 集約 参照

Slide 33

Slide 33 text

実装に合わせてテストコードを⽣成。CI/CDを 使った⾃動テストの⼯程にも⽣成AIを組み込む ● テスト ○ GitHub Copilotでテストコードを1つ実装 ○ 必要なテストパターンとなるデシジョン テーブルを整理 ○ テストコードに合わせて、デシジョンテー ブルに合うテストコードを追加⽣成 ● CI/CD ○ SaaS導⼊可能な場合はCodeRabbit、⽣ 成AI利⽤が可能ならPR-Agentの導⼊ ○ PRを上げたタイミングで⽣成AIがレ ビュー ● おまけ:ブログレビューにも⽣成AIを活⽤ テスト 33 提案 要求分析∕要件定義 設計∕実装 テスト 運⽤∕保守

Slide 34

Slide 34 text

運⽤∕保守 34 提案 要求分析∕要件定義 設計∕実装 テスト 運⽤∕保守 https://github.com/mufeedvh/code2prompt code2promptでリポジトリのコードをプロンプ トに変換し、Geminiで設計を⽣成∕質問 ● GitHubリポジトリにあるコードなどをローカ ルに落として、code2promptでコードベース をすべてプロンプト化 ● ⼊⼒可能なトークン数かcode2promptのオプ ションで確認してから後続の処理 ● プロンプト化した情報をGeminiに渡しながら 設計書の⽣成や質問を⾏う 最⼤⼊⼒トークン数が約100万を超えるGeminiの モデルを活⽤して、⼤容量なコードベースもプロ ンプトとして⼊⼒可能

Slide 35

Slide 35 text

実験的な取り組みの紹介

Slide 36

Slide 36 text

Cline/Roo Codeなどを全社利⽤する際の課題 - Bedrockの場合単純に利⽤するとユーザごと の利⽤料で料⾦の按分ができない - プロンプトキャッシュを使わない場合⾼額 - 海外リージョンを制限している場合、利⽤の 制限、制限化での統制が必要 課題の解決策 - ユーザ単位でアプリ推論プロファイルの作成 - プロンプトキャッシュをまとめて有効化 - リージョン制限を考慮した⽣成AI API提供 全フェーズ 36 提案 要求分析∕要件定義 設計∕実装 テスト 運⽤∕保守

Slide 37

Slide 37 text

Cline×Bedrockを導⼊しつつ如何にしてスケールしてもユーザ管理を破綻させないか Clineを⼤規模に利⽤する場合のアーキテクチャ 37

Slide 38

Slide 38 text

将来的にはAWSなどクラウドサービスの操作もエージェントに依頼するようになる? 可能な限り強い権限を与えつつ、ガードレールをどう設計するか検証 AIエージェントへ如何に強い権限を付与するか 38 AWS CDK

Slide 39

Slide 39 text

Vibe Codingについて(時間があれば)

Slide 40

Slide 40 text

Open AIの共同創業者である Andrej Karpathyが提唱した概念 LLMにコーディングを⾃然⾔語で依頼するこ とで、実際に動作するコードを⽣成し実⾏ するコーディングスタイル バイブスに⾝を任せて雰囲気でコードをど んどん⽣成し、エラーなど問題解決もLLM 側に任せていく 既にWikipediaにも項⽬がある Vibe Codingとは 40 https://en.wikipedia.org/wiki/Vibe_coding

Slide 41

Slide 41 text

The 70% problem: Hard truths about AI-assisted codingの内容を和意訳 「⾮エンジニアがAIを使ってコーディ ングすると、壁にぶつかります。彼ら は驚くほど速く70%まで到達できます が、残りの30%は労⼒をかけても進ま なくなります」 Vibe Codingの良し悪し 41 https://addyo.substack.com/p/the-70-problem-hard-truths-about 上記の本の⼀部としてリリース予定 https://www.oreilly.com/library/view/vibe-coding-the/9798341634749/

Slide 42

Slide 42 text

「これからのAI、正しい付き合い⽅と使い⽅」より 42 ⾼品質AIを使うことで起こる「居眠り運転」 ハーバード⼤学とBCGの調査結果 AIが解決しにくいタスク(ユーザインタビュー や数字)で、低精度なAIを使う群と⾼精度なAI を使う群を⽐べたところ⾼精度なAIを使う⽅ の成績が19%下がった →コーディングでも同じことが起きる https://www.amazon.co.jp/dp/4041155274 元論文 https://www.hbs.edu/ris/Publication%2520Files/24-013_d9b4 5b68-9e74-42d6-a1c6-c72fb70c7282.pdf

Slide 43

Slide 43 text

❌ Vibe Codingでコードの理解が不要になる(少なくとも現状は) 例えば、AWS CDKでECSのreadonlyRootFilesystemを設定する場合 設定は1⾏ readonlyRootFilesystem: true と書くだけ。 Vibe Codingの難しさ(30%側の例) 43 https://github.com/classmethod/icasu-cdk-ecs-fargate-sample/blob/main/packages/iac/lib/construct/ecs-construct.ts#L154

Slide 44

Slide 44 text

Vibe Codingの難しさ(30%側の例) ❌ Vibe Codingでコードの理解が不要になる(少なくとも現状は) 例えば、AWS CDKでECSのreadonlyRootFilesystemを設定する場合 設定は1⾏ readonlyRootFilesystem: true と書くだけ。ただ… ● AWSは推奨しているが、なぜこの設定が必要なのか ● 影響範囲の把握が必要。以下はルートファイルシステムへの書き込みは不可 ○ ECS Execは使っているか、使う場合対処⽅法は知っているか ○ ミドルウェア∕OSパッケージは問題はないか ● 影響がある場合どのように検知できるか、解消する⽅法は ● 事前に影響がないか安全に確認するにはどうすればよいか →⼈間がソフトウェアエンジニアリングを深く理解する必要性は変わらない 44

Slide 45

Slide 45 text

⾼速にコード⽣成できるVibe Coding⾃体は 有⽤なので(少なくとも現状は)適切な利 ⽤先を考慮する - 最初のコードをアイデアとして⽣成させ て⼈間が最終的に修正‧実装する - AIと適宜同期的に対話しながら、少しず つ実装を組み上げていく - 実装したコードのレビューや検証として 利⽤する Vibe Codingの適正利⽤ 45 Vibe Coding 活⽤例 以下それぞれの活動のために利⽤ - アイデア(Vibe Marketing?) - 提案活動やマーケット調査のための 試作製品を作る - 実装(Vibe Coding) - 知らない技術の仮実装を作ってもら い学習。学習した後は作り直す - レビュー(Vibe Review?) - 実装したコードをとりあえずAIエー ジェントに投げて指摘をもらう

Slide 46

Slide 46 text

宣伝

Slide 47

Slide 47 text

AI駆動開発⽀援サービスをリリースしています! 47

Slide 48

Slide 48 text

AI駆動でPoC(概念実証)/MVP(実⽤最⼩限の製品)を開発します。最⼩限の投資で 「動くプロトタイプ」を複数構築し、実際のデータを⽤いた効果を検証します。 AI駆動PoC/MVPサービス 48

Slide 49

Slide 49 text

⽣成AI技術を活⽤した「トライ&エラー」の⼿法を習得し、失敗から学び、成⻑ するイノベーション⽂化を根付かせるための実践的な⽀援を提供します AI駆動開発実践プログラム 49

Slide 50

Slide 50 text

なぜAI駆動開発の研修が必要なのか 50 ※https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4945566 MS、Accentureなどが⾏った5000⼈規模でのGitHub Copilotの導⼊実験※にて、Accentureの実験結 果でTreated(研修を⾏った群)とControl(導⼊のみの群)を⽐較すると、Treatedは導⼊が69.4%に対し Controlは導⼊が24.4%となっています。単にツールを導⼊するだけでは、実際に使われない可能性が あります

Slide 51

Slide 51 text

AI駆動開発で使われている主要なツールやそれぞれのツールの利点を理 解、実際の案件でどのように使われいているかを理解 AI駆動開発実践プログラム(研修) 51 Cursor Windsurf Cline

Slide 52

Slide 52 text

現在検討中のためお客様の課題に合わせてカスタマイズして提供します AI駆動開発実践プログラム(ワークショップ) 52 Cline✕Bedrock ワークショップ 素早くプロトタイプが作 れるAIコーディングエー ジェントであるClineと Bedrockをかけ合わせて Vibe Codingを体感する ワークショップ プロンプトキャッシュを 使ったコスト最適化やコ スト分析⼿法、リージョ ン制限下での対応も紹介 Cursor ワークショップ VS Codeをフォークした AIコーディングエディタ であるCursorを使いこな すワークショップ 独⾃のルール作成やMCP 連携を通してAIコーディ ングエージェントとのう まく付き合う働き⽅を学 びます 既存システムの Wiki作成 数⼗年経過し⽼朽化した システムやSIerが最低限 の保守を⾏っているシス テムは障害発⽣時に調査 が難しく、置き換えよう にも実態が把握できない 場合も多いです NotebookLMなどを使っ て調査時間を削減する ⽅法を体験します AI駆動開発 セキュリティ研修 AIコーディングエージェ ントを使う上でセキュリ ティ上考慮が必要になる ポイントをご紹介します 考慮ポイントを上げたう えで、社内規定で導⼊の ハードルがあれば最適な 解決⽅法を⼀緒に検討す るワークショップ Cline Bedrock Cursor

Slide 53

Slide 53 text

● ⽣成AIを積極活⽤している企業の利⽤サービスを把握 ○ Cursor/Cline/Devin/NotebookLMなどを積極的に活⽤ ● 抽象例でなくAIエージェントサービスの具体的な現場事例を理解 ○ Cursorを提案‧設計‧実装などすべての⼯程で活⽤ ○ 今後はDevin Wiki/SearchやNotebookLMにノウハウ集約/検索が主流になる? ○ Ruleを作り込む際のトレードオフと⾒えてくる本質を紹介 ● 今後のリスクと開発スタイル変⾰の洞察 ○ Vibe Codingの盛り上がりとリスクの紹介 ○ AIコーディングエージェントとのかしこい付き合い⽅ まとめ 53