記事公開日
【AI】サーバーレス エージェントを試してみた

この記事のポイント
Azure Functionsのサーバーレスエージェントランタイムを使うと、SharePointへのファイルアップロードのようなイベントをトリガーに、AIエージェントを自動実行できます(2026年8月時点、一部プレビュー機能を含む)。
- トリガーはConnector Namespace(プレビュー):
公式クイックスタートのMicrosoft 365 Outlook連携と同じ仕組みを使い、コードを書かずにSharePointのアップロードイベントを受け取りました。 - エージェント自体がトリガーを持てる:
イベントに応じてエージェントが自動的に起動する構成を、比較的シンプルな設定で組めます。 - Microsoft Foundry Agent Serviceとの違いはトリガーの有無:
Foundry上で作成するエージェントは、外部からの呼び出しが前提で、イベントトリガーの仕組みは組み込まれていません。
Microsoft Build 2026で、Azure Functionsに「サーバーレスエージェントランタイム」というパブリックプレビュー機能が発表されたのをご存じでしょうか?
AIエージェントの定義・実行・トリガーによる自動化までを、Azure Functions上でまとめて行える新しい仕組みです。
新しい機能が出たと聞いて、筆者も試してみました。
本記事では、細かい構築手順ではなく、「こんなことができる」という体験と、Microsoft Foundry Agent Service(Foundry上で作成するAIエージェント)との違いを軽くご紹介します。
「AzureでAIエージェントを自動化したいが、どのサービスを使えばいいか迷っている」という方の参考になれば幸いです。
Azure Functionsサーバーレスエージェントランタイムとは
Azure Functionsサーバーレスエージェントランタイムは、AIエージェントの定義・実行・トリガーによる自動化までを、Azure Functions上でまとめて行える仕組みです(2026年8月時点、一部プレビュー機能を含みます)。
Microsoft公式のクイックスタート「Azure Functions を使用してサーバーレス エージェントをビルドする」では、チャットエージェントとタイマートリガーエージェントの両方を含むサンプル環境が用意されています。
エージェントの振る舞いは、Markdown+YAML Frontmatter形式の.agent.mdというファイル1つで定義できます。
YAML Frontmatterにモデル設定やトリガーを記述し、本文にはエージェントへの指示を自然文で書くだけ、というシンプルな作りです。
なぜMarkdownだけでエージェントを定義できるのか:
ランタイムがYAML Frontmatterのtrigger定義を読み取り、対応するAzure Functionsのトリガー(timer、blob、queueなど)に自動でバインドする仕組みになっているためです。
そのため、個別のトリガー用コードを書かずに、宣言的な設定だけでイベント駆動のエージェントを用意できます。
今回試したこと:SharePointアップロードをトリガーに要約
筆者が実際に試したのは、公式クイックスタートのタイマートリガーエージェントの考え方を参考に、SharePointのドキュメントライブラリにファイルがアップロードされたことをトリガーに、その内容を要約するエージェントです。
公式サンプルのタイマートリガーにあたる部分を、SharePointのイベントに応じて起動するトリガーに置き換えるイメージです。
実際に使用したファイルはこのような感じになっています。
※$AZURE_OPENAI_DEPLOYMENTはFunctionsの環境変数で定義した値として自動的に解釈してくれます。
---
name: SharePoint Document Summarizer
description: >
SharePointのドキュメントライブラリに新しいファイルが格納されたときに起動し、
内容を要約してSharePoint側の要約列を更新するエージェント。
trigger:
type: connector_trigger
model: $AZURE_OPENAI_DEPLOYMENT
timeout: 300
---
あなたはSharePointドキュメントの要約担当エージェントです。SharePointのドキュメント
ライブラリに新しいファイルが格納されたときに、このエージェントが起動されます。
トリガーのペイロードには、格納されたファイルのサイト・ライブラリ・アイテムID・
ファイル名などのプロパティが含まれています。
(以下、省略)
ポイントは、このトリガーにConnector Namespace(コネクタ名前空間)のプレビュー機能を利用したことです。
Connector Namespaceは、公式クイックスタートではMicrosoft 365 Outlookとの連携(メール送信)に使われている仕組みですが、同じ仕組みを使ってSharePointのイベントもトリガーとして受け取ることができました(2026年8月時点、プレビュー機能)。
今回使用したサーバーレスエージェントランタイムでは、connector_triggerの仕組みを.agent.mdファイルのYAML Frontmatterに宣言するだけで、コードを書かずに(ノーコードで)SharePointのイベントを受け取ることができました。
プレビュー機能であるため、コネクタが対応する範囲や仕様は今後変わる可能性があります。詳細は事前に公式ドキュメントをご確認ください。
Azure PortalのConnector Namespace画面で「Create trigger」から接続先を選ぶと、SharePointに限らず様々なサービス向けのイベントが選択肢として用意されています(2026年8月時点、一部プレビュー機能を含む)。代表的なものは以下の通りです。
| コネクタ | トリガーの例 |
|---|---|
| SharePoint | ファイルが作成されたとき(プロパティのみ) |
| Office 365 Outlook | 新しいメールが届いたとき |
| OneDrive for Business | ファイルが作成されたとき |
| Microsoft Teams | チャネルに投稿されたとき |
| Dropbox | ファイルが作成されたとき |
今回はこの中のSharePoint向け「ファイルが作成されたとき(プロパティのみ)」を使い、ドキュメントライブラリへのアップロードをきっかけにエージェントを起動しました。
公式クイックスタートのOutlook連携と同じ枠組み(Connector Namespace)を使ったことで、SharePoint向けのトリガーも比較的少ない変更で組み込めた、というのが筆者の実感です。
ただし、プレビュー機能であるため、仕様は今後変更される可能性があります。組み込みの際は事前に最新の公式ドキュメントをご確認ください。
実際にトリガーをキーにサーバーレスエージェントが動いたときの履歴がこちらになります。
また、アップロードしたテキストファイルには桃太郎の話が記載されており、Agent列にその要約文が格納されています。
Foundry上のAIエージェントとの違い:トリガーの有無がカギ
Azure Functionsサーバーレスエージェントランタイムと、Microsoft Foundry Agent Service(Foundry上でエージェントを定義・作成する方法)の大きな違いは、エージェント自体にイベントトリガーの仕組みが組み込まれているかどうかにあると思いました。
Microsoft Foundry Agent Serviceでは、公式ドキュメント「Microsoft Foundry エージェント (クラシック) でキューベースのAzure Functionsを使用する方法」にあるとおり、スレッド(Thread)を作成し、そこにメッセージを追加してRun APIを呼び出す、という形で外部からエージェントを起動する仕組みになっています。
つまり、スケジュールやイベントに応じて自動的にエージェントを起動する機能自体はAgent Service側には用意されておらず、Logic AppsやAzure Functionsのタイマートリガーなど、別のオーケストレーション機構と組み合わせる必要があります(2026年8月時点)。
一方、Azure Functionsサーバーレスエージェントランタイムでは、.agent.mdのYAML Frontmatterにtriggerを記述するだけで、timer・blob・queue、そしてConnector Namespace経由のコネクタトリガー(Outlook、SharePointなど)といったイベントに応じて、エージェント自体が自動実行されます。
今回筆者が試したSharePointアップロードをトリガーにした要約エージェントも、この仕組みをそのまま利用したものです。
| 比較観点 | Azure Functionsサーバーレスエージェントランタイム | Microsoft Foundry Agent Service |
|---|---|---|
| イベントトリガー | エージェント定義にtriggerを宣言でき、自動実行される | 組み込みなし。外部からRun APIを呼び出す必要がある |
| 呼び出し方法 | timer・blob・queue・コネクタなどの宣言的トリガー | スレッド作成→メッセージ追加→Run API実行 |
| 自動化に必要な追加要素 | 基本的に不要(trigger定義のみ) | Logic AppsやAzure Functionsなど別のオーケストレーションが必要 |
よくある質問
Q. Azure Functionsサーバーレスエージェントランタイムとは何ですか?
AIエージェントの定義・実行・トリガーによる自動化を、Azure Functions上でまとめて行える仕組みです。
.agent.mdファイルのYAML Frontmatterにトリガーを記述するだけで、イベントに応じてエージェントを自動実行できます。
Q. SharePointへのアップロードをトリガーにするには、どの機能を使いますか?
筆者はConnector Namespace(プレビュー)経由のconnector_triggerを利用しました。
Azure PortalのConnector Namespace画面には「ファイルが作成されたとき(プロパティのみ)」というSharePoint向けトリガーが用意されており、.agent.mdのYAML Frontmatterに宣言するだけで、コードを書かずにイベントを受け取ることができました(2026年8月時点)。
Q. Microsoft Foundry Agent Serviceとの違いは何ですか?
最も大きな違いは、イベントトリガーの仕組みが組み込まれているかどうかです。
Microsoft Foundry Agent Serviceは、スレッド作成とRun APIの呼び出しという外部からの起動が前提であり、スケジュールやイベントによる自動実行の仕組み自体は用意されていません。
まとめ:Azure Functionsサーバーレスエージェントランタイムを試してわかったこと
今回は、Azure Functionsサーバーレスエージェントランタイムを使い、SharePointへのファイルアップロードをトリガーに内容を要約するエージェントを試してみました。
学びは3つあります。
1つ目は、.agent.mdのYAML Frontmatterにtriggerを宣言するだけで、SharePointのイベントのような社内システムの動きに合わせてエージェントを自動実行できることです。
2つ目は、Connector Namespace(プレビュー)を使うことで、コードを書かずに公式サンプルのOutlook連携と同じ枠組みをSharePoint向けのトリガーにも応用できたことです。
3つ目は、Microsoft Foundry Agent Serviceにはエージェント自体にイベントトリガーの仕組みがなく、スレッド・Run APIによる外部からの呼び出しが前提になっている点で、両者の使い分けが明確になったことです。
社内システムのイベントに合わせてAIエージェントを自動で動かしたいと考えている方は、まずはAzure Functionsサーバーレスエージェントランタイムの公式クイックスタートから試してみてはいかがでしょうか。
QUICK E-Solutionsでは、AIを活用した業務効率化・システム導入のお手伝いをしております。
それ以外でも様々なアプリケーションの開発・導入を行っております。提供するサービス・ソリューションにつきましては こちら に掲載しております。
システム開発・構築でお困りの問題や弊社が提供するサービス・ソリューションにご興味を抱かれましたら、ぜひ一度 お問い合わせ ください。
※このブログで参照されている、Microsoft、Azure、SharePoint、Outlookは、米国およびその他の国におけるMicrosoft Corporationの商標または登録商標です。
