Microsoft Developer Day に行ってきました！

先日 11月6日(水) に東京で開催された、**Microsoft Developer Day** に参加してきました！

https://msevents.microsoft.com/event?id=1289012583

参加は事前登録制 (先着600名)、無料でした。
その名の通り開発者 (ソフトウエア開発者、AIエンジニア、技術リーダー、技術コミュニティのメンバー) 向けの対面イベントです。

普段 SaaS を使っている私はペルソナに当てはまらない気がしましたが (技術コミュニティイベントには参加してるからメンバー...?)、とても刺激を受けました。

:::note
勢いのある開発者コミュニティに触れ、リラーニング頑張ろうというモチベーション補給のできる 1日になりました。
:::

本記事では、この**イベントで触れた AI 動向について軽くまとめ**ます。


# Microsoft Developer Day とは
Microsoft社主催の開発者向けオフラインイベントです。


- **対象**：開発者 (初心者から玄人まで)
- **製品領域**：Azure AI、GitHub Copilot、Visual Studio、.NET
- **内容**：Keynote (基調講演)、セッション、展示ブース、ネットワーキングパーティ

>「Microsoft Developer Day 〜 AIで開発者の力を最大限に引き出す」は、**開発者に特化した技術の最前線を体験できる対面式イベント**です。**初心者から経験豊富な開発者まで、さまざまなレベルの方にご参加いただける**内容で、**Azure AI、GitHub Copilot、Visual Studio、.NET**といった革新的なツールや技術を、実際の事例を交えたデモンストレーションを通じて、具体的かつ実践的に学べます。このイベントでは、**基調講演に加え、「AI Development（AI開発）」と「Developer Productivity（開発者の生産性）」の2つのトラックで合計12を超えるセッション**が行われます。また、**展示ブースやアンカンファレンス形式のネットワーキングパーティ**もあり、参加者は最新技術の情報を得るとともに、業界の専門家との交流を深めることができます。
―― *[イベントページ](https://msevents.microsoft.com/event?id=1289012583)より (2024年11月13日閲覧)*

:::note
当日は受付が混雑したり一部セッションで立ち見がでたり、かなり盛況でした。
:::

# Key Takeaways
当日に見聞きしたことで、特に印象に残ったことをキーワード単位で記録します。
主にAIトレンドを紹介してくれるキーノートが初心者フレンドリーで助かりました。

キーノート以外のセッションの内容は、基本概念紹介かディープダイブかで二極化していたように思います。

## マルチモデルな時代
今は単一のモデルでmulti modalに画像や音声も処理できるようになったそう。
従来、モデルパラメータはどんどん増えていくと思われていたが、small language modelが出てきた――。
**今後はマルチなモデルそのものの特性はもちろん、たくさん出てきたそれぞれのモデルの特性を生かして実装する必要がある**、とのこと。

## Agentic な AI、世界へ
現在 Microsoft が描いている AI 活用社会の将来像は、Agentic な世界だそう。
生成AIのモデル自身が自律的に (agency をもって) 手順を考えることができると、さまざまなところにエージェントを配備して自動化が加速化するのでは。

Microsoft が思う AI 活用が進んだ未来の社会は、AI が自律的で動的である 「**society of agents**」。
**複雑な課題**も**各分野に長けた複数の AI エージェント同志が能力を掛け合わせて解決**する形になる！とのこと。

:::note
 **関連ページ**：
 後日 bing 検索したところ、Agentic AI をわかりやすく紹介したブログ記事↓ がすでにありました！
- [Baseline Agentic AI Systems Architecture](https://techcommunity.microsoft.com/blog/machinelearningblog/baseline-agentic-ai-systems-architecture/4207137)
:::

## AI インターフェース としてのロボット
AI 活用にはインターフェースが欠かせないが、**ロボットは現実世界とのインターフェース**として最適だそう。
ロボットはセンサーやアクチュエータ(関節)を使って空間を自律的に把握できるため、柔軟な対話やmulti modal対応、自律的行動が可能とのこと。

会場では **UGO** (ユーゴー) の紹介がありました。

https://ugo.plus/

UGO は Azure OpenAI を頭脳にした人型のロボットで、**現実世界の複合的情報を処理して適切な行動を判断できる**そう。
会場では UGO CEO の松井健さんから直々に会話のデモを見せてもらいました。
- [入力] 質問：「ねぇ UGO、今日のカンファレンスの楽しみ方は？」 (音声情報)
- [処理] 音声情報をチャンクに分断
- [処理] Azure OpenAI にアップロード、音声認識モデルでテキスト変換
- [処理] RAG から質問の関連情報を取得
- [処理] 回答をテキスト生成
- [出力] 回答を発話 

ロボットと AI を組み合わせると、マルチモーダルなエージェントによる柔軟な対話が可能になる実例でした。

## Graph RAG
LLM にはドメイン知識を与える必要があり、その方法は以下：
- プロンプトエンジニアリング
- RAG 
- fine tuning

RAG の中でも、今 Microsoft 社は「**Graph RAG**」に着目しているそう！

https://microsoft.github.io/graphrag/

ものごとを繋いで**関係性を図示するグラフを RAG の世界にもってきた**もので、Graph RAG では関係性を距離で表せるそう。

近しい言葉でネットワーク＝「コミュニティ」を作り、この**コミュニティのレイヤーを複数もつことで、これまでのベクターだと切れてしまっていた関係性を表すことができる**とのこと。
これにより、**これまでRAGが不得意だった全体観のある質問にも答えられる**ようになった！　

デモとして会場ではゴールデンカムイのキャラクター相関図のGraph RAGを見せてもらいました。

:::note
 **関連ページ**：
  - [Welcome to GraphRAG](https://microsoft.github.io/graphrag/)
  - [Azure OpenAIのGraphRAGを解説及び検証（解説編）](https://qiita.com/MMatsumotoMM/items/44c537a8af6858ab1199)　
  ←すでに素敵ブログ記事がありました
:::

## LLM Ops
**Large Language Model 自体をライフサイクル運用する考え**が出てきているとのこと。
この先もどんどんモデルは進化していくだろうことから、AI アプリのライフサイクル運用においては**モデルの入れ替えも想定しておくべき**なのだそう。

フローをサンプルデータ検証とか、パフォーマンス評価を行うのは構築段階だけの話ではなく、運用でも常に精度、状態を把握する仕組みが必要だとのこと。
この仕組み化の助けになるのが、**Azure AI Studio** の **Prompt Flow**！

https://learn.microsoft.com/en-us/azure/ai-studio/how-to/develop/trace-local-sdk?tabs=python

特に**トレース機能**を使うと、どのモジュールで時間がかかっているのか？　どういう処理？　といったことまで見ることができるらしいです。

:::note
**関連ページ**：
  - [How to trace your application with prompt flow SDK | Azure AI Studio](https://learn.microsoft.com/en-us/azure/ai-studio/how-to/develop/trace-local-sdk?tabs=python)
  - [Prompt Flow SDK のトレース機能を使用してあらゆる LLM 実行履歴を Azure AI Studio で管理する](https://qiita.com/nohanaga/items/58d9b82e8b4d741f6a4e)
  - [Azure AI Studio Prompt flow によるプロンプトのテストと評価ハンズオン④ - Function calling](https://qiita.com/nohanaga/items/ffaaf6383fc77c77808a#25-%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B9%E3%81%AE%E7%A2%BA%E8%AA%8D)

すでに素敵ブログが...💛
:::

## UFO
「UI-focused multi-agent framework for Windows OS」略して **UFO** という、**OSレベルの操作を AI エージェントが実行する**ことを可能にするフレームワークができたそう！

https://microsoft.github.io/UFO/

UFO は、Windows 上でユーザーが開いている画面 (ブラウザ、PDF、画像 etc) を識別して、プロンプトに応じたタスクを算出し操作できるのだそう。

会場のデモでは、Windows 上の Edge ブラウザで開いている Web サイトの内容を Word ドキュメントに要約し、保存 (自動保存も有効化) する様子を見せてもらいました。
(よりユーザーが直観的に AI 活用できる形がもうここにあるのか！と驚きました。)

Microsoft 製で Open Source で公開されているので、「興味のある人は使ってみてください！」とのことでした。(使ってみたい)

:::note
**関連ページ**：
- [Welcome to UFO's Document!](https://microsoft.github.io/UFO/)
- [Microsoft発のオープンソース版「UFO」登場！　Windowsを自動操縦するAIエージェントを試す](https://internet.watch.impress.co.jp/docs/column/shimizu/1570581.html)
:::

## ReAct
**ReAct** とは「AI エージェントを実現するプロンプトエンジニアリング」とのこと。
AI エージェントは「外部データやツールと連携することで LLM の知識だけでは解決できないことを自律的にタスク実行」してくれるそう。

ReAct とはつまり、**LLM が適切に外部データやツールを使えるようにプロンプトで定義**するプロンプトエンジニアリング手法だと、私は理解しました。

- ReAct の処理フロー概要：
  - [入力] 質問 (ここで質問に添えて**ツールも指定**する)
  - [処理] 思考
  - [処理] 行動の入力：**外部ツール活用**
  - [処理] 行動
  - [処理] 観察 (行動の結果)　→　また思考に戻る
　   ←　**最終回答に至るまで、思考～観察を繰り返す** (ループ処理)
  - [出力] 最終回答


登壇者は Microsoft MVP for Azure を受賞されている武井宜行さんで、質問例に「ミッキーマウスの誕生日ケーキに使うロウソクの値段は？ なおはロウソクは 1本 X円とする。」が使われるなど、とても引き込まれるプレゼンでした。
(AI エージェントがプロンプトに従って誕生年月日検索、現在の西暦取得、年齢計算、値段計算を実施。ちなみに私は誕生日ケーキのロウソクは毎年5本にしていますが、これを言い出すと野暮ですね。)


## Jailbreak
Jailbreak = システムプロンプトを無効化し、情報抜き出しなど悪意のある行為を可能にすること。

Jailbreak 以外にも、AI 時代の新たなリスクはざっと以下の通り：
- 根拠のない出力、エラー (hallucination)
- プロンプト入力攻撃
- 有害なコンテンツ、コード
- 権利侵略

私は普段 Intune をやっているので、jailbreak (脱獄) といえば「OS のシステムコードを書き換えて悪意のある行為を可能にするあれですよね？」と思ったら、別の意味があったので興味深かったです。

なお、こういう新たなリスク課題のソリューションが、次セクションの「責任ある AI」になります。

## 責任ある AI
先述の jailbreak 含め、**AI は新しい技術だからこそ新しいリスクがあり、それゆえ新しい対策が必要**とのこと。
**信頼なくして AI の価値提供・活用は実現できない**ということで、どうリスク対応し信頼構築するか考える必要がある ―― Microsoft が約10年取り組んできた「責任ある AI」の取り組みがホワイトペーパーになった！ (これを参考に対応できる)

- **ホワイトペーパー**：[Microsoft responsible AI standard, v2](https://blogs.microsoft.com/wp-content/uploads/prod/sites/5/2022/06/Microsoft-Responsible-AI-Standard-v2-General-Requirements-3.pdf)

https://blogs.microsoft.com/wp-content/uploads/prod/sites/5/2022/06/Microsoft-Responsible-AI-Standard-v2-General-Requirements-3.pdf

また、**AI 活用には透明性が欠かせない**そう。
なぜなら、AI のアウトプットはドラフトにすぎないほか、100% の安全性を担保することはできず、**最後は人の協力が必要**になるため。
全部システムでカバーしようとせずユーザー自身にアクションをさせることも必要だと。
ではどう透明性を担保するか ―― Microsoft が出しているレポートが参考になる！ (チャプタータイトルだけでも参考になる！)

- **レポート**：[Responsible AI Transparency Report](https://www.microsoft.com/en-us/corporate-responsibility/responsible-ai-transparency-report?msockid=269a8e0771f8614b38629b327082600d)

https://www.microsoft.com/en-us/corporate-responsibility/responsible-ai-transparency-report?msockid=269a8e0771f8614b38629b327082600d



また、有害コンテンツ対策となる具体的ツールとして、**Azure AI Content Safety** や Azure Open AI Studio の**安全システムメッセージ** (Meta prompt テンプレート) などの紹介あり。


## 技術コミュニティ
Microsoft MVP と技術コミュニティ (JAZUG、Japan Azure User Group) 運営の二足の草鞋を履くエンジニアの星たちの対談がありました。

曰く、「登壇するとコミュ障でも簡単にコミュニケーションのきっかけを作ることができる」そうで、コミュニティ活動を通して知り合いを作り、技術をより楽しむ好循環ができるそう✨

https://jazug.connpass.com/


## Code; Without Barriers in Japan
主に女性向け AI 技術のリラーニングプログラム。
ジェンダーギャップ、人材不足といった社会課題への Microsoft の取り組みの一環として位置づけられているそう。

https://www.microsoft.com/ja-jp/codewithoutbarriers/?msockid=269a8e0771f8614b38629b327082600d

事務やバックオフィスで活躍されている女性が AI 人材になることが、賃金のジェンダーギャップや IT 人材不足のを埋める助けになるのでは、とのこと。

:::note
YouTube に本プログラムの紹介動画がありました！
- [Code; Without Barriers | 日本上陸イベント | 2024 年 4 月 18 日](https://www.youtube.com/watch?v=hvRdL-FWXDk)

動画後半部に、DevDay 会場のプレゼン内容と似た内容の説明がありました。
:::

プログラム内容は LinkedIn learning をベースに、ミートアップイベントやメンタリングによる支援もあり。
プログラムを完了するとスキルの証明に Credly のデジタルバッジがもらえるそう。
このバッジを就労の機会や社内での挑戦のチャンスに繋げてほしいとのことでした。

:::note
**2024年12月 追記：**
その後、無事私も Code; Without Barriers に参加し、AI学習を進めています！
基礎編の体験記書きました：[Code; Without Barriers in Japan に参加しました！【AI学習コミュニティ】](https://qiita.com/shokolate/items/4a4dca4352a9d9500ec5)
:::


## ネットワーキング
このイベントのネットワーキングタイムは、**ライトニングトーク**付きでした。
1枠 5分で「AIトピック」と「Developer Productivity」の 2つのカテゴリでそれぞれ 10名ほどの枠がどんどん埋まっていっていました。

「こんなに盛況なライトニングトーク、仕込みか？」と思いましたが、ライトニングトークがあることは事前告知なく、当日のゲリライベントだったそうです。
ネタをその場でまとめて届ける対応力と情熱に感服し、とても**コミュニティスピリット**を感じました。

また、主観ですが他のイベントの懇親会と比べて話しかけてもらえる率が高かったです。
(私の Microsoft 365 Community Conference リュックもいい conversation starter になりました。)


# さいごに
注目の高い AI トレンドと技術者コミュニティに触れることのできた 1日でした。

AI アプリのアーキテクチャに関する議論や運用・セキュリティ観点の議論など、正直全然ついていけない話題もありました。
が、それが逆に AI トピックでここまで具体的な話ができるほど進んでいるんだなと、ひとつの発見になりました。

一応ノート PC を会場に持ち込んでメモを取っていたので (バッテリー残量がギリギリに...) また学習が進んでから改めて振り返りたいなと思っています。

:::note
後日、イベントの参加 thank you メールに添えて当日の発表スライドもいただけました。
:::

早速 Code; Without Barriers のラーニングコンテンツを使いはじめました☆


:::note
**2024年12月 追記：**
その後も Code; Without Barriers で AI学習を進めています！
基礎編の体験記書きました：[Code; Without Barriers in Japan に参加しました！【AI学習コミュニティ】](https://qiita.com/shokolate/items/4a4dca4352a9d9500ec5)
:::