خطوات خلوية على حلقة
احسب خطوة متزامنة واحدة لآلة خلوية أولية على حلقة من خلية إلى 256 خلية ثنائية.
def cellular_step(bits, rule):
bits = tuple(bits)
if not 1 <= len(bits) <= 256 or any(type(v) is not int or v not in (0, 1) for v in bits):
raise ValueError("cells.binary")
if type(rule) is not int or not 0 <= rule <= 255:
raise ValueError("rule.byte")
n = len(bits)
return [(rule >> (4 * bits[(i - 1) % n] + 2 * bits[i] + bits[(i + 1) % n])) & 1 for i in range(n)]| راجع قبل التطبيق | قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية. |
|---|---|
| النماذج | اضبط نقطة اتصال متوافقة مع OpenAI أو Anthropic باستخدام العنوان الأساسي ومفتاح API عند الحاجة. اختبر الاتصال. يجب أن يعمل خادم النموذج المحلي؛ وقد ترسل الأدوات البعيدة البيانات بشكل منفصل. |
| المشروع | اختبر الجيران عبر الحد والخلية الوحيدة وارفض الإدخال الفارغ والخلايا المنطقية والقواعد خارج صفر إلى 255. |
def cellular_step(bits, rule):
bits = tuple(bits)
if not 1 <= len(bits) <= 256 or any(type(v) is not int or v not in (0, 1) for v in bits):
raise ValueError("cells.binary")
if type(rule) is not int or not 0 <= rule <= 255:
raise ValueError("rule.byte")
n = len(bits)
return [(rule >> (4 * bits[(i - 1) % n] + 2 * bits[i] + bits[(i + 1) % n])) & 1 for i in range(n)]حافظ على اتساق خطوة المحاكاة عبر الحالة كاملة
يوفر RuleFennec مساحة برمجة بالذكاء الاصطناعي على Windows للمطورين الذين يغيرون كود انتقال الحالة. قبل طلب تنفيذ، اشرح معنى الخطوة الواحدة في تطبيقك والقيم التي يسمح لها بقراءتها. يمنحك مجلد المشروع ومحادثة النموذج المتصل مكانا لمقارنة هذا المتطلب بالمصدر الحالي.
في حلقة خلوية أولية، تتمثل مهمة مفيدة في حساب تحديث متزامن واحد من جيل المدخلات نفسه. أدرج تمثيل القاعدة وسلوك الالتفاف وقيم الخلايا المقبولة في الطلب. اطلب من النموذج فحص ما إذا كان التعديل المقترح يقرأ خطأ قيما حدثت بالفعل في وقت سابق من الخطوة. هذا سؤال مراجعة مصدر له نتيجة قابلة للملاحظة.
افحص المقترح بحالة خلية واحدة وحلقة قصيرة تعتمد خلايا طرفيها بعضها على بعض. شغل اختبارات المشروع وقارن الجيل التالي كله، لا موضعا مناسبا واحدا فقط. أبق التحقق من المدخلات والحفاظ على الحالة ضمن المراجعة أيضا، كي لا يوسع تغيير ترتيب التحديث البيانات المقبولة بصمت.
اختر نموذجا عبر نقطة نهاية مدعومة متوافقة مع OpenAI أو تابعة لـ Anthropic، مع بيانات الاعتماد عند الحاجة. تتاح نماذج بلا قيود عندما توفرها نقطة النهاية. يحدد النموذج المختار والخادم سعة السياق والأدوات والقيود؛ وتبقى حالات اختبار الانتقال دليلك لقبول الكود المقترح.
أسئلة لتغيير انتقال الحالة
- ما معنى متزامن في طلب البرمجة؟
حدد أن كل خلية مخرجة تحسب من جيل المدخلات نفسه. ينبغي ألا يسمح التنفيذ المقترح للمخرجات المبكرة بالتأثير في الحسابات اللاحقة. أدرج مثالا تختلف نتيجته عند التحديث في الموضع نفسه ليصبح المتطلب قابلا للاختبار مباشرة في مشروعك.
- لماذا أدرج حلقة من خلية واحدة؟
تجبر الجيران الملتفين على التطابق وتظهر افتراضات الحدود. حدد النتيجة المتوقعة للقاعدة المختارة بدلا من افتراض أن مثالا أكبر يغطيها. افحص استخدام المقترح للسلوك المحدد نفسه عند كل حجم مدعوم.
- هل ينبغي احتساب القيم المنطقية خلايا؟
استخدم سياسة المدخلات التي يتطلبها تطبيقك واذكرها صراحة. ترفض المهمة التوضيحية الخلايا المنطقية رغم أن بعض اللغات تعاملها كأعداد صحيحة. راجع التحقق وأضف حالة اختبار كي لا يغير التعديل هذا التمييز بصمت.
- هل يستطيع RuleFennec تقييم محاكاة كاملة من خطوة واحدة؟
تدعم مساحة العمل مناقشة كودك، لكن حالات الخطوة الواحدة تثبت فقط السلوكيات التي تختبرها. إذا أثر التعديل المطلوب على التنفيذ المتكرر، فحدد التوقعات الإضافية وشغل فحوص مشروع مناسبة قبل الاعتماد على المحاكاة الأوسع.
RuleFennec · آخر تحديث 2026-10-25