bei schnellen Umsetzungen. Da Codierung nun jedoch zur Ware geworden ist, sehe ich einen der größten Engpässe im Wissenstransfer zwischen einem menschlichen Gehirn und dem Codierungsagenten.

Wenn dem Programmieragenten eine Idee korrekt präsentiert wird, kann er die Lösung äußerst effektiv implementieren, testen und die korrekte Implementierung sicherstellen.

Allerdings gibt es in vielen Fällen viele Particulars, und es ist wirklich schwierig sicherzustellen, dass alle Particulars enthalten sind, wenn Sie den Codierungsagenten dazu auffordern.

Hier kommt die Ausrichtung ins Spiel, und in diesem Artikel werde ich erläutern, wie Sie effektiv sicherstellen können, dass Ihre Absichten mit Ihren Codierungsagenten in Einklang stehen, und ich werde einige Techniken vorstellen, die Sie dazu verwenden können.

Stimmen Sie sich mit Ihren Kodierungsagenten ab
Diese Infografik hebt die Hauptinhalte dieses Artikels hervor. Ich werde besprechen, wie Sie sich besser an Ihre Codierungsagenten anpassen können, um Ihre Effizienz bei der Arbeit mit ihnen zu steigern. Bild von ChatGPT

Warum sollten Sie sich an Kodierungsagenten orientieren?

Zunächst möchte ich immer besprechen, warum Sie sich für ein bestimmtes Thema interessieren sollten. In diesem Fall sollten Sie sich daher an Codierungsagenten wie Claude Code orientieren.

Codierungsagenten sind unglaublich intestine darin, Dinge umzusetzen, wenn ihnen eine sehr spezifische und intestine beschriebene Spezifikation gegeben wird.

Allerdings ist die Erstellung dieser intestine beschriebenen Spezifikation schwieriger als Sie vielleicht denken. Zunächst müssen Sie genau beschreiben, was Sie umsetzen möchten, wobei Sie eine Vorstellung davon im Kopf haben, was Sie tun möchten. Es gibt jedoch immer viele Nuancen, die bei der Beschreibung gegenüber dem Codierungsagenten auf diese Weise nur schwer abgedeckt werden können.

  • Möglicherweise vergessen Sie, einige Teile dessen zu erwähnen, was umgesetzt werden muss
  • Möglicherweise sind Sie sich einer Entscheidung, die Sie hinsichtlich der Implementierung treffen müssen, nicht bewusst
  • Ihre Erklärung könnte Unklarheiten enthalten

Bei diesen Punkten handelt es sich typischerweise um Dinge, die Ihnen vorher nicht auffallen, da Sie als Mensch natürlich keinen perfekten Kontext dessen haben können, was Sie umsetzen möchten, was in vielen Fällen etwas ist, das Sie umsetzen, weil Ihnen eine andere Particular person gesagt hat, was Sie brauchen, zum Beispiel ein Kunde oder ein Produktmanager.

Zweitens haben Sie keinen vollständigen Kontext, weil Sie nicht alles in der Codebasis vollständig kennen, insbesondere jetzt, wo viel Code von KI geschrieben wird. Es ist schwierig, im Voraus einen vollständigen Überblick über alles zu haben, und daher fehlt der perfekte Kontext.

Aus diesem Grund ist die Ausrichtung von Codierungsagenten so schwierig. In diesem Artikel beschreibe ich, wie Sie sich effektiv an Ihren Codierungsagenten ausrichten, damit Ihre Codierungsagenten eine optimale Leistung erbringen und die Implementierungen, die Sie von ihnen verlangen, besser auf einmal umsetzen können.

So stimmen Sie sich mit Ihren Codierungsagenten ab

In diesem Abschnitt beschreibe ich spezifische Techniken, die ich verwende, um mich an meinen Codierungsagenten anzupassen, und erläutere auch die Denkweise, wie ich mich an meine Codierungsagenten anpasse.

Jeder Abschnitt enthält eine bestimmte Idee, Denkweise oder Technik, die Sie in Ihre eigene Arbeit als Programmierer implementieren können, um sich effektiv an Ihre Codierungsagenten anzupassen.

Agenten gehen immer zum Normal Lösung

Das erste Konzept, das ich behandeln möchte, ist, dass Programmieragenten immer zur Standardlösung wechseln, wenn sie versuchen, etwas zu implementieren.

Damit meine ich, dass der Codierungsagent normalerweise frühere Implementierungen von etwas Ähnlichem in Ihrem Repository prüft, diese repliziert und es erneut durchführt.

Das heißt, wenn Ihr Code-Repository schlecht organisiert ist und Sie den Codierungsagenten bitten, eine neue Funktion zu implementieren, wird der Codierungsagent wahrscheinlich das schlechte Muster von zuvor fortsetzen und die neue Funktion nicht optimum platzieren.

Lassen Sie mich Ihnen ein konkretes Beispiel geben:

Viele Codebasen haben natürlich viele LLM-Aufrufe. In einer idealen Codebasis haben Sie einen Dienst, bei dem es sich im Grunde um eine einzelne Datei oder einen einzelnen Ordner handelt, der als LLM-Dienst bezeichnet wird und in dem Sie alle Ihre LLM-Aufrufe haben. Sie verfügen über Funktionen mit Optionen, die entscheiden, wie der LLM-Aufruf erfolgt. Zum Beispiel die Entscheidung, welches LLM verwendet werden soll, ob strukturierte Ausgabe verwendet werden soll oder nicht, maximale Ausgabetokens usw.

Eine schlecht organisierte Codebasis verfügt jedoch nicht über eine einzige Datei, sondern definiert die LLM-Aufrufanbieter in vielen verschiedenen Dateien, und jede Datei enthält einen separaten Aufruf an das LLM.

Das nennt man schlechte Trennung der Anliegen.

Wenn Sie sich nun in der intestine organisierten Codebasis befinden und einen weiteren LLM-Aufruf implementieren möchten, verwendet das LLM standardmäßig die natürliche Lösung, die natürlich darin besteht, die gemeinsam genutzte LLM-Dienstdatei zu verwenden, was großartig ist.

Wenn Sie jedoch in einer schlecht organisierten Codebasis arbeiten, in der LLM-Aufrufe separat in vielen verschiedenen Dateien erfolgen, wird der Agent dieses Verhalten wahrscheinlich fortsetzen und einen weiteren neuen separaten LLM-Aufruf durchführen, was das Muster der schlechten Trennung von Belangen weiter verschlimmert.


Der Punkt, den ich hier hervorheben möchte, ist, dass der Codierungsagent einfach dem natürlichen Muster in Ihrer Codebasis folgt, unabhängig davon, ob es sich um ein gutes Muster oder ein schlechtes Muster handelt. Deshalb ist es für eine effektive Abstimmung mit Ihrem Codierungsagenten so wichtig, sicherzustellen, dass Ihre Codebasis durchgehend gute Muster aufweist und dass Sie Ihren Code regelmäßig umgestalten.

Wenn Sie mehr über die Umgestaltung Ihres Codes erfahren möchten, können Sie meinen TDS-Artikel zum folgenden Thema lesen:

So überarbeiten Sie Code mit Claude Code

Das Tolle am Refactoring ist jetzt, dass Sie einfach Programmierer damit beauftragen können, es für Sie zu erledigen.

Aktive Nutzung des Planmodus

Eine wichtige Technik zur Abstimmung mit Ihren Codierungsagenten besteht darin, den Planmodus bei jeder Interaktion mit ihnen aktiv zu nutzen. Der Planmodus ist so großartig, weil er Ihnen hilft, Unklarheiten zwischen der Implementierung, die Sie sich vorstellen und dem LLM erklären, und der aktuellen Codebasis zu erkennen. Möglicherweise haben Sie vergessen, dass eine Änderung an der Codebasis Auswirkungen auf andere Teile der Codebasis hat, an die Sie nicht gedacht haben, und Sie eine Entscheidung darüber treffen müssen, ob Sie mit der Änderung fortfahren oder die Implementierungsdetails ändern möchten.

Sie sollten nicht davon ausgehen, dass Sie im Voraus über vollständige Kenntnisse der Codebasis verfügen, da Codebasen heute größtenteils von Programmieragenten geschrieben werden und es unmöglich ist, einen vollständigen Überblick über die Codebasis zu haben.

Allerdings benötigen Sie nicht wirklich einen vollständigen Überblick über die Codebasis, da Sie Ihren LLM einfach nach der Codebasis selbst fragen können. Sagen Sie es, um Unklarheiten in der gewünschten Implementierung zu erkennen und herauszufinden, wie diese im Widerspruch zur aktuellen Codebasis stehen könnten.

Zusammenfassend lässt sich sagen, dass Sie immer dann, wenn Sie eine neue Funktion implementieren möchten, den Planmodus mit Ihrem Agenten verwenden sollten. Sie sollten viel Zeit im Planungsmodus verbringen und mit dem Modell hin und her sprechen über:

  • Was Sie sich vorstellen
  • Welche Probleme kann das LLM in Bezug auf das, was Sie implementieren möchten, erkennen?
  • Wie können Sie diese Probleme lösen?

Stellen Sie dem Codierungsagenten so viel Kontext wie möglich zur Verfügung

Ein weiterer Grund, warum ich häufig eine Diskrepanz zwischen dem, was ein Ingenieur implementieren möchte, und dem, was ein Codierungsagent tatsächlich implementiert, sehe, ist, dass der Ingenieur über Kontext verfügt, der dem LLM nicht bereitgestellt wurde.

Stellen Sie sich zum Beispiel vor, dass Sie aufgefordert werden, eine Funktion zur Klassifizierung von Bildern in eine von 10 Kategorien zu implementieren. Sie möchten das neueste Claude Opus-Modell verwenden, weil Sie wissen, dass es das beste Modell ist, und natürlich möchten Sie das beste Modell verwenden, um die höchstmögliche Genauigkeit zu erreichen.

Bei einem Treffen, das Sie kürzlich mit Ihrem Chef hatten, sagte er Ihnen jedoch, dass wir das Claude-Opus-Modell nicht verwenden können, weil es unerschwinglich ist, und dass wir eine Lösung finden müssen, die zehnmal billiger ist.

Wenn der Ingenieur dann den Programmieragenten bittet, die Lösung zu implementieren, sagt der Ingenieur dem Programmieragenten einfach: „Hey, wir müssen diese Funktion implementieren, mit der wir Bilder in eine dieser 10 Kategorien klassifizieren. Bitte beheben Sie das sofort für mich.“


Das Drawback besteht hier natürlich darin, dass der Ingenieur dem LLM oder dem Codierungsagenten den Kontext des zu lösenden Issues gegeben hat, und natürlich ist es ein Drawback, das der Codierungsagent jetzt leicht lösen kann. Allerdings hat der Ingenieur vergessen, dem LLM den gesamten benötigten Kontext bereitzustellen, was bedeutet, dass er nicht die Standardlösung verwenden kann, die darin bestehen würde, die neuesten und besten LLMs wie Claude Opus zu verwenden. Er muss eine Lösung finden, die mindestens zehnmal günstiger ist.

Dies ist natürlich eine große Diskrepanz zwischen dem Programmierer und dem Ingenieur. Was passieren wird, ist, dass der Codierungsagent die Implementierung vornehmen wird. Nach Abschluss der Implementierung werden Sie als Ingenieur wahrscheinlich feststellen, dass die Lösung aus Kostengründen nicht wirklich möglich ist. Sie müssen Zeit damit verbringen, eine weitere Lösung zu finden, was im Grunde bedeutet, dass die gesamte Zeit, die Sie für die Implementierung der ersten Lösung aufgewendet haben, verschwendet ist.


Natürlich ist es unwahrscheinlich, dass das Beispiel, das ich hier gegeben habe, eintrifft, denn hoffentlich denken Sie daran, Ihrem Coding-Agenten den Kontext der Kostenminimierung mitzuteilen. Genau das Gleiche passiert jedoch immer wieder, wenn man vergisst, dem LLM oder dem Codierungsagenten einen Kontext mitzuteilen. Es beginnt etwas zu implementieren, und das ist grundsätzlich falsch, und der Ingenieur muss noch eine weitere Implementierung durchführen.

Um dies zu verhindern, müssen Sie dem Codierungsagenten so viel Kontext wie möglich geben. Beispielsweise sollten Sie dem Codierungsagenten Zugriff gewähren auf:

  • Transkripte von Besprechungsnotizen
  • Slack-Kanäle und DMs
  • Anmerkungen zum Begriff

Und alles andere, was für den LLM oder Coding Agent bei der Durchführung einer Implementierung nützliches Wissen und Kontext sein könnte. Dies verhindert Probleme, bei denen dem Codierungsagenten der Kontext fehlt, was die Entscheidungsfindung erschwert.

Abschluss

In diesem Artikel habe ich besprochen, wie man sich effektiv an Codierungsagenten anpasst. Ein sehr häufiges Drawback, das ich bei Ingenieuren und Coding-Agenten sehe, ist, dass sie nicht vollständig darauf ausgerichtet sind, was sie implementieren möchten. Der Ingenieur hat ein Bild davon im Kopf, was er umsetzen möchte und wie es aussehen würde. Ein anderer Ingenieur könnte ein anderes Bild im Kopf haben, und schließlich könnte der Programmierer ein drittes Bild davon haben, wie die Implementierung aussehen würde.

Das ist natürlich sehr problematisch und sollte unbedingt vermieden werden. Daher habe ich einige Techniken und Ideen bereitgestellt, die Sie sich merken, über die Sie nachdenken und die Sie aktiv nutzen sollten, wann immer Sie mit Ihren Codierungsagenten interagieren, um sicherzustellen, dass Sie so intestine wie möglich aufeinander abgestimmt sind, was wiederum die Implementierung und Codierung effektiver macht.

👋 Nehmen Sie Kontakt auf

👉 Mein kostenloses E-Ebook und Webinar:

🚀 Verzehnfachen Sie Ihr Engineering mit LLMs (kostenloser 3-tägiger E-Mail-Kurs)

📚 Holen Sie sich mein kostenloses E-Ebook „Imaginative and prescient Language Fashions“.

💻 Mein Webinar zu Imaginative and prescient Language Fashions

👉 Finden Sie mich in den sozialen Netzwerken:

💌 Unterstapel

🔗 LinkedIn

🐦 X / Twitter

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert