Blog 2 Min. Lesezeit

Ist der Newcomer Llama 3 für C++-Entwickler nützlich?

Artikel teilen
Testing Whether the Newcomer Llama 3 Is Beneficial for C++ Developers

KI ist in vielen Bereichen allgegenwärtig geworden, auch in der Softwareentwicklung. Viele Entwickler nutzen generative KI als Unterstützung beim Programmieren. Schauen wir uns den Newcomer Llama 3 an und prüfen wir, wie nützlich er für C++-Entwickler ist.

Meta beschreibt Llama 3 kurz wie folgt:

Unsere neuen Llama-3-Modelle mit 8 bzw. 70 Milliarden Parametern stellen gegenüber Llama 2 einen großen Sprung dar und setzen in diesen Größenklassen einen neuen Maßstab für LLMs. Dank Verbesserungen beim Pretraining und Post-Training sind unsere vortrainierten und auf Anweisungen feinabgestimmten Modelle derzeit die besten Modelle in den Größenklassen 8B und 70B. Verbesserungen unserer Post-Training-Verfahren haben die Rate ungerechtfertigter Ablehnungen deutlich reduziert, das Alignment verbessert und die Vielfalt der Modellantworten erhöht. Auch Fähigkeiten wie Schlussfolgern, Codegenerierung und das Befolgen von Anweisungen wurden erheblich verbessert, wodurch sich Llama 3 gezielter steuern lässt.

Manche Entwickler interessieren sich möglicherweise nicht für generative KI-Werkzeuge, weil sie die Ergebnisse noch nicht für ausgereift genug halten. Das gilt besonders für erfahrene Entwickler, die schnell erkennen, an welchen Stellen generierter Code verbessert werden kann. Dennoch bin ich überzeugt, dass generierter Code für die meisten Entwickler ein wertvoller Ausgangspunkt für Implementierungen, Refactorings oder das Verständnis bestehenden Codes sein kann.

Finden wir heraus, ob Llama 3 für C++-Entwickler nützlich ist.

Neuen Code schreiben

Wir haben Llama 3 gebeten, das Problem der speisenden Philosophen in modernem C++ zu implementieren. Das Ergebnis ist interessant: Das Modell nutzt moderne C++-Features wirkungsvoll und erzeugt sauberen, gut verständlichen Code.

Wir wollten jedoch wissen, ob Llama 3 auch im Umgang mit einigen der beliebtesten C++-Bibliotheken trainiert wurde. Deshalb baten wir das Modell, mehrere Algorithmen mithilfe der Boost-Bibliothek zu implementieren. Die Ergebnisse waren beeindruckend: Llama 3 zeigt eine ausgeprägte Fähigkeit, Boost-Funktionen effektiv einzusetzen.

Ebenso testeten wir Llama 3 im Umgang mit der Qt-Bibliothek, indem wir es baten, ein Anmeldeformular zu implementieren. Auch hier waren die Ergebnisse bemerkenswert und zeigten, dass Llama 3 die Qt-Bibliothek effektiv einsetzen kann.

Code-Refactoring

Nachdem wir Llama 3 mit mehreren C++-Codebeispielen getestet hatten, stellten wir fest, dass seine Refactoring-Fähigkeiten über die folgenden Aufgaben hinausgehen:

  • Variablen umbenennen.
  • Duplizierten Code entfernen.
  • Code neu formatieren.
  • Unnötigen Code entfernen.
  • C++-Code modernisieren.

Es kann außerdem das Design verbessern, indem große Methoden in kleinere aufgeteilt werden. Dadurch wird der Code übersichtlicher und leichter wartbar.

Bestehenden Code erklären

Legacy-C++-Code zu verstehen ist eine wichtige Aufgabe, insbesondere für Entwickler, die neu in ein C++-Projekt einsteigen. Llama 3 um die Erklärung eines Codeabschnitts zu bitten, kann sehr hilfreich sein: Das Modell liefert eine detaillierte Beschreibung dessen, was der Code macht.

C++-Features beherrschen

Wird Llama 3 nach einem C++-Feature gefragt, liefert es eine kompakte Dokumentation mit zahlreichen Beispielen.

Fazit

Unsere Tests zeigen, dass Llama 3 ein sehr guter Assistent für C++-Entwickler sein kann. Es eignet sich für Aufgaben wie das Schreiben neuen Codes, Refactoring, das Erklären von Legacy-Code und das Erlernen von C++-Features. Daher empfehle ich C++-Entwicklern, es selbst auszuprobieren – die Ergebnisse könnten positiv überraschen.

Artikel teilen