Milan Jovanović氏はASP.NET .NET CoreでPDFドキュメントを作成しており、そのライブラリとしてIronPDFを使用している。
Microsoftは、Semantic KernelとAutoGenの直接的な後継者としてAgent Frameworkをリリースし、同社のAIツール群に蓄積されたエージェント構築作業を統合しています。 Iron Softwareで行っているように、.NETライブラリを構築するチームにとって、このリリースは詳しく調べる価値があります。 エージェントフレームワークは、基本的にはLLMにツールを使用する能力を提供するものであり、エージェントが最終的に呼び出すツールは実際にはライブラリです。
概要において目立ったものと、それをライブラリアーサーの視点からどのように考えているかを紹介します。
Agent Frameworkとは何か
このフレームワークは2つの主要な機能を提供します。 エージェントは、入力を処理し、ツールやMCPサーバーを呼び出し、応答を生成する個別のLLM駆動のワーカーです。 ワークフローは、タイプセーフなルーティング、チェックポイント、ヒューマン・イン・ザ・ループサポートを持つ複数のエージェントと機能を接続するグラフベースのオーケストレーションです。
これら2つのサーフェス周辺で、フレームワークは企業のAIツールから期待される構成要素を提供します:Azure OpenAI、OpenAI、Anthropic、Ollama、Microsoft Foundryのモデルクライアント; セッションベースの状態管理; メモリ用のコンテキストプロバイダー; エージェントアクションをインターセプトするミドルウェア; ツール統合用のMCPクライアント。
Semantic KernelとAutoGenの後継としての位置づけが重要です。 Microsoftはメニューにもう1つフレームワークを追加するのではなく統合を進めています。 .NETエージェントスタックにコミットするのを待っていたチームにとって、これは今やより明確な答えです。
ドキュメンテーションで最も過小評価されている1行
エージェント使用とワークフロー使用のタイミングについてのセクションに隠された、ページの残りよりも多くの仕事をしている文章です:
タスクを処理する関数を書ける場合は、AIエージェントを使うのではなく、それを行ってください。
これは誠実なエンジニアリングの位置づけであり、エージェント採用に関するすべての会話の出発点であるべきです。 エージェントは魔法ではありません。 それらはツールを選択し、その順序を選択する能力を持つLLMです。 タスクが決定論的である場合、関数はより速く、安価で、信頼性があります。 タスクの経路が本当にオープンエンドな場合に、エージェントはその地位を得ます。
ライブラリチームにとって、これは青信号です。 我々のライブラリは、エージェントが作業を委託する時に呼び出す関数です。 フレームワークはライブラリコードを置き換えません; 依存しています。
.NETライブラリがどこにフィットするか
ツールは、エージェントとユーザーが実際に望んでいる作業との間をつなぐ組織です。 エージェントが"このユーザーは我々がちょうど要約したデータから生成されたPDFが欲しい"と決断したとき、自分でPDFを生成しません。 それを行うツールを呼び出します。
本番のAIアプリケーションで最も有用なツールの多くは、ドキュメント、データ、外部システムに対する操作に帰着します。 .NETでドキュメント処理の分野で働いているチームにとって、それはIronPDF、IronOCR、IronXLなどのライブラリに直接マッピングされます。 コンポーネントとしてエージェントが呼び出せる関数としてラップされたIronPDFを使用した具体的な例:
[Description("Generates a PDF from HTML content and saves it to disk")]
public static string GenerateHtmlPdf(
[Description("The HTML content to render")] string html,
[Description("The output file path")] string outputPath)
{
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(outputPath);
return $"PDF saved to {outputPath}";
}[Description("Generates a PDF from HTML content and saves it to disk")]
public static string GenerateHtmlPdf(
[Description("The HTML content to render")] string html,
[Description("The output file path")] string outputPath)
{
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(outputPath);
return $"PDF saved to {outputPath}";
}Imports System.ComponentModel
<Description("Generates a PDF from HTML content and saves it to disk")>
Public Shared Function GenerateHtmlPdf(
<Description("The HTML content to render")> html As String,
<Description("The output file path")> outputPath As String) As String
Dim renderer = New ChromePdfRenderer()
Using pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs(outputPath)
End Using
Return $"PDF saved to {outputPath}"
End Functionこの関数をエージェントに登録すると、エージェントはスタイルのあるPDFレポートを必要に応じて生成する能力を持ちます。 同じパターンがOCR(スキャンしたドキュメントからのテキスト抽出)、スプレッドシート操作(XLSXデータの読み取りや書き込み)、ドキュメント変換に適用されます。 各ライブラリは機能を公開し、各機能がエージェントツールになります。
ドキュメントパイプライン用のワークフロー
ワークフローサーフェスは別個の見方が必要です。 本番でのドキュメント処理は、めったに単一のステップではありません。典型的な実世界のパイプラインはこうです:スキャンした請求書をOCRし、構造的なフィールドを抽出し、ビジネスルールに従ってそれらを検証し、検証済みのデータをExcel帳簿に書き込み、顧客にPDFレシートを生成します。
このシーケンスは、タイプセーフなルーティングを持つステップ間のグラフベースのワークフローにクリーンにマッピングされます。 各ノードは関数またはエージェントであり、各トランジションには明確に定義された入力と出력タイプがあり、ワークフローは長時間実行操作のためのチェックポイント設定と任意のステップでの人間によるレビューをサポートします。
カスタムコードでこのオーケストレーションを手作業で行ってきたチームにとって、ワークフローの表面はエージェントフレームワークで最も調査すべき部分です。
ツールコールやワークフローノードのバックにPDF、OCR、Excel、Word、またはバーコード機能を必要とするチームに、Iron Suiteは、これら5つすべてのプロダクションテスト済みの実装を提供します。無料トライアルを開始、クレジットカードは不要です。
制限事項と考慮点
コミットする前に心に留めておくべきいくつかのポイント:
- フレームワークは新しいものです。セマンティックカーネルとAutoGenから成熟した概念を統合していますが、統合されたAPIサーフェス自体は最近のものです。 APIは引き続き進化します。
- サードパーティモデルおよびツールのリスク。マイクロソフト社の文書は明確であり、統合するすべてのサードパーティシステム(非Azureモデル、外部エージェント、サードパーティツール)はデータハンドリング、コスト、およびセキュリティに関する責任があなたにあるとしています。 これは正しいフレーミングであり、注意深く読む価値があります。
- プロダクションガードレールは引き続きあなたの責任です。コンテンツフィルタ、責任あるAIの緩和策、テレメトリー、あなたの特定のユースケースに対する品質テストは、フレームワークでは提供されていません。 それは基本ブロックを与えてくれます; その周りのシステムはあなたの手で構築されるべきです。
まとめ
Microsoftエージェントフレームワークは、同社のAIエージェントの仕事の crédibilitéな統合であり、.NETチームがプロダクションAIアプリケーションを構築するための安定した基盤を探しているときに登場します。 その最も重要なフレーミングは同時に最も見過ごされがちなものでもあります:エージェントは実際に作業を行う機能やライブラリを取り巻くものであるときに最も役立ちます。
ライブラリチームにとって、これは待っていた立場です。
