رؤى المستقبل

تدفق عمل توليد التعليمات البرمجية للنماذج اللغوية الكبيرة لهاربر ريد: من العصف الذهني إلى التنفيذ

AI
رؤى الذكاء والمستقبل
· · 3 دقائق قراءة
تدفق عمل توليد التعليمات البرمجية للنماذج اللغوية الكبيرة لهاربر ريد: من العصف الذهني إلى التنفيذ

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

تطوير المشروع الجديد: عملية من ثلاث خطوات

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

  • صقل الأفكار: استخدم نموذج LLM للمحادثة (مثل ChatGPT) لصقل فكرة المشروع من خلال طرح أسئلة تكرارية، مما يؤدي في النهاية إلى إنشاء وثيقة مواصفات شاملة (spec.md). يمكن بعد ذلك استخدام هذه المواصفات لأغراض مختلفة، مثل تحديد نقاط الضعف في الفكرة، أو إنشاء ورقة بيضاء، أو تطوير نموذج أعمال.
  • التخطيط: استخدم نموذج استدلال (مثل o1، o3، r1) لإنشاء مخطط تفصيلي خطوة بخطوة لبناء المشروع. قسّم الخطة إلى أجزاء صغيرة متكررة، مع التأكد من أن كل خطوة صغيرة بما يكفي للتنفيذ الآمن مع اختبار قوي. يجب أن يكون الناتج prompt_plan.md يحتوي على سلسلة من المطالبات لنموذج LLM لتوليد التعليمات البرمجية. يتم أيضاً إنشاء قائمة تحقق todo.md لتتبع التقدم.
  • التنفيذ: قم بتنفيذ الخطة باستخدام أداة توليد التعليمات البرمجية مثل Aider أو Cursor أو Claude. يفضل ريد إقران Claude الخام مع Aider. يتم استخدام Claude لتنفيذ المطالبات بشكل متكرر وتصحيح التعليمات البرمجية من خلال Repomix. يقوم Aider بأتمتة عملية توليد التعليمات البرمجية، بما في ذلك تشغيل الاختبارات وتصحيح الأخطاء.

التعليمات البرمجية الحديثة القديمة: التكرار التدريجي

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

  • جمع السياق: استخدم أداة (يستخدم ريد Repomix) لاستخراج التعليمات البرمجية المصدر ذات الصلة وتعبئتها في ملف output.txt لنموذج LLM. يتم استخدام مهام Mise لتحويلات مختلفة، مثل إنشاء مراجعات التعليمات البرمجية أو مشكلات GitHub أو الاختبارات المفقودة أو ملفات README. تتيح مرونة Mise تجاوز التكوينات بناءً على متطلبات قاعدة التعليمات البرمجية المحددة.
  • التفاعل مع النموذج اللغوي الكبير: مرر output.txt إلى نموذج LLM لإجراء التحويلات، وحفظ النتائج كملفات markdown. على سبيل المثال، يتضمن إنشاء اختبارات مفقودة تشغيل مهمة Mise لإنشاء ملف missing-tests.md، ثم استخدام محتويات هذا الملف مع سياق قاعدة التعليمات البرمجية لتوجيه نموذج LLM.
  • التنفيذ (Claude/Aider): دمج التعليمات البرمجية التي تم إنشاؤها باستخدام إما Claude أو Aider. باستخدام Claude، انسخ التعليمات البرمجية والصقها يدوياً في IDE، وشغل الاختبارات، وكرر العملية. باستخدام Aider، الصق المطالبة، وشاهد Aider يقوم تلقائياً بإنشاء التعليمات البرمجية واختبارها، ومعالجة أي مشكلات.

سحر المطالبات: تحسين قواعد التعليمات البرمجية

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

  • مراجعة التعليمات البرمجية: مطالبة لإجراء مراجعة شاملة للتعليمات البرمجية وإخراج المراجعة بتنسيق markdown، بما في ذلك أرقام الأسطر والمعلومات السياقية.
  • إنشاء مشكلات GitHub: مطالبة لتحديد الأخطاء أو خيارات التصميم أو مشكلات نظافة التعليمات البرمجية وتنسيقها كمشكلات GitHub.
  • الاختبارات المفقودة: مطالبة لتحديد حالات الاختبار المفقودة وكتابة اختبارات التعليمات البرمجية.

تجربة القرصنة الفردية والحاجة إلى برمجة LLM متعددة اللاعبين

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

التخفيف من وقت التوقف ومعالجة الشكوك

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

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


المصدر: Harper Reed’s Blog

مقالات ذات صلة

التعليقات

البريد لن يُنشر - يُستخدم للصورة الرمزية فقط

جاري تحميل التعليقات...