KI Coding Plugin: Unterschied zwischen den Versionen
Sv (Diskussion | Beiträge) Ändrung im GUI |
Cg (Diskussion | Beiträge) |
||
| 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, einTestCase-simulatedSelfist gesetzt, so dassself 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_anthropicbzw.#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/messagesbzw.https://api.openai.com/v1/chat/completions.
API-Schlüssel beschaffen
- Anthropic: console.anthropic.com, Schlüsselformat
sk-ant-.... - OpenAI: platform.openai.com/api-keys, Schlüsselformat
sk-...odersk-proj-.... Voraussetzung ist ein aufgeladenes Konto (Mindestbetrag derzeit USD 5).
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: …".