Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AI駆動で進化する開発プロセス ~クラスメソッドでの実践と成功事例~ / aidd-in-cl...

AI駆動で進化する開発プロセス ~クラスメソッドでの実践と成功事例~ / aidd-in-classmethod

AI駆動開発 Conference Spring 2025 で登壇した内容です。
https://www.ai-driven.dev/
#AI駆動開発 #aidd

Avatar for tomoki10

tomoki10

May 07, 2025
Tweet

More Decks by tomoki10

Other Decks in Technology

Transcript

  1. ⾃⼰紹介 5 • 2016年 某SIerにて基幹システム開発従事 • 2020年 ⼊社 バックエンドエンジニア ◦ IoT宅配ボックス、⼯場/家電などのIoTシステムの バックエンド、インフラ構築に従事 •

    2023年 チームマネージャー ◦ 部署内全体技術⼒向上のため施策実施 ◦ 案件にアーキテクトとして参画 • 2025年 ◦ AI駆動開発など⽣成AIを活⽤した⽣産性向上を ⽬的として活動。Devinブログ10本執筆! • 部署 ◦ 製造ビジネステクノロジー部 • 名前 ◦ 佐藤智樹 • 役割 ◦ チームマネージャー @tmk2154 @tomoki10 @tomoki10
  2. 想定する視聴者 • エンジニアの⽅ ◦ 特にコーディング系AIエージェントの活⽤に関⼼がある⽅ • ソリューション営業などの⽅ ◦ 開発の全サイクルに変⾰が訪れることを理解 持ち帰ってほしいもの

    • AIエージェントを複数PJで活⽤している企業での実態を把握 • 複数の実態から、今後も共通して必要になる思考を得る • 開発スタイル変⾰と今後のリスクへの洞察 登壇内容について 6
  3. 名称    クラスメソッド株式会社 本社所在地 東京都港区⻄新橋1-1-1 ⽇⽐⾕フォートタワー 従業員数  780⼈(グループ全体) 売上    769億円(2024年6⽉末) 設⽴    2004年7⽉7⽇ (第21期) 拠点    国内 8拠点       東京

    / 札幌 / 仙台/ 上越 / 名古屋 / ⼤阪 / 福岡 / 那覇       海外 5拠点       ベルリン(ドイツ) / バンクーバー(カナダ) /       バンコク(タイ) / ソウル(韓国) /       ダナン(ベトナム) 会社概要 8
  4. コード⽣成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を選ん で好きに実⾏可能 ⼀部導⼊ 全社導⼊ 全社導⼊ ⼀部導⼊ ⼀部導⼊
  5. Zennの実装でDevinを活⽤ - pit of death(抜け出せない⽳)に落ちない ようタスクのスコープを狭める - Knowledge(プロンプト)でLint、⾃動テ スト、開発ガイドを整備 -

    テストコードでフィードバックサイクル を強化 成果 - ⼀部の機能の7~8割はDevinが実装 - 実装の合間に既存コードのテストコード をDevinが実装していく Zennでの活⽤ 18 https://zenn.dev/team_zenn/articles/devin-joined-to-zenn-team
  6. ⾃社のテンプレート作成 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
  7. 顧客と会話した内容を素早くプロトタイピング - 顧客ヒアリング - Meetでオンラインヒアリングで録⾳の許 可をいただき議事録を⽂字起こし - 情報収集分析 - 競合をDeepResearchで調査

    - 提案内容の整理 - 議事録からChatGPT/Claude、Cursor、 Notion MCPなどを活⽤して要件を整理 - プロトタイプを作成 - 提案内容をベースにCursorとプロンプト でシステムを作成 - モックを提案資料に追加 - デモ⽤のクラウド環境にデプロイ 仮説提案 21 提案 要求分析∕要件定義 設計∕実装 テスト 運⽤∕保守
  8. 設計∕実装 22 提案 要求分析∕要件定義 設計∕実装 テスト 運⽤∕保守 全工程の作業に Cursorを組み込み、常に生成 AIを使っ

    てプロセスを最適化できないか検討 - 要件を設計に落とす時、OpenAPI Specification など のフォーマットに変化 - 機能の命名での案出し - 作成したドキュメントやコードのレビューを依頼 - Tabによるコード/ドキュメント生成 (体感約30~50%生産性向上) 一部PJでやらなくなったこと - シーケンス図などのMarkdown生成 - Cursor RuleをベースにAgentにコードを書かせる Rule作成とのトレードオフ Ruleを適切に使うためのタスク分割が必要
  9. 🦥 怠惰 - Laziness Rule/Knowledge系の整備を⾏い、タスクも細かく明確に切り出す必要がある → 運⽤作業を⼿で⾏うか、スクリプトを書くかのようなトレードオフになる  → 今までのエンジニアの本質的な活動⾃体はそこまで変化しない? Rule作成の本質から学ぶ変わらないこと

    24 😡 短気 - Impatience 👺 傲慢 - Hubris プログラマの三⼤美徳 プログラマの三大美徳の優しい解説: https://zenn.dev/tbpgr/books/a962605736e5da/viewer/929d26 全体として必要となる労⼒を 減らすためとなれば、努⼒を 惜しまないような姿勢 今まで :シェルや実装により作業を⾃動化 これから:範囲を絞った実装⾃体を⾃動化 →影響範囲を絞り、繰り返しで⾃明な作業を減らす  エンジニアの本質的な作業に変化はない
  10. 設計∕実装 25 提案 要求分析∕要件定義 設計∕実装 テスト 運⽤∕保守 とある機能を実装していく際に、既に使えそうな 実装やライブラリがないか調査する場合 •

    OSSで利⽤可能なものがないか、 DeepResearchやPerplexityなどのサービスで 適切なOSSがないか競合含め調査 • DeepWikiでOSS上のコードをWiki化してもら い調査 ◦ ⽂章、シーケンスから処理概要を把握 • 詳細が気になる場合は、DeepWiki上の Chatbotでソースについて質問 ◦ シーケンスを⽣成させることで、余分な 処理が含まれていないかを確認
  11. 従来の開発像(経験則から) 31 設計 ドキュメント コード PJ管理 ツール データソース ビジネス 開発者

    QA 調査/追加 ビジネス側が仕様に関して確認したかったり新機能を作りたい場合、開発者がドキュメント やソースを確認して、仕様や改修の影響範囲を確認。以下のような課題がある → ⼤規模PJでは⻑年いるエキスパートだけが正しい結果を判断できる → ビジネス側は知りたい情報を⼊⼿するのに⼈を介するので、情報収集までにラグがある 調査/QA 確認 確認 確認
  12. 実装に合わせてテストコードを⽣成。CI/CDを 使った⾃動テストの⼯程にも⽣成AIを組み込む • テスト ◦ GitHub Copilotでテストコードを1つ実装 ◦ 必要なテストパターンとなるデシジョン テーブルを整理

    ◦ テストコードに合わせて、デシジョンテー ブルに合うテストコードを追加⽣成 • CI/CD ◦ SaaS導⼊可能な場合はCodeRabbit、⽣ 成AI利⽤が可能ならPR-Agentの導⼊ ◦ PRを上げたタイミングで⽣成AIがレ ビュー • おまけ:ブログレビューにも⽣成AIを活⽤ テスト 33 提案 要求分析∕要件定義 設計∕実装 テスト 運⽤∕保守
  13. 運⽤∕保守 34 提案 要求分析∕要件定義 設計∕実装 テスト 運⽤∕保守 https://github.com/mufeedvh/code2prompt code2promptでリポジトリのコードをプロンプ トに変換し、Geminiで設計を⽣成∕質問

    • GitHubリポジトリにあるコードなどをローカ ルに落として、code2promptでコードベース をすべてプロンプト化 • ⼊⼒可能なトークン数かcode2promptのオプ ションで確認してから後続の処理 • プロンプト化した情報をGeminiに渡しながら 設計書の⽣成や質問を⾏う 最⼤⼊⼒トークン数が約100万を超えるGeminiの モデルを活⽤して、⼤容量なコードベースもプロ ンプトとして⼊⼒可能
  14. Cline/Roo Codeなどを全社利⽤する際の課題 - Bedrockの場合単純に利⽤するとユーザごと の利⽤料で料⾦の按分ができない - プロンプトキャッシュを使わない場合⾼額 - 海外リージョンを制限している場合、利⽤の 制限、制限化での統制が必要

    課題の解決策 - ユーザ単位でアプリ推論プロファイルの作成 - プロンプトキャッシュをまとめて有効化 - リージョン制限を考慮した⽣成AI API提供 全フェーズ 36 提案 要求分析∕要件定義 設計∕実装 テスト 運⽤∕保守
  15. 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/
  16. ❌ 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
  17. Vibe Codingの難しさ(30%側の例) ❌ Vibe Codingでコードの理解が不要になる(少なくとも現状は) 例えば、AWS CDKでECSのreadonlyRootFilesystemを設定する場合 設定は1⾏ readonlyRootFilesystem: true

    と書くだけ。ただ… • AWSは推奨しているが、なぜこの設定が必要なのか • 影響範囲の把握が必要。以下はルートファイルシステムへの書き込みは不可 ◦ ECS Execは使っているか、使う場合対処⽅法は知っているか ◦ ミドルウェア∕OSパッケージは問題はないか • 影響がある場合どのように検知できるか、解消する⽅法は • 事前に影響がないか安全に確認するにはどうすればよいか →⼈間がソフトウェアエンジニアリングを深く理解する必要性は変わらない 44
  18. ⾼速にコード⽣成できるVibe Coding⾃体は 有⽤なので(少なくとも現状は)適切な利 ⽤先を考慮する - 最初のコードをアイデアとして⽣成させ て⼈間が最終的に修正‧実装する - AIと適宜同期的に対話しながら、少しず つ実装を組み上げていく

    - 実装したコードのレビューや検証として 利⽤する Vibe Codingの適正利⽤ 45 Vibe Coding 活⽤例 以下それぞれの活動のために利⽤ - アイデア(Vibe Marketing?) - 提案活動やマーケット調査のための 試作製品を作る - 実装(Vibe Coding) - 知らない技術の仮実装を作ってもら い学習。学習した後は作り直す - レビュー(Vibe Review?) - 実装したコードをとりあえずAIエー ジェントに投げて指摘をもらう
  19. 現在検討中のためお客様の課題に合わせてカスタマイズして提供します AI駆動開発実践プログラム(ワークショップ) 52 Cline✕Bedrock ワークショップ 素早くプロトタイプが作 れるAIコーディングエー ジェントであるClineと Bedrockをかけ合わせて Vibe

    Codingを体感する ワークショップ プロンプトキャッシュを 使ったコスト最適化やコ スト分析⼿法、リージョ ン制限下での対応も紹介 Cursor ワークショップ VS Codeをフォークした AIコーディングエディタ であるCursorを使いこな すワークショップ 独⾃のルール作成やMCP 連携を通してAIコーディ ングエージェントとのう まく付き合う働き⽅を学 びます 既存システムの Wiki作成 数⼗年経過し⽼朽化した システムやSIerが最低限 の保守を⾏っているシス テムは障害発⽣時に調査 が難しく、置き換えよう にも実態が把握できない 場合も多いです NotebookLMなどを使っ て調査時間を削減する ⽅法を体験します AI駆動開発 セキュリティ研修 AIコーディングエージェ ントを使う上でセキュリ ティ上考慮が必要になる ポイントをご紹介します 考慮ポイントを上げたう えで、社内規定で導⼊の ハードルがあれば最適な 解決⽅法を⼀緒に検討す るワークショップ Cline Bedrock Cursor
  20. • ⽣成AIを積極活⽤している企業の利⽤サービスを把握 ◦ Cursor/Cline/Devin/NotebookLMなどを積極的に活⽤ • 抽象例でなくAIエージェントサービスの具体的な現場事例を理解 ◦ Cursorを提案‧設計‧実装などすべての⼯程で活⽤ ◦ 今後はDevin

    Wiki/SearchやNotebookLMにノウハウ集約/検索が主流になる? ◦ Ruleを作り込む際のトレードオフと⾒えてくる本質を紹介 • 今後のリスクと開発スタイル変⾰の洞察 ◦ Vibe Codingの盛り上がりとリスクの紹介 ◦ AIコーディングエージェントとのかしこい付き合い⽅ まとめ 53
OSZAR »