مقدمة

  • ليس هناك حاجة حقيقية لكتابة الكود في الـ Prompt
    • لقد استطعنا أخيرًا التحدث بلغة طبيعية
    • وليس برمجة بلغة طبيعية
  • دع البرمجة للمطورين
    • لا تجعل الأمر صعبًا على الأشخاص العاديين
    • دع المطورين يكتبون الكود في الأماكن الخاصة بذلك
  • كتابة كود في الـ Prompt تعطي وهمًا يصعب-debugging
    • لا داعي لإضافة عبء تعلم زائد للشخص العادي
    • ليس هناك حاجة لكتابة الكود في الـ Prompt

1. ماذا يعني كتابة الكود في الـ Prompt؟

1.1 تجربة كتابة كود في Prompt

الـ Prompt ونتائج الإخراج

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import pandas as pd
from datetime import datetime

def create_word_review_card(rows, cols, grade_level, date):
"""
إنشاء جدول بطاقة مراجعة الكلمات، لكن يرجى ملاحظة أن تنفيذ هذه الوظيفة في بيئة غير مهنية قد يؤدي إلى أخطاء غير متوقعة.

المعاملات:
rows (int): عدد صفوف الجدول، يحدد عدد الكلمات على البطاقة.
cols (int): عدد أعمدة الجدول، يحدد عدد الكلمات على البطاقة.
grade_level (str): مستوى الصف، يحدد صعوبة الكلمات.
date (datetime): التاريخ الحالي، يظهر في أسفل جدول.

العائد:
DataFrame: جدول Pandas DataFrame يحتوي على الكلمات.
"""
def fetch_words(n, grade_level):
words = [f"{grade_level}_word_{i}" for i in range(n)]
return words

total_words = rows * cols
words = fetch_words(total_words, grade_level)

word_matrix = [words[i * cols:(i + 1) * cols] for i in range(rows)]
df = pd.DataFrame(word_matrix)

try:
print(df.to_string(index=False, header=False))
print(f"التاريخ: {date.strftime('%Y-%m-%d')}")
except Exception as e:
print("حدث خطأ:", e)

try:
create_word_review_card(3, 4, 'متوسط', datetime.now())
except Exception as error:
print("حدث خطأ أثناء محاولة تشغيل الكود، مما يشير إلى أن تشغيل كود بايثون المعقد مباشرة في بيئة غير مخصصة ليس أفضل الممارسات. تفاصيل الخطأ:", error)

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

نتيجة الإخراج، هو أصلاً نفذ الكود

تنفيذ الكود

الكود هو كالتالي:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import pandas as pd
from datetime import datetime

def create_word_review_card(rows, cols, grade_level, date):
"""
إنشاء جدول بطاقة مراجعة الكلمات

المعاملات:
rows (int): عدد صفوف الجدول، يحدد عدد الكلمات على البطاقة.
cols (int): عدد أعمدة الجدول، يحدد عدد الكلمات على البطاقة.
grade_level (str): مستوى الصف، يحدد صعوبة الكلمات.
date (datetime): التاريخ الحالي، يظهر في أسفل جدول.

العائد:
DataFrame: جدول Pandas DataFrame يحتوي على الكلمات.
"""
def fetch_words(n, grade_level):
words = [f"{grade_level}_word_{i}" for i in range(n)]
return words

total_words = rows * cols
words = fetch_words(total_words, grade_level)

word_matrix = [words[i * cols:(i + 1) * cols] for i in range(rows)]
df = pd.DataFrame(word_matrix)

print(df.to_string(index=False, header=False))
print(f"التاريخ: {date.strftime('%Y-%m-%d')}")

try:
create_word_review_card(3, 4, 'ابتدائي', datetime.strptime('2024-03-12', '%Y-%m-%d'))
except Exception as error:
print("حدث خطأ أثناء محاولة تشغيل الكود، تفاصيل الخطأ:", error)

يمكننا أن نستنتج عدة نقاط من هذه الحالة الفاشلة:

  • لتحقيق تأثير لغات البرمجة التقليدية، يتطلب الأمر جهدًا كبيرًا
  • تصحيح وتعديل الكود أمر مرهق ومعقد
  • من الصعب رؤية أي ضرورة لإدخال التعليمات البرمجية في الـ Prompt

في هذا الوقت قد يقول البعض، “لأن مهاراتك في البرمجة ليست جيدة بما فيه الكفاية …”
صحيح، مهاراتي في كتابة الكود متوسطة.
لكن، انتظر، إذا كانت متطلبات مهارات البرمجة لدى الذكاء الاصطناعي مرتفعة هكذا، هل لا زال يعتبر برنامجًا لإنتاج المحتوى؟

دعونا نلقي نظرة على استخدام المتغيرات البسيطة، لنرى أن هذا ليس واضحًا أبدًا.

1.2، ما هي مكتبات التعليمات البرمجية في هذا السياق؟

الـ Prompt ونتائج الإخراج

1
"استنادًا إلى اهتماماتي {interests}، الميزانية {budget}، مدة السفر {travel_duration}، وعدد الرفقاء {number_of_companions}، من فضلك ساعدني في تخطيط خطة سفر." "تشمل الاهتمامات، لكن لا تقتصر على {list_of_interests}." "نطاق الميزانية هو {budget_range}." "طول مدة السفر المخطط لها هو {length_of_trip} أيام." "سأكون مع {number_of_people} من الأشخاص، أعمارهم واهتماماتهم هي {ages_and_interests}." "من فضلك قدم لنا اقتراحات تفصيلية للأيام، بما في ذلك توصيات للطعام {meal_preferences} وخيارات الإقامة {accommodation_preferences}."

تضمين المتغيرات والقوالب

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

السيناريو 1: خطة غذائية كاملة

Prompt الأولية:

1
2
3
4
5
"لدي {dietary_restrictions}، وأحتاج إلى إعداد خطة غذائية لمدة {number_of_days} للأكل {meal_type}." 
"تتضمن قيودي الغذائية {specific_restrictions}."
"أحتاج {meals_per_day} وجبات يوميًا."
"لا تتجاوز السعرات الحرارية في كل وجبة {calories_per_meal}."
"من فضلك قدم قائمة بالمكونات {ingredients_list}، خطوات الطهي {cooking_steps}، ومدة الطهي المتوقعة {cooking_time}."

السيناريو 2: مراجعة تقنية معمقة للمنتجات

Prompt الأولية:

1
2
3
4
5
6
"أفكر في شراء {product_name}، من فضلك قدم لي تفاصيل دقيقة حول وظائف المنتج {detailed_features}، تقييمات المستخدمين {detailed_reviews}، مقارنة الأسعار {price_comparison}، ونصائح الشراء {purchase_advice}." 
"اسم المنتج هو {specific_product_name}."
"أريد معرفة الوظائف التي تتضمن {list_of_features}."
"يرجى تقديم تقييمات تفصيلية من ثلاثة مستخدمين على الأقل {user_reviews}."
"قارن هذا المنتج مع أسعار المنتجات المماثلة في السوق {comparison_with_other_products}."
"استنادًا إلى احتياجاتي {my_requirements}، هل تنصح بشراء هذا المنتج؟"

السيناريو 3: خطة موارد تعليمية شاملة

Prompt الأولية:

1
2
3
4
5
"أريد دراسة {subject}، بناءً على أسلوب التعلم الخاص بي {learning_style} ووقتي المتاح {available_time}، من فضلك اقترح موارد تعليمية مناسبة." 
"موضوع التعلم هو {specific_subject}."
"تشمل طرق التعلم المفضلة لدي {preferred_learning_methods}."
"يمكنني تكريس {hours_per_week} ساعة للتعلم أسبوعيًا."
"بناءً على هذه الشروط، اقترح الدورات التدريبية {online_courses}، الكتب {books}، الدروس المرئية {video_tutorials} أو أي موارد أخرى {other_resources}."

السيناريو 4: مسار تدوير مهني مفصل

Prompt الأولية:

1
2
3
4
5
6
"وظيفتي الحالية هي {current_job}، وأنا مهتم بصناعة {industry_interest}." 
"وظيفتي الحالية هي {specific_current_job}."
"الصناعة التي تهمني هي {specific_industry_interest}."
"أريد معرفة كيفية الانتقال من وظيفتي الحالية إلى الصناعة التي أريدها، بما في ذلك المهارات اللازمة {necessary_skills}، المناصب المحتملة {potential_positions}، والراتب المتوقع {expected_salary}."
"يرجى تقديم معلومات مفصلة عن الخلفية الصناعية {industry_background}، مسار التطور الوظيفي {career_pathway}، والتحديات المحتملة {potential_challenges}."
"استنادًا إلى خبرتي في العمل {my_work_experience} وخلفيتي التعليمية {my_educational_background}، اقترح لي دورات تعليمية أو شهادات مؤهلة تتناسب معي {recommended_courses_or_certifications}."

الآن دعونا نلقي نظرة إذا كان هناك علاقة بسيطة بين المنطق:

1.3 ما الذي يمكن أن يبدو عليه الرمز المنطقي/لغة طبيعية؟

الـ Prompt ونتائج الإخراج

1
2
3
4
5
6
7
الإدخال: n
تهيئة: factorial = 1

لكل i من 1 إلى افعل ما يلي:
factorial = factorial * i

الإخراج: factorial

gpt العوامل

يبدو الأمر بسيطًا، دعنا نجعلها أكثر تعقيدًا قليلاً؟

1
2
3
4
5
6
7
8
9
10
11
12
13
الإدخال: مصفوفة مرتبة  القيمة التي تحتاج إلى البحث عنها val
عين low = 0، high = length(A) - 1

بينما low <= high، افعل ما يلي:
mid = (low + high) / 2
إذا كانت A[mid] < val:
low = mid + 1
وإلا إذا كانت A[mid] > val:
high = mid - 1
وإلا:
الإخراج: mid
الخروج
الإخراج: -1 // إذا لم يتم العثور على

خوارزمية الفرز

لم أخبره بأنني أريد البحث عن 99. لقد ذهب بحثًا عن ذلك بنفسه.

جميع هذه الأمثلة تحمل جاذبية علمية كبيرة، وليس لها أهمية كبيرة في حياتنا اليومية.

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

  • النتائج خارجة عن السيطرة
    • في المثال أعلاه، ظهرت بالفعل مشاكل وهمية
  • العملية خارجة عن السيطرة
    • مثل إجراء تخزين SQL من 8000 سطر
    • في كل مرة يتم فيها تحديث النظام، لا يجرؤ أحد على إحداث أي تغييرات

يبدو أن أكبر معطيات Prompt هي https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor

2. ما هو البرمجة بلغة طبيعية؟

بعد تقديم Prompt، وبدعم من شركات النموذج الكبير مثل OpenAI، كان هناك ضجة كبيرة في الأخبار، وأتى الإلهام للكتابة!
تم فهم Prompt بالخطأ على أنه لغة برمجة جديدة، كما لو أنه بمجرد إتقانها يمكنك التحكم في عديد من الأمور، فظهرت جيوش AIGC، مع الرسوم والتأليف وإنتاج الأفلام وكل شيء بإفراط! كل شيء بسيط!!
المشكلة الوحيدة هي:

  • لا أزال لا أعلم
  • لكنني أعتقد أنه يجب أن يكون سهلاً.
  • ومع ذلك، لا أزال لا أعلم.

ما هو البرمجة بلغة طبيعية، وما معنى أن غوين هوانغ قال لا تتعلم البرمجة بعد الآن؟

يمكن الرجوع إلى المشكلة، تلك المشكلة تعود إلى زمن بعيد جدًا ……..

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

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

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

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

لذا انطلق البعض، هل يمكن حذف تعلم لغات البرمجة؟ في الوقت الراهن، يبدو أنه كلما زادت تعقيدة المشكلة، كان من الأفضل حقًا تعلم البرمجة!! على الرغم من أنني لا أستطيع استخدام Photoshop، لا أستطيع سوى استخدام Paint وبعض الأدوات البسيطة عبر الإنترنت، لكن إذا كنت أحتاج حقًا للتعامل مع صورة معقدة، قد يكون من الأفضل أن أتعلم Photoshop!! يكمن تناقض المشكلة في أننا من خلال البرمجة بلغة طبيعية، كيف يمكن تقييم النتائج؟ نحن نستخدم البرمجة بلغة طبيعية، كيف يمكن أن نؤكد أنها لا تتكلم بشكل غير صحيح؟

نعلم جميعًا أن هناك مقولة تقول إن النماذج اللغوية الكبيرة تلعب لعبة سلاسل الكلمات. لذا

1
1+1=2

ليس ما تم حسابه، بل هو ما رأوه في مواد التدريب السابقة، وبالتالي يتم تشكيله. لتحسين هذه المشكلة، أطلقت OpenAI في السنة الماضية مفسر الكود، قدم لنا هؤلاء الذين لا يعرفون البرمجة، بعض الأمل.

3. ماذا يمكن لـمفسر الكود القيام به؟

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

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

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

أحيانًا يجرب المرء تشغيله 10 مرات، لكنه يفشل في النهاية، وهذا يبدو غريبًا، في الفترة الماضية طلبت منه تحليل ملخص ticktick، وفشل في ذلك أكثر من 10 مرات.
تحليل الفشل

بشكل عام، يعتبر استخدامه لاستكشاف الأمور خيارًا جيدًا.

كيف يمكن استخدامه؟ هناك خيار في GPTs، إذا تم تحديده، يحصل GPTs على هذه القدرة. في دردشتي مع GPT4، أستخدم حاليًا طريقة أن أخبره باستخدام وظيفة Python أو أوصاف القدرة التنفيذية للكود، ثم نتحدث:
شلال شمس

مخطط دائري

يمكننا أن نرى من التفاعلات السابقة أن العملية لا تزال بسيطة جدًا.

3.1 تحليل البيانات والتصور

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

في بيئات الشركات الحديثة والبحث، يُعد تحليل البيانات والتصور أدوات رئيسية لفهم اتجاهات البيانات ونماذجها. يقوم ملحق مفسر الكود لـ ChatGPT من خلال دعم مكتبات علوم البيانات القوية مثل Pandas وMatplotlib بتبسيط هذه العمليات بشكل كبير. يمكن للمستخدمين أن يطلبوا من ChatGPT مباشرة القيام بعمليات البيانات وإنشاء الرسوم البيانية باستخدام اللغة الطبيعية، مما يجعل تحليل البيانات أكثر مباشرة وسهولة للمستخدم.

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

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

تحليل البيانات والتصور

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

تحليل الناتج المحلي الإجمالي

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

3.2 مرونة تحويل الملفات

يبدو أن هذه الطريقة ليست جيدة الاستخدام حاليًا، لكنها لا تزال قابلة للتجربة. من تجربتي، كانت التحويل من mp4 إلى mp3، وما هي الفائدة؟ يبدو أنها كذلك، أقل من الصفر. تشبه في مبدئها خوارزمية إزالة خلفية الصورة.

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

من خلال دمج مكتبات مثل Pandas، يمكن لمفسر الكود بسهولة تنفيذ تحويلات مثل الانتقال من ملف CSV إلى ملف Excel، والعكس. وهذا يعد فائدة كبيرة للمستخدمين الذين يحتاجون إلى نقل واستخدام البيانات بين منصات البرمجيات المختلفة. على سبيل المثال، قد يحتاج محلل مالي إلى تحويل التقارير المالية من Excel إلى تنسيق CSV لمزيد من المعالجة. يمكن تحقيق هذه المهمة ببساطة من خلال أوامر بسيطة عبر مفسر الكود.

أما بالنسبة لمعالجة الصور، يمكن لمفسر الكود استخدام مكتبة PIL (Pillow) لتحويل تنسيقات الصور المختلفة، مثل من JPEG إلى PNG. وهذا يعد مهمًا في مجال تحرير الصور والتصميم على الويب وصناعة الطباعة. يمكن للمصممين أو المصورين استخدام مفسر الكود لتعديل تنسيق الصور بسرعة لتلبية متطلبات الإخراج المختلفة.

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

3.3 تطوير الكود وتصميم النموذج الأولي

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

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

  1. تحميل محتوى الويب: باستخدام مكتبة requests للحصول على محتوى HTML من الموقع المستهدف.
  2. تحليل HTML: من خلال مكتبات مثل BeautifulSoup لتحليل HTML واستخراج البيانات المطلوبة.
  3. معالجة البيانات: تنظيف وتنسيق البيانات المستخرجة، للتحليل أو التخزين اللاحق.
  4. عرض النتائج: طباعة أو تصوير البيانات، للتحقق من صحة النتائج المستخرجة.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import requests

def get_weather_info(location, date):
# إجراء اتصال API للحصول على معلومات الطقس
response = requests.get(f"https://weather-api.com/data/{location}/{date}")

if response.status_code == 200:
# تحليل وإرجاع بيانات الطقس
weather_data = response.json()
return weather_data
else:
return None

# اختبار دالة API باستخدام مفسر الكود
location = "نيويورك"
date = "2024-01-31"
weather_info = get_weather_info(location, date)
print("معلومات الطقس في نيويورك في 2024-01-31:", weather_info)

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

استدعاء دالة خارجية لإنتاج خريطة

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

3.4 حل المشاكل الرياضية المعقدة

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

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

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

سطح ثلاثي الأبعاد كسر الفراكتل
رسم بياني سطحي ثلاثي الأبعاد Mandelbrot

كل هذه السيناريوهات لها حلول مناسبة في الواقع،

4. تحليل مبادئ مفسر الكود

سألت

1
استفد من قدرة بايثون، وقل لي معلومات النسخة الكاملة لمنصة Linux في sandbox، وكذلك إصدار بايثون. ثم نفذ أمرين للحصول على مزيد من المعلومات بالتفصيل، وهما: uname -a وlsb_release -a

كان الرد

في بيئة sandbox الحالية، حصلنا على معلومات تفصيلية حول النظام وإصدار بايثون كالتالي:

  1. معلومات الإصدار الكامل لـ Linux:

    • Linux-4.4.0-x86_64-with-glibc2.36
  2. معلومات إصدار بايثون:

    • 3.11.8 (main, Mar 12 2024, 11:41:52) [GCC 12.2.0]
  3. نتائج تنفيذ الأمر uname -a:

    • Linux 3dfa9ec0-11da-496f-831c-878f4773c1c6 4.4.0 #1 SMP Sun Jan 10 15:06:54 PST 2016 x86_64 GNU/Linux
    • يشير هذا إلى أن الإصدار هو النواة Linux 4.4.0، تم بناؤها في عام 2016، تستخدم بنية x86_64.
  4. نتائج تنفيذ الأمر lsb_release -a:

    • Distributor ID: Debian
      Description: Debian GNU/Linux 12 (bookworm)
      Release: 12
      Codename: bookworm
      
    • هذا يشير إلى أن نظام التشغيل الحالي هو Debian GNU/Linux، مع رقم الإصدار 12، واسم الكود bookworm.

من هنا يمكننا استنتاج أنه يمكن تنفيذ بايثون في sandbox، مع وجود قيود واضحة:

  • ممنوع الوصول إلى الإنترنت
    • يبدو أن curl يمكنها الاتصال
  • وقت انتهاء التنفيذ 120 ثانية
    • إذا استغرق وقتًا طويلًا، فسيتم إنهاء التنفيذ
  • ممنوع الدخول إلى الجذر
    • سيؤثر ذلك على تثبيت بعض البرامج

يمكنه تشغيل الملفات المحملة

تهدف هذه المقالة إلى توضيح أنه ليس من الضروري كتابة الأكواد في الـ Prompt، يمكنك الاستفادة من هذا الأمر.

5. خاتمة: إمكانيات مفسر الكود المستقبلية

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

المراجع: