<?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/pl/tags/microsoft-foundry/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>pl</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/pl/tags/microsoft-foundry/index.xml" rel="self" type="application/rss+xml"/><item><title>Foundry Toolboxes: Jeden endpoint dla wszystkich narzędzi agentów AI</title><link>https://thedotnetblog.com/pl/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/pl/posts/emiliano-montesdeoca/foundry-toolboxes-curate-manage-tools-ai-agents/</guid><description>Microsoft Foundry uruchomił Toolboxes w publicznym podglądzie — sposób na zarządzanie narzędziami agentów AI i ich udostępnianie przez jeden endpoint zgodny z MCP.</description><content:encoded>&lt;p&gt;&lt;em&gt;Ten artykuł został przetłumaczony automatycznie. Aby zobaczyć oryginalną wersję, &lt;a href="https://thedotnetblog.com/pl/posts/emiliano-montesdeoca/foundry-toolboxes-curate-manage-tools-ai-agents/"&gt;kliknij tutaj&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Jest problem, który wydaje się błahy — dopóki się na niego nie natrafi. Organizacja buduje wiele agentów AI, każdy wymaga narzędzi, a każdy zespół konfiguruje je od zera. Ta sama integracja wyszukiwania, ta sama konfiguracja Azure AI Search, to samo połączenie z serwerem GitHub MCP — ale w innym repozytorium, przez inny zespół, z innymi danymi uwierzytelniającymi i bez wspólnego zarządzania.&lt;/p&gt;
&lt;p&gt;Microsoft Foundry właśnie uruchomił &lt;a href="https://devblogs.microsoft.com/foundry/introducing-toolboxes-in-foundry/"&gt;Toolboxes&lt;/a&gt; w publicznym podglądzie — bezpośrednia odpowiedź na ten problem.&lt;/p&gt;
&lt;h2 id="czym-jest-toolbox"&gt;Czym jest Toolbox?&lt;/h2&gt;
&lt;p&gt;Toolbox to nazwany, wielokrotnie używalny zestaw narzędzi, który definiuje się raz w Foundry i udostępnia przez jeden endpoint zgodny z MCP. Każde środowisko uruchomieniowe agenta obsługujące MCP może je konsumować — bez uzależnienia od Foundry Agents.&lt;/p&gt;
&lt;p&gt;Obietnica jest prosta: &lt;strong&gt;build once, consume anywhere&lt;/strong&gt;. Zdefiniuj narzędzia, skonfiguruj uwierzytelnianie centralnie (OAuth passthrough, tożsamość zarządzana Entra), opublikuj endpoint. Każdy agent potrzebujący tych narzędzi łączy się raz i dostaje je wszystkie.&lt;/p&gt;
&lt;h2 id="cztery-filary-dwa-dostępne-dziś"&gt;Cztery filary (dwa dostępne dziś)&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Filar&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Co robi&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;Wkrótce&lt;/td&gt;
&lt;td&gt;Znajdowanie zatwierdzonych narzędzi bez ręcznego szukania&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;Dostępny&lt;/td&gt;
&lt;td&gt;Grupowanie narzędzi w wielokrotnie używalny bundle&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;Dostępny&lt;/td&gt;
&lt;td&gt;Jeden endpoint MCP udostępnia wszystkie narzędzia&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;Wkrótce&lt;/td&gt;
&lt;td&gt;Centralne uwierzytelnianie + obserwowalność wszystkich wywołań&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="przykład-praktyczny"&gt;Przykład praktyczny&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;Przeszukaj dokumentację i odpowiedz na 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;Szukaj publicznej dokumentacji&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;Po opublikowaniu Foundry udostępnia ujednolicony endpoint. Jedno połączenie — wszystkie narzędzia.&lt;/p&gt;
&lt;h2 id="brak-uzależnienia-od-foundry-agents"&gt;Brak uzależnienia od Foundry Agents&lt;/h2&gt;
&lt;p&gt;Toolboxes są &lt;strong&gt;tworzone i zarządzane&lt;/strong&gt; w Foundry, ale powierzchnią konsumpcji jest otwarty protokół MCP. Można ich używać z niestandardowych agentów (Microsoft Agent Framework, LangGraph), GitHub Copilot i innych środowisk IDE zgodnych z MCP.&lt;/p&gt;
&lt;h2 id="dlaczego-to-ważne-teraz"&gt;Dlaczego to ważne teraz&lt;/h2&gt;
&lt;p&gt;Fala wielu agentów dociera do produkcji. Każdy nowy agent to nowa powierzchnia zduplikowanej konfiguracji, przestarzałych danych uwierzytelniających i niespójnego zachowania. Podstawa Build + Consume wystarczy, by zacząć centralizować. Gdy pojawi się filar Govern, będzie dostępna w pełni obserwowalna, centralnie kontrolowana warstwa narzędzi dla całej floty agentów.&lt;/p&gt;
&lt;h2 id="podsumowanie"&gt;Podsumowanie&lt;/h2&gt;
&lt;p&gt;To jeszcze wczesny etap — publiczny podgląd, Python SDK na początku, Discover i Govern jeszcze przed nami. Ale model jest solidny, a natywny design MCP oznacza, że działa z narzędziami, które już się buduje. Szczegóły w &lt;a href="https://devblogs.microsoft.com/foundry/introducing-toolboxes-in-foundry/"&gt;oficjalnym ogłoszeniu&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>Gdzie Hostować Agenty AI na Azure? Praktyczny Przewodnik po Decyzjach</title><link>https://thedotnetblog.com/pl/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/pl/posts/emiliano-montesdeoca/azure-ai-agent-hosting-options-guide/</guid><description>Azure oferuje sześć sposobów hostowania agentów AI — od surowych kontenerów po w pełni zarządzane Foundry Hosted Agents. Oto jak wybrać odpowiedni dla swojego obciążenia .NET.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Ten post został automatycznie przetłumaczony. Aby przejść do oryginału, &lt;a href="https://thedotnetblog.com/pl/posts/emiliano-montesdeoca/azure-ai-agent-hosting-options-guide/"&gt;kliknij tutaj&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Jeśli teraz budujesz agenty AI z .NET, pewnie zauważyłeś: jest &lt;em&gt;wiele&lt;/em&gt; sposobów na hostowanie ich na Azure. Container Apps, AKS, Functions, App Service, Foundry Agents, Foundry Hosted Agents.&lt;/p&gt;
&lt;p&gt;Microsoft opublikował &lt;a href="https://devblogs.microsoft.com/all-things-azure/hostedagent/"&gt;kompleksowy przewodnik po hostowaniu agentów Azure AI&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="sześć-opcji-na-pierwszy-rzut-oka"&gt;Sześć opcji na pierwszy rzut oka&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Opcja&lt;/th&gt;
&lt;th&gt;Najlepsza dla&lt;/th&gt;
&lt;th&gt;Zarządzasz&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;Pełna kontrola kontenera bez K8s&lt;/td&gt;
&lt;td&gt;Obserwowalność, stan, cykl życia&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;Enterprise compliance, multi-cluster&lt;/td&gt;
&lt;td&gt;Wszystkim&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;Sterowane zdarzeniami, krótkotrwałe zadania&lt;/td&gt;
&lt;td&gt;Prawie niczym&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;Prosty agent HTTP&lt;/td&gt;
&lt;td&gt;Wdrożeniem, skalowaniem&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;Agenty bez kodu&lt;/td&gt;
&lt;td&gt;Prawie niczym&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;Agenty z własnym frameworkiem&lt;/td&gt;
&lt;td&gt;Tylko kodem agenta&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="foundry-hosted-agents--słodkie-miejsce-dla-deweloperów-agentów-net"&gt;Foundry Hosted Agents — słodkie miejsce dla deweloperów agentów .NET&lt;/h2&gt;
&lt;p&gt;Wdrożenie jest naprawdę proste:&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;To pojedyncze &lt;code&gt;azd up&lt;/code&gt; buduje kontener, wypycha go do ACR, provisionuje projekt Foundry i uruchamia agenta.&lt;/p&gt;
&lt;h2 id="mój-framework-decyzyjny"&gt;Mój framework decyzyjny&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Potrzebujesz zero infrastruktury?&lt;/strong&gt; → Foundry Agents&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Masz własny kod agenta ale chcesz zarządzanego hostingu?&lt;/strong&gt; → Foundry Hosted Agents&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sterowane zdarzeniami, krótkotrwałe zadania?&lt;/strong&gt; → Azure Functions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Maksymalna kontrola kontenera?&lt;/strong&gt; → Container Apps&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ścisła zgodność i multi-cluster?&lt;/strong&gt; → AKS&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="podsumowanie"&gt;Podsumowanie&lt;/h2&gt;
&lt;p&gt;Dla większości deweloperów .NET budujących z Semantic Kernel lub Microsoft Agent Framework, Hosted Agents to prawdopodobnie właściwy punkt startowy. Sprawdź &lt;a href="https://devblogs.microsoft.com/all-things-azure/hostedagent/"&gt;pełny przewodnik Microsoftu&lt;/a&gt;.&lt;/p&gt;</content:encoded></item></channel></rss>