Slide 1

Slide 1 text

ネットシェア 可 I Tried Local LMs for C# Programming. So you don’t Have To. 株式会社ジェイテックジャパン ⾼丘 知央 2024年1⽉25⽇ (⼟曜⽇) .NET ラボ 2025年1⽉ #dotnetlab 1

Slide 2

Slide 2 text

ネットシェア可 ⾃⼰紹介 X: @tomohisa Github: @tomohisa Works at : 株式会社ジェイテックジャパン, J-Tech Creations, Inc. JTS Group - 株式会社ジャパンテクニカルソフトウェア 品川 CTO: 中⼩企業向けの受託開発を、モダンな開発スタイルで。 Microsoft MVP for Developer Technologies (Web Development, .NET) new from November 2024 - OSS: Sekiban - Event Sourcing and CQRS Framework ResultBoxes - Railway Oriented Programing Library. ⾼丘 知央 - Tomohisa Takaoka

Slide 3

Slide 3 text

ネットシェア可 I Tried Local LM for C# Programming. So you don’t Have To. セッション概要 ● 1. Clineとは? ● 2. Anthropic Claude Sonnet を使⽤したCline ● 3. Local LM 使ってみた。 ○ Phi-4 ○ QWEN 2.5 ○ Codestral 22B v0.1 ○ DeepSeek R1 ● 4. まとめ 3

Slide 4

Slide 4 text

ネットシェア可 1. Clineとは? 4

Slide 5

Slide 5 text

ネットシェア可 Clineは、VSCode⽤のAIアシスタントで、CLI(コマンドラインインターフェース)やエ ディターを活⽤して、複雑なソフトウェア開発タスクを⽀援します。このWikiは、Clineに 関する情報、その機能、および効果的な使い⽅についての中⼼的なハブとして機能しま す。 派⽣: Roo Cline, Cool Cline etc. できること: 指⽰: VS Codeのタブで作業依頼を出す。 Clineがファイルリストから変更するファイルを読み込んで探す。 ファイルを読んで修正。 エラー情報などを⾒て、必要であれば調整とかもしてくれる ⾔語によっては実⾏して、ブラウザで確認とかもしてくれる。 I Tried Local LM for C# Programming. So you don’t Have To. 5 1. Clineとは?

Slide 6

Slide 6 text

ネットシェア可 2. Anthropic Claude Sonnet を使⽤し たCline 6

Slide 7

Slide 7 text

ネットシェア可 Clineは Anthropic Claude 3.5 Sonnetのエージェンティックなコーディング機能のおかげ で、複雑なソフトウェア開発タスクをステップバイステップで進めることができます。 ファイルの作成や編集、複雑なプロジェクトの探索、ブラウザの使⽤、ターミナルコマン ドの実⾏(許可が必要)などを可能にするツールを活⽤して、単なるコード補完や技術サ ポートを超えた⽀援を提供できます。 Anthropic API でAPIキーを作成すれば、Clineの想定技量を確認できる。 C#のプロジェクトで使ってみました。 I Tried Local LM for C# Programming. So you don’t Have To. 7 2. Anthropic Claude Sonnet を使⽤し たCline

Slide 8

Slide 8 text

ネットシェア可 テスト 8

Slide 9

Slide 9 text

ネットシェア可 Claudeを使えば、C# でも指⽰さえ正しくやれば普通にコードを書いてくれる。 ⾃分で全⼒を出した時よりは少し遅いが、指⽰を出せば安定したコードを出すのは 嬉しい。指⽰を正確に出す必要がある。 どのファイルのどのメソッドをどのように実装してほしい。 ただ、⾼い。 1分で終わった変更が 0.077 USD = 12円 1時間フルに使ったら * 60 = 720円 8時間使ったら、5760円 ⽉20⽇使ったら11万円... I Tried Local LM for C# Programming. So you don’t Have To. 9 2. Anthropic Claude Sonnet を使⽤し たCline

Slide 10

Slide 10 text

ネットシェア可 3. Local LM 使ってみた。 10

Slide 11

Slide 11 text

ネットシェア可 I Tried Local LM for C# Programming. So you don’t Have To. 11 3. Local LM 使ってみた。 環境:MacBook Pro M4 Max メモリ128G 実⾏環境:LM Studio 3.7 (モデルをダウンロード、実⾏して、HTTP APIからアクセスできる) 試したモデル: PHI-4 : 昨年12⽉にMicrosoftが発表特に数理推論に強みを持つ⼩規模ながら⾼品質なモデル。Phi-4はMITラ イセンスのもとで⾃由に利⽤でき、商⽤アプリケーションにも適⽤可能となった。わずか14B(140億)パ ラメータの⼩規模な⾔語モデルながら、数学分野や複雑な数理推論を含む⾼度なタスクで⾼い精度を発揮す ることが特徴だ。 QWEN 2.5 : 2024年9⽉、アリババクラウドから。Qwen2.5は膨⼤なデータセットでトレーニングされてお り、上記に挙げたさまざまなサイズの⼤規模⾔語モデルです。コーディングに特化したcoderもあり、それ を利⽤ Codestral 22B : Codestralは、Mistral AIが初めて設計したコード⽣成タスク⽤のコードモデルです。 DeepSeek R1 : DeepSeekシリーズの最新モデルであり、推論能⼒に特化した⼤規模⾔語モデル(LLM)です。 70BのモデルもM4 Maxで動く。

Slide 12

Slide 12 text

ネットシェア可 I Tried Local LM for C# Programming. So you don’t Have To. 12 3. Local LM 使ってみた。 感想:基本的に遅い。軽いモデルでもSonnet 3.5よりも遅い DeepSeek は結構早い。7B、8Bのものはサクサ ク使える でも⽣成するC#のコードが正しくない 地頭は悪くないけど、知識が⾜りないイメージ なので、ts とか pythonだともっといいかも 難しい問題もなかなか解けない。 Codesteralのようなコード特化したものは確か にコーディング⼒が⾼いので、可能性はある が、現時点ではメモリーが多くても、モデルと して使い物にならない。 このためにモリモリMacは買わなくていい。 DIGITSがでたらコーディング⼒的に使い物にな る可能性はあるかもと期待している。

Slide 13

Slide 13 text

ネットシェア可 5. まとめ 13

Slide 14

Slide 14 text

ネットシェア可 まとめ 14 ● AIがコーディングに役⽴つのは間違いない ● 特に、新しい技術習得したり、Chatで作る 機能を壁打ちしたり、エラーの解決法を調 べたりとても便利 ● Copilotのように、書きながら提案をする ことも可能 ● C#での開発における、⾃動コーディングに おいては、Sonnetはかなり使えるが、⾼い かも ● ローカルLMはまだスピード、コードの信 頼性ともに、まだまだ ● 新しいモデルの⽅が同じサイズでも早い し、良くはなっているので、これから期待 はできるかも

Slide 15

Slide 15 text

Thank You 15 株式会社ジェイテックジャパン https://www.jtechs.com/japan/ Sekiban - イベントソーシング‧CQRSフレームワーク https://github.com/j-tech-japan/sekiban Zenn - ジェイテックジャパンブログ https://zenn.dev/p/jtechjapan_pub