AI-agent skills voor Delphi, C++Builder en .NET | eSeGeCe

AI-agent skills voor Delphi, C++Builder en .NET

Uw AI-assistent heeft de broncode van eSeGeCe nooit gelezen, dus verzint hij eigenschappen die niet bestaan en zet hij componenten in de verkeerde unit. Agent skills geven hem de echte publieke API van elke bibliotheek. Gratis, onder MIT-licentie, en met één regel geïnstalleerd.

Zelfverzekerde code die niet compileert

Vraag een assistent om een WebSocket-client in Delphi en u krijgt iets dat goed gestructureerd is en subtiel fout. Dat komt niet doordat het model slordig is. Het komt doordat het model deze bibliotheek nooit heeft gezien.

Deze modellen hebben geleerd van openbare code. De eSeGeCe-componenten zijn commercieel, dus hun broncode heeft nooit in een trainingsset gezeten. Het model herkent de vorm van een Delphi-componentbibliotheek en vult de rest in vanuit andere bibliotheken die het wél kent. Dat levert vier soorten fouten op, en alle vier kosten ze u dezelfde twintig minuten om uit te zoeken welke plausibele regel de verkeerde is.

Verzonnen leden

Een eigenschap of gebeurtenis die precies leest als iets wat wij geschreven zouden hebben, en die niet bestaat. De compiler is het eerste wat het u vertelt.

De verkeerde unit

Het component bestaat, de uses clausule niet. Dit is verreweg de meest voorkomende reden dat gegenereerde sgcWebSockets-code niet wil bouwen.

Een API van drie releases geleden

Waar een model een fragment van een oud voorbeeld heeft gezien, reproduceert het vrolijk een methode die wij hernoemd of verwijderd hebben.

Stille editiefouten

Code die bij ons compileert en bij u niet, omdat het component dat zij gebruikt een editie vereist die uw licentie niet omvat.

Documentatie die de agent op aanvraag leest

Een skill is geen plugin die draait, en geen model dat ergens op getraind is. Het is een map met Markdown, en het mechanisme is bewust eenvoudig.

1. De agent leest één korte beschrijving

Elke skill begint met een paar regels frontmatter, en het enige deel dat de agent altijd voor zich heeft is de description. Die vertelt in gewone taal om welke bibliotheek en om welk onderwerpgebied het gaat.

Dat is wat de kosten laag houdt. Uw agent sleept geen duizenden regels API-referentie met zich mee terwijl u hem iets vraagt wat daar niets mee te maken heeft.

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. Uw vraag bepaalt wat er geladen wordt

Wanneer u naar een MQTT-broker vraagt, past die beschrijving en haalt de agent de skill voor messagebrokers erbij. Verder gaat er niets open. Vraagt u in plaats daarvan naar WebRTC, dan laadt een andere skill.

Binnen de skill navigeert hij zoals u dat zou doen: de componentenindex om het component te vinden, dan de API-pagina van dat component, en dan de typepagina van een optieklasse waarvan hij de waarden nodig heeft.

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. De inhoud wordt uit onze broncode gegenereerd

Wij schrijven de API-pagina's niet met de hand. Een generator ontleedt de bibliotheek bij elke release en geeft het public- en published-oppervlak weer: elk component, zijn eigenschappen, methoden en gebeurtenissen, de unit waarin het zit, de editie die het bevat, en de typen die deze leden gebruiken.

De skills beschrijven dus de versie die u werkelijk hebt. Ze kunnen niet gaan afwijken zoals een handmatig onderhouden document dat doet, en een component dat vorige maand is toegevoegd staat erin op de dag dat het uitkomt.

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

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

4. Een mens schrijft het deel dat een generator niet kan

Gegenereerde tabellen vertellen een agent wat er bestaat. Ze vertellen hem niet dat een protocolcomponent geen socket bezit, dat het zich koppelt aan een transportclient, of dat een broker op poort 1883 vereist dat Specifications.RFC6455 op False staat.

Elke skill begint daarom met een draaiboek, geschreven door de mensen die de bibliotheek geschreven hebben: wanneer u hem gebruikt, wat de agent u moet vragen voordat hij code schrijft, en de fouten waar mensen in de praktijk over struikelen.

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.

Eén keer installeren, daarna gewoon vragen

Drie agents installeren plugins rechtstreeks. De rest leest een map, dus daar kopieert u er één in. Daarna valt er niets aan te roepen: de agent bepaalt zelf wanneer een skill relevant is.

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

Voeg de marketplace één keer toe en installeer daarna zoveel plugins als u gebruikt. /skills toont wat er actief is. Voor een tweede product dat u later installeert is de marketplace-stap niet opnieuw nodig.

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

Codex gebruikt plugin add in plaats van plugin install, met dezelfde marketplace-naam.

Kloon de repository en kopieer daarna de gewenste skill-map uit plugins/<plugin>/skills/ naar de map die uw agent in de gaten houdt. Projectniveau heeft voorrang op globaal, dus een skill die in een repository wordt geplaatst geldt alleen voor dat project.

AgentIn een projectGlobaal
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\

De paden van Copilot worden even goed gelezen door Visual Studio, VS Code en de Copilot CLI. Schakel in VS Code de instelling "Chat: Use Agent Skills" in, of voer "Chat: Install Plugin From Source" uit vanuit het opdrachtenpalet en geef de URL van de repository op.

Wat er verandert zodra ze geïnstalleerd zijn

Het verschil is niet dat de assistent slimmer wordt. Het is dat hij stopt met gissen naar onze bibliotheek.

Code die compileert

Leden komen uit de gegenereerde API in plaats van uit gelijkenis, dus de eigenschappen en gebeurtenissen in het antwoord zijn de leden die het component werkelijk publiceert.

De juiste uses-clausule

Elke API-pagina vermeldt de unit waarin het component zit, en voor .NET de ene naamruimte. Alleen dit al haalt de meest voorkomende bouwfout weg.

Edities meteen beantwoord

Elk component draagt zijn minimale editie met zich mee, dus de assistent kan u vertellen dat een component Enterprise vereist voordat u er code voor schrijft.

Hij weet wat hij niet weet

De skills zeggen ronduit welke delen gedocumenteerd zijn. Een assistent die een opsomming niet kan vinden, krijgt te horen dat hij het moet vragen in plaats van een constante te verzinnen die er goed uitziet.

Echte voorbeelden, geen schetsen

Elk voorbeeld is gedistilleerd uit een demo die met het product meekomt, teruggebracht tot de delen die het component raken in plaats van een heel formulier.

Actueel van nature

Bij elke release opnieuw gegenereerd uit de broncode. Een nieuw component is gedocumenteerd op de dag dat het uitkomt, en een verwijderd component verdwijnt dezelfde dag.

Alleen waar u naar vroeg

Door de opsplitsing per onderwerp laadt een MQTT-vraag alleen de skill voor messagebrokers, zodat de rest van een bibliotheek met 222 componenten buiten het gesprek blijft.

Gratis, en geen licentie nodig

Onder MIT-licentie en openbaar. U kunt ze installeren om de bibliotheek te beoordelen voordat u iets koopt, en ze op zichzelf als documentatie lezen.

Zes plugins over de bibliotheken

Eén plugin per product, en voor sgcWebSockets een plugin die veel thematische skills bevat in plaats van één grote.

PluginSkillsDekt
sgcwebsockets-delphi18WebSocket-kern, messagebrokers, sgc-subprotocollen, exchange-feeds, AI en LLM, service-integraties, HTTP en transporten, authenticatie, P2P en WebRTC, IoT, en zes voor de widgets van sgcHTML
sgcwebsockets-dotnet7Dezelfde bibliotheek vanuit C#, met de dekkingspagina die hieronder wordt beschreven
sgcsign-delphi1XAdES, PAdES, CAdES, Authenticode, tijdstempels volgens RFC 3161, OCSP en de sleutelproviders
sgcopenapi-delphi1De OpenAPI-parser, de SDK-generator en het servercomponent
sgcindy-delphi1De eigen implementatie van Indy TCP/IP
sgcbiometrics-delphi1Windows Hello, authenticatie met vingerafdruk en gezichtsherkenning

Waarom sgcWebSockets achttien skills is

De bibliotheek registreert 222 componenten. Eén enkele skill die ze allemaal dekt zou de agent dwingen de hele bibliotheek te openen om een vraag over één protocol te beantwoorden, wat traag is en het antwoord slechter maakt in plaats van beter.

Daarom is die opgesplitst per gebied. Elke skill is klein genoeg om helemaal gelezen te worden en specifiek genoeg om correct gekozen te worden, en een overkoepelende index beantwoordt nog steeds de vraag welk component u nodig hebt en verwijst naar de juiste.

Een eerlijk antwoord over .NET

De .NET-assembly die wij leveren stelt 70 van de 222 componenten beschikbaar die de Delphi-bibliotheek registreert. Wij zeggen dat liever dan een assistent een C#-API te laten improviseren die niet bestaat.

De .NET-plugin bevat daarom een gegenereerde dekkingspagina die de 152 benoemt die alleen in Delphi bestaan, met de unit waarin elk ervan zit. Die wordt bij het bouwen gemaakt door de twee producten te vergelijken, dus beschrijft hij de build die u hebt in plaats van een voornemen.

Documentatie, en niets anders

Het is de moeite waard hier precies in te zijn, want bij "installeer deze plugin" vragen mensen zich terecht af wat die doet.

Er wordt niets uitgevoerd

Een skill is Markdown. Er zit geen code in, er draait niets op uw machine, en door er één te installeren kan uw project niet veranderen.

Er wordt niets naar ons gestuurd

Geen telemetrie, geen contact met ons, geen registratie van wat u gevraagd hebt. Wij weten niet dat u ze geïnstalleerd hebt, en de bestanden werken offline zodra ze gekopieerd zijn.

Er wordt geen broncode blootgelegd

Alleen het public- en published-oppervlak is opgenomen. De bodies van methoden, private velden en protected leden worden door de generator weggelaten, dus door een skill te installeren komt onze implementatie op niemands schijf terecht.

Onder MIT-licentie

De repository valt onder MIT, dus u mag de structuur vrij kopiëren, forken en aanpassen. Een NOTICE-bestand behoudt de inhoud van de documentatie zelf, en die blijft van ons.

Vragen die mensen stellen

Leer uw assistent de API

Gratis, onder MIT-licentie, en met één regel geïnstalleerd. Stel hem daarna de vraag die u toch al wilde stellen.