Coderen met een AI

Programmieren mit einem KI-Agenten

Künstliche Intelligenz (KI) hat die Art und Weise, wie wir programmieren, grundlegend verändert. KI-Agenten können Code generieren, optimieren und sogar beim Debuggen helfen. Dennoch gibt es einige Einschränkungen, die Programmierer bei der Arbeit mit KI beachten sollten.

Probleme mit Reihenfolge und Duplizierung

KI-Agenten haben Schwierigkeiten mit der korrekten Reihenfolge des Codes. Sie können beispielsweise Initialisierungen am Ende einer Datei platzieren, was zu Laufzeitfehlern führt. Darüber hinaus kann die KI ohne Zögern mehrere Versionen derselben Klasse oder Funktion innerhalb eines Projekts definieren, was zu Konflikten und Verwirrung führt.

Eine Code-Plattform mit Speicher und Projektstruktur hilft

Eine Lösung hierfür ist die Verwendung von KI-Codeplattformen, die Speicher und Projektstrukturen verwalten können. Dies hilft, die Konsistenz in komplexen Projekten zu wahren. Leider werden diese Funktionen nicht immer konsequent angewendet. Dadurch kann es vorkommen, dass die KI den Zusammenhang eines Projekts verliert und beim Programmieren unerwünschte Duplikate oder fehlerhafte Abhängigkeiten einführt.

Die meisten KI-Coding-Plattformen arbeiten mit sogenannten Tools, die das Large Language Model aufrufen kann. Diese Tools basieren auf einem offenen Standardprotokoll (MCP). Es ist daher möglich, einen KI-Coding-Agenten an eine IDE wie Visual Code anzubinden. Optional können Sie lokal ein LLM mit Llama oder Ollama einrichten und wählen Sie ein MCP-Server zur Integration. Modelle finden Sie auf huggingface.

IDE-Erweiterungen sind unverzichtbar

Um KI-generierten Code besser zu verwalten, können Entwickler IDE-Erweiterungen nutzen, die die Code-Korrektheit überwachen. Tools wie Linter, Type Checker und erweiterte Code-Analysewerkzeuge helfen, Fehler frühzeitig zu erkennen und zu korrigieren. Sie sind eine unverzichtbare Ergänzung zu KI-generiertem Code, um Qualität und Stabilität zu gewährleisten.

Die Ursache wiederkehrender Fehler: Kontext und Rolle in APIs

Einer der Hauptgründe, warum KI-Agenten Fehler wiederholen, liegt in der Art und Weise, wie KI APIs interpretiert. KI-Modelle benötigen Kontext und eine klare Rollendefinition, um effektiven Code zu generieren. Das bedeutet, dass Prompts vollständig sein müssen: Sie sollten nicht nur die funktionalen Anforderungen enthalten, sondern auch das erwartete Ergebnis und die Randbedingungen explizit machen. Um dies zu erleichtern, können Sie die Prompts in einem Standardformat (MDC) speichern und standardmäßig an die KI senden. Dies ist besonders nützlich für generische Programmierregeln, die Sie anwenden, sowie für die funktionalen und technischen Anforderungen und die Struktur Ihres Projekts.

Tools wie FAISS und LangChain helfen

Produkte wie FAISS und LangChain bieten Lösungen, um KI besser mit Kontext umgehen zu lassen. FAISS hilft beispielsweise bei der effizienten Suche und dem Abrufen relevanter Codeausschnitte, während LangChain bei der Strukturierung von KI-generiertem Code und der Beibehaltung des Kontexts innerhalb eines größeren Projekts hilft. Aber auch hier können Sie es optional lokal mit RAC-Datenbanken einrichten.

Fazit: Nützlich, aber noch nicht eigenständig

KI ist ein leistungsstarkes Werkzeug für Programmierer und kann helfen, Entwicklungsprozesse zu beschleunigen. Dennoch ist sie noch nicht wirklich in der Lage, eine komplexere Codebasis selbstständig zu entwerfen und zu erstellen, ohne menschliche Kontrolle. Programmierer sollten KI als einen Assistenten betrachten, der Aufgaben automatisieren und Ideen generieren kann, der jedoch weiterhin Anleitung und Korrektur benötigt, um zu einem guten Ergebnis zu gelangen.

Nehmen Kontakt um bei der Einrichtung der Entwicklungsumgebung zu helfen, damit Teams das Maximum aus der Entwicklungsumgebung herausholen und sich mehr mit Anforderungsanalyse und Design beschäftigen können als mit Debugging und dem Schreiben von Code.

 

Gerard

Gerard ist als KI-Berater und Manager tätig. Mit seiner umfangreichen Erfahrung bei großen Organisationen kann er Probleme außergewöhnlich schnell analysieren und auf eine Lösung hinarbeiten. In Kombination mit seinem wirtschaftlichen Hintergrund stellt er sicher, dass Entscheidungen geschäftlich fundiert sind.

AIR (Künstliche Intelligenz Roboter)