<?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>Microsoft-Foundry | The .NET Blog</title><link>https://thedotnetblog.com/id/tags/microsoft-foundry/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>id</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Thu, 23 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/id/tags/microsoft-foundry/index.xml" rel="self" type="application/rss+xml"/><item><title>Foundry Toolboxes: Satu Endpoint untuk Semua Alat Agen AI</title><link>https://thedotnetblog.com/id/posts/emiliano-montesdeoca/foundry-toolboxes-curate-manage-tools-ai-agents/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/id/posts/emiliano-montesdeoca/foundry-toolboxes-curate-manage-tools-ai-agents/</guid><description>Microsoft Foundry meluncurkan Toolboxes dalam preview publik — cara untuk mengelola dan mengekspos alat agen AI melalui satu endpoint yang kompatibel dengan MCP.</description><content:encoded>&lt;p&gt;&lt;em&gt;Postingan ini diterjemahkan secara otomatis. Untuk versi aslinya, &lt;a href="https://thedotnetblog.com/id/posts/emiliano-montesdeoca/foundry-toolboxes-curate-manage-tools-ai-agents/"&gt;klik di sini&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ada masalah yang terlihat sepele sampai benar-benar dihadapi: organisasi membangun beberapa agen AI, masing-masing butuh alat, dan setiap tim mengonfigurasinya dari awal. Integrasi pencarian web yang sama, konfigurasi Azure AI Search yang sama, koneksi server GitHub MCP yang sama — tapi di repositori berbeda, oleh tim berbeda, dengan kredensial berbeda, tanpa tata kelola bersama.&lt;/p&gt;
&lt;p&gt;Microsoft Foundry baru saja meluncurkan &lt;a href="https://devblogs.microsoft.com/foundry/introducing-toolboxes-in-foundry/"&gt;Toolboxes&lt;/a&gt; dalam preview publik, dan ini adalah jawaban langsung atas masalah tersebut.&lt;/p&gt;
&lt;h2 id="apa-itu-toolbox"&gt;Apa itu Toolbox?&lt;/h2&gt;
&lt;p&gt;Toolbox adalah bundel alat bernama yang dapat digunakan kembali, didefinisikan sekali di Foundry dan diekspos melalui satu endpoint yang kompatibel dengan MCP. Runtime agen apa pun yang berbicara MCP dapat mengonsumsinya — tidak ada lock-in ke Foundry Agents.&lt;/p&gt;
&lt;p&gt;Janjinya sederhana: &lt;strong&gt;build once, consume anywhere&lt;/strong&gt;. Definisikan alat, konfigurasikan autentikasi secara terpusat (OAuth passthrough, identitas terkelola Entra), terbitkan endpoint. Setiap agen yang membutuhkan alat tersebut terhubung ke endpoint dan mendapatkan semuanya.&lt;/p&gt;
&lt;h2 id="empat-pilar-dua-tersedia-hari-ini"&gt;Empat pilar (dua tersedia hari ini)&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pilar&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Apa yang dilakukan&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Discover&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Segera hadir&lt;/td&gt;
&lt;td&gt;Temukan alat yang disetujui tanpa pencarian manual&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Build&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tersedia&lt;/td&gt;
&lt;td&gt;Kelompokkan alat ke dalam bundel yang dapat digunakan kembali&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Consume&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tersedia&lt;/td&gt;
&lt;td&gt;Satu endpoint MCP mengekspos semua alat&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Govern&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Segera hadir&lt;/td&gt;
&lt;td&gt;Autentikasi terpusat + observabilitas untuk semua panggilan alat&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="contoh-praktis"&gt;Contoh praktis&lt;/h2&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.identity&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;DefaultAzureCredential&lt;/span&gt;
&lt;/span&gt;&lt;/span&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.projects&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;AIProjectClient&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&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;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;AIProjectClient&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;endpoint&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;FOUNDRY_PROJECT_ENDPOINT&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;credential&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;DefaultAzureCredential&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="n"&gt;toolbox_version&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;beta&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;toolboxes&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;create_toolbox_version&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;toolbox_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;customer-feedback-triaging-toolbox&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;description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Cari dokumentasi dan respons issues GitHub.&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&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="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;web_search&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;description&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Cari dokumentasi publik&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="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;azure_ai_search&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;index_name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;internal-docs&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="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;mcp_server&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;server_url&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://your-github-mcp-server.com&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 class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Setelah diterbitkan, Foundry menyediakan endpoint terpadu. Satu koneksi, semua alat.&lt;/p&gt;
&lt;h2 id="tidak-terkunci-di-foundry-agents"&gt;Tidak terkunci di Foundry Agents&lt;/h2&gt;
&lt;p&gt;Toolboxes &lt;strong&gt;dibuat dan dikelola&lt;/strong&gt; di Foundry, tapi permukaan konsumsinya adalah protokol MCP yang terbuka. Bisa digunakan dari agen kustom (Microsoft Agent Framework, LangGraph), GitHub Copilot dan IDE lain yang mendukung MCP.&lt;/p&gt;
&lt;h2 id="mengapa-penting-sekarang"&gt;Mengapa penting sekarang&lt;/h2&gt;
&lt;p&gt;Gelombang multi-agen sedang tiba di produksi. Setiap agen baru adalah permukaan baru untuk konfigurasi duplikat, kredensial usang, dan perilaku tidak konsisten. Fondasi Build + Consume cukup untuk mulai sentralisasi. Ketika pilar Govern tiba, akan ada lapisan alat yang sepenuhnya dapat diamati dan dikontrol secara terpusat untuk seluruh armada agen.&lt;/p&gt;
&lt;h2 id="penutup"&gt;Penutup&lt;/h2&gt;
&lt;p&gt;Ini masih awal — preview publik, Python SDK dulu, Discover dan Govern masih akan datang. Tapi modelnya kokoh dan desain MCP-native berarti bekerja dengan alat yang sudah dibangun. Cek &lt;a href="https://devblogs.microsoft.com/foundry/introducing-toolboxes-in-foundry/"&gt;pengumuman resmi&lt;/a&gt; untuk memulai.&lt;/p&gt;</content:encoded></item><item><title>Di Mana Anda Harus Meng-host Agen AI di Azure? Panduan Keputusan Praktis</title><link>https://thedotnetblog.com/id/posts/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/id/posts/emiliano-montesdeoca/azure-ai-agent-hosting-options-guide/</guid><description>Azure menawarkan enam cara untuk meng-host agen AI — dari kontainer mentah hingga Foundry Hosted Agents yang sepenuhnya dikelola. Inilah cara memilih yang tepat untuk workload .NET Anda.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Postingan ini diterjemahkan secara otomatis. Untuk versi aslinya, &lt;a href="https://thedotnetblog.com/id/posts/emiliano-montesdeoca/azure-ai-agent-hosting-options-guide/"&gt;klik di sini&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Jika Anda sedang membangun agen AI dengan .NET sekarang, Anda mungkin sudah memperhatikan: ada &lt;em&gt;banyak&lt;/em&gt; cara untuk meng-host-nya di Azure. Container Apps, AKS, Functions, App Service, Foundry Agents, Foundry Hosted Agents.&lt;/p&gt;
&lt;p&gt;Microsoft baru saja menerbitkan &lt;a href="https://devblogs.microsoft.com/all-things-azure/hostedagent/"&gt;panduan komprehensif untuk hosting agen Azure AI&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="enam-opsi-sekilas"&gt;Enam opsi sekilas&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Opsi&lt;/th&gt;
&lt;th&gt;Terbaik untuk&lt;/th&gt;
&lt;th&gt;Anda kelola&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;Kontrol container penuh tanpa kerumitan K8s&lt;/td&gt;
&lt;td&gt;Observabilitas, state, siklus hidup&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;Kepatuhan enterprise, multi-cluster&lt;/td&gt;
&lt;td&gt;Semuanya&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;Tugas singkat berbasis event&lt;/td&gt;
&lt;td&gt;Hampir tidak ada&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;Agen HTTP sederhana&lt;/td&gt;
&lt;td&gt;Deployment, scaling&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;Agen opsional kode&lt;/td&gt;
&lt;td&gt;Hampir tidak ada&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;Agen framework kustom&lt;/td&gt;
&lt;td&gt;Hanya kode agen Anda&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="foundry-hosted-agents--titik-manis-untuk-developer-agen-net"&gt;Foundry Hosted Agents — titik manis untuk developer agen .NET&lt;/h2&gt;
&lt;p&gt;Deployment benar-benar sederhana:&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;azd ext install azure.ai.agents
&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;azd up
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Satu perintah &lt;code&gt;azd up&lt;/code&gt; membangun container, mendorongnya ke ACR, menyediakan proyek Foundry, dan memulai agen.&lt;/p&gt;
&lt;h2 id="kerangka-keputusan-saya"&gt;Kerangka keputusan saya&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Butuh infrastruktur nol?&lt;/strong&gt; → Foundry Agents&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Punya kode agen kustom tapi ingin hosting terkelola?&lt;/strong&gt; → Foundry Hosted Agents&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tugas singkat berbasis event?&lt;/strong&gt; → Azure Functions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kontrol container maksimum?&lt;/strong&gt; → Container Apps&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kepatuhan ketat dan multi-cluster?&lt;/strong&gt; → AKS&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="kesimpulan"&gt;Kesimpulan&lt;/h2&gt;
&lt;p&gt;Untuk sebagian besar developer .NET yang membangun dengan Semantic Kernel atau Microsoft Agent Framework, Hosted Agents kemungkinan adalah titik awal yang tepat. Cek &lt;a href="https://devblogs.microsoft.com/all-things-azure/hostedagent/"&gt;panduan lengkap dari Microsoft&lt;/a&gt;.&lt;/p&gt;</content:encoded></item></channel></rss>