Slide 1

Slide 1 text

Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. AI Agentがコードを書く時代に 僕たちは何故C#を選ぶのか 木村健一郎 2025年12月20日 .NET Conf 2025 Fukuoka x Tokyo x Osaka

Slide 2

Slide 2 text

Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 名前 :木村健一郎 所属 :株式会社オルターブース SORACOM UG九州 JAWS-UG福岡 娘ちゃんのパパ(8歳5ヶ月) お仕事:IoT番長 受賞歴:SORACOM MVC 2021,2023 AWS Samurai 2019 APJ Community Award 2023(Ownership) 気になる.NET :.NET nanoFramework 好きなSORACOMサービス :Arc、Funk、Orbit SNS : @show_m001

Slide 3

Slide 3 text

Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 諸注意 • 他の言語をディスる意図は全くありません • 「それって○○(他の言語)でもできるよね」というのがあるの は理解して喋ってますのでマサカリはご遠慮ください • 時間の都合上、コード例は省略してるのでテクニカルな話はほ とんど出てきません

Slide 4

Slide 4 text

Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. AIがコードを書いたときのあるある AI、特にAIエージェントが自律的にコードを書く時代です が・・ • 大量に出力されるコードに対する認知負荷/レビュー疲れ • 修正を依頼したら雨漏りを直しながら屋根を踏み抜かれる • 一緒に修正すべき所の修正漏れ • クラスの定義変更時にそれを参照しているところやテストが放置され る

Slide 5

Slide 5 text

Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. これを防ぐには? こういったことを(できるだけ)防いで、より効果的にAIと協業す るには • プロンプトの工夫 • カスタムインストラクションなどで守るべきルールをを示す • ソフトウェアアーキテクチャを正しく設計する • 間違った書き方がそもそもできないようにする • テストで確認する 言語の機能やエコシステムが支援してくれるのが理想的

Slide 6

Slide 6 text

Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. AI時代に強い言語とは • 間違った書き方ができない(ようにすることができる) • 間違いをすぐ検出できる • 設計の意図をコードに残せる • 標準的な書き方がある 何となく書いても何となく動く「(一見)人に優しい言語」よりも、 「制約があって(一見)人に厳しい言語」の方が向いていると思っ ています

Slide 7

Slide 7 text

Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. AI(LLM)の思考を縛る 確率で推移するAI(LLM)の思考を言語機能と設計の制約で縛り、 収束可能性を高めることがAIの出力の品質向上につながります

Slide 8

Slide 8 text

Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. C#を選ぶ理由1:言語の機能 • 静的型付け • コンパイラ型言語 • nullable / readonly / init 間違った(≒想定と違う)書き方はコンパイルできない → 「間違ったら怒られる」のではなく 「間違ったものを作れない」 C#はコンパイラが味方

Slide 9

Slide 9 text

Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. C#を選ぶ理由2:アーキテクチャ設計を 支える強力なエコシステムと言語仕様 より良いソフトウェアアーキテクチャを支えるエコシステム • 依存性注入 • テスト • 高品質でオープンなフレームワークやライブラリ テスト駆動/SOLID原則/クリーンアーキテクチャ/デザインパ ターンなど、偉大な先人の知恵をフル活用して構造的に制限をか けることができる

Slide 10

Slide 10 text

Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. まとめ • AIがコードを書く時代の到来 • 人間の仕事は設計とレビュー • 「選択肢を制限」できる言語を選ぶ意味 • AIの思考を縛り、収束可能性を高める • 設計と言語機能でガードレールを引き、逸脱を機械に見つけてもらう • C#を選ぶ理由 • 静的型付けやオブジェクト指向などの強力な言語機能と、コンパイラ による機械的なアシスト • 設計をコードに刻める豊富なエコシステム • C#は、人間にもAIにも「甘くない」のが最高 • 厳しい制約は、間違いを未然に自動で防いでくれる優しさ

Slide 11

Slide 11 text

Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved.