<?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>Hyperlight | The .NET Blog</title><link>https://thedotnetblog.com/ca/tags/hyperlight/</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/hyperlight/index.xml" rel="self" type="application/rss+xml"/><item><title>CodeAct al Agent Framework: Com Reduir la Latència del teu Agent a la Meitat</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/codeact-agent-framework-hyperlight-50-percent-faster/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/codeact-agent-framework-hyperlight-50-percent-faster/</guid><description>CodeAct col·lapsa cadenes d'eines de múltiples passos en un únic bloc de codi sandboxed — reduint la latència un 52% i l'ús de tokens un 64%. Aquí tens el que significa pels teus agents i quan fer-lo servir.</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/codeact-agent-framework-hyperlight-50-percent-faster/"&gt;fes clic aquí&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Hi ha un moment en tot projecte d&amp;rsquo;agents en què mires el trace i penses: &amp;ldquo;per què tarda tant això?&amp;rdquo; El model està bé. Les eines funcionen. Però hi ha set round trips per obtenir un resultat que es podria calcular d&amp;rsquo;una sola vegada.&lt;/p&gt;
&lt;p&gt;Exactament aquest és el problema que resol CodeAct — i l&amp;rsquo;&lt;a href="https://devblogs.microsoft.com/agent-framework/codeact-with-hyperlight/"&gt;equip d&amp;rsquo;Agent Framework acaba de publicar suport alpha&lt;/a&gt; a través del nou paquet &lt;code&gt;agent-framework-hyperlight&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="què-és-codeact"&gt;Què és CodeAct?&lt;/h2&gt;
&lt;p&gt;El &lt;a href="https://arxiv.org/abs/2402.01030"&gt;patró CodeAct&lt;/a&gt; és elegantment simple: en lloc de donar al model una llista d&amp;rsquo;eines i deixar-lo cridar-les una per una, li dones una única eina &lt;code&gt;execute_code&lt;/code&gt; i li permets expressar el &lt;em&gt;pla complet&lt;/em&gt; com un programa Python curt. L&amp;rsquo;agent escriu el codi una vegada, el sandbox l&amp;rsquo;executa, i tornes a rebre un únic resultat consolidat.&lt;/p&gt;
&lt;p&gt;Un pla de cinc passos que abans requeria cinc torns del model ara es converteix en un torn &lt;code&gt;execute_code&lt;/code&gt; que conté un script Python que crida les teves eines via &lt;code&gt;call_tool(...)&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;El benchmark del repositori ho fa concret. Vuit usuaris, dotzenes de comandes, cinc eines. Mateix model, mateixes eines, mateix prompt — només cablejat diferent:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Cablejat&lt;/th&gt;
&lt;th&gt;Temps&lt;/th&gt;
&lt;th&gt;Tokens&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Tradicional&lt;/td&gt;
&lt;td&gt;27.81s&lt;/td&gt;
&lt;td&gt;6.890&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CodeAct&lt;/td&gt;
&lt;td&gt;13.23s&lt;/td&gt;
&lt;td&gt;2.489&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Millora&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;52,4%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;63,9%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="la-peça-de-seguretat-micro-vms-de-hyperlight"&gt;La peça de seguretat: micro-VMs de Hyperlight&lt;/h2&gt;
&lt;p&gt;El paquet &lt;code&gt;agent-framework-hyperlight&lt;/code&gt; utilitza micro-VMs de &lt;a href="https://github.com/hyperlight-dev/hyperlight"&gt;Hyperlight&lt;/a&gt;. Cada crida &lt;code&gt;execute_code&lt;/code&gt; obté la seva pròpia micro-VM recentment creada — amb la seva pròpia memòria, sense accés al sistema de fitxers del host més enllà del que muntes explícitament. L&amp;rsquo;arrencada es mesura en mil·lisegons.&lt;/p&gt;
&lt;p&gt;Les teves eines segueixen executant-se al host. El &lt;em&gt;codi de pegament&lt;/em&gt; generat pel model s&amp;rsquo;executa en el sandbox. Aquesta és la divisió correcta.&lt;/p&gt;
&lt;h2 id="com-connectar-ho"&gt;Com connectar-ho&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;agent_framework&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Agent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tool&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;agent_framework_hyperlight&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;HyperlightCodeActProvider&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="nd"&gt;@tool&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_weather&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;city&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;float&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="nb"&gt;str&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="s2"&gt;&amp;#34;&amp;#34;&amp;#34;Return the current weather for a city.&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;city&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;city&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;temperature_c&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;21.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;conditions&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;partly cloudy&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&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;codeact&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;HyperlightCodeActProvider&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_weather&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;approval_mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;never_require&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="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Agent&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;client&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;client&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;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;CodeActAgent&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;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;context_providers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;codeact&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;h2 id="quan-fer-servir-codeact-i-quan-no"&gt;Quan fer servir CodeAct (i quan no)&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Fes servir CodeAct quan:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La tasca encadena moltes crides petites a eines (consultes, joins, càlculs, formatació)&lt;/li&gt;
&lt;li&gt;Et preocupa la latència i el cost de tokens&lt;/li&gt;
&lt;li&gt;Vols aïllament fort per crida en codi generat pel model&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Queda&amp;rsquo;t amb el tool-calling tradicional quan:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;L&amp;rsquo;agent només fa una o dues crides a eines per torn&lt;/li&gt;
&lt;li&gt;Cada crida té efectes secundaris que vols aprovar individualment&lt;/li&gt;
&lt;li&gt;Les descripcions d&amp;rsquo;eines són escasses o ambigües&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="prova-ho-ara"&gt;Prova-ho ara&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;pip install agent-framework-hyperlight --pre
&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/agent-framework/codeact-with-hyperlight/"&gt;post complet al blog d&amp;rsquo;Agent Framework&lt;/a&gt; per a cobertura més profunda.&lt;/p&gt;</content:encoded></item></channel></rss>