3. Vergleich von AI-Programmierungstools

3.1. Einführung

In diesem Dokument wird ein Vergleich von fünf AI-Programmierungstools durchgeführt: GTP3.5, GPT4, Gemini, CodeGeeX und Bing. Wir haben ein einfaches Programm mit mehr als drei Klassen in drei verschiedenen Programmiersprachen getestet. Zusätzlich haben wir Hypothesen aufgestellt, wie z.B. ob die Sprache einen Unterschied macht (Englisch oder Deutsch), ob Grammatik relevant ist und ob die KI unmögliche Probleme erkennt und erklärt und versucht, eine Lösung zu finden.

3.2. Aufsetzen der KI’s

3.2.1. Verwendung von GPT3.5

Erreichbar unter https://chat.openai.com/

3.2.2. Verwendung von GPT4.0

Erreichbar unter https://chat.openai.com/

Wichtig! Ein Abonenment ist notwendig um GPT4.0 zu verwenden.

3.2.3. Verwendung von Bing

Erreichbar unter https://copilot.microsoft.com/

3.2.4. Verwendung von Gemini

Erreichbar unter https://gemini.google.com

3.2.5. Installation und Verwendung von CodeGeeX

Quelle: https://github.com/THUDM/CodeGeeX

CodeGeeX kann über Github gecloned und installiert werden, einfacher ist es aber über die VsCode Extensions.

  1. Schritt

    Bei Extensions Suchleiste „CodeGeeX“ suchen und installieren.

  2. Schritt

    Links in der Navbar erscheint nun das CodeGeeX Symbol. Auf das CodeGeeX Symbol klicken.

  3. Schritt

    CodeGeeX ist standartmäßig auf Chinesisch. Um das zu ändern auf Settings von VsCode -> Search Settings = @ext:aminer.codegeex -> Bei allen 3 Language Preference auf Englisch.

  4. Schritt

    Ctrl + Alt + I um Chat zu öffnen oder auf Dokument mit + oben rechts drücken.

3.3. Testprogramm

Das Testprogramm besteht aus mehr als drei Klassen und wurde in den folgenden drei Programmiersprachen implementiert:

  • Python

  • Rust

  • C++

3.4. Hypothesen

Wir haben die folgenden Hypothesen für den Vergleich aufgestellt:

  1. Die Sprache (Englisch oder Deutsch) könnte einen Einfluss auf die Leistung der AI haben.

  2. Die Grammatik könnte bei der Lösung komplexer Probleme relevant sein.

  3. Die AI könnte unmögliche Probleme erkennen und erklären, sowie versuchen, eine nahe Lösung zu finden.

3.5. Ergebnisse

Folgende Ergebnisse konnten wir feststellen:

  1. Allgemeiner Test in Python/Rust/C++: (Gewinner: GPT3.5, GPT4, CodeGeeX, Gemini)

  • GPT3.5: Die KI konnte für alle Sprachen ein verwendbares Ergebnis erzielen.

  • GPT4: Die KI konnte für alle Sprachen ein verwendbares Ergebnis erzielen.

  • CodeGeeX: Die KI konnte für alle Sprachen ein verwendbares Ergebnis erzielen.

  • Gemini: Die KI konnte für alle Sprachen ein verwendbares Ergebnis erzielen.

  • Bing: Die KI konnte hier nur für die Sprache Rust ein verwendbares Ergebnis erzielen. Bei den anderen Sprachen war die Implementierung nicht vollständig oder nur dummy mäßig.

  1. Sprachentest: (Gewinner: Gemini)

  • GPT3.5: Die KI konnte verwendbare Resultate liefern. Die Programme waren richtig, viele Kommentare waren vorhanden, jedoch waren bei der deutschen Sprache der Code in Englisch und die Kommentare auf Deutsch.

  • GPT4: Die KI konnte verwendbare Resultate liefern. Die Programme waren richtig, viele Kommentare waren vorhanden, jedoch waren bei der deutschen Sprache der Code in Englisch und die Kommentare auf Deutsch.

  • CodeGeeX: Die KI konnte verwendbare Resultate liefern. Die Programme waren richtig, es waren jedoch keine Kommentare vorhanden, der Code war bei beiden Prompts zudem in Englisch.

  • Bing: Die KI konnte verwendbare Resultate liefern. Die Programme waren richtig, es waren einige Kommentare vorhanden, der Code und die Kommentare war bei beiden Prompts in Englisch.

  • Gemini: Die KI konnte verwendbare Resultate liefern. Die Programme waren richtig, es waren viele Kommentare vorhanden, der Code und die Kommentare war in den jeweiligen Prompts in den „richtigen“ Sprachen.

  1. Rechtschreibungstest: (Gewinner: GPT4, Bing, Gemini)

  • GPT3.5: Die KI konnte verwendbare Resultate liefern. Wo die Rechtschreibung gut war, hat er die funktion nicht geprinted sondern returned, bei der schlechten Rechtschreibung hatte er keine Rundung bei der Berechnung der filled length.

  • GPT4: Die KI konnte verwendbare Resultate bei beiden Prompts liefern.

  • CodeGeeX: Die KI konnte ein verwendbares Ergebnis nur bei der einwandfreien Rechtschreibung liefern. Bei der schlechten Rechtschreibung war der Code nicht komplett funktionsfähig, die Loading Bar konnte nie ganz gefüllt werden, da davor ein Error geschmissen wird.

  • Bing: Die KI konnte verwendbare Resultate bei beiden Prompts liefern.

  • Gemini: Die KI konnte verwendbare Resultate bei beiden Prompts liefern.

  1. Unmögliche Probleme-test: (GPT4)

  • GPT3.5: Die KI konnte nur bei 1 von 3 Tests feststellen das das Problem nicht lösbar ist. Er hat bei allen 3 Tests versucht die nächstbeste Lösung zu finden.

  • GPT4: Die KI konnte bei 3 von 3 Tests feststellen das das Problem nicht lösbar ist. Er hat bei allen 3 Tests versucht die nächstbeste Lösung zu finden.

  • CodeGeeX: Die KI konnte bei 0 von 3 Tests feststellen das das Problem nicht lösbar ist. Er hat bei allen versucht nächstbeste Lösungen zu finden, diese waren jedoch sehr schlecht.

  • Bing: Die KI konnte bei 1 von 3 Tests feststellen das das Problem nicht lösbar ist. Er hat bei allen 3 Tests versucht die nächstbeste Lösung zu finden.

  • Gemini: Die KI konnte bei 2 von 3 Tests feststellen das das Problem nicht lösbar ist. Er hat bei allen 3 Tests versucht die nächstbeste Lösung zu finden.

3.6. Schlussfolgerung

  • GPT3.5 = 1 Punkt

  • GPT4 = 3 Punkte

  • CodeGeeX = 1 Punkt

  • Bing = 1 Punkt

  • Gemini = 3 Punkte

GPT4 und Gemini haben am besten abgeschnitten bei der Implementierung von Programmen in verschiedenen Programmiersprachen.

GPT4 ist besser bei der Erkennung von unmöglichen Problemen und der Suche nach einer nahe liegenden Lösung.

Gemini ist besser bei der Erkennung von Sprachen und der Erstellung von Code und Kommentaren in der richtigen Sprache.

Gemini ist im vergleich zu GPT4 komplett kostenlos unter https://gemini.google.com nutzbar.

Bei GPT4 muss man bei einem Subscription-Modell bezahlen.

Daher ist unser Gewinner Gemini.

Hinweis

Dieser Vergleich basiert auf unseren spezifischen Tests und Beobachtungen. Die Leistung der AI-Programmierungstools kann je nach Anwendungsfall variieren.