أخبار التقنية التقنية بلغة عربية واضحة

Hugging Face تطلق funes لإعطاء وكلاء البرمجة ذاكرة محلية قابلة للنقل

قدمت Hugging Face أداة مفتوحة المصدر باسم funes لتحويل سجلات جلسات وكلاء البرمجة مثل Claude Code وCodex إلى ذاكرة قابلة للبحث والاسترجاع. تعمل الأداة محلياً افتراضياً، وتفهرس الجلسات السابقة مع إسناد كل نتيجة إلى مصدرها، كما يمكن مزامنة الذاكرة اختيارياً مع Dataset خاص يملكه المستخدم على Hugging Face.

المصدر: Hugging Face Blog
Hugging Face تطلق funes لإعطاء وكلاء البرمجة ذاكرة محلية قابلة للنقل
Hugging Face Claude

أبرز النقاط

  • funes تحول سجلات جلسات Claude Code وCodex وpi وHermes إلى ذاكرة قابلة للبحث والاسترجاع.
  • تعمل الفهرسة وعمليات embedding وreranking محلياً افتراضياً، من دون الحاجة إلى حساب أو مستودع على Hugging Face.
  • كل نتيجة استرجاع تشير إلى النص الأصلي ومصدره، بما يشمل الوكيل والجلسة والوقت والدور.
  • يمكن مشاركة الذاكرة بين الأجهزة عبر Hugging Face Dataset يملكه المستخدم ويكون خاصاً افتراضياً.
  • تستخدم الأداة Lance للتخزين المحلي، وتجمع بين vector search وBM25 وcross-encoder reranking.
  • وفق اختبار Hugging Face، كان الاسترجاع عبر funes أقل كلفة من handoff مكتوب في مهمتين تتطلبان سياقاً من جلسة سابقة.

قدمت Hugging Face مشروع funes، وهو طبقة ذاكرة دائمة لوكلاء البرمجة تعتمد على سجلات الجلسات التي تُنشأ أصلاً أثناء العمل. تدعم الأداة حالياً Claude Code وCodex وpi وHermes، وهدفها أن يتمكن الوكيل من الرجوع إلى قرارات سابقة ومحاولات فاشلة وتفاصيل تقنية من جلسات قديمة، بدلاً من بدء كل مهمة بسياق جديد.

الفكرة ليست حفظ ملخصات من الجلسات، بل فهرسة النص الأصلي للسجلات كي يمكن استرجاعه مع مصدره. عند استخدام recall، تعرض funes المقطع الأصلي وتوضح الوكيل الذي أنتجه، ووقت الجلسة، ورقم الدور، مع أمر get لفتح السياق المحيط بالمقطع.

تُثبت funes كملف binary واحد، ثم تُربط بالوكيل عبر أمر مثل:

funes add claude

ينشئ الأمر الفهرس الأولي، ويضيف أدوات recall وget للوكيل، ويثبت آلية تفهرس الأدوار المكتملة لاحقاً بشكل تزايدي. وبدلاً من إعادة تضمين كامل السجل كل مرة، تضيف التشغيلات الجديدة الأدوار الجديدة فقط، فيما يمكن استكمال فهرسة المحتوى الأقدم على مراحل محدودة.

بحث محلي مع أدلة قابلة للتتبع

تقول Hugging Face إن المعالجة الافتراضية لا تحتاج إلى runtime خاص بتعلم الآلة، وإن embedding وreranking يجريان على جهاز المستخدم. تحت الغطاء، توحّد funes سجلات الوكلاء المدعومين في بنية موحدة من الأدوار والمقاطع، ثم تخزنها في Dataset محلي من Lance.

يجمع الاستعلام بين البحث المتجهي وBM25، ثم يدمج ترتيب النتائج ويعيد ترتيب المرشحين بواسطة cross-encoder، مع ترجيح للحداثة وإرفاق المقاطع المجاورة. والنتيجة المقصودة هي أن يتمكن الوكيل من استدعاء ذاكرته خلال المحادثة نفسها عندما يصادف قراراً أو معلومة مرتبطة بعمل سابق.

هذا التصميم يعني أيضاً أن الذاكرة لا ترتبط بوكيل واحد: يمكن لـCodex، مثلاً، استرجاع منطق وقرارات سُجلت سابقاً في Claude Code، مع إظهار مصدر كل نتيجة.

نقل الذاكرة بين الأجهزة اختيارياً

يمكن ربط الوكيل بذاكرة مشتركة عبر Dataset على Hugging Face:

funes add codex acme/funes-memory

عندها تنشر funes الذاكرة الحالية إلى الـDataset وتبقيها محدثة عند حدود الجلسات، مع استمرار الفهرسة محلياً. وتكون الـDataset خاصة افتراضياً، ويمكن تشغيل الأمر نفسه على جهاز آخر للوصول إلى الذاكرة ذاتها.

قبل النشر، تُنقّح بيانات الاعتماد أثناء الفهرسة، ثم يُفحص كل مقطع مرة أخرى لحجب ما يبدو أنه أسرار. مع ذلك، تشير الأداة إلى أن تفاصيل ما يغطيه الفحص وما لا يغطيه موثقة في SECURITY.md، ما يجعل مراجعة إعدادات النشر مهماً قبل مشاركة ذاكرة على نطاق أوسع.

توفر funes أيضاً الأمر ask للاستعلام لمرة واحدة من الذاكرة المحلية أو المشتركة من دون تثبيت تكامل دائم مع الوكيل. يعيد الأمر إجابة مرتبطة بالمقاطع المسترجعة ومصادرها، وإذا لم تدعم المقاطع إجابة موثوقة، يفترض أن يوضح الوكيل ذلك بدلاً من ملء الفجوة بتخمين.

بديل عن حمل جلسة طويلة أو كتابة handoff

تقارن Hugging Face بين الاسترجاع عبر funes وبين ضغط سياق الجلسة وكتابة handoff يدوي في اختبار لمهمتين تتطلبان معرفة من جلسة سابقة. وفقاً للشركة، كان الاسترجاع أقل كلفة في المهمتين: أقل بنحو 8 مرات من handoff مكتوب في مهمة، وبنحو 4 مرات في الأخرى. كما تقول إن ضغط السياق نجح في مهمة ولم ينجح في الثانية، لأن التلخيص اختزل تفاصيل كانت مؤثرة في النتيجة.

المشروع مفتوح المصدر ومتاح على GitHub. وتطرح Hugging Face الفكرة كذاكرة عمل قابلة للبحث والتتبع، يمكن أن ترافق المطور بين الأجهزة والوكلاء، أو تساعد الفرق والمشاريع مفتوحة المصدر على حفظ مبررات القرارات، لا مجرد التغييرات النهائية في الـPull Requests.

لماذا يهم؟

تتكرر مشكلة فقدان السياق عند تبديل الجلسات أو الوكلاء في أعمال البرمجة الطويلة. funes تحاول التعامل معها بسجل قابل للاسترجاع ومدعوم بالنص الأصلي، بدلاً من الاعتماد على ملخص قد يحذف سبب قرار مهم. كما أن تشغيلها المحلي افتراضياً وخيار نقل الذاكرة عبر Dataset مملوك للمستخدم يمنحان الفرق مرونة أكبر في حفظ هذا السياق ومشاركته.

#HuggingFace#funes#CodingAgents#ClaudeCode#Codex#OpenSource