KI Coding Plugin: Unterschied zwischen den Versionen

Aus expecco Wiki (Version 25.x)
Zur Navigation springen Zur Suche springen
Inhalt gelöscht Inhalt hinzugefügt
Sv (Diskussion | Beiträge)
Ändrung im GUI
 
Zeile 9: Zeile 9:
* '''Anthropic Claude''' (claude-opus-4-7, claude-sonnet-4-6, claude-haiku-4-5)
* '''Anthropic Claude''' (claude-opus-4-7, claude-sonnet-4-6, claude-haiku-4-5)
* '''OpenAI ChatGPT''' (gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, o1, o3)
* '''OpenAI ChatGPT''' (gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, o1, o3)
* '''Ollama''' (codellama:7b, codellama:13b)

Je nach gewähltem Anbieter erscheint die Toolbar-Schaltfläche als
Je nach gewähltem Anbieter erscheint die Toolbar-Schaltfläche als
'''"Ask Claude"''' bzw. '''"Ask ChatGPT"'''; das Einstellungs-Tab
'''"Ask Claude"''' bzw. '''"Ask ChatGPT"'''; das Einstellungs-Tab

Aktuelle Version vom 25. Mai 2026, 14:27 Uhr

KI Coding Plugin

Das KI Coding Plugin bindet einen Large Language Model (LLM) basierten KI-Assistenten in den Activity-Editor (Aktivitäten-Code), den Compound-Netzwerk-Editor, den Dokumentations-Editor und in den ST/X Class Browser ein. Das Plugin unterstützt zwei Anbieter, die im Einstellungsdialog umschaltbar sind:

  • Anthropic Claude (claude-opus-4-7, claude-sonnet-4-6, claude-haiku-4-5)
  • OpenAI ChatGPT (gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, o1, o3)
  • Ollama (codellama:7b, codellama:13b)

Je nach gewähltem Anbieter erscheint die Toolbar-Schaltfläche als "Ask Claude" bzw. "Ask ChatGPT"; das Einstellungs-Tab heißt "AI Coding".

Aktivitäten-Editor

Im Aktivitäten-Code-Editor erscheint in der Toolbar eine Schaltfläche "Ask Claude" / "Ask ChatGPT" mit folgenden Aktionen:

  • Open KI Window — öffnet das eigenständige Chat-Fenster
  • Explain code — erklärt den Code der aktuellen Aktivität
  • Suggest improvement — schlägt Verbesserungen vor
  • Find bugs — sucht nach Fehlern, Race Conditions, nil-Handling-Problemen
  • Generate doc-comment — generiert eine Aktivitäts-Dokumentation inklusive Pin-Kommentaren und füllt den Documentation-Tab
  • Custom prompt... — freier Prompt; der Aktivitäts-Code wird als Kontext mitgesendet
  • Set model ▸ — Untermenü mit den Modellen des aktiven Anbieters (das aktuell aktive ist mit (active) markiert)
  • Set provider ▸ — nur sichtbar, wenn API-Schlüssel für mehr als einen Anbieter konfiguriert sind; Untermenü zum Umschalten zwischen Claude und ChatGPT

Code-Vorschläge können mit [Apply] (direkt am jeweiligen Code-Block im Chat oder über die obere Apply-Schaltfläche) in den Aktivitäts-Body übernommen werden. Vom KI gelieferte Smalltalk/X Hilfsmethoden (Form: Klasse >> selector) werden nach Rückfrage in die genannte Klasse compiliert.

Compound (Netzwerk) Editor

Auf der Toolbar von Compound-Worksheets erscheint dieselbe Schaltfläche, beschränkt auf die für Netze sinnvollen Aktionen (Open KI Window, Generate doc-comment) — ebenfalls mit den Untermenüs Set model und ggf. Set provider.

Dokumentations-Editor

Der Dokumentations-Tab der Block-Description (Editor für Test-Cases, Test-Plans und Aktivitäten) trägt dieselbe Toolbar-Schaltfläche "Ask Claude" / "Ask ChatGPT" mit den Einträgen Open KI Window, Generate doc-comment sowie den Untermenüs Set model und ggf. Set provider. Generate doc-comment analysiert den aktuellen Block (Name, vorhandene Beschreibung, Eingangs-/Ausgangs-Pins, Sub-Steps eines Compound-Netzes, referenzierte Environment-Variablen) und schlägt eine vollständige Block- und Pin-Dokumentation vor.

Ist der Block schreibgeschützt (importierte Library, RTL-Lizenz), fragt [Apply] nach, ob der Block freigeschaltet und die Dokumentation eingetragen werden soll.

Class Browser (ST/X)

Im Class Browser stehen die Aktionen unter dem AI-Untermenü sowie im Selektor-Kontextmenü zur Verfügung. Die Aktionen operieren auf der aktuell ausgewählten Methode (Klasse + Selektor + Quelltext werden als Kontext mitgesendet). [Apply] kann das Resultat direkt in die Methode der aktiven Klasse einbauen. Auch hier sind Set model und ggf. Set provider als Untermenüs verfügbar.

Chat-Fenster

Das eigenständige Chat-Fenster trägt den Titel AI Coding [<Produkt> / <Modell>] (z.B. "AI Coding [Claude / claude-opus-4-7]") und zeigt nach jedem Turn den Tokenverbrauch und die kumulierten Kosten — sofern Preise für das gewählte Modell hinterlegt sind. Anbieter- und Modellwechsel im Einstellungsdialog werden live übernommen.

Das Transkript ist als vertikales Panel von "Karten" aufgebaut:

  • Prosa-Karten enthalten den fließenden Text der Antwort; Zeilen werden auf die Fenster-Breite umgebrochen.
  • Code-Karten (eingerahmt) entstehen aus markdown-Code-Blöcken (```...```) und sind als Workspace editierbar — das Standard-Smalltalk-Popup-Menü bietet doIt / printIt / inspectIt, ein TestCase-simulatedSelf ist gesetzt, so dass self assert:... equals:... direkt ausgeführt werden kann. Lange Blöcke scrollen innerhalb der Karte. Rechts oben sitzen die Schaltflächen [Apply] (sofern für den Kontext sinnvoll) und [⎘ Copy]; links wird der Sprachtag (smalltalk, python, …) angezeigt.
  • Doku-Karten (volle Breite, Prosa) entstehen aus dem speziellen ```doc-Block, den der Dokumentations-Generator anfordert; Inhalt ist die Vorschlags-Dokumentation für Block- und Pin-Beschreibungen.

Scroll-Lock: solange der Anwender bereits am unteren Ende des Transkripts steht, folgt die Anzeige neu eintreffenden Karten automatisch; nach manuellem Hochscrollen bleibt die Position stehen.

Bilder können als Anhang versendet werden (Screenshot oder PNG/JPG-Datei). Anhänge funktionieren mit beiden Anbietern; bei OpenAI nur mit vision-fähigen Modellen (gpt-4o-Familie).

Einstellungen (AI Coding)

Im Einstellungsdialog unter Plugins → AI Coding (bzw. unter Tools → AI Coding im Smalltalk-Launcher) werden konfiguriert:

  • Provider — Anthropic oder OpenAI. Beim Wechsel werden API-URL und Default-Modell entsprechend angepasst; der gespeicherte API-Schlüssel des jeweiligen Anbieters wird geladen.
  • API Key — Schlüssel des aktuell gewählten Anbieters. Die Schlüssel werden pro Anbieter getrennt gespeichert (#claudeApiKey_anthropic bzw. #claudeApiKey_openai), so dass zwischen den Anbietern ohne erneute Eingabe gewechselt werden kann. Das Setzen des Schlüssels erfolgt ausschließlich über diesen Dialog.
  • Model — ein Modell aus der Liste des aktiven Anbieters oder ein selbst eingegebener Modellname. Kann auch direkt über das Set model-Untermenü in den Editor-Toolbars umgeschaltet werden.
  • Max output tokens — maximale Antwortlänge.
  • API URL — nur zu ändern für eigene Proxies / Gateways. Standard: https://api.anthropic.com/v1/messages bzw. https://api.openai.com/v1/chat/completions.

API-Schlüssel beschaffen

Datenschutz / Datenfluss

Bei aktivem Anbieter Anthropic gehen die Anfragen direkt an api.anthropic.com, bei OpenAI direkt an api.openai.com. Es gibt keinen eXept-seitigen Proxy oder Zwischenspeicher. Mit dem Aktivitäts-Quelltext bzw. den Methoden- Quelltexten werden auch Pin-Beschreibungen, Sub-Step-Namen und referenzierte Environment-Variablen aus dem Block-Description-Modell als Kontext versendet.

Bei Benutzung von Anthropic API-Tokens - wie hier der Fall - werden laut Anthropic die Daten nicht zum Training des KI-Modells genutzt (Anthropic Erkärung dazu).

Tipps

  • Mehrere Konversationen: der Chat ist ein Singleton — eine neue Anfrage über ein Browser-/Editor-Menü startet jedesmal eine neue Konversation. Folge-Fragen (Klärung, Vertiefung) gehen über das Eingabefeld in derselben Konversation.
  • Vorsicht: Die Größe der übertragenen Daten (auch die aus dem Chatfenster) geht in die Kostenberechnung ein. Deshalb immer eine neue Konversation starten, wenn es um ein neues Thema geht.
  • Modell wechseln: Für schnelle Routine-Antworten Sonnet, für schwierige Refactorings Opus. Über das Set model-Untermenü direkt aus der Toolbar oder über die Settings.
  • Anbieter wechseln: Sind Schlüssel für beide Anbieter konfiguriert, schaltet das Set provider-Untermenü ohne Umweg über den Settings-Dialog um.
  • Code direkt ausführen: In Code-Karten kann markierter Smalltalk-Code per doIt / printIt / inspectIt direkt evaluiert werden — praktisch z.B. um vom Modell vorgeschlagene SUnit-Asserts gleich auszuprobieren, ohne den Code erst in einen Workspace zu kopieren.
  • Custom prompt eignet sich gut für „warum macht Methode X es so und nicht so?" oder „schreib mir einen ParameterizedTest dazu mit folgenden Daten: …".



Copyright © 2014-2024 eXept Software AG