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

Laravel AI SDK 1.0 يصل بواجهات موحّدة للوكلاء والمحادثات والتصنيف السريع

أصدر Laravel النسخة 1.0 من Laravel AI SDK لتجميع التعامل مع مزوّدي الذكاء الاصطناعي ضمن API واحدة متوافقة مع بيئة Laravel. يضيف الإصدار تصنيفاً سريعاً عبر Jev، وموافقات على استدعاءات الأدوات، وتخزيناً أدق لخطوات المحادثة، وتحسينات مهمة يجب الانتباه إليها عند الترقية من الإصدارات السابقة.

المصدر: Laravel Blog
Laravel AI SDK 1.0 يصل بواجهات موحّدة للوكلاء والمحادثات والتصنيف السريع
Laravel

أبرز النقاط

  • Laravel AI SDK 1.0 يوفر API موحّدة بأسلوب Laravel للتعامل مع مزوّدي الذكاء الاصطناعي.
  • أضيف تصنيف سريع عبر Jev، إضافة إلى `Str::decide` لقرارات نعم/لا بقيمة منطقية.
  • يدعم الإصدار بروتوكولي Vercel Chat وAG-UI لتسهيل ربط واجهات الدردشة مع الخادم.
  • أصبحت middleware تعمل عند كل خطوة في دورة الوكيل، ما يسمح بتعديل النموذج أو الأدوات أو السياق أثناء التنفيذ.
  • يمكن للأدوات الحساسة انتظار موافقة المستخدم أو رفضه أو تعديل معاملاتها قبل تشغيلها.
  • تغيّرت بنية تخزين المحادثات إلى عمود `steps`، ما يستلزم ترحيل الاستعلامات المباشرة وتشغيل migration قبل النشر.
  • تدعم `ToolSearch` تحميل الأدوات عند الحاجة، وتتيح `CodeExecution` تشغيل الشيفرة في sandbox لدى المزوّدين المدعومين.

أصبح Laravel AI SDK 1.0 متاحاً رسمياً، بعد مرحلة تجريبية بدأ خلالها المشروع بوعد واضح: توفير API موحّدة بأسلوب Laravel للتعامل مع مزوّدي الذكاء الاصطناعي، بدلاً من ربط التطبيق بواجهات مختلفة لكل مزوّد.

يركّز الإصدار الأول المستقر على بناء تطبيقات المحادثة والوكلاء الذكيين، مع إضافات تمتد من بث الردود وتخزين المحادثات إلى التحكم في الأدوات التي يستطيع الوكيل استخدامها.

التصنيف ليس دائماً مهمة لـ LLM

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

لذلك أضافت الحزمة دعماً مستقلاً للتصنيف باستخدام Jev من TypeSafe، إلى جانب قدرات النصوص والصور والصوت وembeddings. وتقول Laravel إن Jev يستطيع الإجابة عن أسئلة التصنيف خلال أجزاء من الثانية وبكلفة أقل من نماذج LLM التقليدية.

كما توفر الحزمة macro جديدة باسم Str::decide للأسئلة الثنائية التي تعيد قيمة منطقية (true أو false)، مع معامل لتحديد مستوى الثقة المطلوب قبل اتخاذ القرار. ويتوفر التصنيف حالياً عبر TypeSafe وOpenRouter.

تكامل أوسع مع واجهات الدردشة

أضاف الإصدار دعماً أعمق لبروتوكولي Vercel Chat وAG-UI. والمقصود بالبروتوكول هنا صيغة موحّدة لتبادل رسائل الدردشة والردود المتدفقة بين الواجهة الأمامية والخادم.

عملياً، يمكن لـ Laravel AI SDK قراءة طلبات الدردشة القادمة بهذه الصيغ وإرسال الاستجابات المتدفقة بالطريقة التي تتوقعها مكتبات الواجهات الأمامية. كما يدعم AG-UI، المستخدم لدى عملاء مثل CopilotKit.

ضمن هذا التدفق، يستطيع التطبيق استقبال الرسالة الجديدة، وتحديث سجل المحادثة في قاعدة البيانات، والتحقق من قرارات المستخدم حول طلبات الموافقة على الأدوات.

تحكم أدق في دورة عمل الوكيل

في السابق، كانت middleware الخاصة بالوكيل تعمل مرة واحدة لكل prompt. الآن أصبحت تحيط بكل خطوة توليد داخل دورة الوكيل. فإذا استدعى الوكيل ثلاث أدوات قبل أن يجيب، ستعمل middleware ثلاث مرات.

تصل كل خطوة في كائن PendingStep يمكن فحصه ونسخه بعد تعديله. يتيح ذلك، وفق Laravel، سيناريوهات مثل:

  • إزالة أداة مرتفعة الكلفة بعد استخدامها مرة واحدة.
  • تبديل النموذج أثناء معالجة الطلب نفسه.
  • تلخيص سجل رسائل طويل لتقليل السياق المرسل.
  • إرجاع إجابة مخزنة مؤقتاً دون استدعاء مزوّد الذكاء الاصطناعي.

وتشمل خيارات التعديل النموذج والتعليمات والرسائل والأدوات والحد الأقصى للرموز وخيارات المزوّد.

الأدوات الحساسة تنتظر موافقة المستخدم

تستطيع الأدوات الآن تنفيذ عقد Approvable واستخدام trait باسم InteractsWithApprovals. عند وصول الوكيل إلى أداة من هذا النوع، يتوقف التنفيذ بدلاً من تشغيلها فوراً، وينتظر قراراً صريحاً من المستخدم.

يمكن للمستخدم الموافقة على الاستدعاء، أو رفضه مع سبب يصل إلى النموذج، أو تعديل المعاملات قبل تنفيذ الأداة. وتعمل هذه الآلية مع الطلبات العادية والبث والطوابير والبث عبر القنوات.

هذه الإضافة مهمة عندما تكون الأداة قادرة على تنفيذ إجراء لا ينبغي تركه لقرار النموذج وحده، مثل عملية تتطلب مراجعة بشرية قبل المتابعة.

تغيير بنية تخزين المحادثات

يحمل الإصدار 1.0 تغييراً غير متوافق مع الإصدارات السابقة في تخزين المحادثات. كانت استدعاءات الأدوات ونتائجها تخزّن سابقاً في قائمتين منفصلتين، ما صعّب معرفة الجولة التي نتج عنها كل استدعاء عند إعادة بناء تاريخ المحادثة لمزوّد معين.

الآن، تستخدم الرسائل عمود JSON واحداً باسم steps، يحتوي على إدخال لكل جولة بين الوكيل والأداة، مع حفظ النتيجة بجانب الاستدعاء الذي أنتجها. تبقى المحادثات مخزنة كسطر واحد لكل دور، لذلك يستمر عمل التصفح وواجهات toolCalls وtoolResults كما كانت.

لكن الاستعلامات المباشرة عبر SQL التي تعتمد على tool_calls أو tool_results تحتاج إلى التحديث لاستخدام steps. كما يجب تشغيل migration للترحيل الخلفي مرة واحدة قبل نشر الإصدار 1.0.

تقليل تكلفة الأدوات وتشغيل الشيفرة

عندما يملك الوكيل عشرات الأدوات، فإن إرسال وصف كل أداة في كل طلب يستهلك tokens وقد يقلل دقة اختيار النموذج. تضيف الحزمة ToolSearch لتغليف الأدوات قليلة الاستخدام، بحيث يحمّلها المزوّد عند الحاجة فقط. تتوفر هذه الميزة مع OpenAI وAnthropic.

كذلك أضيفت أداة CodeExecution التي تسمح للوكيل بتشغيل الشيفرة داخل بيئة sandbox لدى المزوّد. تستهدف هذه الإمكانية مهام التحليل والحسابات، وهي مدعومة لدى Anthropic وOpenAI وAzure وGemini وxAI.

توحيد قياس الاستخدام وخطوات الترقية

وحّد الإصدار تقارير استهلاك الرموز بين المزوّدين. أصبحت الخصائص promptTokens وcompletionTokens تحمل الاسمين inputTokens وoutputTokens، وتشمل الأعداد الكاملة التي يرسلها المزوّد. أما الرموز المخزنة مؤقتاً أو المستخدمة في الاستدلال فتُعرض كأجزاء من هذه الإجماليات.

تؤكد Laravel وجود تغييرات غير متوافقة، خصوصاً في تخزين المحادثات وmiddleware الوكلاء وقياس الرموز وبروتوكولات البث. وتوفر وثائق الترقية أمثلة قبل وبعد لكل تغيير ومستوى تأثيره المتوقع.

كما تقترح Laravel استخدام Laravel Boost، وهو خادم MCP رسمي للشركة، للمساعدة في الترقية عبر أوامر إرشادية داخل أدوات مثل Claude Code وCursor وOpenCode وGemini وVS Code.

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

لماذا يهم؟

يوفر الإصدار أدوات عملية لبناء وكلاء ومحادثات أكثر قابلية للتحكم داخل تطبيقات Laravel: تقليل الأدوات المرسلة في الطلبات، مراجعة الإجراءات الحساسة قبل تنفيذها، وتخزين تاريخ المحادثة بدقة أكبر. لكن الفرق التي تستخدم النسخة التجريبية ينبغي أن تخطط للترقية بعناية بسبب التغييرات غير المتوافقة في التخزين وmiddleware وقياس الاستخدام.

#Laravel#PHP#LaravelAI#الذكاء_الاصطناعي#وكلاء_الذكاء_الاصطناعي#تطوير_الويب