التطبيقات 🇷🇺 27.07.2026 04:03

العقد أولاً كحماية ضد وكلاء LLM: عودة النهج القائم على واجهة برمجة التطبيقات أولاً للحفاظ على توافق الواجهة الأمامية والخلفية

Moonshot AIMoonshot AI
يصف المؤلف مشكلة تدهور المشروع عند استخدام وكلاء LLM في التطوير: يتجاهل الوكلاء غالباً العقود الفعلية بين الواجهة الأمامية والخلفية، ويقومون بإنشاء بيانات وهمية مما يؤدي إلى أخطاء في وقت التشغيل. الحل هو العودة إلى نهج العقد أولاً، حيث تكون مواصفات OpenAPI هي الأداة الأساسية التي يتم من خلالها إنشاء واجهات الخادم والعملاء، مما يجعل أي انحراف عن العقد خطأ في الترجمة.
المؤلف واجه في مشروعين جانبيين أن وكلاء نماذج اللغة الكبيرة (LLM) غالبًا ما يختلفون في العقود (Contracts) عند تطوير الواجهة الأمامية والخلفية: وكيل الواجهة الأمامية يكتب الاستجابات كنوع Record<string, unknown>، ويستخدم كائنات فضفاضة أو عقد JSON، ويكرر كائنات نقل البيانات (DTOs) بأسماء حقول مختلفة، بل ويحاكي أحيانًا خلفية غير موجودة باستخدام بيانات محلية وإشعارات (Toasts). لا يتم اكتشاف أي من هذه الأخطاء بواسطة المترجم أو المدقق اللغوي أو الاختبارات المعمارية لأن أدوات التحليل لا ترى طلبات HTTP بين قواعد التعليمات البرمجية. الحل هو العقد أولاً (Contract-First): المصدر الوحيد للحقيقة هو مواصفات OpenAPI (بصيغة YAML)، والتي يتم من خلالها توليد واجهات الخادم (مع خيارات interfaceOnly وskipDefaultInterface) وعميل (Client) في وقت البناء. يقوم المتحكم (Controller) بتطبيق الواجهة المولدة، مما يضمن تطابق التوقيعات—أي انحراف عن العقد يصبح خطأ في الترجمة. يلاحظ المؤلف أن هذا النهج يُستخدم بالفعل في gRPC وGraphQL ويعود الآن إلى REST، لأن قارئ العقد لم يعد بشريًا بل وكيل LLM، والذي لا يسترجع النوايا ويتبع المسار الأسهل بالتخمين.
المصدر: Habr — хаб ИИ — الأصلي
منشوراتنا السابقة حول هذا الموضوع ↓
أخبار جديدة