<?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>AI Foundry | The .NET Blog</title><link>https://thedotnetblog.com/id/tags/ai-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>Sat, 25 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/id/tags/ai-foundry/index.xml" rel="self" type="application/rss+xml"/><item><title>Azure SDK April 2026: AI Foundry 2.0 dan Hal yang Perlu Diketahui Developer .NET</title><link>https://thedotnetblog.com/id/news/emiliano-montesdeoca/azure-sdk-april-2026-ai-foundry-2-stable/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/id/news/emiliano-montesdeoca/azure-sdk-april-2026-ai-foundry-2-stable/</guid><description>Rilis Azure SDK April 2026 menghadirkan Azure.AI.Projects 2.0.0 stable dengan breaking changes penting, perbaikan keamanan kritis untuk Cosmos DB, dan gelombang library Provisioning baru untuk .NET.</description><content:encoded>&lt;p&gt;&lt;em&gt;Postingan ini diterjemahkan secara otomatis. Untuk versi aslinya, &lt;a href="https://thedotnetblog.com/id/news/emiliano-montesdeoca/azure-sdk-april-2026-ai-foundry-2-stable/"&gt;klik di sini&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Rilis SDK bulanan sering mudah dilewatkan. Yang satu ini punya beberapa hal yang layak diperhatikan — terutama jika Anda membangun dengan AI Foundry, Cosmos DB di Java, atau melakukan provisioning infrastruktur dari kode .NET.&lt;/p&gt;
&lt;h2 id="azureaiprojects-200--breaking-changes-yang-masuk-akal"&gt;Azure.AI.Projects 2.0.0 — Breaking changes yang masuk akal&lt;/h2&gt;
&lt;p&gt;Paket NuGet &lt;code&gt;Azure.AI.Projects&lt;/code&gt; mencapai stable 2.0.0 dengan beberapa perubahan arsitektur yang signifikan. Jika Anda sudah memakai preview, inilah yang berubah:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Pemisahan namespace&lt;/strong&gt;: Evaluations pindah ke &lt;code&gt;Azure.AI.Projects.Evaluation&lt;/code&gt;, dan operasi memory pindah ke &lt;code&gt;Azure.AI.Projects.Memory&lt;/code&gt;. Anda perlu memperbarui &lt;code&gt;using&lt;/code&gt; statements.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tipe yang diganti nama&lt;/strong&gt;: &lt;code&gt;Insights&lt;/code&gt; → &lt;code&gt;ProjectInsights&lt;/code&gt;, &lt;code&gt;Schedules&lt;/code&gt; → &lt;code&gt;ProjectSchedules&lt;/code&gt;, &lt;code&gt;Evaluators&lt;/code&gt; → &lt;code&gt;ProjectEvaluators&lt;/code&gt;, &lt;code&gt;Trigger&lt;/code&gt; → &lt;code&gt;ScheduleTrigger&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Konvensi penamaan&lt;/strong&gt;: properti boolean sekarang konsisten mengikuti konvensi &lt;code&gt;Is*&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ini jenis breaking changes yang terasa menyakitkan sekali lalu terasa benar selamanya. Jika Anda sudah membangun di atas preview, perbarui import dan biarkan compiler menunjukkan sisanya.&lt;/p&gt;
&lt;p&gt;Kabar baiknya: sekarang ini stable. Anda bisa benar-benar mengandalkan API ini.&lt;/p&gt;
&lt;h2 id="cosmos-db-java-perbaikan-keamanan-kritis-rce"&gt;Cosmos DB Java: perbaikan keamanan kritis (RCE)&lt;/h2&gt;
&lt;p&gt;Ini serius. Library Java Cosmos DB (&lt;code&gt;azure-cosmos&lt;/code&gt;) versi 4.79.0 menyertakan perbaikan keamanan kritis untuk &lt;strong&gt;Remote Code Execution vulnerability (CWE-502)&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Masalahnya adalah Java deserialization di &lt;code&gt;CosmosClientMetadataCachesSnapshot&lt;/code&gt;, &lt;code&gt;AsyncCache&lt;/code&gt;, dan &lt;code&gt;DocumentCollection&lt;/code&gt;. Perbaikannya mengganti Java deserialization dengan serialization berbasis JSON, sehingga menghapus seluruh kelas serangan deserialization.&lt;/p&gt;
&lt;p&gt;Jika Anda punya layanan Java yang menggunakan Azure Cosmos DB, segera perbarui ke 4.79.0. Ini tidak opsional.&lt;/p&gt;
&lt;h2 id="library-provisioning-baru-untuk-net"&gt;Library Provisioning baru untuk .NET&lt;/h2&gt;
&lt;p&gt;Sejumlah library Provisioning stabil mencapai 1.0.0 bulan ini — inilah library yang memungkinkan Anda mendefinisikan infrastruktur Azure dalam kode C# alih-alih ARM template atau Bicep:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.nuget.org/packages/Azure.Provisioning.Network/1.0.0"&gt;Azure.Provisioning.Network 1.0.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nuget.org/packages/Azure.Provisioning.PrivateDns/1.0.0"&gt;Azure.Provisioning.PrivateDns 1.0.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ada beberapa lagi di beta.1, mencakup API Management, Batch, Compute, Monitor, MySQL, dan Security Center. Jika Anda melakukan infrastructure-as-code dari .NET — terutama dengan deployment Aspire — library ini adalah titik awal Anda.&lt;/p&gt;
&lt;h2 id="azure-ai-agents-java-200-ga"&gt;Azure AI Agents Java: 2.0.0 GA&lt;/h2&gt;
&lt;p&gt;Library Java Azure AI Agents juga mencapai general availability bulan ini. Perubahan breaking utama:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Beberapa tipe enum diubah menjadi kelas berbasis &lt;code&gt;ExpandableStringEnum&lt;/code&gt; (lebih fleksibel untuk nilai baru)&lt;/li&gt;
&lt;li&gt;Kelas model &lt;code&gt;*Param&lt;/code&gt; diganti nama menjadi &lt;code&gt;*Parameter&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;MCPToolConnectorId&lt;/code&gt; → &lt;code&gt;McpToolConnectorId&lt;/code&gt; (konsistensi kapitalisasi)&lt;/li&gt;
&lt;li&gt;Overload kenyamanan baru untuk &lt;code&gt;beginUpdateMemories&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="penutup"&gt;Penutup&lt;/h2&gt;
&lt;p&gt;Sorotan utama untuk developer .NET bulan ini adalah &lt;code&gt;Azure.AI.Projects 2.0.0&lt;/code&gt; yang menjadi stable — jika Anda membangun dengan AI Foundry, sekarang waktunya pin ke stable dan memperbarui import. Untuk tim Java yang memakai Cosmos DB, pembaruan keamanan ini mendesak.&lt;/p&gt;
&lt;p&gt;Catatan rilis lengkap ada di &lt;a href="https://aka.ms/azsdk/releases"&gt;aka.ms/azsdk/releases&lt;/a&gt;. Post asli: &lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-sdk-release-april-2026/"&gt;Azure SDK Release (April 2026)&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>68 Menit Sehari Mengulang Penjelasan Kode ke Copilot? Ada Solusinya</title><link>https://thedotnetblog.com/id/news/emiliano-montesdeoca/auto-memory-stop-re-explaining-code-to-copilot/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/id/news/emiliano-montesdeoca/auto-memory-stop-re-explaining-code-to-copilot/</guid><description>Context rot itu nyata — agent AI Anda mulai melenceng setelah 30 turn, dan Anda membayar compaction tax setiap jam. auto-memory memberi GitHub Copilot CLI recall yang presisi tanpa membakar ribuan token.</description><content:encoded>&lt;p&gt;&lt;em&gt;Postingan ini diterjemahkan secara otomatis. Untuk versi aslinya, &lt;a href="https://thedotnetblog.com/id/news/emiliano-montesdeoca/auto-memory-stop-re-explaining-code-to-copilot/"&gt;klik di sini&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Anda tahu momen ketika sesi Copilot Anda kena &lt;code&gt;/compact&lt;/code&gt; dan agent benar-benar lupa apa yang sedang Anda kerjakan? Lima menit berikutnya Anda menjelaskan ulang struktur folder, test yang gagal, dan tiga pendekatan yang sudah dicoba. Lalu itu terjadi lagi. Dan lagi.&lt;/p&gt;
&lt;p&gt;Desi Villanueva mencatatnya: &lt;strong&gt;68 menit per hari&lt;/strong&gt; — hanya untuk re-orientasi. Bukan menulis kode. Bukan review PR. Hanya mengingatkan AI tentang hal-hal yang sebenarnya sudah ia ketahui.&lt;/p&gt;
&lt;p&gt;Ternyata ada alasan konkret mengapa ini terjadi, dan ada solusi konkret juga.&lt;/p&gt;
&lt;h2 id="kebohongan-jendela-konteks"&gt;Kebohongan Jendela Konteks&lt;/h2&gt;
&lt;p&gt;Agent Anda datang dengan angka besar di kotak. 200K token. Kedengarannya masif. Dalam praktiknya, itu adalah batas atas, bukan jaminan.&lt;/p&gt;
&lt;p&gt;Ini matematika yang sebenarnya:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;200K context total&lt;/li&gt;
&lt;li&gt;Dikurangi sekitar 65K untuk tool MCP yang dimuat saat startup (~33%)&lt;/li&gt;
&lt;li&gt;Dikurangi sekitar 10K untuk file instruksi seperti &lt;code&gt;AGENTS.md&lt;/code&gt; atau &lt;code&gt;copilot-instructions.md&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Itu menyisakan kira-kira &lt;strong&gt;125K sebelum Anda mengetik satu kata pun&lt;/strong&gt;. Dan makin buruk — LLM tidak menurun secara mulus saat context penuh. Mereka membentur tembok di sekitar 60% kapasitas. Model mulai kehilangan hal-hal yang disebut 30 turn sebelumnya, membantah jawaban sebelumnya, dan menghalusinasi nama file yang tadi ia sebut dengan sangat percaya diri 10 menit lalu. Industri menyebut ini masalah &amp;ldquo;lost in the middle&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Batas efektif: &lt;strong&gt;45K token&lt;/strong&gt; sebelum kualitas turun. Itu mungkin hanya 20-30 turn percakapan aktif sebelum agent mulai melenceng. Itulah kenapa Anda kena &lt;code&gt;/compact&lt;/code&gt; setiap 45 menit — bukan karena Anda sudah mengisi 200K token, tapi karena model sudah mulai rusak di 120K.&lt;/p&gt;
&lt;h2 id="pajak-kompaksi"&gt;Pajak Kompaksi&lt;/h2&gt;
&lt;p&gt;Setiap &lt;code&gt;/compact&lt;/code&gt; mengambil state alur kerja Anda. Anda sedang berada di sesi debugging yang dalam. Context bersama sudah terbentuk selama 30 menit. Agent tahu struktur file, test yang gagal, dan hipotesisnya. Lalu peringatannya muncul.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Abaikan → agent makin bodoh perlahan, mulai menghalusinasi state lama&lt;/li&gt;
&lt;li&gt;Jalankan &lt;code&gt;/compact&lt;/code&gt; → agent hanya mendapat ringkasan dua paragraf dari investigasi 30 menit&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Apa pun pilihannya, Anda kalah. Apa pun pilihannya, Anda menjelaskan proyek Anda seperti orang baru pada hari pertama.&lt;/p&gt;
&lt;p&gt;Bagian kejamnya? &lt;strong&gt;Memori itu sebenarnya sudah ada&lt;/strong&gt;. Copilot CLI menulis setiap sesi ke database SQLite lokal di &lt;code&gt;~/.copilot/session-store.db&lt;/code&gt; — setiap file yang disentuh, setiap turn, setiap checkpoint. Semuanya ada di disk. Agent cuma tidak bisa membacanya.&lt;/p&gt;
&lt;h2 id="auto-memory-lapisan-recall-bukan-sistem-memori"&gt;auto-memory: lapisan recall, bukan sistem memori&lt;/h2&gt;
&lt;p&gt;Itulah ide utama di balik &lt;a href="https://github.com/dezgit2025/auto-memory"&gt;auto-memory&lt;/a&gt;: jangan bangun sistem memori baru — bangun lapisan query read-only di atas yang sudah ada.&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;pip install auto-memory
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Sekitar 1.900 baris Python. Tanpa dependensi. Terpasang dalam 30 detik.&lt;/p&gt;
&lt;p&gt;Alih-alih membanjiri context dengan hasil grep, Anda memberi agent akses bedah ke hal yang benar-benar penting:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Operasi&lt;/th&gt;
&lt;th&gt;Token&lt;/th&gt;
&lt;th&gt;Apa yang Anda dapat&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;grep -r &amp;quot;auth&amp;quot; src/&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;~5,000–10,000&lt;/td&gt;
&lt;td&gt;500 hasil, sebagian besar tidak relevan&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;find . -name &amp;quot;*.py&amp;quot;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;~2,000&lt;/td&gt;
&lt;td&gt;Semua file Python, tanpa konteks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Re-orientasi agent&lt;/td&gt;
&lt;td&gt;~2,000&lt;/td&gt;
&lt;td&gt;Anda menjelaskan apa yang seharusnya sudah ia tahu&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&lt;code&gt;auto-memory files --json --limit 10&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~50&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;10 file yang Anda sentuh kemarin&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Itu peningkatan 200x. Agent melewati penggalian arkeologi dan langsung menuju hal yang penting.&lt;/p&gt;
&lt;p&gt;Alur yang direkomendasikan: saat Anda mendekati penggunaan 50-70% context, jalankan &lt;code&gt;/clear&lt;/code&gt; lalu prompt dengan: &amp;ldquo;review last sessions we discussed topic X&amp;rdquo;. Alih-alih membakar 12K token untuk pencarian buta, auto-memory mengambil konteks yang relevan hanya dalam 50 token.&lt;/p&gt;
&lt;h2 id="kenapa-ini-penting-untuk-developer-net"&gt;Kenapa Ini Penting untuk Developer .NET&lt;/h2&gt;
&lt;p&gt;Jika Anda memakai GitHub Copilot CLI untuk pekerjaan .NET — scaffolding service, debugging query EF Core, iterasi pada komponen Blazor — masalah context rot menghantam sama kerasnya. Solusi kompleks dengan banyak proyek, library bersama, dan call chain yang dalam adalah jenis codebase yang paling cepat membuat agent kehilangan arah.&lt;/p&gt;
&lt;p&gt;Panduan instalasi menjelaskan cara mengarahkan Copilot CLI ke sana. Itu setup satu kali.&lt;/p&gt;
&lt;p&gt;Sejujurnya? Mengembalikan 68 menit per hari bukan sekadar tweak kecil untuk kualitas hidup. Itu hampir 6 jam per minggu.&lt;/p&gt;
&lt;h2 id="penutup"&gt;Penutup&lt;/h2&gt;
&lt;p&gt;Context rot adalah batasan arsitektural yang nyata, bukan bug yang akan dipatch. auto-memory mengatasinya dengan memberi agent mekanisme recall yang murah dan presisi, bukan re-exploration yang mahal dan berisik. Kalau Anda melakukan pengembangan serius berbantuan AI dengan GitHub Copilot CLI, instalasi 30 detiknya layak dilakukan.&lt;/p&gt;
&lt;p&gt;Lihat: &lt;a href="https://github.com/dezgit2025/auto-memory"&gt;auto-memory di GitHub&lt;/a&gt;. Post asli oleh Desi Villanueva: &lt;a href="https://devblogs.microsoft.com/all-things-azure/i-wasted-68-minutes-a-day-re-explaining-my-code-then-i-built-auto-memory/"&gt;I Wasted 68 Minutes a Day Re-Explaining My Code&lt;/a&gt;.&lt;/p&gt;</content:encoded></item></channel></rss>