KI-Agent-Skills für Delphi, C++Builder und .NET | eSeGeCe

KI-Agent-Skills für Delphi, C++Builder und .NET

Ihr KI-Assistent hat den eSeGeCe-Quellcode nie gelesen, deshalb erfindet er Eigenschaften, die es nicht gibt, und legt Komponenten in die falsche Unit. Agent-Skills geben ihm die echte öffentliche API jeder Bibliothek. Kostenlos, MIT-lizenziert und mit einer Zeile installiert.

Selbstbewusster Code, der nicht kompiliert

Bitten Sie einen Assistenten um einen WebSocket-Client in Delphi, und Sie bekommen etwas gut Strukturiertes, das an feinen Stellen falsch ist. Der Grund ist nicht Nachlässigkeit des Modells. Der Grund ist, dass das Modell diese Bibliothek nie gesehen hat.

Diese Modelle haben aus öffentlichem Code gelernt. Die eSeGeCe-Komponenten sind kommerziell, ihr Quellcode war also nie Teil eines Trainingsdatensatzes. Das Modell erkennt die Form einer Delphi-Komponentenbibliothek und füllt den Rest aus anderen Bibliotheken auf, die es kennt. Daraus entstehen vier Fehlerbilder, und alle vier kosten Sie dieselben zwanzig Minuten, in denen Sie herausfinden, welche plausible Zeile die falsche ist.

Erfundene Member

Eine Eigenschaft oder ein Ereignis, das genau so klingt, wie wir es geschrieben hätten, und das es nicht gibt. Der Compiler ist das Erste, was Ihnen das sagt.

Die falsche Unit

Die Komponente gibt es wirklich, die uses-Klausel nicht. Das ist der mit Abstand häufigste Grund, warum generierter sgcWebSockets-Code nicht baut.

Eine API von vor drei Versionen

Wo ein Modell ein Fragment eines alten Beispiels gesehen hat, gibt es bereitwillig eine Methode wieder, die wir umbenannt oder entfernt haben.

Stille Editionsfehler

Code, der bei uns kompiliert und bei Ihnen nicht, weil die verwendete Komponente eine Edition benötigt, die Ihre Lizenz nicht enthält.

Dokumentation, die der Agent bei Bedarf liest

Ein Skill ist kein Plugin, das ausgeführt wird, und kein Modell, das auf irgendetwas trainiert wurde. Es ist ein Ordner mit Markdown, und der Mechanismus ist bewusst einfach.

1. Der Agent liest eine kurze Beschreibung

Jeder Skill beginnt mit wenigen Zeilen Frontmatter, und der einzige Teil, den der Agent immer vor sich hat, ist die description. Sie sagt in klaren Worten, welche Bibliothek und welchen Themenbereich der Skill abdeckt.

Das hält die Kosten niedrig. Ihr Agent schleppt keine Tausende Zeilen API-Referenz mit sich herum, während Sie ihn zu etwas ganz anderem fragen.

SKILL.md
---
name: sgcwebsockets-mq
description: Use when connecting Delphi or
  C++Builder code to a message broker with
  sgcWebSockets: MQTT, STOMP including
  RabbitMQ and ActiveMQ, AMQP 0.9.1, AMQP
  1.0, Kafka and WAMP2.
compatibility: Requires Delphi 7 to Delphi
  13, or C++Builder 2007 to 13.
---

2. Ihre Frage entscheidet, was geladen wird

Wenn Sie nach einem MQTT-Broker fragen, passt diese Beschreibung, und der Agent zieht den Message-Broker-Skill heran. Nichts anderes wird geöffnet. Fragen Sie stattdessen nach WebRTC, lädt ein anderer Skill.

Innerhalb des Skills navigiert er so, wie Sie es auch täten: über den Komponentenindex zur Komponente, dann zur API-Seite dieser Komponente, dann zur Typseite einer Optionsklasse, deren Werte er braucht.

skill folder
sgcwebsockets-mq/
  SKILL.md
  reference/
    components-index.md
    api/TsgcWSPClient_MQTT.md
    types/TsgcWSMQTTLWT_Options.md
  examples/TsgcWSPClient_MQTT.md
  concepts/overview.md

3. Der Inhalt wird aus unserem Quellcode erzeugt

Wir schreiben die API-Seiten nicht von Hand. Ein Generator liest die Bibliothek bei jeder Version ein und gibt die public- und published-Oberfläche aus: jede Komponente, ihre Eigenschaften, Methoden und Ereignisse, die Unit, in der sie liegt, die Edition, die sie enthält, und die Typen, die diese Member verwenden.

Die Skills beschreiben also genau die Version, die Sie tatsächlich haben. Sie können nicht auseinanderdriften wie ein von Hand gepflegtes Dokument, und eine im vergangenen Monat hinzugefügte Komponente steht am Tag ihrer Auslieferung darin.

reference/api/TsgcWSPClient_MQTT.md
unit: sgcWebSocket_Protocols
Edition: Standard

| Delphi | Type |
| `Client: TsgcWebSocketClient` | ... |
| `MQTTVersion: TwsMQTTVersion` | ... |
| `LastWillTestament: ...`      | ... |

4. Ein Mensch schreibt den Teil, den ein Generator nicht kann

Generierte Tabellen sagen einem Agenten, was es gibt. Sie sagen ihm nicht, dass eine Protokollkomponente keinen Socket besitzt, dass sie an einen Transport-Client angebunden wird, oder dass ein Broker auf Port 1883 Specifications.RFC6455 auf False gesetzt braucht.

Deshalb beginnt jeder Skill mit einem Playbook, geschrieben von den Leuten, die die Bibliothek geschrieben haben: wann er zu verwenden ist, was vor dem Schreiben von Code bei Ihnen zu klären ist, und die Fehler, über die man in der Praxis wirklich stolpert.

the playbook
## Things that catch people out

- Setting Active = true on the protocol
  component does nothing useful. The
  transport client owns the connection.
- One transport carries one protocol.
- MQTT has two heartbeats, and they are
  different mechanisms with the same name.

Einmal installieren, dann einfach fragen

Drei Agenten installieren Plugins direkt. Die übrigen lesen einen Ordner, Sie kopieren also einen hinein. Danach gibt es nichts aufzurufen: Der Agent entscheidet, wann ein Skill relevant ist.

/plugin marketplace add esegece-com/agent-skills
/plugin install sgcwebsockets-delphi@esegece

Fügen Sie den Marketplace einmal hinzu und installieren Sie dann so viele Plugins, wie Sie verwenden. /skills listet auf, was aktiv ist. Für ein späteres zweites Produkt ist der Marketplace-Schritt nicht noch einmal nötig.

codex plugin marketplace add esegece-com/agent-skills
codex plugin add sgcwebsockets-delphi@esegece
codex plugin list

Codex verwendet plugin add statt plugin install, und denselben Marketplace-Namen.

Klonen Sie das Repository und kopieren Sie dann den gewünschten Skill-Ordner aus plugins/<plugin>/skills/ in das Verzeichnis, das Ihr Agent überwacht. Die Projektebene hat Vorrang vor der globalen Ebene, ein in ein Repository gelegter Skill gilt also nur für dieses Projekt.

AgentIm ProjektGlobal
Claude Code.claude/skills/%USERPROFILE%\.claude\skills\
GitHub Copilot.github/skills/%USERPROFILE%\.copilot\skills\
Cursor.cursor/skills/
Codex CLI.agents/skills/
JetBrains Junie.junie/skills/%USERPROFILE%\.junie\skills\

Die Copilot-Pfade werden von Visual Studio, VS Code und der Copilot CLI gleichermaßen gelesen. Aktivieren Sie in VS Code die Einstellung "Chat: Use Agent Skills", oder führen Sie "Chat: Install Plugin From Source" über die Befehlspalette aus und geben Sie die URL des Repositorys an.

Was sich nach der Installation ändert

Der Unterschied ist nicht, dass der Assistent klüger wird. Der Unterschied ist, dass er aufhört, bei unserer Bibliothek zu raten.

Code, der kompiliert

Die Member stammen aus der generierten API und nicht aus Ähnlichkeit, die Eigenschaften und Ereignisse in der Antwort sind also die, die die Komponente tatsächlich veröffentlicht.

Die richtige uses-Klausel

Jede API-Seite nennt die Unit, in der die Komponente liegt, und für .NET den einen Namespace. Allein das beseitigt den häufigsten Build-Fehler.

Editionen vorab geklärt

Jede Komponente trägt ihre Mindestedition, der Assistent kann Ihnen also sagen, dass eine Komponente Enterprise benötigt, bevor Sie Code dagegen schreiben.

Er weiß, was er nicht weiß

Die Skills sagen klar, welche Teile dokumentiert sind. Ein Assistent, der eine Aufzählung nicht findet, wird angewiesen zu fragen, statt eine Konstante zu erfinden, die richtig aussieht.

Echte Beispiele, keine Skizzen

Jedes Beispiel ist aus einer Demo destilliert, die mit dem Produkt ausgeliefert wird, gekürzt auf die Teile, die die Komponente betreffen, statt auf ein ganzes Formular.

Aktuell von Haus aus

Bei jeder Version neu aus dem Quellcode erzeugt. Eine neue Komponente ist am Tag ihrer Auslieferung dokumentiert, und eine entfernte verschwindet am selben Tag.

Nur das, wonach Sie gefragt haben

Durch die thematische Aufteilung lädt eine MQTT-Frage allein den Message-Broker-Skill, der Rest einer Bibliothek mit 222 Komponenten bleibt also aus dem Gespräch heraus.

Kostenlos, und ohne Lizenz nutzbar

MIT-lizenziert und öffentlich. Sie können sie installieren, um die Bibliothek zu bewerten, bevor Sie etwas kaufen, und sie für sich genommen als Dokumentation lesen.

Sechs Plugins für die Bibliotheken

Ein Plugin pro Produkt, und für sgcWebSockets ein Plugin, das viele thematische Skills enthält statt eines einzigen großen.

PluginSkillsUmfasst
sgcwebsockets-delphi18WebSocket-Kern, Message-Broker, sgc-Subprotokolle, Börsen-Feeds, KI und LLM, Dienstintegrationen, HTTP und Transporte, Authentifizierung, P2P und WebRTC, IoT sowie sechs für die sgcHTML-Widgets
sgcwebsockets-dotnet7Dieselbe Bibliothek aus C# heraus, mit der unten beschriebenen Abdeckungsseite
sgcsign-delphi1XAdES, PAdES, CAdES, Authenticode, RFC-3161-Zeitstempel, OCSP und die Schlüsselanbieter
sgcopenapi-delphi1Der OpenAPI-Parser, der SDK-Generator und die Serverkomponente
sgcindy-delphi1Die eigene Indy-TCP/IP-Implementierung
sgcbiometrics-delphi1Windows Hello, Fingerabdruck- und Gesichtsauthentifizierung

Warum sgcWebSockets aus achtzehn Skills besteht

Die Bibliothek registriert 222 Komponenten. Ein einziger Skill über alle davon würde den Agenten zwingen, für eine Frage zu einem einzelnen Protokoll die gesamte Bibliothek zu öffnen, das ist langsam und macht die Antwort schlechter statt besser.

Deshalb ist er nach Bereichen aufgeteilt. Jeder Skill ist klein genug, um vollständig gelesen zu werden, und spezifisch genug, um richtig ausgewählt zu werden, und ein übergreifender Index beantwortet weiterhin die Frage "welche Komponente brauche ich" und leitet zur richtigen weiter.

Eine klare Antwort zu .NET

Die ausgelieferte .NET-Assembly stellt 70 der 222 Komponenten bereit, die die Delphi-Bibliothek registriert. Das sagen wir lieber, als einen Assistenten eine C#-API improvisieren zu lassen, die es nicht gibt.

Deshalb liefert das .NET-Plugin eine generierte Abdeckungsseite mit, die die 152 nennt, die es nur in Delphi gibt, samt der Unit, in der jede liegt. Sie entsteht beim Bauen durch einen Vergleich der beiden Produkte, sie beschreibt also den Build, den Sie haben, und keine Absicht.

Dokumentation, und sonst nichts

Das lohnt eine genaue Aussage, denn "installieren Sie dieses Plugin" führt zu Recht zu der Frage, was es tut.

Nichts wird ausgeführt

Ein Skill ist Markdown. Es steckt kein Code darin, auf Ihrem Rechner läuft nichts, und die Installation kann Ihr Projekt nicht verändern.

Nichts wird an uns gesendet

Keine Telemetrie, kein Nachhausetelefonieren, keine Aufzeichnung dessen, was Sie gefragt haben. Wir wissen nicht, dass Sie sie installiert haben, und die Dateien funktionieren nach dem Kopieren offline.

Kein Quellcode wird preisgegeben

Enthalten ist nur die public- und published-Oberfläche. Methodenrümpfe, private Felder und protected-Member schließt der Generator aus, die Installation eines Skills bringt unsere Implementierung also auf niemandes Festplatte.

MIT-lizenziert

Das Repository steht unter MIT, Sie können die Struktur also frei kopieren, forken und anpassen. Eine NOTICE-Datei behält den Dokumentationsinhalt selbst vor, der bleibt unser.

Häufige Fragen

Bringen Sie Ihrem Assistenten die API bei

Kostenlos, MIT-lizenziert und mit einer Zeile installiert. Stellen Sie ihm dann die Frage, die Sie ohnehin stellen wollten.