AIコーディングの理想と現実
by
Tomohisa Takaoka
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年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