بث مباشر 18.11 · الدفعة 318 نوفمبر، 19:00 بتوقيت موسكو — ورشة عملية مجانية لوكلاء الذكاء الاصطناعي · الدفعة 3 تبدأ 23.11ورشة 18 نوفمبر ←الدفعة 3 (23.11)
إصدارAPI / منتج · جاهز للعملSimon Willison→ المصدر

سايمون ويليسون يصنّف 244 أداة «مبرمجة بالأجواء» باستخدام tree-sitter

تراكم لدى سايمون ويليسون 244 أداة ويب صغيرة كُتبت بمساعدة الذكاء الاصطناعي، وأصبح العثور على الأداة المطلوبة وسط هذا الكم صعبًا. فكلّف نموذجًا برمجيًا بتحليل الشيفرات المصدرية عبر tree-sitter واستخراج ما تستخدمه كل أداة من واجهات برمجة المتصفح (API)، والمكتبات المحمّلة من CDN، ومضيفي واجهات API الخارجية. وتعرض الصفحة الرئيسية الآن سحب وسوم لهذه الفئات الثلاث. والأسلوب يصلح لأي مجموعة شيفرات آخذة في التضخم.

معالج بواسطة الذكاء الاصطناعي من Simon Willison؛ بتحرير Hamidun News
سايمون ويليسون يصنّف 244 أداة «مبرمجة بالأجواء» باستخدام tree-sitter
المصدر: Simon Willison. كولاج: Hamidun News.
استمع للمقال
بطاقة الحقائق والأرقام
المعيارالتفاصيل
المصدر الأصليSimon Willison ↗
رئيس التحرير
حقيقة رئيسية #1واجهة Clipboard API تستخدمها 69 أداة، ووحدات ES modules تستخدمها 92 أداة من أصل 244
حقيقة رئيسية #2تتصدّر المكتبات Marked (12 أداة) وPyodide (11)
حقيقة رئيسية #3تُستخلص الوسوم من الشيفرة الفعلية، لا من أوصاف مكتوبة يدويًا

حين يكتب الذكاء الاصطناعي الشيفرة في دقائق، تتحوّل المشكلة الرئيسية بسرعة. فبدلًا من «كيف أنجز هذا» يصبح السؤال «أين لديّ شيء مشابه أصلًا». واجه سايمون ويليسون ذلك مع مجموعته الخاصة: ففي tools.simonwillison.net توجد الآن 244 أداة صغيرة، كُتبت جميعها تقريبًا بمساعدة النماذج. ولم تعد القائمة المسطحة بهذا العدد من العناصر تؤدي الغرض.

ماذا فعل

قرّر ويليسون ألّا يصنّف الأدوات يدويًا. فقد بقيت لديه أرصدة على نموذج Fable 5.2 حتى إعادة ضبط الحدود الأسبوعية، فأسند إليه المهمة كاملة. استخدم النموذج tree-sitter، وهو محلّل يبني الشجرة النحوية للشيفرة، وحلّل شيفرة JavaScript في كل أداة. واستخرج منها ثلاثة أشياء: واجهات برمجة المتصفح المستخدمة، والمكتبات المحمّلة من CDN، ومضيفي واجهات الويب (web API) التي تتصل بها الأداة.

تُعرض النتيجة على الصفحة الرئيسية في شكل سحب وسوم، يتوقف حجم الوسم فيها على عدد الأدوات. وعند النقر على أي وسم تظهر قائمة بجميع الأدوات التي تستخدمه.

ماذا تُظهر الأرقام

الإحصاءات مثيرة للاهتمام بحد ذاتها. تستخدم وحدات ES modules ‏92 أداة، وClipboard API ‏69، وCanvas 2D ‏44، وBlob URLs ‏38، والسحب والإفلات (Drag and drop) ‏30. وتستعين الكاميرا أو الميكروفون 9 أدوات، أما الذكاء الاصطناعي المدمج في المتصفح (Built-in AI) فيظهر حتى الآن مرة واحدة فقط.

وفي المكتبات تتصدّر Marked (12) وPyodide (11) وDOMPurify (7). ثم تأتي Leaflet وmarkdown-it وjSquash الخاصة بـ WebP بأربع أدوات لكل منها. ولا تدخل السحابة إلا المكتبات التي تستخدمها أداتان على الأقل، ولذلك استُبعدت الحالات العابرة.

تفسير حذر: الأرقام المرتفعة لـ Clipboard API وBlob URLs تشير على الأرجح إلى السيناريو المعتاد «لصقتُ البيانات، فحصلتُ على النتيجة، ثم نسختها أو نزّلتها». وهذا استنتاجنا من الأرقام، ولا يزعمه المؤلف نفسه.

ما فائدة ذلك عمليًا

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

إليك ما يمكنك تكراره لديك:

  • كلّف وكيلًا بكتابة سكربت على tree-sitter يبحث عن استدعاءات واجهات API المطلوبة وعن عبارات الاستيراد؛
  • احفظ النتيجة في ملف JSON عادي وولّد صفحة انطلاقًا منه؛
  • حدّد عتبة مثل «أداتان على الأقل» كي لا تتحول السحابة إلى مكبّ؛
  • أعد تشغيل التصنيف عند إضافة كل أداة جديدة.

ومن الفوائد الجانبية أن هذا التصنيف يجيب عن أسئلة التدقيق، مثل: أي أدواتك تسحب سكربتات طرف ثالث من CDN، وأيها يتصل بمضيفين خارجيين، وأيها يعمل مع الكاميرا. وبالنسبة لفريق صغير جمع تطبيقات داخلية بسرعة، فهذه طريقة رخيصة لرؤية سطح المخاطر.

القيود

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

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

القصة

أسئلة وأجوبة حول الخبر

ما أبرز التفاصيل حول ماذا فعل؟

قرّر ويليسون ألّا يصنّف الأدوات يدويًا. فقد بقيت لديه أرصدة على نموذج Fable 5.2 حتى إعادة ضبط الحدود الأسبوعية، فأسند إليه المهمة كاملة. استخدم النموذج tree-sitter، وهو محلّل يبني الشجرة النحوية للشيفرة، وحلّل شيفرة JavaScript في كل أداة. واستخرج منها ثلاثة أشياء: واجهات برمجة المتصفح المستخدمة، والمكتبات المحمّلة من CDN، ومضيفي واجهات الويب (web API) التي تتصل بها الأداة. تُعرض النتيجة على الصفحة الرئيسية في شكل سحب وسوم، يتوقف حجم الوسم فيها على عدد الأدوات.

ما أبرز التفاصيل حول ماذا تُظهر الأرقام؟

الإحصاءات مثيرة للاهتمام بحد ذاتها. تستخدم وحدات ES modules ‏92 أداة، وClipboard API ‏69، وCanvas 2D ‏44، وBlob URLs ‏38، والسحب والإفلات (Drag and drop) ‏30. وتستعين الكاميرا أو الميكروفون 9 أدوات، أما الذكاء الاصطناعي المدمج في المتصفح (Built-in AI) فيظهر حتى الآن مرة واحدة فقط. وفي المكتبات تتصدّر Marked (12) وPyodide (11) وDOMPurify (7). ثم تأتي Leaflet وmarkdown-it وjSquash الخاصة بـ WebP بأربع أدوات لكل منها. ولا تدخل السحابة إلا المكتبات التي تستخدمها أداتان على الأقل، ولذلك استُبعدت الحالات العابرة.

ما أبرز التفاصيل حول ما فائدة ذلك عمليًا؟

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

ZK
جمال حميدون — مدير المنتجات في Alpina Digital ومدير منتج AlpinaGPT. يبني منتجات الذكاء الاصطناعي منذ 2019. بدأ Hamidun News كمشروع شخصي ثم أصبح مُجمِّعًا إنتاجيًا بأكثر من 6000 قارئ.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
ما رأيك؟
جارٍ تحميل التعليقات…