الذكاء الصناعي

ChatGPT مقابل Bard: أيهما أفضل للبرمجة؟

مقارنة بين شات جي بي تي و براد من خلال بعض المسائل البرمجية

للبرمجيات، توفر الذكاء الاصطناعي التوليدي فوائد ملموسة. يمكن أن يساعد في كتابة وتصحيح الأكواد، مما يجعل حياتنا المزدحمة أسهل قليلاً. لكن الآن هناك أدوات متنافسة مثل ChatGPT وBard، مما يثير التساؤل: أيهما أفضل للاستخدام؟

سنقارن بين هذه الأدوات في معركة حاسمة لمعرفة أيهما هو الأكثر ثراءً بالمميزات في الوقت الحالي لأغراض البرمجة.

ChatGPT مقابل Bard: ما الفرق؟

الفرق الأكبر بين ChatGPT وBard هو نماذج اللغة الكبيرة (LLMs) التي تعمل بها. يستخدم ChatGPT نموذج Generative Pre-trained Transformer 4 (GPT-4)، بينما يستخدم Bard نموذج Language Model for Dialogue Applications (LaMBDA). كما أن ChatGPT تم تطويره بواسطة OpenAI، في حين تم بناء Bard بواسطة Google.

القدرات المشتركة

كلا النموذجين يمكن استخدامهما لأغراض مشابهة:

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

بيانات التدريب

تم تدريب كلا النموذجين على مجموعة بيانات ضخمة، تشمل Common Crawl، وWikipedia، والكتب، والمقالات، والمستندات، والمحتوى المستخرج من الإنترنت. ومع ذلك، فإن Bard تم تدريبه على الحوارات والمحادثات من الويب، بينما تم تدريب ChatGPT بشكل أساسي على المحتوى العام المستخرج.

اختبار ChatGPT وBard

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

1. توليد الكود

قمنا بإعطاء الروبوتات الطلب التالي: “اكتب دالة في Python تُرجع قائمة من 100 رقم أولي.”

توليد الكود بواسطة Bard
python

def get_prime_numbers(n):
"""Returns a list of prime numbers up to n."""
primes = [] for i in range(2, n + 1):
is_prime = True
for j in range(2, i):
if i % j == 0:
is_prime = False
break
if is_prime:
primes.append(i)
return primes

def main():
"""Prints a list of 100 prime numbers."""
primes = get_prime_numbers(100)
print(primes)

if __name__ == "__main__":
main()

توليد الكود بواسطة ChatGPT
python

def generate_primes(n):
primes = [] sieve = [True] * (n + 1)
for current in range(2, n + 1):
if sieve[current] != 0:
primes.append(current)
for multiple in range(current, n + 1, current):
sieve[multiple] = False
return primes

# Generate first 100 prime numbers
# The 100th prime number is 541, so we set the limit to 550 to make sure we get at least 100 primes
primes_100 = generate_primes(550)[:100] print(primes_100)

عند اختبار الكودين، وجدنا أن كود ChatGPT كان أنظف وأقصر وأفضل تفسيرًا للطلب المبهم. لهذا السبب، كان الفائز هنا هو ChatGPT.

الفائز: ChatGPT 🏆

2. حل المشاكل

اختبارنا التالي كان حول حل مشكلة من موقع Leetcode: “اكتب كودًا بلغة JavaScript يعزز جميع المصفوفات بحيث يمكنك استدعاء الدالة array.last() على أي مصفوفة وستعيد العنصر الأخير. إذا لم تكن هناك عناصر في المصفوفة، يجب أن تعيد -1.”

حل المشكلة بواسطة ChatGPT
javascript

Array.prototype.last = function() {
if (this.length === 0) {
return -1;
} else {
return this[this.length - 1];
}
};

let array = [1, 2, 3, 4, 5];
console.log(array.last()); // prints: 5

array = [];
console.log(array.last()); // prints: -1

حل المشكلة بواسطة Bard
javascript

Array.prototype.last = function() {
if (this.length === 0) {
return -1;
}
return this[this.length - 1];
};

const array = [1, 2, 3, 4, 5];
const lastElement = array.last();
console.log(lastElement); // 5

كان كلا الحلين متشابهين جدًا، لكن ChatGPT قدم شرحًا أفضل لكيفية عمل الكود، مما يجعله أكثر فائدة للتعلم. لذا، كان الفائز هنا أيضًا هو ChatGPT.

الفائز: ChatGPT 🏆

3. إعادة هيكلة الكود

طلبنا من الروبوتات إعادة هيكلة الكود التالي للعثور على طريقة أكثر تحسينًا:

javascript

Array.prototype.last = function() {
if (this.length === 0) {
return -1;
} else {
return this[this.length - 1];
}
};
إعادة الهيكلة بواسطة ChatGPT
javascript

Array.prototype.last = function() {
return this.length === 0 ? -1 : this[this.length - 1];
};
إعادة الهيكلة بواسطة Bard
javascript

Array.prototype.last = function() {
if (this.length === 0) {
return -1;
}
return this[this.length - 1];
};

في هذه الحالة، قدم Bard تفسيرًا أكثر تفصيلًا وتحسينًا أكبر للكود مع شرح شامل. لذا كان الفائز هنا هو Bard.

الفائز: Bard 🏆

4. المساعدة في التصحيح

اختبرنا كلا النموذجين بقطعة كود معيبة وطلبنا منهما تصحيحها:

python

def calculate_average(numbers):
total = 0
for number in numbers:
total += number
average = total / len(numbers)
return average

تصحيح الأخطاء بواسطة ChatGPT
python

def calculate_average(numbers):
if not numbers:
return 0
total = 0
for number in numbers:
total += number
average = total / len(numbers)
return average
تصحيح الأخطاء بواسطة Bard
python

def calculate_average(numbers):
if not numbers:
return 0 # Handle empty list case to avoid ZeroDivisionError
total = sum(numbers)
average = total / len(numbers)
return average

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

الفائز: Bard 🏆

5. الإضافات الخارجية وواجهة المستخدم

يوفر ChatGPT أكثر من 80 إضافة لمشتركي النسخة المميزة، بينما Bard ليس لديه أي إضافات حتى الآن. لذا كان الفائز هنا هو ChatGPT.

الفائز: ChatGPT 🏆

6. سهولة الاستخدام

يتيح لك ChatGPT الوصول إلى محادثاتك السابقة وإعادة بدء المحادثات بسهولة، بينما Bard لا يوفر هذه الميزة. ومع ذلك، يتميز Bard بميزة المسودات التي تتيح لك مراجعة الردود المختلفة.

الفائز: ChatGPT 🏆

7. التكلفة

يوفر ChatGPT نسخة مجانية ونسخة مميزة بمقابل 20 دولارًا شهريًا، بينما Bard مجاني تمامًا حاليًا. لذا كان الفائز هنا هو Bard.

الفائز: Bard 🏆

الخلاصة

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

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

تذكر أن تفهم الكود الذي تعمل عليه ولا تعتمد بشكل كامل على هذه الأدوات، لأن النتائج ليست مضمونة الدقة في جميع الأوقات. إلى اللقاء في المرة القادمة، وبرمجة سعيدة!

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

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!