Vor nicht allzu langer Zeit war es LLMs (Large Language Models) nicht möglich, Code neu zu schreiben. Jedes LLM verfügt über ein Token-Limit, das festlegt, wie viele Wörter es aufnehmen und anwenden kann. Bei niedrigeren Token-Grenzwerten sind die Modelle nicht in der Lage, die Informationsmenge zu absorbieren, die für die Durchführung komplexer Aufgaben wie Codekonvertierungen erforderlich ist.
Das Softwareentwicklungsunternehmen Mantle stand kürzlich vor einer gemeinsamen Herausforderung: Es hatte einen Prototyp einer Aktienverwaltungsplattform der nächsten Generation in einer bestimmten Programmiersprache erstellt, die sich perfekt für eine schnelle Interaktion als Reaktion auf das Feedback von Kunden eignete.
Der in ihrem Produktionstechnologie-Stack verwendete Code war jedoch anders, und um das Produkt auszuliefern, musste Mantle die Codebasis von einer Sprache in eine andere konvertieren. Dies ist eine notorisch mühsame Aufgabe, vor der Softwareteams und Unternehmen regelmäßig stehen.
„Der Aufwand ist gerechtfertigt, aber der Prozess ist schmerzhaft“, sagte Dwayne Forde, Mitbegründer und CTO von Mantle. „Anstatt eine kundenorientierte Roadmap voranzutreiben, werden Sie jetzt einen erheblichen Teil Ihrer wertvollen Engineering-Zeit damit verbringen, vorhandene Funktionen neu zu erstellen.“
Forde – ein vertrauenswürdiger Branchenführer mit mehr als 20 Jahren technischer Erfahrung in Positionen bei Unternehmen wie VMware und Xtreme Labs – fragte sich, ob KI helfen könnte und schilderte den Prozess kürzlich in einem Blogbeitrag auf Mantle mit dem Titel „Arbeiten mit KI: Code Konvertierung.“
Er hofft, dass die Fallstudie anderen Technologieteams als nützliche Ressource dienen und ihnen helfen wird, Zeit und Mühe zu sparen.
Es ist der zweite Teil einer Reihe von Anleitungen, die Forde für technische Teams geschrieben hat, um die kollektiven Interessen des Sektors zu fördern, indem er zeigt, wie KI ihre Arbeit beschleunigen und verbessern kann.
„Unser Ziel war es nicht, 100 % perfekt gestalteten Code zu erhalten“, bemerkte Forde. „Das Ziel bestand darin, 80 % des Grundmusters und der sich wiederholenden Muster aus dem Weg zu räumen, damit sich die Ingenieure auf die hochwertige Validierung und Verifizierung konzentrieren und wir das Produkt ausliefern konnten.“
Vor nicht allzu langer Zeit war es LLMs (Large Language Models) nicht möglich, Code neu zu schreiben. Jedes LLM verfügt über ein Token-Limit, das festlegt, wie viele Wörter es aufnehmen und anwenden kann. Bei niedrigeren Token-Grenzwerten sind die Modelle nicht in der Lage, die Informationsmenge zu absorbieren, die für die Durchführung komplexer Aufgaben wie Codekonvertierungen erforderlich ist.
Aber mit der schnellen Weiterentwicklung der LLM-Software stiegen die Token-Limits, und Forde erkannte, dass sein Team spannende neue Optionen vor sich hatte. Höhere Grenzwerte bedeuteten, dass Modelle ihre Argumentation verbessern, komplexere Mathematik und Schlussfolgerungen durchführen und Kontexte in wesentlich größeren Mengen eingeben und ausgeben konnten.
Eine Million Token bedeuten laut Medium, dass ein Model das Äquivalent von 20 Romanen oder 1000 Rechtsfallbeschreibungen lesen kann.
Forde und sein Team verstanden, dass dieses deutlich höhere Token-Limit es ihnen ermöglichen würde, ganze Programmiersprachen in ein LLM einzuspeisen und ihm so im Wesentlichen die Zweisprachigkeit beizubringen.
Da das Konvertieren von Code äußerst arbeitsintensiv ist, wusste Mantle, dass die Konvertierung selbst kleiner Codemengen von einer Sprache in eine andere durch ein LLM die Lieferzeit des Engineering-Projekts enorm verbessern würde.
„Wir haben einen Ansatz entwickelt, der den Arbeitsumfang um zwei Drittel reduziert und Monate an Entwicklerzeit gespart hat“, schrieb Forde in seinem Beitrag.
Die Konvertierung des Mantle-Prototypprojekts in eine neue Codesprache hätte normalerweise Monate manueller Arbeit in Anspruch genommen.
Stattdessen, so Forde, hätten seine Ingenieure ihre Zeit darauf konzentriert, damit zu experimentieren, wie sie einen LLM am besten veranlassen könnten, einen Großteil der Arbeit für sie zu erledigen.
Es war nicht so einfach, die Codesprachen in das LLM einzuspeisen und es um eine Übersetzung zu bitten.
Unter Fordes Aufsicht durchlief das Mantle-Team einen Innovations- und Entdeckungsprozess, um die besten Anweisungen, Kontexte und Anleitungen für die Bereitstellung des LLM bei seiner Arbeit zu finden.
Sie fütterten die Modellcode-Schnipsel aus ihrer Prototyp-Quellsprache sowie vorhandene Produktionscodemuster und Beschreibungen ihrer Zielarchitektur und versorgten das LLM mit Kontext zu bestimmten Bibliotheken und Dienstprogrammen, die in Mantles eigenem Tech-Stack verwendet werden.
„Wir bevorzugen bestimmte Bibliotheken, daher war das Hinzufügen eines Kontextabschnitts sehr hilfreich, um sicherzustellen, dass der LLM-Ausgabecode mit dem, was wir verwenden, kompatibel ist“, sagte Forde.
Das Team hat sogar die LLM-Screenshots eingespeist, um zu zeigen, wie die Informationen präsentiert werden sollten, was für die KI allein aufgrund der Codesprache nicht offensichtlich wäre.
„Screenshots der vorhandenen Anwendung geben dem LLM ein visuelles Layout der Anwendung“, sagte Forde. „Der Kontext und die Richtung, die Sie geben, müssen nicht nur verbal sein. Sie können auch visuelle Referenzpunkte verwenden, um die gewünschte Ausgabe zu erhalten.“
In seinem Blogbeitrag erläutert Forde Schritt für Schritt den Prozess, den Mantle zur Konvertierung seines Codes verwendet hat. Der Prozess ist innovativ, iterativ und manchmal auch spielerisch.
Irgendwann wies das Mantle-Team den LLM an, „sich wie ein Softwareentwickler zu verhalten, der nur im Quellcode antworten konnte.“
Das Mantle-Team bat das LLM, jeweils nur kleine Codeabschnitte zu konvertieren, überprüfte seine Arbeit, korrigierte etwaige Fehlinterpretationen und machte dann weiter.
Das schrittweise Experimentieren ermöglichte es dem Mantle-Team, seine Arbeit im Laufe der Zeit zu verfeinern und zu verbessern und einen effektiven Prozess zu schaffen, der nun in zukünftigen Projekten repliziert werden kann.
„Nachdem die Datei generiert wurde, hat unser Team entweder die Ausgabe manuell überprüft und angepasst oder die
angepasstDas obige ist der detaillierte Inhalt vonArbeiten mit KI: Codekonvertierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!