الفرع الثابت واختيار النموذج يمكن أن يجتمعا في تصميم واحد. قد يعالج نموذج نصا، ثم يطبق التطبيق قاعدة معلنة على رقم، فينقل العمل إلى مسار محدد. نرسم مثالا مستقلا كي نعرف صاحب قرار الانتقال، دون بناء وكيل أو تفسير كل سهم بأنه تفكير من النموذج.
الخلاصة السريعة
في مثال الفرع الثابت تحدد القاعدة المعلنة الخطوة التالية من قيمة المدخل؛ وفي مثال التفويض نترك الاختيار للنموذج. لا يبين اسم «مسار ذكي» وحده أي تصميم استعمل.
- يوثق مرجع Agent Builder شرط If/else بتعبير CEL، ويذكر اتجاه المنتج إلى الإيقاف. [1] نستعمله مثالا موثقا للشرط، ونعلن تصميمنا دون توصية بنشره.
- في قاعدتنا المؤلفة: إذا كان العدد أكبر من 2 ننتقل إلى ب، وإلا إلى أ؛ القيم 3 و 2 و 1 تختار ب وأ وأ، والحد 2 لا يدخل فرع أكبر من 2.
- في تصميم آخر نفوض الاختيار للنموذج؛ وجود خطوة نموذج قبل شرط ثابت لا يجعلها صاحبة كل انتقال، والمدخل المجهول لا يعد القيمة 2 أو 3 بالتخمين.
- راجع صاحب القرار والشرط والمدخل والعلاقة الناتجة؛ اختيار الفرع ليس إثباتا لتنفيذه أو صحة مادته، ولم نبن مسارا أو نقس جودة توجيه.
هل كل انتقال في التصميم اختيار من النموذج؟
يعرض مرجع OpenAI لعقد Agent Builder منطق If/else باستخدام تعبير CEL. ويذكر أن المنتج يتجه إلى الإيقاف؛ نقرأ العقد مثالا لا توصية بنشر خدمة. [1]
الفكرة التي نريد فصلها هي صاحب القرار في نقطة بعينها. يمكن أن نكتب قاعدة انتقال خارج خطوة الصياغة. عندئذ وجود نموذج في جزء من المسار لا يغير القاعدة التي صرح بها المصمم في هذا الجزء.
لا نقدم تعريفا عاما لكل ما يسمى وكيلا. نعلن نوع القرار في المثال بدلا من استنتاجه من الاسم التجاري أو من رسم يضم مربع «ذكاء اصطناعي». معرفة ما داخل مربع واحد لا تكشف كل العلاقات حوله.
ماذا تختار قاعدة أكبر من 2؟
نؤلف نموذج عمل له مدخل صحيح معلوم نسميه عدد البطاقات في الدفعة. والقاعدة التي نكتبها: إذا كان العدد أكبر من 2، فانتقل إلى مسار ب لتجهيز قائمة؛ وإلا فانتقل إلى مسار أ لعرض سطر واحد.
عند قيمة 3 يختار الشرط ب. وعند 2 لا يتحقق أكبر من 2، فيختار أ. وعند 1 يختار أ أيضا. لا نحول القاعدة إلى أكبر من أو يساوي لأن شكل القائمة يبدو أنسب لبطاقتين.
هذه أحكام يدوية تحت تعريف القاعدة، لا سجل برنامج عمل. لم نجعل عدد البطاقات قياسا لمهارة أو ضمانا لسهولة المخرجات. اخترنا الحد 2 حتى تبين حالة المساواة خطأ اختصار الشرط إلى «الدفعة الكبيرة» بلا تعريف.
أين يدخل النموذج وأين لا يدخل؟
نؤلف تصميما ثانيا يطلب من النموذج اختيار أ أو ب بعد قراءة وصف الدفعة، دون قاعدة العدد السابقة. هنا نعلن تفويض الاختيار إليه؛ لا ننسب له التزام حد 2 الذي لم ندخله في هذا التصميم.
وفي تصميم ثالث يكتب النموذج وصفا للدفعة، لكن العدد المدخل المراجع يبقى قيمة مستقلة والشرط نفسه يحدد الفرع. صياغة الوصف ليست اختيارا ب أو أ، ما دمنا أعلننا أن الانتقال يعتمد على ذلك العدد.
إذا لم يصل عدد معلوم إلى تصميم الشرط، تكون مادته ناقصة في المثال. لا نستخرج 3 من وصف «عدة بطاقات»، ولا نقول إن اختيار النموذج عوض القيمة المفقودة تلقائيا. سنحتاج مدخلا معلوما أو مسارا معلنا للنقص.
ماذا نراجع عند وصف المسار؟
نقترح بطاقة انتقال تكتب: صاحب القرار، والمدخل المعلن، والشرط إن وجد، ووجهة كل نتيجة. يستطيع المحرر مقارنة النص بهذه البطاقة، بدلا من نسبة القرار كله إلى النموذج لأنه شارك في صياغة سطر.
اختيار ب لا يثبت أن القائمة جهزت، ولا أن البيانات كانت صحيحة أو أن التنفيذ مأذون. كما لا يثبت الوصول إلى أ أن النموذج رفض العمل؛ في قاعدتنا العدد 2 يقود إلى أ دون قرار رفض من نموذج.
لم ننشئ مسارا أو نقارن دقة تصاميم. يقتصر المثال على إسناد الانتقال تحت قواعد معلنة، مع حفظ الفرق بين اختيار الخطوة وتنفيذها ومراجعة ما نتج عنها. ولا نقرأ ترتيب مربعات الصفحة بديلا عن هذه العلاقات.
المصادر ومتابعة القراءة
- OpenAI: Node reference (يفتح في نافذة جديدة)developers.openai.com
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
