<?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/ca/tags/containers/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ca</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/ca/tags/containers/index.xml" rel="self" type="application/rss+xml"/><item><title>.NET 10 Inclòs amb Ubuntu 26.04 LTS — Les Novetats</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/dotnet-ubuntu-2604-resolute-raccoon-net10/</guid><description>Ubuntu 26.04 LTS (Resolute Raccoon) arriba amb .NET 10 com a toolchain de primera classe. Native AOT, contenidors chiseled, Linux 7.0.</description><content:encoded>&lt;p&gt;&lt;em&gt;Aquest post ha estat traduït automàticament. Per a la versió original, &lt;a href="https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/dotnet-ubuntu-2604-resolute-raccoon-net10/"&gt;fes clic aquí&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;És el dia d&amp;rsquo;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; ha arribat avui amb &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="installa-net-10-en-dos-comandes"&gt;Instal·la .NET 10 en dos comandes&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;h2 id="contenidors-actualitza--noble-a--resolute"&gt;Contenidors: actualitza &lt;code&gt;-noble&lt;/code&gt; a &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;h2 id="native-aot-arrencada-en-3ms-binari-de-14mb"&gt;Native AOT: arrencada en 3ms, binari de 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;# binari natiu de 1.4MB, arrencada en 3ms&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="necessites-net-8-o-9"&gt;Necessites .NET 8 o 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;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;Consulta el &lt;a href="https://devblogs.microsoft.com/dotnet/whats-new-for-dotnet-in-ubuntu-2604/"&gt;post complet&lt;/a&gt; per a més detalls.&lt;/p&gt;</content:encoded></item><item><title>On hauríeu d'allotjar els vostres agents d'IA a Azure? Una guia pràctica de decisions</title><link>https://thedotnetblog.com/ca/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/ca/posts/emiliano-montesdeoca/azure-ai-agent-hosting-options-guide/</guid><description>Azure ofereix sis maneres d'allotjar agents d'IA: des de contenidors en brut fins a agents allotjats de Foundry totalment gestionats. A continuació s'explica com triar l'adequat per a la vostra càrrega de treball.NET.</description><content:encoded>&lt;p&gt;Si esteu creant agents d&amp;rsquo;IA amb.NET ara mateix, probablement heu notat alguna cosa: hi ha * moltes * maneres d&amp;rsquo;allotjar-los a Azure. Container Apps, AKS, Functions, App Service, Foundry Agents, Foundry Hosted Agents, i tots semblen raonables fins que realment n&amp;rsquo;has de triar un. Microsoft acaba de publicar una &lt;a href="https://devblogs.microsoft.com/all-things-azure/hostedagent/"&gt;guia completa per a l&amp;rsquo;allotjament d&amp;rsquo;agents d&amp;rsquo;Azure AI&lt;/a&gt; que ho aclareix, i vull desglossar-ho des d&amp;rsquo;una perspectiva pràctica del desenvolupador.NET.&lt;/p&gt;
&lt;h2 id="les-sis-opcions-dun-cop-dull"&gt;Les sis opcions d&amp;rsquo;un cop d&amp;rsquo;ull&lt;/h2&gt;
&lt;p&gt;Així és com resumiria el paisatge:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Opció&lt;/th&gt;
&lt;th&gt;El millor per&lt;/th&gt;
&lt;th&gt;Tu gestiones&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Aplicacions de contenidors&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Control total del contenidor sense complexitat K8s&lt;/td&gt;
&lt;td&gt;Observabilitat, estat, cicle de vida&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;Compliment empresarial, multi-clúster, xarxes personalitzades&lt;/td&gt;
&lt;td&gt;Tot (aquest és el punt)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Funcions d&amp;rsquo;Azure&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tasques d&amp;rsquo;agent de curta durada i impulsades per esdeveniments&lt;/td&gt;
&lt;td&gt;No gaire, veritat sense servidor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Servei d&amp;rsquo;aplicacions&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Agents HTTP simples, trànsit previsible&lt;/td&gt;
&lt;td&gt;Desplegament, configuració d&amp;rsquo;escalat&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Agents de Foundry&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Agents opcionals de codi a través del portal/SDK&lt;/td&gt;
&lt;td&gt;Gairebé res&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Agents allotjats de Foundry&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Agents de marc personalitzats amb infraestructures gestionades&lt;/td&gt;
&lt;td&gt;Només el vostre codi d&amp;rsquo;agent&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Els quatre primers són càlculs de propòsit general: &lt;em&gt;podeu&lt;/em&gt; executar-hi agents, però no estaven dissenyats per a això. Els dos últims són nadius dels agents: entenen les converses, les trucades d&amp;rsquo;eines i els cicles de vida dels agents com a conceptes de primera classe.&lt;/p&gt;
&lt;h2 id="foundry-hosted-agents-el-lloc-ideal-per-als-desenvolupadors-dagentsnet"&gt;Foundry Hosted Agents: el lloc ideal per als desenvolupadors d&amp;rsquo;agents.NET&lt;/h2&gt;
&lt;p&gt;Aquí és el que em va cridar l&amp;rsquo;atenció. Els agents allotjats de Foundry se situen al centre: teniu la flexibilitat d&amp;rsquo;executar el vostre propi codi (nucli semàntic, marc d&amp;rsquo;agents, LangGraph, el que sigui), però la plataforma gestiona la infraestructura, l&amp;rsquo;observabilitat i la gestió de converses.&lt;/p&gt;
&lt;p&gt;La peça clau és l&amp;rsquo;&lt;strong&gt;Adaptador d&amp;rsquo;allotjament&lt;/strong&gt;: una capa d&amp;rsquo;abstracció fina que connecta el vostre marc d&amp;rsquo;agent amb la plataforma Foundry. Per a Microsoft Agent Framework, té aquest aspecte:&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;Aquesta és tota la vostra història d&amp;rsquo;allotjament. L&amp;rsquo;adaptador gestiona la traducció del protocol, la transmissió mitjançant esdeveniments enviats pel servidor, l&amp;rsquo;historial de converses i el seguiment d&amp;rsquo;OpenTelemetry, tot automàticament. Sense programari intermedi personalitzat, sense fontaneria manual.&lt;/p&gt;
&lt;h2 id="el-desplegament-és-realment-senzill"&gt;El desplegament és realment senzill&lt;/h2&gt;
&lt;p&gt;Abans he desplegat agents a Container Apps i funciona, però acabeu escrivint molt codi de cola per a la gestió de l&amp;rsquo;estat i l&amp;rsquo;observabilitat. Amb Hosted Agents i &lt;code&gt;azd&lt;/code&gt;, el desplegament és:&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;# Install the AI agent extension&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;# Init from a template&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;# Build, push, deploy — done&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;Aquest únic &lt;code&gt;azd up&lt;/code&gt; crea el vostre contenidor, l&amp;rsquo;envia a ACR, subministra el projecte Foundry, desplega els punts finals del model i inicia el vostre agent. Cinc passos es van col·lapsar en una ordre.&lt;/p&gt;
&lt;h2 id="gestió-de-converses-integrada"&gt;Gestió de converses integrada&lt;/h2&gt;
&lt;p&gt;Aquesta és la peça que estalvia més temps en la producció. En lloc de crear el vostre propi magatzem d&amp;rsquo;estat de conversa, els agents allotjats ho gestionen de manera nativa:&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;# Create a persistent conversation&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;# First turn&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;# Second turn — context is preserved&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;No Redis. No hi ha botiga de sessions de Cosmos DB. No hi ha programari intermediari personalitzat per a la serialització de missatges. La plataforma només ho gestiona.&lt;/p&gt;
&lt;h2 id="el-meu-marc-de-decisió"&gt;El meu marc de decisió&lt;/h2&gt;
&lt;p&gt;Després de revisar les sis opcions, aquí teniu el meu model mental ràpid:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Necessites zero infraestructura?&lt;/strong&gt; → Agents de Foundry (portal/SDK, sense contenidors)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tens un codi d&amp;rsquo;agent personalitzat però vols un allotjament gestionat?&lt;/strong&gt; → Agents allotjats de Foundry&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Necessiteu tasques d&amp;rsquo;agent de curta durada i basades en esdeveniments?&lt;/strong&gt; → Azure Functions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Necessites el màxim control dels contenidors sense K8?&lt;/strong&gt; → Aplicacions de contenidors&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Necessites un compliment estricte i múltiples clústers?&lt;/strong&gt; → AKS&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Teniu un agent HTTP senzill amb trànsit previsible?&lt;/strong&gt; → Servei d&amp;rsquo;aplicacions&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Per a la majoria de desenvolupadors de.NET que creen amb Semantic Kernel o Microsoft Agent Framework, Hosted Agents és probablement el punt de partida adequat. Obteniu una escala a zero, OpenTelemetry integrada, gestió de converses i flexibilitat de marc, sense gestionar Kubernetes ni connectar la vostra pròpia pila d&amp;rsquo;observabilitat.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;El paisatge d&amp;rsquo;allotjament d&amp;rsquo;agents a Azure està madurant ràpidament. Si inicieu un nou projecte d&amp;rsquo;agent d&amp;rsquo;IA avui, m&amp;rsquo;agradaria considerar seriosament els agents allotjats de Foundry abans d&amp;rsquo;arribar a Container Apps o AKS per costum. La infraestructura gestionada estalvia temps real i el patró de l&amp;rsquo;adaptador d&amp;rsquo;allotjament us permet mantenir la vostra elecció de marc.&lt;/p&gt;
&lt;p&gt;Consulteu la &lt;a href="https://devblogs.microsoft.com/all-things-azure/hostedagent/"&gt;guia completa de Microsoft&lt;/a&gt; i el &lt;a href="https://github.com/microsoft-foundry/foundry-samples/tree/main/samples/python/hosted-agents"&gt;repositori de mostres de Foundry&lt;/a&gt; per obtenir exemples de treball.&lt;/p&gt;</content:encoded></item><item><title>azd ara us permet executar i depurar agents d'IA localment: aquí teniu el que va canviar el març de 2026</title><link>https://thedotnetblog.com/ca/posts/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/ca/posts/emiliano-montesdeoca/azd-march-2026-local-ai-agent-debugging/</guid><description>L'Azure Developer CLI va enviar set versions el març de 2026. Els aspectes més destacats: un bucle local d'execució i depuració per a agents d'IA, integració de GitHub Copilot a la configuració del projecte i suport de Container App Jobs.</description><content:encoded>&lt;p&gt;Set llançaments en un mes. Això és el que va impulsar l&amp;rsquo;equip de l&amp;rsquo;Azure Developer CLI (&lt;code&gt;azd&lt;/code&gt;) el març de 2026, i la funció de titular és la que estava esperant: &lt;strong&gt;un bucle local d&amp;rsquo;execució i depuració per als agents d&amp;rsquo;IA&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;va publicar el resum complet&lt;/a&gt; i, tot i que hi ha moltes coses, permeteu-me filtrar-ho fins al que realment importa per als desenvolupadors de.NET que creen aplicacions basades en IA.&lt;/p&gt;
&lt;h2 id="executeu-i-depureu-agents-dia-sense-desplegar-los"&gt;Executeu i depureu agents d&amp;rsquo;IA sense desplegar-los&lt;/h2&gt;
&lt;p&gt;Aquest és el gran. La nova extensió &lt;code&gt;azure.ai.agents&lt;/code&gt; afegeix un conjunt d&amp;rsquo;ordres que us ofereixen una experiència de bucle interior adequada per als agents d&amp;rsquo;IA:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;azd ai agent run&lt;/code&gt;: inicia el vostre agent localment&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent invoke&lt;/code&gt;: li envia missatges (locals o desplegats)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent show&lt;/code&gt;: mostra l&amp;rsquo;estat i la salut del contenidor&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent monitor&lt;/code&gt;: transmet els registres dels contenidors en temps real&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Abans d&amp;rsquo;això, provar un agent d&amp;rsquo;IA significava desplegar-lo a Microsoft Foundry cada vegada que feies un canvi. Ara podeu iterar localment, provar el comportament del vostre agent i només implementar-lo quan estigueu preparat. Si heu estat creant agents amb Microsoft Agent Framework o Semantic Kernel, això canvia el vostre flux de treball diari.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;ordre d&amp;rsquo;invocació funciona amb agents locals i desplegats, la qual cosa significa que podeu utilitzar el mateix flux de treball de prova independentment d&amp;rsquo;on s&amp;rsquo;executi l&amp;rsquo;agent. Aquest és el tipus de detall que us estalvia mantenir dos conjunts de scripts de prova.&lt;/p&gt;
&lt;h2 id="github-copilot-arma-el-vostre-projecte-azd"&gt;GitHub Copilot arma el vostre projecte azd&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd init&lt;/code&gt; ara ofereix una opció &amp;ldquo;Configura amb GitHub Copilot (vista prèvia)&amp;rdquo;. En lloc de respondre manualment les sol·licituds sobre l&amp;rsquo;estructura del vostre projecte, un agent de Copilot us encarrega la configuració. Comprova si hi ha un directori de treball brut abans de modificar res i demana el consentiment de l&amp;rsquo;eina del servidor MCP per endavant.&lt;/p&gt;
&lt;p&gt;Quan una ordre falla, &lt;code&gt;azd&lt;/code&gt; ara ofereix una resolució de problemes assistida per IA: trieu una categoria (explica, orienta, soluciona problemes o salta), deixeu que l&amp;rsquo;agent suggereixi una solució i torneu-ho a provar, tot sense sortir del terminal. Per a configuracions d&amp;rsquo;infraestructures complexes, això suposa un estalvi de temps real.&lt;/p&gt;
&lt;h2 id="feines-de-laplicació-de-contenidors-i-millores-en-el-desplegament"&gt;Feines de l&amp;rsquo;aplicació de contenidors i millores en el desplegament&lt;/h2&gt;
&lt;p&gt;Algunes funcions de desplegament que cal destacar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fines d&amp;rsquo;aplicacions de contenidors&lt;/strong&gt;: &lt;code&gt;azd&lt;/code&gt; ara desplega &lt;code&gt;Microsoft.App/jobs&lt;/code&gt; mitjançant la configuració existent &lt;code&gt;host: containerapp&lt;/code&gt;. La vostra plantilla de bíceps determina si l&amp;rsquo;objectiu és una aplicació de contenidor o una feina, sense cap configuració addicional.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Temps d&amp;rsquo;espera de desplegament configurables&lt;/strong&gt;: nova marca &lt;code&gt;--timeout&lt;/code&gt; a &lt;code&gt;azd deploy&lt;/code&gt; i un camp &lt;code&gt;deployTimeout&lt;/code&gt; a &lt;code&gt;azure.yaml&lt;/code&gt;. Ja no cal endevinar el límit predeterminat de 1200 segons.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Recurs de compilació remota&lt;/strong&gt;: quan la compilació remota d&amp;rsquo;ACR falla, &lt;code&gt;azd&lt;/code&gt; torna automàticament a la compilació local de Docker/Podman.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Validació local de preflight&lt;/strong&gt;: els paràmetres de bíceps es validen localment abans de desplegar-se, capturant els paràmetres que falten sense un viatge d&amp;rsquo;anada i tornada a Azure.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="polit-de-lexperiència-del-desenvolupador"&gt;Polit de l&amp;rsquo;experiència del desenvolupador&lt;/h2&gt;
&lt;p&gt;Algunes millores més petites que sumen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Detecció automàtica de pnpm/fils&lt;/strong&gt; per a projectes JS/TS&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compatibilitat amb pyproject.toml&lt;/strong&gt; per a l&amp;rsquo;embalatge de Python&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Directoris de plantilles locals&lt;/strong&gt; — &lt;code&gt;azd init --template&lt;/code&gt; ara accepta camins del sistema de fitxers per a la iteració fora de línia&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Millors missatges d&amp;rsquo;error&lt;/strong&gt; en mode &lt;code&gt;--no-prompt&lt;/code&gt;: tots els valors que falten es reporten alhora amb ordres de resolució&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Variables d&amp;rsquo;entorn de compilació&lt;/strong&gt; injectades a tots els subprocessos de creació de marcs (.NET, Node.js, Java, Python)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aquesta última és subtil però important: la vostra compilació.NET ara té accés a les variables d&amp;rsquo;entorn &lt;code&gt;azd&lt;/code&gt;, la qual cosa significa que podeu fer una injecció de configuració en temps de compilació sense scripts addicionals.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;El bucle de depuració de l&amp;rsquo;agent d&amp;rsquo;IA local és l&amp;rsquo;estrella d&amp;rsquo;aquesta versió, però l&amp;rsquo;acumulació de millores en el desplegament i la poliment DX fa que &lt;code&gt;azd&lt;/code&gt; se senti més madur que mai. Si esteu desplegant aplicacions.NET a Azure, especialment agents d&amp;rsquo;IA, aquesta actualització val la pena instal·lar-la.&lt;/p&gt;
&lt;p&gt;Comproveu les &lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-developer-cli-azd-march-2026/"&gt;notes completes de la versió&lt;/a&gt; per a cada detall o comenceu amb &lt;a href="https://learn.microsoft.com/azure/developer/azure-developer-cli/install-azd"&gt;instal·lació d&amp;rsquo;azd&lt;/a&gt;.&lt;/p&gt;</content:encoded></item></channel></rss>