Slide 1

Slide 1 text

ネットシェア可 AIコーディングの理想と現実 株式会社ジェイテックジャパン 高丘 知央 2025年4月22日(火曜日) 吉祥寺.pm #38 #kichijojipm

Slide 2

Slide 2 text

自己紹介 高丘 知央 - Tomohisa Takaoka X: @tomohisa GitHub: @tomohisa Works at: 株式会社ジェイテックジャパン、J-Tech Creations, Inc. JTS Group CTO: 中小企業の受託開発をモダンな開発スタイルで Microsoft MVP for Developer Technologies from Nov 2024- OSS: Sekiban - Event Sourcing and CQRS Framework 5月19日に #イベントソーシング勉強会 第二回を行います。良かっ たらご参加ください! 2 / 47

Slide 3

Slide 3 text

プログラマとしての経歴 プログラマ歴 高校時代から30年 得意言語:C#、以前はObjective-C、Swift フレームワーク作成が好き AI時代への取り組み Clineで2025年1月にAIエージェントコーディング開始 30年のプログラマ生活で最大の変革期と認識 多くの時間をAIコーディング検証に投入 3 / 47

Slide 4

Slide 4 text

本日のアジェンダ 1. このトークの狙い・参加型登壇について 2. AIコーディングの理想と現実 - 基本生産性 3. AIコーディングの理想と現実 - 新領域への挑戦 4. 雰囲気コーディングの理想と現実 5. ローカルLLMによるコーディングの理想と現実 6. まとめ 4 / 47

Slide 5

Slide 5 text

1. このトークの狙い・参加型登壇について 5 / 47

Slide 6

Slide 6 text

1-1. AIコーディングの現実を知る 生産性は本当に向上するのか? 未経験領域でもプログラミングできるようになるのか? ローカルLLMは実用的なのか? 「理想」と「現実」のギャップを知って、AIコーディングを賢く活用する 成功体験と挫折体験の両方を共有 6 / 47

Slide 7

Slide 7 text

1-2. 参加型登壇:リアルタイムアンケート ※ このトークは聴衆参加型登壇です! 去年9月の吉祥寺.pmオンライン36では事前アンケート 今年はリアルタイムアンケートで皆さんの体験を共有 リアルタイムアンケートのリンク:下に表示しています! https://kichijojipm38.azurewebsites.net/questionair/36C1WR 7 / 47

Slide 8

Slide 8 text

1-2. リアルタイムアンケート項目 主なアンケート項目: AIによる補完以上のプログラミングの使用頻度 使用しているAIコーディングアプリ AIコーディングによる生産性向上の実感 Vibe(雰囲気)コーディングの経験と効果 8 / 47

Slide 9

Slide 9 text

2. AIコーディングの理想と現実 - 基本生産性 9 / 47

Slide 10

Slide 10 text

2-1. 理想:生産性は大幅に向上する GitHub調査による統計データ Copilotユーザーは課題完了時間が平均55%短縮 タスク完了率も向上(78% vs 70%) 10 / 47

Slide 11

Slide 11 text

2-1. 理想:開発者体験の向上 開発者体験と満足度の向上 90%以上が「作業が速く進む」と実感 73%が「フロー状態を維持しやすい」と回答 87%が「単調作業の精神的負担が軽減」と実感 コードの品質向上も期待できる エラー処理や堅牢性の向上 一貫性のあるコーディングスタイル 11 / 47

Slide 12

Slide 12 text

2-2. 現実:生産性向上の実体験 イベントソーシングフレームワークSekibanの次期バージョン開発 2022年から開発してきた既存フレームワークの問題点を認識 2025年1月、Microsoft Orleans上に再構築する新バージョンを開始 Cline+Sonnet3.5を活用 12 / 47

Slide 13

Slide 13 text

2-2. 現実:Sekibanフレームワーク開発の成果 確かな生産性向上を実感 コンセプト自体は既存のものを改良( 「真似」の素が存在) 通常なら数ヶ月かかる規模の開発を1ヶ月で実現 経営者としての時間制約がある中でも進捗 前提条件:既存の高い専門知識あり C#とイベントソーシングへの深い理解 設計コンセプトの明確なビジョンがあった 13 / 47

Slide 14

Slide 14 text

2-3. AIが得意な領域 得意なもの: 「真似」できるコード 書くのが面倒だが比較的単純なコー ド C# Source Generatorのような定型的 なコード生成 類似したパターンの応用(一度成功 したら繰り返せる) https://zenn.dev/jtechjapan_pub/articl es/5ea55a6ba47658 14 / 47

Slide 15

Slide 15 text

2-3. AIが得意な領域を活用した 記法 コンテキストを制限して、まず設計をし てから実装に移る タスクリスト+タイムスタンプ月設 計ファイル Cline と Copilot両方で交互に実行で きる https://zenn.dev/jtechjapan_pub/articl es/d441feb5123c9f 15 / 47

Slide 16

Slide 16 text

2-3. AIが苦手な領域 苦手なもの:抽象度の高い設計 複数ファイルにまたがる共通インターフェース設計 拡張性を考慮したシンプルなAPI設計 一貫性のある全体アーキテクチャの構築 16 / 47

Slide 17

Slide 17 text

2-3. AIコーディングの意外な負担 意外な負担: 「目grep疲れ」 大量の生成コードをレビューする精神的・肉体的疲労 生成コードの品質にバラつきがあり、細部の確認が必要 質の悪いコードでもコミットしてしまいがち 17 / 47

Slide 18

Slide 18 text

3. AIコーディングの理想と現実 - 新領域への挑 戦 18 / 47

Slide 19

Slide 19 text

3-1. 理想:未経験技術への挑戦 未経験の技術領域に短期間で挑戦可能に ドキュメントを読み込んで即実装できる チュートリアルを一から進める必要がない 専門家並みのコード品質で実装できる 19 / 47

Slide 20

Slide 20 text

3-1. 理想:多言語・多フレームワーク対応 多言語・多フレームワークへの対応力 得意言語以外でも高品質なコードを生成 フレームワークの詳細を知らなくても使いこなせる ライブラリの選定から実装までサポート 20 / 47

Slide 21

Slide 21 text

3-1. 理想:キャッチアップ時間の短縮 新しい技術のキャッチアップ時間を短縮 最新技術のサンプルコードを即座に生成 ベストプラクティスを取り入れた実装 公式ドキュメント以上に実践的な解説 21 / 47

Slide 22

Slide 22 text

3-2. 現実:bicepによるIaC開発の体験 Azure IaCツール「bicep」への挑戦 時間がなく手が出せていなかった技術 Cline、Copilot Agentの支援で1週間でパイプライン構築 実際に動作するデプロイ環境を構築できた 22 / 47

Slide 23

Slide 23 text

3-2. 現実:成功の前提条件 成功の前提条件 Azureデプロイの経験があった クラウドインフラ概念への基本的理解があった 開発内容を具体的に指示できた 23 / 47

Slide 24

Slide 24 text

3-2. 現実:AIコーディングの限界 現実的な限界 1週間でゼロからクラウド概念を学べるわけではない AIは知識の代替ではなく増幅器として機能 ドメイン知識がないと問題発生時の対応が困難 24 / 47

Slide 25

Slide 25 text

4. 雰囲気コーディング(Vibe Codeing)の理想 と現実 25 / 47

Slide 26

Slide 26 text

4-1. 理想:プログラミングの民主化 プログラミング未経験者でもコードが書ける時代 詳細な技術知識がなくても成果物が作れる 「動くもの」を短時間で作れる 専門分野を超えた開発が可能に 26 / 47

Slide 27

Slide 27 text

4-1. 理想:ドメイン専門家の実装力 ドメイン専門家が直接実装できる可能性 エンジニアを介さず直接アイデアを形にできる プロトタイピングの民主化 検証サイクルの大幅な短縮 27 / 47

Slide 28

Slide 28 text

4-1. 理想:創造力の解放 クリエイティブな挑戦へのハードル低下 「作りたいもの」に集中できる 技術的制約から解放される アイデア実現のスピードアップ 28 / 47

Slide 29

Slide 29 text

4-2. 現実:Three.jsゲーム開発への挑戦 Three.jsを使った3Dゲーム開発への挑戦 TypeScriptは知っているがゲーム開発は未経験 ペンギンが動き回る鬼ごっこゲームを構想 物理エンジンや衝突判定も実装できた 29 / 47

Slide 30

Slide 30 text

4-2. 現実:直面した壁 直面した壁 地形作成でAIが無限ループに陥った 基本設計なしでの開発の限界 ドメイン知識不足による指示の曖昧さ 30 / 47

Slide 31

Slide 31 text

4-2. 現実:ゲーム開発から得た教訓 教訓 未知分野でも「ある程度」は進められる しかし深い機能実装には領域知識が必要 適切なレベルで人間が設計・判断する必要性 31 / 47

Slide 32

Slide 32 text

4-3. 現実:イベントソーシングアプリの成功例 リアルタイムアンケートシステム開発の成功 自作のテンプレートをベースに開発 C#, SignalR, イベントソーシング, CQRSの知識あり たった3時間で基本的なシステムを構築 32 / 47

Slide 33

Slide 33 text

4-3. 現実:成功要因の分析 成功要因 自分が理解している技術スタック 明確な機能要件 既存テンプレートの存在( 「真似」の素) タスクリスト+タイムスタンプ付き設計ファイルの活用 33 / 47

Slide 34

Slide 34 text

4-3. 現実:アンケートアプリから得た教訓 教訓 自分の知識領域内ならVibeコーディングでも大きな成果 計画段階の人間の関与が重要 コードの修正・改善を前提としたプロセス設計 34 / 47

Slide 35

Slide 35 text

5. ローカルLLMによるコーディングの理想と現 実 35 / 47

Slide 36

Slide 36 text

5-1. 理想:コスト削減とプライバシー API料金不要でのAIコーディング サブスクリプション料金の削減 使用量を気にせず無制限に利用可能 初期投資ですべてを賄える 36 / 47

Slide 37

Slide 37 text

5-1. 理想:セキュリティとカスタマイズ プライバシーとセキュリティの向上 機密コードを外部サーバーに送信しない 社内ポリシーに準拠した運用 インターネット接続なしでも使用可能 カスタマイズの自由度 自社コードベースでファインチューニング 特定領域に特化した学習 完全に制御可能な環境 37 / 47

Slide 38

Slide 38 text

5-2. 現実:ローカルLLMの検証環境 M4 Max MacBook Pro 128GB メモリでの検証 DeepSeek, llama, QwQなど最新モデルで検証 質問応答レベルではある程度使える コーディングではクラウドモデルに大きく劣る 38 / 47

Slide 39

Slide 39 text

5-2. 現実:性能の限界 パフォーマンスの現実 Sonnet, GPT, Geminiに近い性能は出ない レスポンス速度が実用的でない 複雑なコード生成では信頼性に欠ける 39 / 47

Slide 40

Slide 40 text

5-2. 現実:コスト効率の判断 費用対効果の判断 Mac Studio M3 Ultra 512GBでもAPI並みの性能は期待できない 現時点ではAPI費用への投資の方が費用対効果は高い ハードウェア投資よりもクラウドAPIの方が性能面で優位 40 / 47

Slide 41

Slide 41 text

6. まとめ 41 / 47

Slide 42

Slide 42 text

6-1. AIが追いついていない領域 AIが追いついていない領域 拡張性、記述性の良さまで考えた設計 大きなシステムにおける一貫性のあるコーディング設計 複雑なエラーのデバッグ プライベート/マイナーなフレームワークの理解 42 / 47

Slide 43

Slide 43 text

6-1. AIが人間を上回りつつある領域 AIが人間を上回りつつある領域 単体ファイルの理解と問題解析 簡単だが面倒なコード(テストなど)の記述速度 明らかなエラーの修復能力 幅広い言語・環境に関する基本知識 43 / 47

Slide 44

Slide 44 text

6-2. AIの弱点と克服の方向性 AIの弱点は徐々に克服されていく 現在の弱点が1-3年後には解消している可能性 継続的な技術動向のモニタリングが重要 44 / 47

Slide 45

Slide 45 text

6-2. 効果的なAI活用のポイント 効果的なAI活用のポイント AIが苦手な領域を見極める コンテキストとして渡せば弱点が解消する情報を整理 AIが理解できる形で設計情報を用意 45 / 47

Slide 46

Slide 46 text

6-2. 開発者の役割の変化 開発者の役割の変化 自分と組織のメンバーの継続的な成長 先入観なく新ツールを試す積極性 AIと協業するスキルの磨き方 46 / 47

Slide 47

Slide 47 text

ネットシェア可 ありがとうございました! AI(あい)の春 夢をめぐらし 回答す 株式会社ジェイテックジャパン JTS Group https://www.jtechs.com/japan/ Sekiban - イベントソーシング・CQRSフレームワーク https://github.com/j-tech-japan/sekiban X: @tomohisa GitHub: @tomohisa