Zum Hauptinhalt springen

GenAI-Tools

Generative KI (GenAI) bezeichnet KI-Systeme, die auf Basis neuronaler Netze Inhalte wie Texte, Bilder, Videos, Musik oder Quellcode erzeugen. Im Unterschied zu "traditionellen" KI-Systemen, die Muster erkennen oder Daten klassifizieren, kann GenAI mittels statistischer Wahrscheinlichkeiten neuartige Inhalte generieren, die nicht Teil der Trainingsdaten waren. Schlüsseltechnologien sind Large Language Models (LLMs) für Texte sowie Diffusionsmodelle und Generative Adversarial Networks (GANs) für Bilder und Videos. Moderne Chatbots wie ChatGPT, Gemini oder LeChat nutzen LLMs, um kontextabhängig und zusammenhängend zu antworten. KI-gestützte Assistenzsysteme (Co-Pilots) wie Microsoft 365 Copilot oder GitHub Copilot sind dagegen direkt in eine Anwendung integriert und unterstützen den Anwender aktiv, ohne die Kontrolle zu übernehmen. Eine neuere Entwicklungsstufe sind Agentic AI-Systeme, die eigenständig mehrschrittige Aufgaben planen und ausführen, indem sie Werkzeuge aufrufen, Code schreiben und ausführen sowie auf ihr Ergebnis reagieren. Ein Beispiel ist Claude Code — ein KI-gestützter Assistent, der direkt im Terminal läuft, eine ganze Codebasis analysiert und komplexe Entwicklungsaufgaben wie Refactoring, Fehleranalyse oder das Schreiben von Tests selbstständig durchführt.

Prompt Engineering

Prompt Engineering ist die Disziplin der gezielten Formulierung von Eingaben (Prompts), um von einem generativen Modell vorhersagbare, präzise und hochwertige Ausgaben zu erhalten. Ein guter Prompt zeichnet sich durch Klarheit, Kontext und Struktur aus. Die folgenden Techniken helfen dabei, die Qualität von Prompts zu verbessern.

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...
###

Context Engineering

Context Engineering bezeichnet die Disziplin, den Kontext eines LLMs so präzise und vollständig wie möglich zu gestalten, damit das Modell eine Aufgabe korrekt lösen kann. Während Prompt Engineering primär die Formulierung einzelner Eingaben optimiert, geht Context Engineering einen Schritt weiter: Es steuert systematisch, welche Informationen dem Modell überhaupt zur Verfügung stehen — also welche Dokumente, Codeausschnitte, Gesprächsverläufe oder Werkzeugdefinitionen in das Kontextfenster geladen werden. Besondere Bedeutung kommt Context Engineering bei Agentic AI-Systemen zu, da diese über viele Interaktionsschritte hinweg konsistente und fundierte Entscheidungen treffen müssen.

Das Kontextfenster (Context Window) eines LLMs ist der Bereich, in dem alle für eine Anfrage relevanten Informationen abgelegt werden. Es umfasst die Systemnachricht, den bisherigen Gesprächsverlauf, Werkzeugdefinitionen sowie abgerufene externe Inhalte. Da das Kontextfenster in seiner Größe begrenzt ist, entscheidet die Auswahl und Aufbereitung der enthaltenen Informationen maßgeblich über die Qualität der Modellausgabe.

Die Systemnachricht (System Prompt) ist eine vom Entwickler festgelegte Anweisung, die dem Modell vor dem eigentlichen Gespräch übergeben wird. Sie legt Rolle, Verhalten, Tonfall und Rahmenbedingungen des Assistenten fest.

Du bist ein erfahrener Java-Tutor. Antworte ausschließlich auf Fragen zur
Java-Programmierung. Erkläre Konzepte in einfacher Sprache und illustriere
sie immer mit einem kurzen Codebeispiel.

Vibe Coding

Vibe Coding ist eine Methode der Softwareentwicklung, bei der ein LLM den Quellcode auf Basis natürlichsprachlicher Beschreibungen generiert. Der Begriff wurde von OpenAI-Mitbegründer Andrej Karpathy geprägt. Im Unterschied zur herkömmlichen Softwareentwicklung steht nicht das Schreiben von Code im Vordergrund, sondern die klare Beschreibung der gewünschten Funktionalität durch Prompts — das LLM übernimmt die Implementierung. Vibe Coding ist damit im Kern eine Anwendung des Prompt Engineerings auf die Softwareentwicklung. Einsatzgebiete sind unter anderem Rapid Prototyping, die Erstellung von Minimal Viable Products (MVPs) und das Erzeugen von Boilerplate-Code. Nachteil ist eine oft schwankende Softwarequalität und ein erhöhter Wartungsaufwand — Vibe Coding eignet sich daher nur bedingt für komplexe oder qualitätskritische Anwendungen.

Im Beispiel soll ein einfacher Taschenrechner mit 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();
}

}

Agentic AI

Agentic AI-Systeme erweitern klassische LLMs um die Fähigkeit, selbstständig mehrschrittige Aufgaben zu planen und auszuführen. Dazu kombinieren sie ein Sprachmodell mit Werkzeugen (z.B. Dateisystem, Terminal, externe APIs) und einem Entscheidungs-Loop: Das Modell wählt das nächste Werkzeug, wertet dessen Ergebnis aus und entscheidet, wie es weiter vorgeht — bis die Aufgabe abgeschlossen ist. Claude Code ist ein Beispiel für ein solches System: Es läuft direkt im Terminal, analysiert eine Codebasis und führt Aufgaben wie Refactoring, Fehleranalyse oder das Schreiben von Tests eigenständig durch. Die Interaktion mit Agentic AI-Systemen erfolgt über Commands, Skills und Hooks.

Commands sind vordefinierte Slash-Befehle, die häufig benötigte Aufgaben mit einer kurzen Eingabe auslösen. Sie sind im Agenten fest eingebaut und decken typische Entwicklungsaufgaben ab — von der Versionsverwaltung bis zur Codeüberprüfung.

> /commit
> /review
> /fix