<?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/id/tags/hyperlight/</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>Sat, 25 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/id/tags/hyperlight/index.xml" rel="self" type="application/rss+xml"/><item><title>CodeAct di Agent Framework: Cara Memotong Latensi Agen Anda Setengahnya</title><link>https://thedotnetblog.com/id/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/id/posts/emiliano-montesdeoca/codeact-agent-framework-hyperlight-50-percent-faster/</guid><description>CodeAct menyatukan rantai alat multi-langkah menjadi satu blok kode yang disandbox — memangkas latensi 52% dan penggunaan token 64%.</description><content:encoded>&lt;p&gt;&lt;em&gt;Posting ini telah diterjemahkan secara otomatis. Untuk versi aslinya, &lt;a href="https://thedotnetblog.com/id/posts/emiliano-montesdeoca/codeact-agent-framework-hyperlight-50-percent-faster/"&gt;klik di sini&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ada momen dalam setiap proyek agen di mana Anda melihat trace dan berpikir: &amp;ldquo;kenapa ini lama sekali?&amp;rdquo; Model tidak masalah. Alat-alat bekerja. Tapi ada tujuh round trip untuk mendapatkan hasil yang bisa dihitung dalam satu langkah.&lt;/p&gt;
&lt;p&gt;Itulah persis masalah yang dipecahkan CodeAct — dan &lt;a href="https://devblogs.microsoft.com/agent-framework/codeact-with-hyperlight/"&gt;tim Agent Framework baru saja merilis dukungan alpha&lt;/a&gt; melalui paket baru &lt;code&gt;agent-framework-hyperlight&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="apa-itu-codeact"&gt;Apa itu CodeAct?&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://arxiv.org/abs/2402.01030"&gt;Pola CodeAct&lt;/a&gt; secara elegan sederhana: alih-alih memberi model daftar alat untuk dipanggil satu per satu, Anda memberinya satu alat &lt;code&gt;execute_code&lt;/code&gt; dan membiarkannya mengekspresikan &lt;em&gt;seluruh rencana&lt;/em&gt; sebagai program Python singkat.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pendekatan&lt;/th&gt;
&lt;th&gt;Waktu&lt;/th&gt;
&lt;th&gt;Token&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Tradisional&lt;/td&gt;
&lt;td&gt;27,81d&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,23d&lt;/td&gt;
&lt;td&gt;2.489&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Peningkatan&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="keamanan-micro-vm-hyperlight"&gt;Keamanan: Micro-VM Hyperlight&lt;/h2&gt;
&lt;p&gt;Paket &lt;code&gt;agent-framework-hyperlight&lt;/code&gt; menggunakan micro-VM &lt;a href="https://github.com/hyperlight-dev/hyperlight"&gt;Hyperlight&lt;/a&gt;. Setiap pemanggilan &lt;code&gt;execute_code&lt;/code&gt; mendapat micro-VM baru yang baru dibuat. Startup diukur dalam milidetik. Isolasi hampir gratis.&lt;/p&gt;
&lt;p&gt;Alat Anda tetap berjalan di host. Kode lem yang dihasilkan model berjalan di sandbox. Itulah pembagian yang benar.&lt;/p&gt;
&lt;h2 id="pengaturan-minimal"&gt;Pengaturan Minimal&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="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="kapan-menggunakan-codeact-dan-kapan-tidak"&gt;Kapan Menggunakan CodeAct (dan Kapan Tidak)&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Gunakan CodeAct ketika:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tugas merantai banyak pemanggilan alat kecil (pencarian, penggabungan, perhitungan)&lt;/li&gt;
&lt;li&gt;Latensi dan biaya token penting&lt;/li&gt;
&lt;li&gt;Anda ingin isolasi kuat per pemanggilan untuk kode yang dihasilkan model&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Tetap gunakan tool-calling tradisional ketika:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Agen hanya melakukan satu atau dua pemanggilan alat per giliran&lt;/li&gt;
&lt;li&gt;Setiap pemanggilan memiliki efek samping yang perlu disetujui secara individual&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="coba-sekarang"&gt;Coba Sekarang&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;Baca &lt;a href="https://devblogs.microsoft.com/agent-framework/codeact-with-hyperlight/"&gt;posting lengkap di blog Agent Framework&lt;/a&gt;.&lt;/p&gt;</content:encoded></item></channel></rss>