Headroom: أداة نتفليكس التي تجعل وكلاء الذكاء الاصطناعي أرخص بـ 10 أضعاف
BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술
Transcript
00:00:00هذه هي Headroom، أداة مفتوحة المصدر تضغط كل ما يقرأه وكيل الذكاء الاصطناعي الخاص بك،
00:00:04أي استدعاءات الأدوات، وملفات التعليمات البرمجية، وRAG، قبل أن تصل إلى النموذج اللغوي الكبير، مما يعني أنه يمكنك تقليل الرموز
00:00:09بنسبة 60 أو حتى 95% للحصول على نفس الإجابة تماماً. والجزء الذكي هو أنها قابلة للعكس، لذا
00:00:14يمكن للنموذج طلب المعلومات الكاملة مرة أخرى متى احتاج إليها فعلياً. لكن الضغط
00:00:18عادة ما يعني فقدان شيء ما، فكيف يمكنك إزالة معظم السياق وما زلت تحصل على الإجابة
00:00:23الصحيحة؟ هذا سؤال مثير للاهتمام حقاً، لذا اضغط على اشتراك ودعنا نكتشف ذلك.
00:00:31إذا سبق لك استخدام أداة مثل ClaudeCode، فأنت تعلم أنها تستهلك الكثير من الرموز. كل استدعاء لأداة
00:00:35يمكن أن يفرغ سجلات JSON ضخمة، وهي في الغالب مجرد ضوضاء، مما يشتت الانتباه عن المعلومات المهمة،
00:00:40وكل هذا يتم حشوه في نافذة السياق، وهو ما تدفع ثمنه.
00:00:45خاصة إذا كنت تستخدم شيئاً مثل Opus في وضع UltraCode، والذي يشغل سير عمل ديناميكي،
00:00:50مما يؤدي إلى تشغيل وكلاء فرعيين متوازيين بدون حد أقصى للرموز. ولهذا السبب قام Tejas Chopra، وهو مطور أول في Netflix،
00:00:57بإنشاء Headroom، التي تعمل عن طريق اكتشاف نوع المحتوى والاحتفاظ بالمعلومات المهمة.
00:01:01بالنسبة لمصفوفات JSON، فهي تحتفظ بالحالات الشاذة والحواف، ولديها ضاغط تعليمات برمجية يقرأ
00:01:06شجرة النحو الفعلية، وعندما تقرأ سجلات البناء، فإنها تحتفظ بالإخفاقات وتتخلص من الاختبارات الناجحة.
00:01:11لكن إليك الجزء المثير للاهتمام. بالنسبة للنص العادي، تستخدم Headroom نموذجها الخاص المسمى CompressBase،
00:01:17الذي دربه Tejas بنفسه خصيصاً للضغط، وهذا النموذج يعمل محلياً على جهازك.
00:01:22تدعي Headroom أنها وفرت بالفعل للمستخدمين حوالي 700 ألف دولار من الرموز،
00:01:26والأمر الذكي حقاً هو أنها تترك خيطاً في النص المضغوط،
00:01:30يحتوي على تجزئة يمكن للنموذج استخدامها لاستعادة البيانات غير المضغوطة إذا احتاج إليها في أي وقت.
00:01:35الآن، إذا كنت قد شاهدت فيديو جيمس عن Caveman، فهو يقلل السياق أيضاً،
00:01:39لكن من الاتجاه المعاكس، وسأشرح المزيد عن ذلك لاحقاً في الفيديو.
00:01:43ولكن الآن، دعنا نرى مثالاً أساسياً على Headroom لفهم كيفية عملها.
00:01:46تعمل Headroom باستخدام خادم Python يقع بين تطبيقك،
00:01:50أي يمكن أن تكون رموزاً برمجية زاحفة، وعلى سبيل المثال، خوادم Anthropic.
00:01:54لذا عندما تعود نتيجة استدعاء الأداة، يقوم الوكيل بضغطها باستخدام لغة Rust خلف الكواليس،
00:01:59ويرسل النسخة المضغوطة فقط إلى واجهة برمجة التطبيقات.
00:02:01يمكنك تثبيت الخادم باستخدام pip، لكنني سأستخدم uv وأتأكد من أن إصدار Python
00:02:06هو 3.12، لأنه لن يعمل على إصدارات أحدث من ذلك.
00:02:09ثم قم بتشغيل أمر وكيل headroom من هذه المكتبة، والذي يقوم بتشغيل الوكيل على هذا المنفذ.
00:02:14تحتوي Headroom أيضاً على SDK لـ TypeScript أو Python،
00:02:17وفي العرض التوضيحي، سنستخدم لغة Python لإنشاء تطبيق باستخدام SDK الخاص بـ Claude.
00:02:22لذا يمكننا تثبيت كلاهما هكذا، ونحن جاهزون للبدء في التطبيق.
00:02:25الآن، الخطة هي أن أريكم كيفية استخدام Headroom مع ClaudeCode لاحقاً،
00:02:29ولكنني أردت فقط أن أريكم كيف تعمل خلف الكواليس أولاً.
00:02:32بالنسبة لهذا التطبيق، لدينا مطالبة من المستخدم لقراءة جميع ملفات السجل ومعرفة الخطأ،
00:02:36بالإضافة إلى السبب الجذري. ومن هنا، سنقوم بتزييف استدعاء الأداة.
00:02:40لذا سنجعل Claude يقوم باستدعاء أداة bash لقراءة ملف سجل الخادم،
00:02:44الذي يحتوي على مجموعة من السجلات المزيفة ويتم استيراده هنا في الأعلى.
00:02:47وبعد ذلك سنقوم بإرجاع نتائج استدعاء الأداة.
00:02:49الآن، السبب في أننا لا نعطي Headroom ملف النص مباشرة
00:02:52هو أنها تضغط فقط مخرجات استدعاء الأداة.
00:02:54لذا هنا نحدد النموذج، وتحته نستخدم دالة ضغط headroom
00:02:59لأخذ الرسالة مع النموذج لعد الرموز بدقة.
00:03:02Headroom لا تستخدم Haiku فعلياً.
00:03:04ثم نعطيها عنوان URL الأساسي للوكيل.
00:03:06وبعد ذلك لدينا مجموعة من سجلات التحكم لأغراض الاختبار،
00:03:08تظهر لك الرسالة قبل وبعد headroom،
00:03:11وبعض سجلات التحكم الإضافية التي تظهر نسبة التوفير.
00:03:13وبعد ذلك، نمرر الرسالة المضغوطة من headroom إلى ClaudeCode،
00:03:17الذي يحتوي أيضاً على مطالبة المستخدم.
00:03:18لذا الآن إذا قمنا بتشغيل ذلك الملف، يمكننا رؤية أن headroom قد وفرت 98% من الرموز.
00:03:23إليك الرموز قبل، وإليك الرموز بعد ذلك.
00:03:26إذن فقد وفرت أكثر من 17,000 رمز.
00:03:28ومن السهل رؤية ذلك عندما ننظر إلى ما قبل وما بعد.
00:03:31لذا إذا قمنا بالتمرير للأعلى، فهذا هو ما قبل، وهذا هو ما يتم إرساله عادةً إلى ClaudeCode.
00:03:35نحصل على مطالبة المستخدم، واستدعاء الأداة، واستجابة الأداة، وهي ملف السجل بالكامل.
00:03:39وإذا نظرنا هنا إلى ما ترسله headroom، يمكننا رؤية أننا نحصل على نفس رسالة المستخدم واستدعاء الأداة،
00:03:43لكن استجابة الأداة أقل بكثير.
00:03:45وما فعلته هنا هو استخدام الضغط الإحصائي لإسقاط الرموز الزائدة.
00:03:50لذا فقد أزالت 419 سجل معلومات متشابه وضغطتها إلى ملخص.
00:03:54الآن هنا يمكننا رؤية أن headroom تخبر Claude أن هذه هي المخرجات المضغوطة.
00:03:58يمكنه استعادتها باستخدام هذه التجزئة.
00:04:00الآن هنا نرى إحدى العيوب الفورية لـ headroom وهي أن Claude يظن أنه لا يملك
00:04:05معلومات كافية لإكمال المهمة، لكنه يملكها بالتأكيد.
00:04:08لذا ما سنفعله هو تشغيل ملفنا مرة أخرى.
00:04:10ويمكننا رؤية أنه هذه المرة لا يزال لدينا توفير بنسبة 98%، لكن لدينا معلومات أكثر بكثير من Claude.
00:04:16دعونا نجرب عرضاً توضيحياً آخر.
00:04:17كالعادة، نحتاج إلى تشغيل وكيل headroom، ولكن هذه المرة أعطيه المزيد من المعلمات.
00:04:21لذا هنا يمكننا رؤية أنني أضيف قيمة ML، التي تستخدم النموذج المضغوط محلياً لضغط النص العادي.
00:04:26وقد أضفت تعليمة برمجية لإتاحة الضاغط المدرك للتعليمات البرمجية.
00:04:30ثم أضفت علامة إدراك التعليمات البرمجية لتشغيله.
00:04:32لذا يمكننا الآن رؤية أنه مفعل هنا.
00:04:34ثم سأقوم بتشغيل ClaudeCode، ولكن أولاً سأضبط عنوان URL الأساسي للوكيل.
00:04:39ومع وجود ذلك، سأعطي Claude مطالبة بقراءة كل ملف TS في هذا المشروع
00:04:44وإعطائي نظرة عامة عميقة عما يفعله هذا المشروع مع استشهادات بالتعليمات البرمجية ذات الصلة.
00:04:49وبعد فترة، يعطيني استجابة يخبرني فيها أنه قرأ جميع ملفات TypeScript
00:04:53عبر الحزم الخمس وأعطاني نظرة عامة افتراضية.
00:04:56ولكن إذا قمنا بتشغيل أمر السياق الشرطي، الذي قمت به سابقاً، يمكننا رؤية أنه استخدم 89.1 ألف رمز.
00:05:02الآن ذهبت بالفعل وقمت بتشغيل مطالبة مماثلة في Claude دون استخدام headroom.
00:05:06وإذا قمنا بالتمرير للأسفل ورأينا أين تسببنا في أمر السياق الفرعي،
00:05:10هذا استخدم المزيد من الرموز.
00:05:11الآن، لست متأكداً لماذا اختار استخدام نافذة سياق Opus المليون هنا.
00:05:16واختار نافذة سياق 200 ألف هنا، ولكن يمكننا عمل curl لهذه النهاية بتنسيق jq
00:05:21لمعرفة بالضبط أين كان الضغط من الوكيل.
00:05:23الآن، هذا يحتوي على الكثير من المعلومات، لذا استغرق الأمر بعض الوقت للعثور عليه.
00:05:26ولكن إذا قمنا بالتمرير للأعلى، يمكننا رؤية عدد الرموز التي تم توفيرها بواسطة ضغط headroom
00:05:30وحتى معرفة مقدار المال الذي وفره الضغط لنا.
00:05:32الآن، بالطبع، كل هذا كان من مطالبة واحدة فقط.
00:05:35لكن تخيل لو كان لدي جلسات ClaudeCode متعددة قيد التشغيل وكان لدي headroom يضغط جميع استدعاءات
00:05:39الأدوات. تخيل فقط عدد الرموز الإضافية التي سأوفرها.
00:05:42أريد أيضاً أن أشير إلى أنه عندما قمت بتشغيل المطالبة بالضبط بجهود منخفضة على Opus،
00:05:46لم تقم headroom فعلياً بأي توفير في الرموز.
00:05:49فقط عندما انتقلت من منخفض إلى متوسط كانت وفورات الرموز مرئية.
00:05:53لذا ربما إذا كنت على مستوى عالٍ، أو مرتفع جداً، أو حتى الحد الأقصى، لكانت ستوفر المزيد من الرموز.
00:05:57لكن على أي حال، كانت تلك نظرة عامة سريعة على headroom.
00:06:00وبالطبع، هناك العديد من الميزات التي كان بإمكاني استعراضها،
00:06:03مثل ذاكرة الوكيل المتقاطع، التي تسمح لـ Claude وCodex وغيرها من الأدوات
00:06:07بمشاركة نفس السياق المضغوط تماماً.
00:06:09ميزة Headroom Learn، التي تنقب في جلساتك الفاشلة لمعرفة ما ضغطته
00:06:12بشدة وتتعلم حتى لا تكرر نفس الخطأ في المستقبل،
00:06:15بالإضافة إلى عمليات التكامل مع حزم SDK الشهيرة.
00:06:18ولكن هناك شيء مهم نوعاً ما يجب مراعاته بشأن Headroom.
00:06:21في كل مرة لا يحصل النموذج على المعلومات التي يحتاجها
00:06:24ويطلب من Headroom تقديم البيانات الكاملة، فإنه يقوم برحلة ذهاب وإياب ثانية،
00:06:28مما يعني نوعاً ما أنك ينتهي بك الأمر باستخدام رموز أكثر مع Headroom في بعض الحالات مما لو لم تكن موجودة.
00:06:33لكنني أعتقد أن هذه هي ميزة استخدام ميزة Headroom Learn،
00:06:36التي تحاول منع حدوث ذلك أكثر فأكثر في المستقبل.
00:06:39لكن هل تتذكر عندما تحدثت عن Caveman في وقت سابق من الفيديو؟
00:06:42حسناً، يقلل Caveman الرموز عن طريق توجيه النموذج للاستجابة في أجزاء قصيرة،
00:06:46وإسقاط الكلمات الحشو وما إلى ذلك.
00:06:48ولكن كما رأيت للتو في العرض التوضيحي، تقوم Headroom بتقليص ما يقرأه النموذج
00:06:51قبل أن يصل حتى إلى النموذج.
00:06:52لذا أحدهما يقطع المخرجات بينما يقطع الآخر المدخلات،
00:06:56مما يعني تقنياً أنه يمكنك استخدامهما معاً لتحقيق أقصى قدر من توفير الرموز،
00:07:00إذا كنت تهتم حقاً بتوفير الرموز كثيراً.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video