Die Softwareentwicklungslandschaft verändert sich schnell, angetrieben durch die Verbreitung von Werkzeuge für künstliche Intelligenz. Diese KI -Code -Tools fallen in zwei Hauptkategorien: Generatoren, die darauf abzielen, ganze Codebasen aus Eingabeaufforderungen und Assistenten zu erstellen, die sich direkt in den Workflow des Entwicklers integrieren. Die grundlegenden architektonischen und philosophischen Unterschiede zwischen diesen Ansätzen ändern die Arbeit der Entwickler.
Ivan Liagushkin, ein Softwareentwickler mit über 10 Jahren Erfahrung in groß angelegten Webanwendungen, bietet Einblicke in dieses sich entwickelnde Bereich. Er ist verantwortlich für das Ingenieurwesen bei Twainein AI -Texter -Startup, das von Sequoia Capital unterstützt wird.
Definieren von KI -Codegeneratoren und Assistenten
„Tools wie V0.dev und Github Copilot mögen ähnlich erscheinen, sind jedoch philosophisch grundsätzlich unterschiedlich“, sagte Liagushkin. „Generatoren konkurrieren hauptsächlich mit Plattformen mit No-Code- und Low-Code-Plattformen und zielen auf Nicht-Entwickler-Fachkräfte ab. Codierungsassistenten zielen dagegen darauf ab, alltägliche Codierungs-Workflows zu transformieren.“
Generatoren wie V0.dev von Vercel und Bolt.New von Stackblitz sind so konzipiert, dass sie eine schnelle Prototyping und MVP -Start ermöglichen. Sie sind oft über die Technologien, die sie verwenden und bestimmte Tools und Plattformen nutzen, häufig zu der Meinung.
„Diese Generatoren sind sehr überzeugt über die Technologien, die sie verwenden, und fördern häufig bestimmte Tools, die Benutzer abonnieren können“, sagte Liagushkin. „Zum Beispiel fördern sowohl Bolt
Codierungsassistenten hingegen konzentrieren sich auf die nahtlose Integration in vorhandene Workflows, das Verständnis von Codebasen und die Bereitstellung universeller Werkzeuge zwischen Technologien. Sie sind so konzipiert, dass sie sowohl für einzelne Entwickler als auch für Teams hilfreich sind.
„Codierungsassistenten wollen die alltägliche Codierung verändern“, sagte Liagushkin. „Es ist für sie wichtig, insbesondere für einzelne Entwickler und Teams Sinn zu machen. Cursor Editor Sieht besonders vielversprechend aus und bietet eine bequeme Möglichkeit, LLM-Anweisungen mit sogenannten „Cursorregeln“ zu teilen und zu skalieren. „
Die zugrunde liegende Architektur dieser Tools ist ähnlich, mit dem primären Unterschied in der Benutzeroberfläche und der Kontextvergrößerungsansätze. Die Kernkomponente ist das große Sprachmodell (LLM).
„Die Schlüsselkomponente ist die LLM selbst“, sagte Liagushkin. „Alle erwähnten Generatoren verlassen sich auf das Claude 3.5-Sonett von Anthropic, das hochmoderne Codierungsmodell für lange Zeit, das nur durch seinen Nachfolger Claude 3.7 Sonnet-Coding-Assistenten übertroffen wird, und ermöglichen das Wechsel zwischen den Modellen.“
Innerhalb der Architektur: Wie KI -Codierungswerkzeuge funktionieren
Diese Tools feiner die Modelle in der Regel nicht abgestimmen, sondern verlassen sich auf fortgeschrittene Aufforderungstechniken. Open-Source-Werkzeuge wie Bolt.NEW geben Einblicke in die Architektur.
„Dank Bolt.NEW, da wir Open-Source sind, können wir untersuchen, was verwendet wird“, sagte Liagushkin. „Die Eingabeaufforderung des Kernsystems erklärt der LLM-Ausführungsumgebung und den verfügbaren Aktionen: Erstellen und Bearbeiten von Dateien, Ausführen von Shell-Befehlen, Durchsuchung von Codebasen und Verwendung externer Tools. Aufforderungen werden mit Formatierung von XML-Stil gut strukturiert und ein One-Shot-Lernen verwendet, um Halluzinationen und Inkonsistenzen zu reduzieren.“
Das Verwalten von Kontext, insbesondere für große Codebasen, ist eine bedeutende Herausforderung. Assistentenindex-Codebasen und verwenden Sie Vektordatenbanken für die Volltext-Suche.
„Die größte Herausforderung besteht darin, LLMs einen richtigen Kontext zu bieten“, sagte Liagushkin. „Es ist wichtig, die richtigen Teile der richtigen Dateien zusammen mit entsprechenden Modulen, Dokumentationen und Anforderungen zu füttern. Assistenten indexieren Sie die Codebasis, erstellen baumförmige Datenstrukturen, um Dateienänderungen zu überwachen, und dann die Dateien in Vektordatenbanken für die Suchen in der Volltexte zu chunk und einbetten.“
Die letzten 30%
Trotz ihrer Leistung haben KI -Codierungswerkzeuge Einschränkungen. Das von Addy Osmani artikulierte „70% -Problem“ unterstreicht ihren Kampf mit den letzten 30% des Code, der Robustheit und Wartbarkeit erfordert.
„Das 1970% -Problem“ beschreibt die grundlegende Einschränkung der KI-Codierungswerkzeuge perfekt: Sie können schnell Code generieren, mit dem Sie 70% des Weges dorthin bringen, aber mit den entscheidenden letzten 30% zu kämpfen haben, die Software-Produktion, wartbar und robust „, sagte Liagushkin.
In Bezug auf diese Einschränkungen wird die Verbesserung der Modellgenauigkeit, die Förderung von Agentenarchitekturen und die Verbesserung der Bereitstellungstechniken geeignet.
„Dieses Problem wird auf drei verschiedene Arten gelöst“, sagte Liagushkin. „Erstens werden die Modelle genauer. Zweitens wird die Architektur der Codierungsassistenten durch agentenische Ansätze voranschreiten. Schließlich werden wir uns ändern. Jeder wird effektive Aufforderungstechniken lernen.“
Bei Twain hat Liagushkin ähnliche Einschränkungen bei der Entwicklung von KI -Texter erlebt. Zu den Strategien, um diese zu mildern, gehören LLM -Anfragen zwischengefragt, Modelljonglieren und sofortige Vorverarbeitung.
„Der einzige Unterschied zwischen Codierungsassistenten und Twain besteht darin, dass Codierungsassistenten Code produzieren, während Twain personalisierte Botschaften von menschlich geschriebener Qualität erzeugt“, sagte Liagushkin. „Die Herausforderungen bleiben jedoch gleich-um wertvoll zu sein, müssen wir Kopien schnell und kostengünstig erzeugen und sie frei von Halluzinationen halten.“
Die Zukunft vorwegnehmen
Mit Blick auf die Zukunft erwartet Liagushkin erhebliche Fortschritte bei der Modellqualität und Workflow -Entwicklung. Er betont jedoch, dass die Einführung der Technologie ein kritischer Faktor bleibt.
„Der Fortschritt der KI-Modellqualität ist erstaunlich, und wir sollten erwarten, dass Modelle noch genauer, stabiler und kostengünstiger werden“, sagte Liagushkin. „Ich glaube jedoch, dass wirklich transformative Veränderungen der Codierungsprozesse nicht in erster Linie aus Ingenieur- und KI -Durchbrüchen, sondern von Workflows und Denkweise entstehen werden.“
Ethische Überlegungen, insbesondere die Datensicherheit, sind ebenfalls von größter Bedeutung. Liagushkin schlägt vor, Codierungs -LLMs in lokalen Netzwerken bereitzustellen und Tools für die Sichtbarkeitsbeschränkung zu verwenden.
„Ethische Überlegungen betreffen in erster Linie die Datensicherheit – ein bedeutendes, aber technisch lösbares Problem“, sagte Liagushkin. „Codierung von LLMs kann in lokalen Netzwerken der Organisationen bereitgestellt werden, wobei die Sichtbarkeitsbeschränkungs -Tools für die Isolierung sensibler Codeabschnitte entwickelt werden.“
Die Zukunft der KI -Codierungswerkzeuge hängt von den technologischen Fortschritten und einer Verschiebung der Denkweise innerhalb der Entwicklungsgemeinschaft ab.