كل المشاريع/HAIN AI RECIPE GENERATOR

نظرة عامة

كان التكليفُ تطبيقَ طبخٍ للمستهلك: يكتب الشخصُ ما عنده في المطبخ، فيخبره التطبيقُ بما يستطيع صنعَه به. وهذا وحده استدعاءٌ واحدٌ للنموذج. والذي يجعله منتَجًا لا عرضًا تجريبيًّا هو كلُّ ما يحفّ بذلك الاستدعاء: أن يكون للشخص حسابٌ، وأن يحتفظ بالوصفات التي أعجبته، وأن يقيّمها، وأن يقدر على إخراج إحداها من التطبيق ملفًّا.

أمّا النصفُ الأصعب فهو التوليدُ نفسُه. إن سألتَ نموذجًا وصفةً من حَفنةِ مكوّناتٍ أعطاك واحدة، وإن سألتَه ثلاثَ مرّاتٍ أعطاك ثلاثَ صيغٍ متقاربةٍ للطبق نفسِه، لأنّ شيئًا لم يُخبره بما قاله قبلَ ذلك. فجعلُ الأجوبة الثلاثة تختلف فعلًا مسألةُ تصميمٍ لا صُدفةٌ في صياغة الطلب.

بُني لعميلٍ عبر Upwork ضمنَ تكليفٍ قصيرٍ في مايو 2024.

التحدي

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

والنموذجُ يطبخ عن طيبِ خاطرٍ كلَّ ما يُكتب له. والمستخدمون الحقيقيّون يكتبون ما في ثلّاجاتهم، وفيه ما ليس بطعامٍ أصلًا، وفيه أحيانًا طبقٌ جاهزٌ لا مكوّن. فمولِّدٌ بلا قواعدَ تحكم مُدخَله يُخرج إمّا كلامًا لا معنى له وإمّا شيئًا غيرَ آمنٍ حقًّا.

والمخرَجُ لا بدّ أن يصل في هيئةٍ يمكن العملُ عليها. فالوصفاتُ لا تُعرَض فحسب، بل تُحفَظ وتُسرَد وتُقيَّم وتُحوَّل إلى مستندات، وكلُّ واحدةٍ من هذه لا بدّ أن تجد الأشياءَ القليلةَ نفسَها في الموضع نفسِه — ومعنى ذلك أن تكون البِنيةُ جزءًا ممّا يُطلَب، حتّى تحطَّ الحقولُ القليلةُ نفسُها في الموضع نفسِه في كلّ مرّة.

تصميم النظام

كيف يعمل

01/04
01

طلبٌ واحدٌ يصير ثلاثَ وصفات

لبُّ المنتَج — ولماذا لا تكون الأجوبةُ الثلاثةُ طبقًا واحدًا مُعادَ الصياغة.

  1. 1تُسلَّم المكوّناتُ إلى سلسلةٍ من ثلاث مراحلِ طلب
  2. 2فتُنتج المرحلةُ الأولى وصفةً من المكوّنات وحدها
  3. 3وتتلقّى كلُّ مرحلةٍ تاليةٍ الوصفاتِ السابقةَ ويُطلَب إليها شيءٌ سواها
  4. 4فطبقٌ، وتنويعٌ عليه، وثالثٌ طُلِب إليه أن يحيد عنهما معًا
02

المطبخُ يُعامَل مُدخَلًا فوضويًّا

ما الذي يحدث لِما يكتبه الناسُ فعلًا.

  1. 1يُمرَّر ما كُتب كما كُتب
  2. 2وتُسقِط قواعدُ التوليد كلَّ ما لا يصلح للأكل
  3. 3ويبقى الطبقُ الجاهزُ المكتوبُ في خانة المكوّنات كما هو لا يُفكَّك
  4. 4ولا يُزاد على ما كُتب إلّا عددٌ محدودٌ من المكوّنات
03

الوصفةُ تصير شيئًا تملكه

كيف يتحوّل الجوابُ المولَّدُ إلى شيءٍ محفوظ.

  1. 1تُحفَظ الوصفةُ في الحساب المسجَّلِ دخولُه
  2. 2ويفحص الحفظُ أوّلًا إن كانت تلك الوصفةُ موجودةً من قبل
  3. 3وتُقرأ قائمةُ المحفوظات للحساب المسجَّلِ دخولُه، وتُعرَض تحت كلّ وصفةٍ التقييماتُ التي تُركت عليها
  4. 4ولكلّ شخصٍ تقييمٌ واحدٌ على الوصفة الواحدة
04

الجوابُ يخرج ملفًّا

كيف تخرج الوصفةُ من التطبيق ملفًّا يملكه صاحبُه.

  1. 1تُختار وصفةٌ للتنزيل، إمّا طازجةً من المولِّد وإمّا من قائمة المحفوظات
  2. 2وتُصاغ مستندًا في أثناء رسم الصفحة لأداة التنزيل
  3. 3ويُبنى المستندُ في الذاكرة لا يُكتَب على القرص
  4. 4فتخرج الوصفةُ المولَّدةُ ملفَّ معالجةِ نصوص، وتخرج المحفوظةُ ملفَّ PDF

أبرز الميزات

  • ثلاثُ وصفاتٍ من قائمةِ مكوّناتٍ واحدة، يُنتجها توليدٌ متسلسلٌ واحد
  • كلُّ مرحلةٍ تُخبَر بما أنتجته المراحلُ قبلها، ويُطلَب إليها أن تختلف عن نصّ ما سبقها
  • هامشٌ لكلّ مرحلةٍ في ابتكار مكوّناتٍ زائدة، أضيقُ ما يكون في الوسط وأوسعُ ما يكون في النهاية
  • قواعدُ المُدخَل محمولةٌ في نصّ الطلب: ما لا يُؤكل يُستبعَد، والطبقُ المسمّى يبقى كما هو
  • عقدُ مخرَجٍ ثابت — الأقسامُ المسمّاةُ نفسُها، بالترتيب نفسِه، تُطلَب من كلّ مرحلة
  • حساباتٌ، فتبقى الوصفاتُ التي يحتفظ بها المستخدمُ موجودةً في الزيارة التالية
  • وصفاتٌ محفوظةٌ وتقييماتٌ بالنجوم، وكلتاهما محصَّنةٌ من التكرار عند الكتابة
  • تصديرٌ في صيغتَي مستنداتٍ — ملفُّ معالجةِ نصوصٍ للوصفة المولَّدة، وملفُّ PDF للمحفوظة — يُبنى كلٌّ منهما في الذاكرة

Outcomes

  • حوّلتُ عرضًا تجريبيًّا من استدعاءٍ واحدٍ إلى منتَج: قائمةُ مكوّناتٍ واحدةٌ تردّ ثلاثَ وصفاتٍ لا تُعيد الطبقَ نفسَه صياغةً، لأنّ كلَّ مرحلةٍ تُخبَر بما أنتجته المراحلُ قبلها
  • وجعلتُ الاختلافَ أمرًا يشتغل عليه التصميمُ لا شيئًا يُنتجه طلبٌ مكرَّرٌ مصادفةً، بتمرير المخرَجات السابقة إلى الأمام مُدخَلاتٍ، وبحجز أوسعِ هامشٍ للابتكار للمرحلة الأخيرة
  • وعالجتُ المُدخَلَ الذي يعطيه المستخدمون فعلًا — ما ليس بطعامٍ والأطباقَ الجاهزة — عند نقطة التوليد لا في ما بعدها
  • ومنحتُ كلَّ ما يأتي بعد النموذج هيئةً يعتمد عليها، بجعل عقدِ المخرَج جزءًا من نصّ الطلب
  • وأبقيتُ الهدفَ ضيّقًا عن قصد — مطبخٌ واحدٌ وعددُ حصصٍ واحد — حتّى تصير ثلاثةُ أجوبةٍ متمايزةٍ شيئًا تقدر السلسلةُ على إنتاجه واقعيًّا
  • وسلّمتُ حولَ المولِّد حساباتٍ ووصفاتٍ محفوظةً وتقييماتٍ وتصديرًا إلى مستندات، فصار ما أعجب المستخدمَ ممّا يُحتفَظ به ويُؤخَذ معه

أعمال أخرى

MVP100Hours preview
منصّة نموّ بالذكاء الاصطناعي

MVP100Hours

منصّة مدعومة بالذكاء الاصطناعي تمتدّ من العميل المحتمل حتى إتمام الصفقة — من رصد صامت للزوّار إلى تواصل صوتي ذاتي التشغيل بالذكاء الاصطناعي

عرض المشروع