Claude & Discourse-bezogene Entwicklung. Wie gut ist es?

Ich bin kein Entwickler. Ich habe nur grundlegende Programmierkenntnisse. Ich kann einfachen Code lesen.

Kürzlich habe ich ein Plugin erstellt, das sich hauptsächlich auf Gemini Free stützt. 95 % des Codes wurden von der KI generiert.

Obwohl das Plugin definitiv funktioniert und die Benutzeroberfläche sowie die Admin-Erfahrung ganz in Ordnung sind, habe ich ernsthafte Bedenken hinsichtlich der Sauberkeit des Codes. Trotz meiner Bemühungen um Prompting[1] (und der manuellen Eingabe von Auszügen aus dem offiziellen Code in die KI) bin ich mir sicher, dass der Code die Discourse-Umgebung nicht optimal nutzt. Helfer, Komponenten, Klassen und so weiter. Deshalb habe ich es gelegentlich mit Teilen von offiziellem Code gefüttert.

Ich habe gehört, dass viele Entwickler heutzutage KI in ihrem Workflow verwenden. Ich bin neugierig, wie viel besser ein KI-generierter Discourse-Plugin-Code wäre, wenn die KI mit dem Discourse-Ökosystem vertraut wäre.

Mir wurde geraten, Claude und insbesondere das Opus-Modell auszuprobieren. Mir wurde auch gesagt, dass es sehr tokenintensiv und daher teuer ist.

Ich habe keine wirklichen Ambitionen für meine Projekte. Es ist nur ein Hobby. Ich bin neugierig, wie ein Plugin, das ich mir vorstelle, in der realen Welt aussehen würde, und KIs sind dafür recht gut geeignet.

Haben Sie versucht, KI bei der Entwicklung von Plugins oder Komponenten einzusetzen? Haben Sie versucht, Claude Opus in Ihre IDE zu integrieren? Wie hilfreich war es?
Nutzt es den Codebestand ordnungsgemäß, um neuen Code zu generieren?
Wie teuer ist es? Welchen Plan haben Sie gewählt?


  1. Das Schreiben von „Prompting-Bemühungen“ lässt mich unangenehm verlegen fühlen :lolsob: ↩︎

4 „Gefällt mir“

Ich habe festgestellt, dass es erheblich besser ist, mit einer KI an Discourse zu arbeiten, wenn diese Beispiele hat, von denen sie ausgehen kann, und Claude Code ist speziell gut darin (das CLI von Google Gemini auch!).

Für einen Hobbyisten könnte der Plan für 20 $/Monat wahrscheinlich schon sehr weit bringen … es ist nicht allzu schwer, an die täglichen Limits zu stoßen, aber an diesem Punkt kann man entweder warten, bis das Limit zurückgesetzt wird, oder ein paar Credits kaufen.

3 „Gefällt mir“

Ich glaube, ich habe mich beim Preis geirrt. Die Free/Pro/Max-Pläne gelten für die Nutzung von Gemini über deren Weboberfläche. (https://claude.com/pricing). Der API-Preis basiert auf Tokens (https://claude.com/pricing#api); es gibt keine monatlichen Abonnements für die Nutzung ihrer API, oder?

Wenn man KI beispielsweise in VSCode verwendet, muss man deren API nutzen.

Edit: Nun, ich werde mir ein paar Tutorials ansehen, bevor ich das nächste Mal schreibe :upside_down_face:

1 „Gefällt mir“

Diese letzte Woche habe ich einige Zeit damit verbracht, ein Discourse-Plugin mit ask.discourse zu schreiben. Ich war erstaunt, wie ich die Funktion des Plugins, das ich erstellen wollte, beschreiben konnte und es spuckte viele Tipps und Code-Schnipsel aus, von denen einige tatsächlich funktionierten.

Ich bin ein Hobbyprogrammierer. Neben meiner Discourse-Instanz betreibe ich einen weiteren Server mit einer MySQL-Datenbank, einem PHP-Backend und einem Jquery/Javascript-Frontend, bin aber kein professioneller Programmierer. Meistens, wenn ich diese Seite entwickle, gebe ich einfach normales Google ein, was ich will, und es (vermutlich Gemini) spuckt Codebeispiele aus. Die meisten laufen sofort und ich bin gut genug in Javascript, um herauszufinden, warum sie es nicht tun, wenn sie es nicht tun.

Ich habe im Laufe der Jahre viele Programmiersprachen verwendet und in vergangenen Jahren Stunden damit verbracht, zu lesen, zu suchen und zu experimentieren, um Dinge herauszufinden, die ich jetzt in Google eingebe und in Minuten beende, was früher Stunden oder Tage gedauert hätte.

Ich war erstaunt, wie gut ask.discourse funktionierte, und schließlich bekam ich ein Plugin zum Laufen, das ungefähr das tat, was ich wollte. Mit etwas Styling (CSS) könnte es ein brauchbares Plugin werden. Ich bin fasziniert von der Möglichkeit, dass ein KI-gestützter Dienst die Codeerstellung rationalisieren könnte.

3 „Gefällt mir“

Ich habe ein Plugin für meine Discourse-Seite mit Antigravity geschrieben, das die beliebtesten Anime-Serien anzeigt. Ich habe auch eine Beobachtungsliste erstellt. Manchmal kommt es zu Fehlfunktionen und man muss viele Korrekturen vornehmen, aber ich bin einigermaßen zufrieden.

2 „Gefällt mir“

Ich habe es mit VSCode mit einem Pro-Plan (20 $) zum Laufen gebracht. Ich finde den Verbrauch angemessen. 3 Stunden an Prompts führten mich zu diesem Ergebnis:

Bisher waren die Ergebnisse nicht großartig. :thinking:

Interessant wäre es zu beschreiben, was konfiguriert werden sollte oder was Claude mitgeteilt werden sollte, wenn ein Plugin oder ein Theme-Komponente für Discourse (aus dem Skelett) erstellt wird.

Welche Anweisungen sollten in CLAUDE.md geschrieben werden, um seine Effizienz zu maximieren?

Sollten bestimmte Discourse-Verzeichnisse bei der Informationssuche in der Codebasis priorisiert werden (ich denke an Controller, Models, Serializers, Services…)?

Wie kann man es auf die Standard-Dateihierarchie, Benennung und Konventionen aufmerksam machen?

1 „Gefällt mir“

Wir sollten Fähigkeiten ausliefern, @j.jaffeux und ich denke, sie können sehr hilfreich sein

6 „Gefällt mir“

Ich nehme an, Sie meinen das hier


Für diejenigen, die neu bei Fähigkeiten sind, finden Sie Folgendes möglicherweise wertvoll.

Die Liste ist nicht vollständig und wird jeden Tag schneller und länger.

1 „Gefällt mir“

Ich habe mir https://github.com/discourse/discourse/blob/main/AI-AGENTS.md angesehen.

Ich habe Fragen!

  • NIEMALS find()-Ergebnisse speichern – führt zu veralteten Elementreferenzen nach dem erneuten Rendern

  • IMMER alle vorgenommenen Änderungen linten

Verstehen KIs die Betonung durch Großbuchstaben? Würde es anders reagieren, wenn es stattdessen „Never“ und „Always“ geschrieben würde?

Werden Dinge wie „architect mode“ oder andere „xxx mode“-Prompts zu weichen Standards in der KI-Entwicklung? Haben sie irgendeine tatsächliche Auswirkung auf das Modellverhalten? Sind sie reine Konventionen?

  • Keine offensichtlichen Tests schreiben

Ich kann sehen, was ein offensichtlicher Test ist, aber verstehen KIs, was ein offensichtlicher Test (oder irgendetwas Offensichtliches) ist?

Ich habe ein paar Tage mit Claude in VSCode herumgespielt. Es ist ziemlich beeindruckend zu sehen, wie alles von selbst funktioniert. Dateien lesen, erstellen, ändern, Bash-Befehle ausführen usw. … :exploding_head:

Bezüglich Claudes Arbeit an der Plugin-Erstellung habe ich Folgendes beobachtet:

  • Beim Iterieren über dieselben Codeabschnitte und beim Lösen von Problemen neigt es dazu, übermäßig spezifische Variablennamen zu verwenden. Zum Beispiel würde es eine Variable original_url anstelle eines sehr feinen und einfachen url nennen, als ob es auf vorgenommene Änderungen hinweisen wollte, obwohl dies nicht notwendig ist.

  • Iterationen führen oft zu verschachteltem Code und manchmal zu unnötig komplizierten Abfragen. Die KI aufzufordern, regelmäßig zu überprüfen und auf Teile des Codes hinzuweisen, die refaktorisiert werden können, erweist sich als nützlich dafür :slight_smile:

  • Wenn es gebeten wird, Lösungen für ein bestimmtes Problem zu finden, war ich von den Antworten angetan.
    Die Vorschläge scheinen zutreffend zu sein. Wenn es mehrere Optionen vorschlägt, kann es die Vor- und Nachteile jeder einzelnen Option genau abwägen.

  • In SCSS verwendet es (selten) hartcodierte Farben, wo dies nicht ratsam ist, anstatt die Farbvariablen von Discourse zu verwenden.

  • Es scheint sich nicht bewusst zu sein über Designing for Different Devices (Viewport Size, Touch/Hover, etc.) und verlässt sich stattdessen auf Standard-Medienabfragen.

  • Nachdem mehrere Aufgaben erledigt wurden, lasse ich die KI gerne den Code überprüfen und sehen, ob einige Teile optimiert werden können, ohne die Wartbarkeit zu beeinträchtigen. Ich hatte nicht viele Probleme mit den Ergebnissen. Manchmal optimiert es zu sehr und zerstört den Code.

  • Gelegentlich scheint es unnötige Bedingungen aus Gründen der Sicherheit und Robustheit zu erstellen, aber für Situationen, von denen ich nicht sicher bin, ob sie in realen Bedingungen existieren.
    Zum Beispiel würde es in meinem suchbezogenen Plugin überprüfen, ob ein Beitrag zugehörige Themen hat. Aber Beiträge ohne Thema sollen in Discourse, glaube ich, nicht existieren. Wenn Sie einen haben, bedeutet das, dass zu irgendeinem Zeitpunkt etwas in Ihrer Instanz sehr schiefgelaufen ist, oder? Ich denke, es ergab keinen Sinn, diese Prüfung in meinem Plugin vorzunehmen. :thinking:

  • Es scheint gut darin zu sein, Tests zu erstellen!

Also, bisher eine gute Erfahrung, selbst ohne erweiterte KI-Konfiguration zu verwenden.
Ich habe mein wöchentliches Kontingent in vier Tagen aufgebraucht, was großartig ist, weil es mich zwingt, eine dreitägige Pause einzulegen :raising_hands:

Gespannt, wie es sich ändern wird, wenn die Fähigkeiten von Discourse hinzugefügt werden.

4 „Gefällt mir“