سايمون ويليسون يصنّف 244 أداة «مبرمجة بالأجواء» باستخدام tree-sitter
تراكم لدى سايمون ويليسون 244 أداة ويب صغيرة كُتبت بمساعدة الذكاء الاصطناعي، وأصبح العثور على الأداة المطلوبة وسط هذا الكم صعبًا. فكلّف نموذجًا برمجيًا بتحليل الشيفرات المصدرية عبر tree-sitter واستخراج ما تستخدمه كل أداة من واجهات برمجة المتصفح (API)، والمكتبات المحمّلة من CDN، ومضيفي واجهات API الخارجية. وتعرض الصفحة الرئيسية الآن سحب وسوم لهذه الفئات الثلاث. والأسلوب يصلح لأي مجموعة شيفرات آخذة في التضخم.
معالج بواسطة الذكاء الاصطناعي من Simon Willison؛ بتحرير Hamidun News
حين يكتب الذكاء الاصطناعي الشيفرة في دقائق، تتحوّل المشكلة الرئيسية بسرعة. فبدلًا من «كيف أنجز هذا» يصبح السؤال «أين لديّ شيء مشابه أصلًا». واجه سايمون ويليسون ذلك مع مجموعته الخاصة: ففي 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 التي يُبنى استدعاؤها ديناميكيًا، أو المكتبات المحمّلة بمسار غير معتاد. وليس في الملاحظة بيانات عن دقة التصنيف أو عمّا إذا كان المؤلف قد تحقق منه يدويًا. وتُظهر لقطة الشاشة السحب الخاصة بالمكتبات وواجهات المتصفح، أما الفئة الثالثة، مضيفو واجهات الويب، فلا تظهر فيها.
ومع ذلك فهو أسلوب عمل مفيد. فحين تُكتب الشيفرة أسرع مما يمكن تذكّرها، يصبح التصنيف بحسب المحتوى الفعلي جزءًا لا غنى عنه من العملية مثل الاختبارات. ومهمة «حلّل ملفاتي وأعدّ فهرسًا» هي بالضبط من المهام التي يحلّها الوكيل في أمسية واحدة بما تبقى من الحد الأسبوعي.
- 9 نوفمبر 2026سايمون ويليسون وClaude يسرّعان تحليل الأرقام في SQLite من 67 إلى 19 نانوثانية
- 19 يوليو 2026سايمون ويليسون يضيف ترحيل مخطط قاعدة البيانات إلى sqlite-utils 4.0
- 24 يوليو 2026سايمون ويليسون يبني على Fable 5 كاشفًا للعبارات المبتذلة في نصوص الذكاء الاصطناعي
- 30 مايو 2026كيف تختبر نماذج LLM: اختبار البجعة (البجع) لسايمون ويليسون
أسئلة وأجوبة حول الخبر
ما أبرز التفاصيل حول ماذا فعل؟
قرّر ويليسون ألّا يصنّف الأدوات يدويًا. فقد بقيت لديه أرصدة على نموذج 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 بأربع أدوات لكل منها. ولا تدخل السحابة إلا المكتبات التي تستخدمها أداتان على الأقل، ولذلك استُبعدت الحالات العابرة.
ما أبرز التفاصيل حول ما فائدة ذلك عمليًا؟
الفكرة الأساسية ليست في سحابة الوسوم نفسها، بل في طريقة الحصول عليها. فإذا تراكمت لديك شيفرات مولَّدة كثيرة — أدوات داخلية ونماذج أولية وسكربتات — يمكن بناء التنقل فيها من الشيفرة ذاتها. فالأوصاف المكتوبة يدويًا تتقادم وتُنسى، أما تحليل الشجرة النحوية فيطابق دائمًا ما هو موجود فعلًا في الملف.
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.
أهم ما في عالم الذكاء الاصطناعي — مرة كل أسبوع
سبع قصص مهمة فعلاً هذا الأسبوع، مختارة بعناية. بلا ضجيج ولا بيانات صحفية.
تم! تحقق من بريدك للتأكيد.