<?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/ar/tags/ai-foundry/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ar</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/ar/tags/ai-foundry/index.xml" rel="self" type="application/rss+xml"/><item><title>Azure SDK أبريل 2026: AI Foundry 2.0 وما يجب أن يعرفه مطورو .NET</title><link>https://thedotnetblog.com/ar/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/ar/news/emiliano-montesdeoca/azure-sdk-april-2026-ai-foundry-2-stable/</guid><description>إصدار Azure SDK لأبريل 2026 يشحن Azure.AI.Projects 2.0.0 المستقر مع تغييرات جوهرية كبيرة، وإصلاحات أمان حاسمة لـ Cosmos DB، وموجة من مكتبات Provisioning الجديدة لـ .NET.</description><content:encoded>&lt;p&gt;غالبًا ما يمر إصدارات SDK الشهرية دون اهتمام. لكن هذا الإصدار يحتوي على بعض الأشياء التي تستحق الانتباه — خاصة إذا كنت تبني باستخدام AI Foundry أو Cosmos DB في Java أو تقوم بتوفير البنية التحتية من كود .NET.&lt;/p&gt;
&lt;h2 id="azureaiprojects-200--تغييرات-جوهرية-منطقية"&gt;Azure.AI.Projects 2.0.0 — تغييرات جوهرية منطقية&lt;/h2&gt;
&lt;p&gt;حزمة NuGet &lt;code&gt;Azure.AI.Projects&lt;/code&gt; تصل إلى الإصدار المستقر 2.0.0 مع بعض التغييرات المعمارية الهامة. إذا كنت تستخدم المعاينة بالفعل، إليك ما تغير:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;تقسيم مساحات الأسماء&lt;/strong&gt;: Evaluations انتقلت إلى &lt;code&gt;Azure.AI.Projects.Evaluation&lt;/code&gt;، وعمليات الذاكرة انتقلت إلى &lt;code&gt;Azure.AI.Projects.Memory&lt;/code&gt;. عبارات using الخاصة بك ستحتاج إلى تحديث.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;أنواع معاد تسميتها&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;اتفاقيات التسمية&lt;/strong&gt;: خصائص Boolean تتبع الآن اتفاقية &lt;code&gt;Is*&lt;/code&gt; بشكل متناسق&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذه هي أنواع التغييرات الجوهرية التي تؤلم مرة واحدة ثم تبدو صحيحة إلى الأبد. إذا كنت تبني على المعاينة، حدث الاستيرادات الخاصة بك ودع المترجم يوجهك للباقي.&lt;/p&gt;
&lt;p&gt;الخبر السار: إنه مستقر. يمكنك بالفعل الاعتماد على هذه API الآن.&lt;/p&gt;
&lt;h2 id="cosmos-db-java-إصلاح-أمان-حاسم-rce"&gt;Cosmos DB Java: إصلاح أمان حاسم (RCE)&lt;/h2&gt;
&lt;p&gt;هذا جدي. مكتبة Java Cosmos DB (&lt;code&gt;azure-cosmos&lt;/code&gt;) الإصدار 4.79.0 تتضمن إصلاح أمان حاسم لثغرة &lt;strong&gt;تنفيذ تعليمات برمجية عن بعد (CWE-502)&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;المشكلة كانت إلغاء تسلسل Java في &lt;code&gt;CosmosClientMetadataCachesSnapshot&lt;/code&gt; و &lt;code&gt;AsyncCache&lt;/code&gt; و &lt;code&gt;DocumentCollection&lt;/code&gt;. الإصلاح يستبدل إلغاء تسلسل Java بالتسلسل المستند إلى JSON، مما يلغي فئة كاملة من هجمات إلغاء التسلسل.&lt;/p&gt;
&lt;p&gt;إذا كان لديك أي خدمات Java تستخدم Azure Cosmos DB، حدث إلى 4.79.0 فورًا. هذا ليس اختياريًا.&lt;/p&gt;
&lt;h2 id="مكتبات-provisioning-جديدة-لـ-net"&gt;مكتبات Provisioning جديدة لـ .NET&lt;/h2&gt;
&lt;p&gt;موجة من مكتبات Provisioning المستقرة وصلت إلى 1.0.0 هذا الشهر — هذه هي المكتبات التي تتيح لك تعريف البنية التحتية لـ Azure في كود C# بدلاً من قوالب ARM أو 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;العديد غيرها في beta.1، تغطي API Management و Batch و Compute و Monitor و MySQL و Security Center. إذا كنت تقوم بالبنية التحتية ككود من .NET — خاصة مع عمليات نشر Aspire — هذه المكتبات هي نقطة الدخول الخاصة بك.&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;مكتبة Java Azure AI Agents تصل أيضًا إلى التوفر العام هذا الشهر. التغييرات الجوهرية الرئيسية:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;عدة أنواع enum تم تحويلها إلى فئات قائمة على &lt;code&gt;ExpandableStringEnum&lt;/code&gt; (أكثر مرونة للقيم الجديدة)&lt;/li&gt;
&lt;li&gt;فئات نموذج &lt;code&gt;*Param&lt;/code&gt; أعيدت تسميتها إلى &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; (حروف متسقة)&lt;/li&gt;
&lt;li&gt;تحميل زائد جديد مناسب لـ &lt;code&gt;beginUpdateMemories&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="خلاصة"&gt;خلاصة&lt;/h2&gt;
&lt;p&gt;العنوان الرئيسي لمطوري .NET هذا الشهر هو وصول &lt;code&gt;Azure.AI.Projects 2.0.0&lt;/code&gt; إلى الاستقرار — إذا كنت تبني باستخدام AI Foundry، الآن هو الوقت لتثبيت الإصدار المستقر وتحديث الاستيرادات الخاصة بك. لمتاجر Java التي تستخدم Cosmos DB، التحديث الأمني عاجل.&lt;/p&gt;
&lt;p&gt;ملاحظات الإصدار الكاملة في &lt;a href="https://aka.ms/azsdk/releases"&gt;aka.ms/azsdk/releases&lt;/a&gt;. المقال الأصلي: &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 دقيقة يومياً لإعادة شرح الكود لكوبايلوت؟ هناك حل لذلك</title><link>https://thedotnetblog.com/ar/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/ar/news/emiliano-montesdeoca/auto-memory-stop-re-explaining-code-to-copilot/</guid><description>تآكل السياق حقيقي — وكيلك يبتعد بعد 30 دورة، وأنت تدفع ضريبة الدمج كل ساعة. يمنح auto-memory GitHub Copilot CLI ذاكرة استرجاع جراحية من دون حرق آلاف الرموز.</description><content:encoded>&lt;p&gt;&lt;em&gt;تمت ترجمة هذا المنشور تلقائيًا. للنسخة الأصلية، &lt;a href="https://thedotnetblog.com/ar/news/emiliano-montesdeoca/auto-memory-stop-re-explaining-code-to-copilot/"&gt;انقر هنا&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;أتعرف تلك اللحظة حين تصل جلسة Copilot الخاصة بك إلى &lt;code&gt;/compact&lt;/code&gt; وينسى الوكيل تماماً ما كنت تفعله؟ تمضي الدقائق الخمس التالية وأنت تعيد شرح بنية الملفات، والاختبار الفاشل، والطرق الثلاث التي جرّبتها بالفعل. ثم يحدث الأمر مرة أخرى. ومرة أخرى.&lt;/p&gt;
&lt;p&gt;قاس Desi Villanueva ذلك: &lt;strong&gt;68 دقيقة يومياً&lt;/strong&gt; — فقط في إعادة التوجيه. ليس في كتابة الكود. وليس في مراجعة PRs. فقط في إلحاق الذكاء الاصطناعي بما كان يعرفه بالفعل.&lt;/p&gt;
&lt;p&gt;اتضح أن هناك سبباً ملموساً لهذا، وحلاً ملموساً أيضاً.&lt;/p&gt;
&lt;h2 id="كذبة-نافذة-السياق"&gt;كذبة نافذة السياق&lt;/h2&gt;
&lt;p&gt;يأتي وكيلك برقم كبير على العلبة. 200 ألف رمز. يبدو هائلاً. عملياً، هو حد أعلى وليس ضماناً.&lt;/p&gt;
&lt;p&gt;إليك الحساب الحقيقي:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;200 ألف رمز من السياق الإجمالي&lt;/li&gt;
&lt;li&gt;ناقص نحو 65 ألفاً لأدوات MCP المحمّلة عند البدء (~33%)&lt;/li&gt;
&lt;li&gt;ناقص نحو 10 آلاف لملفات التعليمات مثل &lt;code&gt;AGENTS.md&lt;/code&gt; أو &lt;code&gt;copilot-instructions.md&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذا يترك لك تقريباً &lt;strong&gt;125 ألفاً قبل أن تكتب كلمة واحدة&lt;/strong&gt;. والأسوأ من ذلك — نماذج اللغة الكبيرة لا تتدهور بسلاسة مع امتلاء السياق. إنها تصطدم بجدار عند نحو 60% من السعة. يبدأ النموذج بفقدان أشياء ذُكرت قبل 30 دورة، ويخالف ردوداً سابقة، ويختلق أسماء ملفات كان قد ذكرها بثقة قبل 10 دقائق. وتسمّي الصناعة هذا مشكلة &amp;ldquo;lost in the middle&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;الحد الفعلي: &lt;strong&gt;45 ألف رمز&lt;/strong&gt; قبل أن تتدهور الجودة. وهذا ربما يعني 20-30 دورة فقط من الحوار النشط قبل أن يبدأ الوكيل بالابتعاد عن المسار. وهذا هو سبب وصولك إلى &lt;code&gt;/compact&lt;/code&gt; كل 45 دقيقة — ليس لأنك ملأت 200 ألف رمز، بل لأن النموذج أصبح متدهوراً بالفعل عند 120 ألفاً.&lt;/p&gt;
&lt;h2 id="ضريبة-الدمج"&gt;ضريبة الدمج&lt;/h2&gt;
&lt;p&gt;كل &lt;code&gt;/compact&lt;/code&gt; يكلفك حالة التدفق. أنت في جلسة تصحيح عميقة. السياق المشترك بُني خلال 30 دقيقة. الوكيل يعرف بنية الملفات، والاختبار الفاشل، والفرضية. ثم تأتي التحذيرات.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;تجاهلها → يصبح الوكيل أضعف تدريجياً، ويبدأ باختلاق الحالة القديمة&lt;/li&gt;
&lt;li&gt;نفّذ &lt;code&gt;/compact&lt;/code&gt; → يحصل الوكيل على ملخص من فقرتين لتحقيق استمر 30 دقيقة&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;في كلتا الحالتين تخسر. في كلتا الحالتين أنت تعيد سرد مشروعك له كما لو كان موظفاً جديداً في يومه الأول.&lt;/p&gt;
&lt;p&gt;الجزء القاسي؟ &lt;strong&gt;الذاكرة موجودة بالفعل&lt;/strong&gt;. يكتب Copilot CLI كل جلسة إلى قاعدة بيانات SQLite محلية في &lt;code&gt;~/.copilot/session-store.db&lt;/code&gt; — كل ملف تم لمسه، كل دورة، كل نقطة تحقق. كل شيء موجود على القرص. الوكيل فقط لا يستطيع قراءته.&lt;/p&gt;
&lt;h2 id="auto-memory-طبقة-استرجاع-لا-نظام-ذاكرة"&gt;auto-memory: طبقة استرجاع، لا نظام ذاكرة&lt;/h2&gt;
&lt;p&gt;هذه هي الفكرة الأساسية وراء &lt;a href="https://github.com/dezgit2025/auto-memory"&gt;auto-memory&lt;/a&gt;: لا تبنِ نظام ذاكرة جديداً — ابنِ طبقة استعلام للقراءة فقط فوق النظام الموجود بالفعل.&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;حوالي 1,900 سطر من Python. بلا تبعيات. يُثبّت في 30 ثانية.&lt;/p&gt;
&lt;p&gt;بدلاً من إغراق السياق بنتائج grep، تمنح الوكيل وصولاً جراحياً إلى ما يهم فعلاً:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;العملية&lt;/th&gt;
&lt;th&gt;الرموز&lt;/th&gt;
&lt;th&gt;ما الذي تحصل عليه&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 نتيجة، معظمها غير مهم&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;كل ملفات Python، من دون سياق&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;إعادة توجيه الوكيل&lt;/td&gt;
&lt;td&gt;~2,000&lt;/td&gt;
&lt;td&gt;أنت تشرح ما كان ينبغي أن يعرفه&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;الملفات العشرة التي عملت عليها أمس&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;هذه زيادة بمقدار 200 مرة. يتجاوز الوكيل الحفر الأثري ويذهب مباشرة إلى ما يهم.&lt;/p&gt;
&lt;p&gt;النهج الموصى به: عندما تقترب من استخدام 50-70% من السياق، شغّل &lt;code&gt;/clear&lt;/code&gt; ثم اكتب: &amp;ldquo;راجع الجلسات الأخيرة التي ناقشنا فيها الموضوع X&amp;rdquo;. بدلاً من حرق 12 ألف رمز في عمليات بحث عمياء، يستخرج auto-memory السياق الملائم في 50 رمزاً.&lt;/p&gt;
&lt;h2 id="لماذا-يهم-هذا-لمطوري-net"&gt;لماذا يهم هذا لمطوري .NET&lt;/h2&gt;
&lt;p&gt;إذا كنت تستخدم GitHub Copilot CLI في أعمال .NET — إعداد الخدمات، تصحيح استعلامات EF Core، التكرار على مكونات Blazor — فإن مشكلة تآكل السياق تضربك بالقدر نفسه. الحلول المعقدة ذات المشاريع المتعددة، والمكتبات المشتركة، وسلاسل الاستدعاء العميقة هي بالضبط نوع قواعد الشيفرة التي يفقد الوكيل تتبّعها أسرع من غيرها.&lt;/p&gt;
&lt;p&gt;دليل التثبيت يشرح كيفية توجيه Copilot CLI إليه. إنها إعدادات لمرة واحدة.&lt;/p&gt;
&lt;p&gt;بصراحة؟ استرجاع 68 دقيقة يومياً ليس مجرد تحسين بسيط لجودة الحياة. هذا يقارب 6 ساعات في الأسبوع.&lt;/p&gt;
&lt;h2 id="خلاصة"&gt;خلاصة&lt;/h2&gt;
&lt;p&gt;تآكل السياق قيد معماري حقيقي، وليس خطأً سيُصلح لاحقاً. يتجاوز auto-memory هذا القيد بمنح وكيلك آلية استرجاع رخيصة ودقيقة بدلاً من إعادة استكشاف مكلفة ومضطربة. إذا كنت تقوم بتطوير جاد بمساعدة الذكاء الاصطناعي مع GitHub Copilot CLI، فهذه الإضافة تستحق 30 ثانية من التثبيت.&lt;/p&gt;
&lt;p&gt;جرّبه: &lt;a href="https://github.com/dezgit2025/auto-memory"&gt;auto-memory على GitHub&lt;/a&gt;. المنشور الأصلي لـ 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>