July 27, 202610 min read

التطوير القائم على المواصفات: بناء حواجز حماية مخصصة لبرمجيات الذكاء الاصطناعي

Muhammad Talha Sultan

Lead Engineer, Innvo Labs

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

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

يتطلب بناء برمجيات مخصصة جاهزة للمؤسسات الانتقال من تعديل المطالبات العشوائي إلى **التطوير القائم على المواصفات (SDD)**. في هذا النهج، يُعامل النموذج اللغوي كعقدة تنفيذ غير موثوقة محكومة بمواصفات صارمة محددة الأنواع وحواجز حماية قائمة على آلات حالة محددة.

إليك الهيكل الهندسي الذي نستخدمه لبناء تطبيقات برمجية مخصصة وموثوقة حول النماذج التوليدية.

1. المبادئ الأساسية للتطوير القائم على المواصفات

يفرض التطوير القائم على المواصفات ثلاث حدوٍد صارمة بين منطق النموذج الاحتمالي وكود الأعمال المحدد:

1.

**عقود الأنواع الصريحة**: يجب أن يخضع كل مدخل يُرسل لمكون الذكاء الاصطناعي وكل مخرج صادر عنه لهيكل معرف بدقة (مثل Zod في TypeScript أو Pydantic في Python). يُمنع التحليل النصي الخام.

2.

**احتواء مساحة الحالة**: لا يمكن لمكونات نموذج الذكاء الاصطناعي تعديل حالة التطبيق مباشرة أو الكتابة في قاعدة البيانات. بل تصدر مقترحات هيكلية يجب أن تمر عبر التحقق المحدد لقواعد الأعمال.

3.

**تقييم التأكيدات مزدوج الممر**: تخضع مخرجات النموذج لفحوصات ثنائية ثابتة وتقييمات للمطابقة قبل أن تُمرر للمستخدمين.

[طلب المستخدم]
      │
      ▼
[مواصفات المدخلات محددة الأنواع (Zod/Pydantic)]
      │
      ▼
[عقدة استدعاء النموذج (مخرجات JSON مقيدة)]
      │
      ▼
[حاجز الحماية والتحقق من المخطط] ──(فشل التحقق)──► [حلقة التصحيح الذاتي]
      │ (نجاح)
      ▼
[تعديل حالة التطبيق / تنفيذ واجهة البرمجة]

2. تنفيذ حواجز حماية التحقق من الهيكل

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

إليك نمط إنتاجي في TypeScript باستخدام Zod وحلقة حماية لإعادة المحاولة:

import { z } from "zod";

// تعريف عقد المخرجات الصارم لعمليات البرمجيات المخصصة
export const FinancialTransactionSpec = z.object({
  accountId: z.string().uuid(),
  amount: z.number().positive(),
  currency: z.enum(["USD", "EUR", "GBP"]),
  category: z.string().min(2),
  confidenceScore: z.number().min(0).max(1),
  flagForManualReview: z.boolean()
});

export type FinancialTransaction = z.infer<typeof FinancialTransactionSpec>;

export async function executeSpecGuardedInference(
  prompt: string,
  maxRetries = 2
): Promise<FinancialTransaction> {
  let attempts = 0;
  let currentPrompt = prompt;

  while (attempts <= maxRetries) {
    const rawResponse = await callModelStructured(currentPrompt);
    const parseResult = FinancialTransactionSpec.safeParse(rawResponse);

    if (parseResult.success) {
      if (parseResult.data.amount > 10000 && !parseResult.data.flagForManualReview) {
        throw new Error("خرق حاجز الحماية: المعاملات الأكثر من 10,000 تتطلب مراجعة يدوية.");
      }
      return parseResult.data;
    }

    attempts++;
    currentPrompt += `\n\nاستجابة JSON السابقة خالفت المواصفات: ${JSON.stringify(parseResult.error.format())}. صحح البيانات وأعد JSON صالحاً.`;
  }

  throw new Error("فشل التنفيذ القائم على المواصفات بعد الحد الأقصى للمحاولات.");
}

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

3. آلات الحالة المحكمّة بدلاً من الحلقات الحرة

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

في بنيتنا البرمجية المخصصة، ننفذ محركات محددة للمسارات (مثل LangGraph أو آلات الحالة المخصصة). يتخذ النموذج القرار بشأن *خيارات المعاملات* ضمن عقدة حالة مسموح بها صراحة، ولكنه لا يستطيع الانتقال عبر الحالات دون اجتياز فحوصات الانتقال.

على سبيل المثال، في نظام مخصص لمعالجة المطالبات الصحية:

  • العقدة أ (إدخال المستندات) تنتقل فقط إلى العقدة ب (استخراج البيانات).
  • العقدة ب تنتقل فقط إلى العقدة ج (التحقق) إذا كانت جميع الحقول المطلوبة متوفرة في الهيكل المعتمد.
  • إذا اكتشفت العقدة ج أي عدم تطابق، يتم توجيه سير العمل تلقائياً إلى العقدة د (طابور المراجعة البشرية).

النموذج اللغوي لا يدير مسار التنفيذ؛ بل إن آلة الحالة في البرمجيات المخصصة هي التي تدير النموذج اللغوي.

4. مقاييس الأداء: الأنظمة القائمة على المطالبات مقابل القائمة على المواصفات

قمنا بتقييم تطبيقين لنظام أتمتة فواتير مؤسسي يعالج 10,000 فاتورة شهرياً:

  • **التطبيق القائم على المطالبات**: مطالبات نصية حرة مع تحليل كتل الكود بصيغة markdown.
  • **التطبيق القائم على المواصفات**: التحقق عبر مخطط Zod، وحلقات التصحيح الذاتي، واحتواء الحالة عبر آلة الحالة.

النتائج:

  • **معدل أخطاء الهيكل**: انخفض من 6.4% إلى 0.00% (القضاء التام على استثناءات JSON غير الصالحة).
  • **توقف النظام**: انخفض بنسبة 100% (صفر أعطال ناتجة عن تنسيقات مخرجات غير معالجة).
  • **تغطية سجلات التدقيق**: 100% من مدخلات ومخرجات النموذج وتحولات الحالة تم تسجيلها في سجلات هيكلية.

الخلاصة

يوفر الذكاء الاصطناعي التوليدي قدرات تفكير متقدمة، لكن برمجيات المؤسسات تتطلب قابلية التنبؤ والاستقرار. يردم التطوير القائم على المواصفات هذه الفجوة من خلال فرض عقود أنواع صارمة، وحواجز حماية محددة، وحدود آلات الحالة حول استدعاءات النماذج. عند بناء برمجيات مخصصة، عامل النموذج كمكون قوي داخل نظام مهيكل—وليس كالنظام بأكمله.

05 / اتصال

فلنتحدث

التقنيات

  • Next.js · React · Node.js
  • Python · FastAPI
  • AWS · Vercel

المكاتب

  • عن بعد أولاً
  • عملاء حول العالم

السنة

  • 2026
  • مستمر

© 2026 إينفو لابس. جميع الحقوق محفوظة.

نقدم برمجيات موثوقة، ذكاء اصطناعي، وتصميم.