StartseiteArtikel

Abschied von ineffektiven Anweisungen! Vollständige Analyse des AI-Kollaborations-Anweisungsrahmens, den Entwickler unbedingt lernen sollten.

神译局2025-06-28 08:00
Machen Sie den KI-Programmierassistenten zu einem zuverlässigeren Entwicklungspartner.

Shenyiju ist ein Übersetzungsteam von 36Kr, das Bereiche wie Technologie, Geschäftsleben, Berufsleben und Alltag im Blick hat und sich vor allem auf die Präsentation neuer Technologien, Ansichten und Trends im Ausland konzentriert.

Redakteursnotiz: Entwickler verlassen sich zunehmend auf künstliche Intelligenz-basierte Programmierhelfer, um ihren alltäglichen Arbeitsablauf zu beschleunigen. Die Qualität der Ausgabe der künstlichen Intelligenz-basierten Programmierhelfer hängt jedoch von der Qualität der Eingabeaufforderungen (Prompts) ab. In diesem Artikel wird das Framework der Prompt-Engineering für die drei Szenarien von Debugging, Refactoring und Entwicklung systematisch zerlegt, und wiederverwendbare Vorlagen und Vergleichsbeispiele werden beigefügt, um Entwicklern zu helfen, das Potenzial der künstlichen Intelligenz in der Zusammenarbeit zu entfalten. Der Artikel stammt aus einer Übersetzung.

Entwickler verlassen sich zunehmend auf künstliche Intelligenz-basierte Programmierhelfer, um ihren alltäglichen Arbeitsablauf zu beschleunigen. Diese Tools können Funktionen automatisch vervollständigen, Bugbehebungen vorschlagen und sogar ganze Module oder Minimal Viable Products (MVP) generieren. Wie viele von uns jedoch bereits erfahren haben, hängt die Qualität der Ausgabe der künstlichen Intelligenz in erheblichem Maße von der Qualität der von Ihnen bereitgestellten Eingabeaufforderung (Prompt) ab. Mit anderen Worten, die Prompt-Engineering hat sich zu einem unverzichtbaren Skill entwickelt. Eine unglücklich formulierte Anfrage kann zu irrelevanten oder allgemeinen Antworten führen, während eine sorgfältig konzipierte Eingabeaufforderung möglicherweise zu überlegten, genauen und sogar kreativen Codes Lösungen führt. Ziel dieses Artikels ist es, aus praktischer Sicht zu untersuchen, wie man systematisch effektive Eingabeaufforderungen für häufige Entwicklungsaufgaben konzipiert.

Künstliche Intelligenz-basierte Paarprogrammierungstools sind leistungsstark, aber keine Magie – sie fehlen an a priori-Wissen über Ihr Projekt oder Ihre Absichten und wissen nur, was Sie ihnen mitteilen oder als Kontext enthalten. Je reicher die Informationen sind, die Sie bereitstellen, desto besser ist das Ausgabeergebnis. Wir werden die wichtigsten Prompt-Muster, wiederverwendbare Rahmenwerke und unvergessliche Beispiele extrahieren, die sich bei Entwicklern ansprechen. Sie werden den Vergleich zwischen guten und schlechten Eingabeaufforderungen und ihren tatsächlichen künstlichen Intelligenz-Antworten sehen, zusammen mit Kommentaren, die erklären, warum eine erfolgreich war und die andere fehlgeschlagen ist. Hier ist eine Schnellreferenz für den Einstieg:

Grundlagen effizienter Code-Eingabeaufforderungen

Das Senden von Eingabeaufforderungen an künstliche Intelligenz-basierte Code-Tools ist etwas wie das Kommunizieren mit einem sehr pedantischen (und manchmal auch wissensreichen) Kooperationspartner. Um nützliche Ergebnisse zu erhalten, müssen Sie die Szene klar definieren und die KI dazu bringen, zu verstehen, was Sie möchten und wie Sie es möchten.

Hier sind die Grundprinzipien, auf denen alle Beispiele in dieser Anleitung basieren:

  • Bereitstellen von reichhaltigem Kontext. Nehmen Sie immer an, dass die KI außer den von Ihnen bereitgestellten Informationen nichts über Ihr Projekt weiß. Stellen Sie relevante Details wie Programmiersprache, Framework und Bibliotheken sowie die konkrete Funktion oder den Codeausschnitt mit Problemen bereit. Wenn es einen Fehler gibt, geben Sie die genaue Fehlermeldung an und beschreiben Sie, was der Code eigentlich leisten sollte. Konkretheit und Kontext bestimmen, ob Sie vage Vorschläge oder präzise, handhabbare Lösungen erhalten. In der Praxis bedeutet dies, dass Ihre Eingabeaufforderung möglicherweise eine ungefähre Einleitung haben sollte, beispielsweise: „Ich habe eine Node.js-Funktion, die Express und Mongoose verwendet und die einen Benutzer per ID abrufen sollte, aber sie wirft einen TypeError. Hier ist der Code und die Fehlermeldung...“. Je mehr Einleitungsinformationen Sie bereitstellen, desto weniger muss die KI erraten.

  • Klarstellen Sie Ihr Ziel oder Ihre Frage. Vage Abfragen führen zu vagen Antworten. Anstatt zu fragen: „Warum funktioniert mein Code nicht?“, sollten Sie klarer sagen, welche Art von Einsicht Sie benötigen. Beispielsweise: „Diese JavaScript-Funktion gibt undefined zurück anstelle des erwarteten Ergebnisses. Können Sie mir anhand des folgenden Codes den Grund und die Lösung finden?“ So haben Sie bessere Chancen, eine nützliche Antwort zu erhalten. Eine Formel für eine Debugging-Eingabeaufforderung lautet: „Das erwartete Verhalten ist [erwartetes Verhalten], aber wenn die Eingabe [Beispiel-Eingabe] erfolgt, ist das tatsächliche Verhalten [aktuelles Verhalten]. Wo liegt das Problem?“. Wenn Sie beispielsweise Optimierungen vornehmen möchten, beschreiben Sie genau, welche Art von Optimierung Sie benötigen (z. B. „Wie kann ich die Laufzeitleistung dieser Sortierfunktion bei der Verarbeitung von 10.000 Elementen verbessern?“). Klarheit kann die KI darauf hinweisen, worauf sie sich konzentrieren soll.

  • Zerlegen Sie komplexe Aufgaben. Wenn Sie eine neue Funktion implementieren oder ein mehrstufiges Problem behandeln, sollten Sie das gesamte Problem nicht in eine lange Eingabeaufforderung packen. Es ist normalerweise effektiver, die Arbeit in kleinere Teile aufzuteilen und iterativ vorzugehen. Beispielsweise: „Zuerst generiere einen React-Component-Skelett für die Produktlistenseite. Anschließend fügen wir die Zustandsverwaltung hinzu. Dann integrieren wir die API-Abfrage.“ Jede Aufforderung baut auf der vorherigen auf. Es wird normalerweise nicht empfohlen, die Implementierung der gesamten großen Funktion auf einmal zu verlangen; stattdessen beginnen Sie mit einem hohen Ziel und bitten dann iterativ um die Implementierung jedes Teils. Diese Methode macht die Antwort der KI nicht nur fokussierter und leichter zu verwalten, sondern spiegelt auch die Art wider, wie Menschen Lösungen schrittweise aufbauen.

  • Lege Beispiele für die Eingabe/Ausgabe oder das erwartete Verhalten ein. Wenn Sie mit einem Beispiel zeigen können, was Sie möchten, tun Sie es. Beispielsweise: „Gegeben das Array [3,1,4], sollte diese Funktion [1,3,4] zurückgeben.“ Die Bereitstellung eines konkreten Beispiels in der Eingabeaufforderung hilft der KI, Ihre Absichten zu verstehen und die Unklarheiten zu reduzieren. Es ist wie das Erstellen eines schnellen Testfalls für einen Anfänger-Entwickler – Sie können es explizit verlangen. In den Begriffen der Prompt-Engineering wird dies manchmal als „few-shot prompting“ bezeichnet, d. h., dass Sie der KI ein Muster vorzeigen, das sie befolgen soll. Selbst ein Beispiel für korrektes Verhalten kann die Antwort des Modells gut leiten.

  • Nutze Rollen oder Personas. In vielen weit verbreiteten Prompt-Beispielen ist eine leistungsstarke Technik populär, nämlich die KI bitten, eine bestimmte Persona oder Rolle „zu spielen“ (act as). Dies kann den Stil und die Tiefe der Antwort beeinflussen. Beispielsweise: „Spiele einen erfahrenen React-Entwickler und prüfe meinen Code auf potenzielle Fehler“ oder „Du bist ein JavaScript-Performance-Experte. Optimiere die folgende Funktion.“ Indem Sie eine Rolle festlegen, können Sie den Helfer dazu bringen, einen entsprechenden Ton anzuwenden – wie z. B. einen strengen Codeprüfer, einen Lehrer, der gerne Anfänger-Entwicklern hilft, oder einen Sicherheitsexperten, der nach Schwachstellen sucht. Gemeinschaftlich geteilte Eingabeaufforderungen haben den Erfolg dieser Methode bewiesen, beispielsweise: „Spiele einen JavaScript-Fehlerbehandler und helfe mir, diese Funktion zu debuggen. Die API-Abfrage rendert die Daten nicht richtig.“ Wir müssen selbst noch Code und Problemdetails bereitstellen, aber diese Rollenspielaufforderung kann zu einer strukturierten Ausgabe und expertisemäßiger Anleitung führen.

  • Iterativ optimieren Sie das Gespräch. Die Prompt-Engineering ist ein interaktiver Prozess, kein Einmalkauf. Entwickler müssen in der Regel die erste Antwort der KI prüfen und dann weitere Fragen stellen oder Korrekturen vornehmen. Wenn die Lösung nicht ganz passt, können Sie sagen: „Diese Lösung verwendet Rekursion, aber ich bevorzuge eine iterative Methode – können Sie es ohne Rekursion noch einmal versuchen?“ Oder: „Sehr gut, können Sie jetzt die Variablennamen optimieren und Kommentare hinzufügen?“ Die KI erinnert sich an den Kontext des Chatgesprächs, sodass Sie sie schrittweise zum gewünschten Ergebnis führen können. Der Schlüssel ist, die KI als einen Partner zu betrachten, den Sie leiten können – es geht um Fortschritte, nicht um Perfektion beim ersten Versuch.

  • Behalte die Klarheit und Konsistenz des Codes aufrecht. Das letzte Prinzip ist nicht so direkt, aber für Tools, die mit Ihrem Codekontext umgehen, sehr wichtig. Schreiben Sie auch vor der Verwendung von KI sauberen, gut strukturierten Code und Kommentare. Sinnvolle Funktions- und Variablennamen, eine einheitliche Formatierung und Docstrings machen Ihren Code nicht nur für Menschen leichter verständlich, sondern geben auch der KI stärkere Hinweise darauf, was Sie tun. Wenn Sie ein konsistentes Muster oder Stil zeigen, wird die KI es fortsetzen. Betrachten Sie diese Tools als äußerst aufmerksame Anfänger-Entwickler – sie nehmen alle Hinweise aus Ihrem Code und Ihren Kommentaren auf.

Wenn Sie diese Grundprinzipien im Kopf behalten, lassen Sie uns uns nun mit konkreten Szenarien befassen. Wir beginnen mit dem Debugging, was wahrscheinlich der direkteste Anwendungsfall ist: Ihr Code verhält sich ungewöhnlich und Sie möchten, dass die KI Ihnen hilft, den Grund zu finden.

Prompt-Muster für das Debugging von Code

Das Debugging eignet sich natürlich für KI-Helfer. Es ist wie das Besitzen einer Gummiwarnschild, die nicht nur zuhört, sondern auch Vorschläge macht. Der Erfolg hängt jedoch in erheblichem Maße davon ab, wie Sie das Problem der KI präsentieren. Hier sind die Methoden, um systematisch um Hilfe bei der Suche und Behebung von Bugs zu bitten:

  1. Schildere das Problem und die Symptome klar. Beschreiben Sie zunächst in der Eingabeaufforderung, was schiefgelaufen ist und was der Code eigentlich leisten sollte. Stellen Sie sicher, dass Sie die genaue Fehlermeldung oder das fehlerhafte Verhalten enthalten. Anstatt beispielsweise nur zu sagen: „Mein Code funktioniert nicht“, können Sie die Eingabeaufforderung so schreiben: „Ich habe eine JavaScript-Funktion, die die Summe eines Arrays von Zahlen berechnen sollte, aber sie gibt NaN (keine Zahl) anstelle der tatsächlichen Summe zurück. Der Code lautet wie folgt: [Enthalten Code]. Für ein Array von Zahlen wie [1,2,3] sollte sie eine Zahl (die Summe) ausgeben, aber ich bekomme NaN. Was könnte der Grund für diesen Bug sein?“ Diese Eingabeaufforderung definiert die Programmiersprache, das erwartete Verhalten, die beobachtete fehlerhafte Ausgabe und liefert den Codekontext – all dies sind entscheidende Informationen. Die Bereitstellung eines strukturierten Kontexts (Code + Fehler + erwartetes Ergebnis + die Methoden, die Sie versucht haben) legt eine solide Grundlage für die KI. Im Vergleich dazu bringt eine vage Frage wie „Warum funktioniert meine Funktion nicht?“ wenig – das Modell kann ohne Kontext nur die allgemeinsten Vermutungen liefern.

  2. Verwende eine schrittweise oder Zeilenweise Methode für knifflige Bugs. Für komplexere logische Fehler (bei denen keine offensichtliche Fehlermeldung geworfen wird, aber die Ausgabe falsch ist) können Sie die KI auffordern, den Code schrittweise auszuführen. Beispielsweise: „Analysiere diese Funktion Zeile für Zeile und verfolge bei jedem Schritt den Wert von `total`. Der Wert wird nicht richtig addiert – wo liegt der Fehler in der Logik?“ Dies ist ein Beispiel für eine Debugging-Eingabeaufforderung mit einer Gummiwarnschild – im Wesentlichen bitten Sie die KI, den Debugging-Prozess zu simulieren, den ein Mensch mit Print-Anweisungen oder einem Debugger ausführt. Solche Eingabeaufforderungen können oft subtile Probleme aufdecken, wie unresetete Variablen oder fehlerhafte bedingte Logik, da die KI den Zustand jedes Schritts detailliert beschreibt. Wenn Sie annehmen, dass ein bestimmter Teil des Codes problematisch ist, können Sie die Aufmerksamkeit fokussieren: „Erkläre, was der `filter`-Aufruf hier macht und ob er mehr Elemente ausschließt, als erwartet?“ Indem Sie die KI in die Rolle eines Erklärers versetzen, können Sie im Laufe der Erklärung Bugs aufdecken.

  3. Bereite möglichst ein minimales reproduzierbares Beispiel bereit. Manchmal ist Ihr tatsächlicher Codebasis groß, aber der Bug kann in einem kleinen Ausschnitt reproduziert werden. Wenn Sie den Code extrahieren oder vereinfachen können, der das Problem immer noch reproduziert, geben Sie ihn der KI. Dies macht es der KI nicht nur leichter, sich zu konzentrieren, sondern zwingt Sie auch, das Problem zu klären (was selbst in der Regel eine nützliche Übung ist). Beispielsweise, wenn Sie in einem tief verschachtelten Funktionsaufruf einen TypeError erhalten, versuchen Sie, ihn mit wenigen Zeilen teilbaren Codes zu reproduzieren. Das Ziel ist es, den Bug mit möglichst wenig Code zu isolieren, Annahmen über den Problemort zu machen, zu testen und zu iterieren. Sie können die KI an diesem Prozess beteiligen: „Dies ist ein vereinfachtes Beispiel, das den Fehler immer noch auslöst [Enthalten Codeausschnitt]. Warum tritt dieser Fehler auf?“ Durch die Vereinfachung können Sie Störungen eliminieren und der KI helfen, das Problem genau zu lokalisieren. (Diese Technik spiegelt die Empfehlung vieler erfahrenen Ingenieure wider: Wenn Sie den Bug nicht sofort finden können, vereinfachen Sie den Problemraum. Wenn Sie der KI ein kleineres Beispiel präsentieren, kann sie bei der Analyse helfen.)

  4. Stelle gezielte Fragen und Folgeaktionen. Nachdem Sie den Kontext bereitgestellt haben, ist es normalerweise effektiver, direkt nach dem zu fragen, was Sie benötigen, beispielsweise: „Was könnten die Gründe für dieses Problem sein und wie kann ich es beheben?“. Dies zwingt die KI, sowohl zu analysieren, als auch Vorschläge für die Lösung zu geben.