<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Containers | The .NET Blog</title><link>https://thedotnetblog.com/ja/tags/containers/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ja</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Sat, 25 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ja/tags/containers/index.xml" rel="self" type="application/rss+xml"/><item><title>.NET 10 が Ubuntu 26.04 LTS に搭載 — 新機能まとめ</title><link>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/dotnet-ubuntu-2604-resolute-raccoon-net10/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/dotnet-ubuntu-2604-resolute-raccoon-net10/</guid><description>Ubuntu 26.04 LTS (Resolute Raccoon) が .NET 10 をファーストクラスのツールチェーンとして搭載。Native AOT、Chiseled コンテナ、Linux 7.0。</description><content:encoded>&lt;p&gt;&lt;em&gt;この投稿は自動翻訳されました。元の記事は&lt;a href="https://thedotnetblog.com/ja/news/emiliano-montesdeoca/dotnet-ubuntu-2604-resolute-raccoon-net10/"&gt;こちら&lt;/a&gt;をご覧ください。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ubuntu LTS の日です。&lt;a href="https://canonical.com/blog/canonical-releases-ubuntu-26-04-lts-resolute-raccoon"&gt;Ubuntu 26.04 (Resolute Raccoon)&lt;/a&gt; が今日リリースされ、すべての Ubuntu LTS と同様に最新の .NET LTS — この場合 &lt;a href="https://devblogs.microsoft.com/dotnet/whats-new-for-dotnet-in-ubuntu-2604/"&gt;.NET 10&lt;/a&gt; — を搭載しています。&lt;/p&gt;
&lt;h2 id="net-10-を-2-つのコマンドでインストール"&gt;.NET 10 を 2 つのコマンドでインストール&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install dotnet-sdk-10.0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;.NET は &lt;a href="https://ubuntu.com/toolchains"&gt;Ubuntu 公式サポートのツールチェーン&lt;/a&gt;の一つです。サードパーティのアドオンではありません。&lt;/p&gt;
&lt;h2 id="コンテナ-noble-を--resolute-に更新"&gt;コンテナ：&lt;code&gt;-noble&lt;/code&gt; を &lt;code&gt;-resolute&lt;/code&gt; に更新&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sed -i &lt;span class="s2"&gt;&amp;#34;s/noble/resolute/g&amp;#34;&lt;/span&gt; Dockerfile
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/dotnet/announcing-dotnet-chiseled-containers/"&gt;Chiseled&lt;/a&gt; を含む既存のすべてのイメージバリアントが利用可能です。&lt;/p&gt;
&lt;h2 id="native-aot3ms-起動14mb-バイナリ"&gt;Native AOT：3ms 起動、1.4MB バイナリ&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;apt install -y dotnet-sdk-aot-10.0 clang
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dotnet publish app.cs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# artifacts/app/app — 1.4MB ネイティブバイナリ&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# real 0m0.003s&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;コールドスタート時間が重要なクラウドネイティブワークロード — Functions、コンテナ、サーバーレス — にとって真のゲームチェンジャーです。&lt;/p&gt;
&lt;h2 id="net-8-または-9-が必要な場合"&gt;.NET 8 または 9 が必要な場合&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;apt install -y software-properties-common
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;add-apt-repository ppa:dotnet/backports
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;apt install -y dotnet-sdk-8.0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/dotnet/whats-new-for-dotnet-in-ubuntu-2604/"&gt;完全な記事&lt;/a&gt;で cgroup v2、ポスト量子暗号、Linux 7.0 の詳細を確認してください。&lt;/p&gt;</content:encoded></item><item><title>Aspire 13.2: Bun サポート、コンテナ改善、デバッグの摩擦軽減</title><link>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/aspire-132-bun-container-enhancements/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/aspire-132-bun-container-enhancements/</guid><description>Aspire 13.2はViteアプリへのBunサポートをファーストクラスで追加し、Yarnの信頼性を修正し、ローカル開発の動作をより予測可能にするコンテナ改善を提供します。</description><content:encoded>&lt;p&gt;&lt;em&gt;この投稿は自動翻訳されています。オリジナル版は&lt;a href="https://thedotnetblog.com/posts/emiliano-montesdeoca/aspire-132-bun-container-enhancements/"&gt;こちら&lt;/a&gt;をクリックしてください。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;.NETバックエンドとJavaScriptフロントエンドをAspireで構築しているなら、13.2は静かにあなたの一日を良くする種類のアップデートです。&lt;/p&gt;
&lt;h2 id="bunがファーストクラスになりました"&gt;Bunがファーストクラスになりました&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addViteApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;frontend&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;./frontend&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;withBun&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;チームがすでにBunを使用している場合、Aspireはもはや逆流を強いません。&lt;/p&gt;
&lt;h2 id="yarnの信頼性向上"&gt;Yarnの信頼性向上&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;withYarn()&lt;/code&gt;と&lt;code&gt;addViteApp()&lt;/code&gt;での謎のエラーが減少します。&lt;/p&gt;
&lt;h2 id="コンテナの改善"&gt;コンテナの改善&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;ImagePullPolicy.Never&lt;/code&gt;でレジストリに行かずにローカルイメージを使用。PostgreSQL 18+のデータボリュームが正しく動作するようになりました。&lt;/p&gt;
&lt;h2 id="デバッグの改善"&gt;デバッグの改善&lt;/h2&gt;
&lt;p&gt;コアタイプへの&lt;code&gt;DebuggerDisplayAttribute&lt;/code&gt;、&lt;code&gt;WaitFor&lt;/code&gt;の改善されたエラーメッセージ、適切なタイミングで発火する&lt;code&gt;BeforeResourceStartedEvent&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;オリジナルポスト（David Pine著）: &lt;a href="https://devblogs.microsoft.com/aspire/aspire-bun-support-and-container-enhancements/"&gt;Aspire 13.2: Bun Support and Container Enhancements&lt;/a&gt;。&lt;/p&gt;</content:encoded></item><item><title>AzureでAIエージェントをどこにホストすべき？実践的な判断ガイド</title><link>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/azure-ai-agent-hosting-options-guide/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/azure-ai-agent-hosting-options-guide/</guid><description>Azureには生のコンテナからフルマネージドのFoundry Hosted Agentsまで、AIエージェントをホストする6つの方法があります。.NETワークロードに最適なものを選ぶ方法を解説します。</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;この記事は自動翻訳されています。オリジナル版は&lt;a href="https://thedotnetblog.com/ja/news/emiliano-montesdeoca/azure-ai-agent-hosting-options-guide/"&gt;こちら&lt;/a&gt;をご覧ください。&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;今.NETでAIエージェントを構築しているなら、おそらく気づいていることがあるでしょう：Azureでホストする方法が&lt;em&gt;たくさん&lt;/em&gt;あるということです。Container Apps、AKS、Functions、App Service、Foundry Agents、Foundry Hosted Agents — どれも合理的に聞こえますが、実際に選ぶ段階になると困ります。Microsoftが&lt;a href="https://devblogs.microsoft.com/all-things-azure/hostedagent/"&gt;AzureでのAIエージェントホスティングに関する包括的なガイド&lt;/a&gt;を公開しました。これを.NET開発者の実践的な視点から整理します。&lt;/p&gt;
&lt;h2 id="6つのオプション早見表"&gt;6つのオプション早見表&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;オプション&lt;/th&gt;
&lt;th&gt;最適な用途&lt;/th&gt;
&lt;th&gt;管理するもの&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Container Apps&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;K8sの複雑さなしにコンテナを完全制御&lt;/td&gt;
&lt;td&gt;オブザーバビリティ、状態、ライフサイクル&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AKS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;エンタープライズコンプライアンス、マルチクラスター、カスタムネットワーキング&lt;/td&gt;
&lt;td&gt;すべて（それがポイント）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Azure Functions&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;イベント駆動の短時間エージェントタスク&lt;/td&gt;
&lt;td&gt;ほぼなし — 真のサーバーレス&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;App Service&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;シンプルなHTTPエージェント、予測可能なトラフィック&lt;/td&gt;
&lt;td&gt;デプロイ、スケーリング設定&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Foundry Agents&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ポータル/SDKによるコード不要エージェント&lt;/td&gt;
&lt;td&gt;ほぼなし&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Foundry Hosted Agents&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;マネージドインフラでカスタムフレームワークエージェント&lt;/td&gt;
&lt;td&gt;エージェントコードのみ&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;最初の4つは汎用コンピュートです — エージェントを動かす&lt;em&gt;ことはできます&lt;/em&gt;が、そのために設計されたものではありません。最後の2つはエージェントネイティブで、会話、ツール呼び出し、エージェントのライフサイクルをファーストクラスの概念として理解しています。&lt;/p&gt;
&lt;h2 id="foundry-hosted-agents--netエージェント開発者にとってのスイートスポット"&gt;Foundry Hosted Agents — .NETエージェント開発者にとってのスイートスポット&lt;/h2&gt;
&lt;p&gt;注目すべきはこれです。Foundry Hosted Agentsはちょうど中間に位置しています：自分のコード（Semantic Kernel、Agent Framework、LangGraph — 何でも）を実行する柔軟性がありながら、プラットフォームがインフラ、オブザーバビリティ、会話管理を処理します。&lt;/p&gt;
&lt;p&gt;キーピースは&lt;strong&gt;Hosting Adapter&lt;/strong&gt;です — エージェントフレームワークをFoundryプラットフォームに接続する薄い抽象化レイヤーです。Microsoft Agent Frameworkの場合：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;azure.ai.agentserver.agentframework&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;from_agent_framework&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ChatAgent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;chat_client&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;AzureAIAgentClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;instructions&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;You are a helpful assistant.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;get_local_time&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vm"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;from_agent_framework&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これがホスティングの全体像です。アダプターがプロトコル変換、server-sent eventsによるストリーミング、会話履歴、OpenTelemetryトレーシングを自動的に処理します。カスタムミドルウェアも手動の配管作業も不要です。&lt;/p&gt;
&lt;h2 id="デプロイは本当にシンプル"&gt;デプロイは本当にシンプル&lt;/h2&gt;
&lt;p&gt;以前Container Appsにエージェントをデプロイしたことがありますが、状態管理やオブザーバビリティのためのグルーコードをたくさん書くことになります。Hosted Agentsと&lt;code&gt;azd&lt;/code&gt;なら：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# AIエージェント拡張機能をインストール&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd ext install azure.ai.agents
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# テンプレートから初期化&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd ai agent init
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# ビルド、プッシュ、デプロイ — 完了&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd up
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;この1つの&lt;code&gt;azd up&lt;/code&gt;がコンテナをビルドし、ACRにプッシュし、Foundryプロジェクトをプロビジョニングし、モデルエンドポイントをデプロイし、エージェントを起動します。5つのステップが1つのコマンドに凝縮されています。&lt;/p&gt;
&lt;h2 id="組み込みの会話管理"&gt;組み込みの会話管理&lt;/h2&gt;
&lt;p&gt;本番で最も時間を節約するのはここです。独自の会話ステートストアを構築する代わりに、Hosted Agentsがネイティブに処理します：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 永続的な会話を作成&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;conversation&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;openai_client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;conversations&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;create&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 最初のターン&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;response1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;openai_client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;responses&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;conversation&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;conversation&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;extra_body&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;agent_reference&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;MyAgent&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;agent_reference&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Remember: my favorite number is 42.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 2回目のターン — コンテキストが保持される&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;response2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;openai_client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;responses&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;conversation&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;conversation&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;extra_body&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;agent_reference&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;MyAgent&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;agent_reference&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Multiply my favorite number by 10.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Redisなし。Cosmos DBセッションストアなし。メッセージシリアライゼーション用のカスタムミドルウェアなし。プラットフォームがすべて処理します。&lt;/p&gt;
&lt;h2 id="私の判断フレームワーク"&gt;私の判断フレームワーク&lt;/h2&gt;
&lt;p&gt;6つすべてのオプションを検討した結果、私のクイックメンタルモデルはこうです：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;インフラゼロが必要？&lt;/strong&gt; → Foundry Agents（ポータル/SDK、コンテナなし）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;カスタムエージェントコードがあるがマネージドホスティングが欲しい？&lt;/strong&gt; → Foundry Hosted Agents&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;イベント駆動の短期エージェントタスクが必要？&lt;/strong&gt; → Azure Functions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;K8sなしで最大限のコンテナ制御が必要？&lt;/strong&gt; → Container Apps&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;厳格なコンプライアンスとマルチクラスターが必要？&lt;/strong&gt; → AKS&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;予測可能なトラフィックのシンプルなHTTPエージェント？&lt;/strong&gt; → App Service&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Semantic KernelやMicrosoft Agent Frameworkで構築しているほとんどの.NET開発者にとって、Hosted Agentsが適切なスタート地点でしょう。scale-to-zero、組み込みOpenTelemetry、会話管理、フレームワークの柔軟性が得られます — Kubernetesの管理やオブザーバビリティスタックの構築なしに。&lt;/p&gt;
&lt;h2 id="まとめ"&gt;まとめ&lt;/h2&gt;
&lt;p&gt;AzureのエージェントホスティングランドスケープはFastに成熟しています。今日新しいAIエージェントプロジェクトを始めるなら、習慣でContainer AppsやAKSに手を伸ばす前に、Foundry Hosted Agentsを真剣に検討することをお勧めします。マネージドインフラは実際の時間を節約し、hosting adapterパターンでフレームワークの選択を維持できます。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/all-things-azure/hostedagent/"&gt;Microsoftの完全ガイド&lt;/a&gt;と&lt;a href="https://github.com/microsoft-foundry/foundry-samples/tree/main/samples/python/hosted-agents"&gt;Foundry Samplesリポジトリ&lt;/a&gt;で動作するサンプルを確認してください。&lt;/p&gt;</content:encoded></item><item><title>azdでAIエージェントをローカル実行・デバッグ可能に — 2026年3月の変更点まとめ</title><link>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/azd-march-2026-local-ai-agent-debugging/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/azd-march-2026-local-ai-agent-debugging/</guid><description>Azure Developer CLIが2026年3月に7つのリリースを公開。ハイライト：AIエージェントのローカル実行＆デバッグループ、GitHub Copilotのプロジェクトセットアップ統合、Container App Jobsサポート。</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;この記事は自動翻訳されました。オリジナル版は&lt;a href="https://thedotnetblog.com/ja/news/emiliano-montesdeoca/azd-march-2026-local-ai-agent-debugging/"&gt;こちら&lt;/a&gt;をご覧ください。&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;1ヶ月で7つのリリース。これがAzure Developer CLI（&lt;code&gt;azd&lt;/code&gt;）チームが2026年3月に出荷したもので、メイン機能は私が待っていたもの：&lt;strong&gt;AIエージェントのローカル実行＆デバッグループ&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;PC Chanが&lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-developer-cli-azd-march-2026/"&gt;完全なまとめを公開&lt;/a&gt;しましたが、内容が多いので、AI搭載アプリを構築する.NET開発者にとって本当に重要なことにフィルタリングしましょう。&lt;/p&gt;
&lt;h2 id="デプロイなしでaiエージェントを実行デバッグ"&gt;デプロイなしでAIエージェントを実行・デバッグ&lt;/h2&gt;
&lt;p&gt;これが一番大きいです。新しい&lt;code&gt;azure.ai.agents&lt;/code&gt;拡張機能がAIエージェントの適切なインナーループ体験を提供するコマンドを追加します：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;azd ai agent run&lt;/code&gt; — エージェントをローカルで起動&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent invoke&lt;/code&gt; — メッセージを送信（ローカルまたはデプロイ済み）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent show&lt;/code&gt; — コンテナのステータスとヘルスを表示&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent monitor&lt;/code&gt; — コンテナログをリアルタイムでストリーミング&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;以前は、AIエージェントのテストは変更するたびにMicrosoft Foundryへのデプロイを意味しました。今ではローカルで反復し、エージェントの動作をテストし、準備ができたときだけデプロイできます。&lt;/p&gt;
&lt;h2 id="github-copilotがazdプロジェクトをセットアップ"&gt;GitHub Copilotがazdプロジェクトをセットアップ&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd init&lt;/code&gt;に「Set up with GitHub Copilot (Preview)」オプションが追加されました。プロジェクト構造についてのプロンプトに手動で回答する代わりに、Copilotエージェントが設定を生成します。コマンドが失敗した場合、&lt;code&gt;azd&lt;/code&gt;がAI支援のトラブルシューティングを提供します。&lt;/p&gt;
&lt;h2 id="container-app-jobsとデプロイの改善"&gt;Container App Jobsとデプロイの改善&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Container App Jobs&lt;/strong&gt;：&lt;code&gt;azd&lt;/code&gt;が既存の&lt;code&gt;host: containerapp&lt;/code&gt;設定で&lt;code&gt;Microsoft.App/jobs&lt;/code&gt;をデプロイ可能に&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;設定可能なデプロイタイムアウト&lt;/strong&gt;：&lt;code&gt;azd deploy&lt;/code&gt;の新しい&lt;code&gt;--timeout&lt;/code&gt;フラグと&lt;code&gt;azure.yaml&lt;/code&gt;の&lt;code&gt;deployTimeout&lt;/code&gt;フィールド&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;リモートビルドフォールバック&lt;/strong&gt;：ACRビルドが失敗するとローカルDocker/Podmanビルドに自動フォールバック&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ローカルプリフライト検証&lt;/strong&gt;：デプロイ前にBicepパラメータをローカルで検証&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="dxの改善"&gt;DXの改善&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;pnpm/yarn自動検出&lt;/strong&gt; — JS/TSプロジェクト向け&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pyproject.tomlサポート&lt;/strong&gt; — Pythonパッケージング向け&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ローカルテンプレートディレクトリ&lt;/strong&gt; — &lt;code&gt;azd init --template&lt;/code&gt;がファイルシステムパスを受け入れ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;改善されたエラーメッセージ&lt;/strong&gt; — &lt;code&gt;--no-prompt&lt;/code&gt;モード&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ビルド環境変数&lt;/strong&gt; — すべてのフレームワークビルドサブプロセスに注入（.NET、Node.js、Java、Python）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="まとめ"&gt;まとめ&lt;/h2&gt;
&lt;p&gt;ローカルAIエージェントデバッグループがこのリリースの主役ですが、デプロイ改善とDXポリッシュの積み重ねにより、&lt;code&gt;azd&lt;/code&gt;はかつてないほど成熟しています。AzureにDotNetアプリをデプロイしているなら — 特にAIエージェント — このアップデートは価値があります。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-developer-cli-azd-march-2026/"&gt;完全なリリースノート&lt;/a&gt;で全詳細をご確認ください。&lt;/p&gt;</content:encoded></item></channel></rss>