Slide 1

Slide 1 text

大 AI 時代における C# の事情 ~ぶっちゃけトークを交えながら~ AI Dev Day 2026 2026/07/24 何縫ねの。

Slide 2

Slide 2 text

自己紹介 何縫ねの。 • 所属: NTTドコモビジネス株式会社 イノベーションセンター • Microsoft MVP for Developer Technologies (2024~) • .NET / Web Development • 趣味: C#, OSS, ドール, 一眼(α7 IV), シーシャ • 執心領域 • C# ⇔ TypeScript • SignalR • Observability / OpenTelemetry nenoNaninu nenoMake ブログ https://blog.neno.dev その他 https://neno.dev 1

Slide 3

Slide 3 text

OSS 紹介 Tapper https://github.com/nenoNaninu/Tapper • C# の型定義から TypeScript の型定義を生成する .NET Tool/ library • JSON / MessagePack 対応! 属性を付与するだけ 2

Slide 4

Slide 4 text

OSS 紹介 TypedSignalR.Client https://github.com/nenoNaninu/TypedSignalR.Client • C# の SignalR Client を強く型付けするための Source Generator こんな SignalR の Hub と Receiver の interface が あったとして… Before After (using TypedSignalR.Client) 脱文字列! 全てが強く型付け! 3

Slide 5

Slide 5 text

OSS 紹介 MessagePack Hub Protocol 対応! TypedSignalR.Client.TypeScript https://github.com/nenoNaninu/TypedSignalR.Client.TypeScript • TypeScript の SignalR Client を強く型付けするための .NET Tool / library Before 属性を付与するだけ! After (using TypedSignalR.Client.TypeScript) 脱文字列! 全てが強く型付け! TypeScript 用の型を C# から自動生成 4

Slide 6

Slide 6 text

OSS 紹介 SignalR 版 SwaggerUI TypedSignalR.Client.DevTools https://github.com/nenoNaninu/TypedSignalR.Client.DevTools • SignalR 使ったアプリを快適に開発するための GUI を自動生成する library • 2 step で利用可能! • http pipeline に middleware の追加 • Hub と Receiver を定義してる interface に属性を付与 • JWT 認証 サポート • パラメータのユーザ定義型サポート • JSON で入力! 5

Slide 7

Slide 7 text

OSS 紹介 AspNetCore.SignalR.OpenTelemetry https://github.com/nenoNaninu/AspNetCore.SignalR.OpenTelemetry • トレースのための計装 • 最低限のログ Inspired by HttpLogging • 接続時 • Transport 層の情報も出力(WebSocket 等) • メソッド呼び出し時 • HubName.MethodName の素朴なログ • メソッド呼び出し毎にログのスコープを追加 • HubName, MethodName, InvocationId を 振っているのでログの検索性が向上 • Duration • 切断時 • 切断時に例外が発生していれば例外もログに出力 https://github.com/nenoNaninu/AspNetCore.SignalR.OpenTelemetry SignalR のメソッド呼び出し毎に スパンが切られるように 6

Slide 8

Slide 8 text

OSS 紹介 AspireExtensions https://github.com/nenoNaninu/AspireExtensions • Aspire の便利な hosting integration • gRPC UI • Minio 7

Slide 9

Slide 9 text

AI Dev Day / Community Booth 8

Slide 10

Slide 10 text

AI Dev Day / Community Booth 9

Slide 11

Slide 11 text

C# Kaigi とは C#er のための C# 特化型カンファレンス!!! • C# に関する事ならなんでも OK !な C#er のためのカンファレンス • 今年初開催! 07/27 (月) から一般参加募集開始! https://csharpkaigi.net 10

Slide 12

Slide 12 text

本日のお品書き • • • • あいさつ・C# Kaigi 紹介 C# x AI ミニセッション 全員参加型パネルディスカッション クロージング 11

Slide 13

Slide 13 text

C# x AI

Slide 14

Slide 14 text

C# x AI …の前に

Slide 15

Slide 15 text

AI 時代のソフトウェア開発を捉える 3 つの観点 14

Slide 16

Slide 16 text

AI 時代のソフトウェア開発を捉える 3 つの観点 • Use AI • Build AI • Build for AI 15

Slide 17

Slide 17 text

AI 時代のソフトウェア開発を捉える 3 つの観点 • Use AI • Build AI • Build for AI 16

Slide 18

Slide 18 text

AI 時代のソフトウェア開発を捉える 3 つの観点 大多数のユースケース • Use AI • Build AI • Build for AI 17

Slide 19

Slide 19 text

AI 時代のソフトウェア開発を捉える 3 つの観点 大多数のユースケース • Use AI • Build AI • Build for AI 現代 C# 環境において Use AI / Build AI を加速させる ツール・ライブラリを紹介 18

Slide 20

Slide 20 text

Use AI 19

Slide 21

Slide 21 text

Use AI どのように AI を開発に使うか?使い倒すか? • 適切な指示に加えて何が必要か? 20

Slide 22

Slide 22 text

Use AI どのように AI を開発に使うか?使い倒すか? • 適切な指示に加えて何が必要か? どれだけ充実した コンテキストを AI が確保できるか…! 21

Slide 23

Slide 23 text

Use AI どのように AI を開発に使うか?使い倒すか? • 適切な指示に加えて何が必要か? どれだけ充実した コンテキストを AI が確保できるか…! AI に対する「目」と「手」を どれだけ用意できるかという話でもある 22

Slide 24

Slide 24 text

Use AI そこで Aspire • 元々は分散アプリケーション開発のためのツール • 分散アプリケーション開発のためのローカル開発環境 • 分散アプリケーションのテスト https://blog.neno.dev/entry/2025/02/23/152124 https://blog.neno.dev/entry/2025/09/03/212821 23

Slide 25

Slide 25 text

Use AI そこで Aspire Web API + DB みたいな シンプルなものも 広義の分散アプリケーション • 元々は分散アプリケーション開発のためのツール • 分散アプリケーション開発のためのローカル開発環境 • 分散アプリケーションのテスト https://blog.neno.dev/entry/2025/02/23/152124 https://blog.neno.dev/entry/2025/09/03/212821 24

Slide 26

Slide 26 text

Use AI そこで Aspire Web API + DB みたいな シンプルなものも 広義の分散アプリケーション • 元々は分散アプリケーション開発のためのツール • 分散アプリケーション開発のためのローカル開発環境 • 分散アプリケーションのテスト OpenTelemetry ファースト https://blog.neno.dev/entry/2025/02/23/152124 https://blog.neno.dev/entry/2025/09/03/212821 25

Slide 27

Slide 27 text

Use AI そこで Aspire Web API + DB みたいな シンプルなものも 広義の分散アプリケーション • 元々は分散アプリケーション開発のためのツール • 分散アプリケーション開発のためのローカル開発環境 • 分散アプリケーションのテスト OpenTelemetry ファースト ローカル開発環境でも テレメトリを収集し 可視化してくれる 人間用のダッシュボート付 https://blog.neno.dev/entry/2025/02/23/152124 https://blog.neno.dev/entry/2025/09/03/212821 26

Slide 28

Slide 28 text

Use AI そこで Aspire Web API + DB みたいな シンプルなものも 広義の分散アプリケーション • 元々は分散アプリケーション開発のためのツール • 分散アプリケーション開発のためのローカル開発環境 • 分散アプリケーションのテスト • 今では AI を使った開発を加速のためのツール • 分散アプリケーションを AI が起動/停止 • OpenTelemetry で収集したテレメトリを すべて AI に公開するための CLI を完備 https://blog.neno.dev/entry/2025/02/23/152124 https://blog.neno.dev/entry/2025/09/03/212821 OpenTelemetry ファースト ローカル開発環境でも テレメトリを収集し 可視化してくれる 人間用のダッシュボート付 27

Slide 29

Slide 29 text

Use AI そこで Aspire Web API + DB みたいな シンプルなものも 広義の分散アプリケーション • 元々は分散アプリケーション開発のためのツール • 分散アプリケーション開発のためのローカル開発環境 • 分散アプリケーションのテスト • 今では AI を使った開発を加速のためのツール • 分散アプリケーションを AI が起動/停止 • OpenTelemetry で収集したテレメトリを すべて AI に公開するための CLI を完備 Aspire は Build for AI 的ポジション https://blog.neno.dev/entry/2025/02/23/152124 https://blog.neno.dev/entry/2025/09/03/212821 OpenTelemetry ファースト ローカル開発環境でも テレメトリを収集し 可視化してくれる 人間用のダッシュボート付 28

Slide 30

Slide 30 text

Use AI w/ Aspire Aspire の使い方は簡単! 29

Slide 31

Slide 31 text

Use AI w/ Aspire Aspire の使い方は簡単! docker compose の yaml 相当のものを C# で記述するだけ! C# なので yaml と違って型安全! 30

Slide 32

Slide 32 text

Use AI w/ Aspire Aspire の使い方は簡単! docker compose の yaml 相当のものを C# で記述するだけ! C# なので yaml と違って型安全! OpenTelemetry 周りの諸々は標準装備なので 何も面倒を見る必要なし! 31

Slide 33

Slide 33 text

Use AI w/ Aspire 人間用の分かりやすいダッシュボード (GUI) • ログ、トレース、メトリクスを簡単に確認可能 32

Slide 34

Slide 34 text

Use AI w/ Aspire AI 用の CLI • AI がアプリケーションを実行・調査するほぼ全てが完備 33

Slide 35

Slide 35 text

Use AI w/ Aspire AI 用の CLI • AI がアプリケーションを実行・調査するほぼ全てが完備 実行/停止 34

Slide 36

Slide 36 text

Use AI w/ Aspire AI 用の CLI • AI がアプリケーションを実行・調査するほぼ全てが完備 実行/停止 ログ (標準出力) 35

Slide 37

Slide 37 text

Use AI w/ Aspire AI 用の CLI • AI がアプリケーションを実行・調査するほぼ全てが完備 実行/停止 ログ (標準出力) トレース/ログ (OpenTelemetry) 36

Slide 38

Slide 38 text

Use AI w/ Aspire AI が Aspire を CLI 経由で使い倒せるようにするためには? • Agent Skills を用意する必要がある • Aspire 公式が AI 用の Agent Skills を用意してくれている 37

Slide 39

Slide 39 text

Use AI w/ Aspire AI が Aspire を CLI 経由で使い倒せるようにするためには? • Agent Skills を用意する必要がある • Aspire 公式が AI 用の Agent Skills を用意してくれている AI が Aspire を活用するための Agent Skills も Aspire CLI で一発で導入可能! 38

Slide 40

Slide 40 text

Build AI 39

Slide 41

Slide 41 text

Build AI どのように目的に沿った AI Agent を作成するか、組み込むか? • 自社のアプリケーション・サービスに沿った AI Agent • 「Ask AI」ボタンが昨今のアプリケーションには付き物 • 自社の業務ワークフローに沿った AI Agent 40

Slide 42

Slide 42 text

Build AI どのように目的に沿った AI Agent を作成するか、組み込むか? • 自社のアプリケーション・サービスに沿った AI Agent • 「Ask AI」ボタンが昨今のアプリケーションには付き物 • 自社の業務ワークフローに沿った AI Agent AI を作るのではなく 「AI Agent」を作るのだという 意識が大事 41

Slide 43

Slide 43 text

Build AI そもそも AI Agent とは何か? • AI Agent とは AI のマイクロサービスである • …と理解しておくと何かと腑に落ちやすい • 特に明確な定義は現状ない https://learn.microsoft.com/ja-jp/agent-framework/workflows/orchestrations/handoff 42

Slide 44

Slide 44 text

Build AI そもそも AI Agent とは何か? • AI Agent とは AI のマイクロサービスである • …と理解しておくと何かと腑に落ちやすい • 特に明確な定義は現状ない 各 Agent が それぞれの目的に沿った 指向性 / tool を持つ https://learn.microsoft.com/ja-jp/agent-framework/workflows/orchestrations/handoff 43

Slide 45

Slide 45 text

Build AI Microsoft Agent Framework • 型安全 • AI Agent の実装 • • • • • • Structured Output • Tool 呼び出し AI Agent の オーケストレーションのための Workflow 開発時用 UI OpenTelemetry サポート Agent Skills サポート 複数の AI Provider サポート 44

Slide 46

Slide 46 text

Build AI w/ Microsoft Agent Framework Agent の定義と実行 45

Slide 47

Slide 47 text

Build AI w/ Microsoft Agent Framework Agent の定義と実行 Agent の定義 46

Slide 48

Slide 48 text

Build AI w/ Microsoft Agent Framework Agent の定義と実行 Agent の定義 実行 47

Slide 49

Slide 49 text

Build AI w/ Microsoft Agent Framework Structured Output 48

Slide 50

Slide 50 text

Build AI w/ Microsoft Agent Framework Structured Output 脱 JSON Schema!! 49

Slide 51

Slide 51 text

Build AI w/ Microsoft Agent Framework Tool 50

Slide 52

Slide 52 text

Build AI w/ Microsoft Agent Framework Tool Agent が呼び出し可能な Tool 51

Slide 53

Slide 53 text

Build AI w/ Microsoft Agent Framework Tool Agent が呼び出し可能な Tool Tool をどのタイミングで呼び出すか 52

Slide 54

Slide 54 text

Build AI w/ Microsoft Agent Framework Tool Agent が呼び出し可能な Tool Tool をどのタイミングで呼び出すか 型安全 53

Slide 55

Slide 55 text

Build AI w/ Microsoft Agent Framework Agent のオーケストレーション (Sequential) agent1 agent2 54

Slide 56

Slide 56 text

Build AI w/ Microsoft Agent Framework Agent のオーケストレーション (Handoff) agent1 agent2 agent3 agent4 55

Slide 57

Slide 57 text

Build AI w/ Microsoft Agent Framework 開発時用 UI 56

Slide 58

Slide 58 text

Build AI w/ Microsoft Agent Framework 開発時用 UI Chat の開発は この手の UI が無いと 結構大変 57

Slide 59

Slide 59 text

Build AI w/ Microsoft Agent Framework 開発時用 UI Chat の開発は この手の UI が無いと 結構大変 Agent 実行中に 何が起きたかの event も見れる 58

Slide 60

Slide 60 text

Build AI w/ Microsoft Agent Framework OpenTelemetry サポート 59

Slide 61

Slide 61 text

Build AI w/ Microsoft Agent Framework OpenTelemetry サポート 60

Slide 62

Slide 62 text

Build AI w/ Microsoft Agent Framework OpenTelemetry サポート 61

Slide 63

Slide 63 text

Build AI w/ Microsoft Agent Framework OpenTelemetry サポート Aspire のダッシュボードも AI Agent にバッチリ対応! 62

Slide 64

Slide 64 text

まとめ 63

Slide 65

Slide 65 text

まとめ AI 時代における 3 つの観点 + 現代 C# 環境で AI を活用するために • Use AI • Aspire を使って coding agent が 充実したコンテキストを確保できるようにしよう! • Build AI • Microsoft Agent Framework で型安全に AI Agent を実装しよう! • Build for AI • Aspire は Use AI を加速させる Build for AI なツール • バズり散らかしている OSS を覗いてみよう! 64

Slide 66

Slide 66 text

Panel Discussion 65

Slide 67

Slide 67 text

Panel Discussion C# のオタク達が語ります • 質問なんでも OK! 何縫ねの。 高丘 知央 大田 一希 NTT ドコモビジネス株式会社 株式会社ジェイテックジャパン 日本マイクロソフト株式会社 66

Slide 68

Slide 68 text

Closing 67

Slide 69

Slide 69 text

C# Kaigi とは C#er のための C# 特化型カンファレンス!!! • C# に関する事ならなんでも OK !な C#er のためのカンファレンス • 今年初開催! 07/27 (月) から一般参加募集開始! https://csharpkaigi.net 68