Ofer Shapira

ابدؤوا بالتحدث بلغة الـ LLM! 🈯

ترجمة آلية للمنشور الأصلي، لم يراجعها مترجم بشري. قد لا تكون المعلومات التاريخية محدثة.

ابدؤوا بالتحدث بلغة الـ LLM! 🈯
حتى الآن، كانت هندسة الأوامر (prompt engineering) تحاول التدبّر بلغة لم تُبنَ لها. وقد أصدرت مايكروسوفت الآن بنية لغة جديدة اقتصادية وفعّالة ومنظّمة.

حتى اليوم لم تكن هناك طريقة فعّالة حقًا لكتابة البرومبتات للذكاء الاصطناعي (للمهندسين الذين يطورون أنظمة تعمل مع الـ API)
استُخدمت لغة Markdown لتنظيم النصوص، لكن من دون تسلسل هرمي منطقي حقيقي.
وحاولت لغة JSON وصف البنية - لكن صيغتها مثقلة بأحرف زائدة، ويصعب قراءتها وكتابتها يدويًا.

وفي كليهما يصعب إنتاج برومبتات معقدة وديناميكية وقابلة للصيانة. يتحول كل تغيير صغير إلى مهمة مرهقة، وكل نسخ لبرومبت يخلق تكرارات ومنطقًا مبعثرًا.

كلما أصبحت النماذج أقوى، صارت المتطلبات منها أدق - وتتزايد الحاجة إلى لغة جديدة تفهم البرومبتات لا كنص بل كشيفرة معيارية (modular).

وهنا تدخل مايكروسوفت، بلغة جديدة:
POML – Prompt Orchestration Markup Language.

POML هي لغة ترميز (Markup) "مفتوحة" تجلب النظام والتسلسل الهرمي وقابلية التوسع إلى هندسة البرومبتات. فبدل صيانة شيفرة نصية "مفتوحة على مصراعيها"، يمكنكم أخيرًا العمل مع وسوم وقوالب ومتغيرات وأنماط.

نحن نعود قليلًا بالزمن إلى عصر XML (تذكرونه؟ قبل عصر JSON)

كيف يعمل ذلك عمليًا؟

- تُستخدم عناصر مثل `<role>` و`<task>` و`<example>` لتعريف الأجزاء المنطقية من البرومبت.
- تُسحب معلومات خارجية بواسطة `<document>` و`<table>` و`<image>` من دون ترميزها يدويًا.
- يُفصل التنسيق عن المنطق بواسطة `<stylesheet>` على غرار CSS.
- تُعرَّف المتغيرات والشروط والحلقات بمحرك `<let>` و`if` و`for` – لإنشاء قوالب ديناميكية.
- وبالطبع هناك دعم بالفعل في VS Code (مع إضافة مخصصة تتضمن الإكمال التلقائي والمعاينة والتشخيص).

النتيجة: إدارة متسقة للبرومبتات، وتقليل التكرار، ومرونة عالية للتحديثات، والأهم - توفير التوكنات الزائدة وتحسين الأداء بسرعة.

عندما تصبح الصيغة نفسها ذكية ويكون هناك تحسين حقيقي لسلسلة القيمة الكاملة لـ LLM، تكون النتيجة توفيرًا في الموارد والتكاليف.

تستحق التجربة!

كيف تبدؤون؟ من هنا: https://lnkd.in/dQnXbH3t

Illustration for “POML treats prompts as modular code”