Zum Hauptinhalt springen

GenAI-Tools

Generative KI (GenAI) bezeichnet KI-Systeme, die auf Grundlage neuronaler Netze Inhalte wie Texte, Bilder, Videos, Musik, Quellcode etc. generieren können. GenAI bildet damit die Grundlage für moderne Chatbots wie ChatGPT, Gemini oder LeChat. Im Gegensatz zu "traditionellen" KI-Systemen, deren Aufgaben i.d.R. darin bestehen, Muster zu erkennen, Daten zu klassifizieren oder Zusammenhänge zu erkennen, kann GenAI mittels statistischer Wahrscheinlichkeiten und tiefgreifender Mustererkennung neuartige Inhalte erzeugen, die nicht Teil der Trainingsdaten waren. Schlüsselmodelle sind hierbei Large Language Models (LLMs) für Texte sowie Diffunsionsmodelle und Generative Adversarial Networks (GANs) für Bilder und Videos. Moderne Chatbots simulieren menschliche Konversationen über Text und Sprache und nutzen dabei LLMs, um dynamisch, kontextabhängig und zusammenhängend zu antworten. KI-gestützte Assistenzsysteme (Co-Pilots) wie Microsoft 365 Copilot und GitHub Copilot dagegen sind direkt in eine Anwendung (z.B. Textverarbeitungsprogramm, Tabellenkalkulationsprogramm, IDE) integriert und unterstützen den menschlichen Anwender aktiv, ohne dabei die Kontrolle zu übernehmen. Sie arbeiten quasi parallel zum Anwender.

Prompt Engineering

Prompt Engineering ist die Disziplin der Entwicklung und Optimierung von Eingaben (Prompts) mit dem Ziel, vorhersagbare, präzise und qualitativ hochwertige Ausgaben von generativen Modellen zu bekommen, die den spezifischen Anforderungen entsprechen. Die Grundprinzipien eines guten Prompts sind Klarheit, Kontext und Struktur. Um die Qualität von Prompts zu erhöhen und damit bessere, präzisere und zuverlässigere Ausgaben zu erhalten, können unterschiedliche Techniken verwendet werden.

Beim Delimiter-Prompting dienen Trennzeichen wie Rauten und Gravis dazu, Anweisungen klar vom eigentlichen Eingabetext zu trennen. Dies erhöht die Zuverlässigkeit der Verarbeitung.

Fasse den mit 3 Rauten umschlossenen Text in einem Satz zusammen.
###
Prompt Engineering ist...
###

Vibe Coding

Vibe Coding beschreibt eine neuartige Methode der Softwareentwicklung, bei der ein LLM zur Generierung des benötigten Quellcodes genutzt wird. Der Begriff wurde maßgeblich von OpenAI-Mitbegründer Andrej Karpathy geprägt und beschreibt die entspannte Zusammenarbeit mit der KI, bei der sich der Softwareentwickler voll und ganz auf den positiven Workflow und die inspirierende Atmosphäre mit der KI einlässt. Im Unterschied zur herkömmlichen Softwareentwicklung, bei der der Softwareentwickler selbst für das Erzeugen des Quellcodes zuständig ist, steht beim Vibe Coding die klare Beschreibung der Funktionalität in natürlicher Sprache durch Prompts im Vordergrund. Der konkrete Quellcode dagegen wird von der LLM erzeugt. Es handelt sich daher im Kern um eine Anwendung des Prompt Engineerings auf die Softwareentwicklung. Einsatzgebiete sind unter Anderem das Rapid Prototyping, die Erstellung von Minimal Viable Products (MVPs) sowie das automatische Erzeugen von Boilerplate-Code. Nachteil von Vibe Coding ist vor allem eine stark schwankende Softwarequalität und ein damit verbundener erhöhter Wartungsaufwand. Es eignet sich daher nur bedingt für komplexe Softwareanwendungen oder Softwareanwendungen mit einem hohen Qualitätsanspruch.

Im Beispiel soll ein einfacher Taschenrechner mit Hilfe von JavaFX entwickelt werden.

Eingabe

Ich möchte einen einfachen Taschenrechner mit Hilfe von JavaFX erstellen.
Der Taschenrechner soll die 4 Grundrechenoperationen für 2 Zahlen ermöglichen.
Starte mit dem Grundgerüst (Startklasse und Fenster).

Ausgabe

CalculatorApp.java (Ausschnitt)
public class CalculatorApp extends Application {

@Override
public void start(Stage primaryStage) {
BorderPane root = new BorderPane();
Scene scene = new Scene(root, 400, 300);
primaryStage.setTitle("Einfacher Taschenrechner");
primaryStage.setScene(scene);
primaryStage.show();
}

}