Delphi、C++Builder、.NET向けAIエージェントスキル | eSeGeCe ブログ

Delphi、C++Builder、.NET向けAIエージェントスキル

· 機能

AIアシスタントにDelphiでWebSocketクライアントを書いてほしいと頼むと、自信に満ちた、よく構成された、しかし微妙に間違ったコードが返ってきます。存在しないプロパティ。間違ったユニットに置かれたコンポーネント。3つ前のリリースで削除されたAPI。そして、もっともらしい4行のうちコンパイルが通らないのはどれかを突き止めるのに、20分を費やすことになります。

理由は単純です。これらのモデルは公開されたコードから学習しており、eSeGeCeのコンポーネントは商用製品なので、モデルはそれを一度も読んだことがありません。Delphiのコンポーネントライブラリのおおまかな形は知っているため、残りは他のライブラリの記憶から埋めてしまうのです。

このギャップを埋めるために、エージェントスキルを公開しました。無料でMITライセンスであり、インストールにライセンスは必要ありません。

エージェントスキルとは

スキルとは、エージェントが必要に応じて読み込むMarkdownのフォルダです。eSeGeCeのスキルには、各ライブラリの公開APIが収められています。すべてのコンポーネント、そのプロパティ、イベント、メソッド、それが属するユニットまたは名前空間、それを含むエディション、そして製品に同梱されているデモから取り出した実際のサンプルです。リリースごとにライブラリのソースから生成されるため、モデルがうろ覚えのバージョンではなく、実際にお使いのバージョンを説明します。

すべては1つのリポジトリ github.com/esegece-com/agent-skills にあり、6つのプラグインとしてパッケージされています。

インストール方法

Claude CodeとGitHub Copilot CLIでは、マーケットプレイスを一度追加し、必要なプラグインをインストールします。

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

Codex CLIの場合。

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

VS Codeでは、コマンドパレットを開いて "Chat: Install Plugin From Source" を実行します。Cursorをはじめ、スキルフォルダを読み込むその他のエージェントでは、リポジトリからスキルフォルダをコピーし、エージェントに応じて .cursor/skills/.claude/skills/.github/skills/.agents/skills/.junie/skills/ のいずれかに配置してください。

6つのプラグインは sgcwebsockets-delphisgcwebsockets-dotnetsgcsign-delphisgcopenapi-delphisgcindy-delphisgcbiometrics-delphi です。

sgcWebSocketsが1つではなく18のスキルになっている理由

sgcWebSocketsは222個のコンポーネントを登録します。そのすべてを1つのスキルでカバーすると、大きすぎて役に立ちません。MQTTについての質問に答えるために、エージェントがライブラリ全体を読み込むことになるからです。そこで分野ごとに分割し、WebSocketコア、メッセージブローカー、sgcサブプロトコル、取引所フィード、AIとLLM、サービス統合、HTTPとトランスポート、認証、P2PとWebRTC、IoT、さらにsgcHTMLウィジェット用の6つを加えた、18のスキルになっています。

MQTTブローカーへの接続を頼まれたエージェントは、メッセージブローカーのスキルだけを読み込み、それ以外は読み込みません。.NETプラグインも同じ考え方で、7つのスキルに分かれています。

スキルの中身

各スキルは手書きのプレイブックで始まります。そのスキルが何のためのものか、必要な uses 句または using ディレクティブ、コードを書き始める前に開発者に確認しておく価値のある質問、そして実際に多くの人がはまる落とし穴です。その後に、生成された資料が続きます。すべてのメンバーについてDelphiとC++Builderの両方のシグネチャを収録した完全なAPIリファレンス、.NETプラグインではC#のシグネチャ、エージェントが実在する定数を使えるようにするオプション型と列挙型のページ、同梱デモから抽出したサンプル、そして各コンポーネントが必要とするエディションです。

この最後の点は、ある種の無駄な午後を救ってくれます。「コンポーネントがパレットに出てこない」というのは、たいていインストールの問題ではなくエディションの問題であり、スキルは尋ねる前にその答えを示してくれます。

.NETについて正直なところ

出荷されている.NETアセンブリが公開しているのは、Delphiライブラリが登録する222個のコンポーネントのうち70個です。エージェントに推測させる代わりに、.NETプラグインには、Delphi専用の152個をそれぞれが属するユニットとともに列挙した、生成済みのカバレッジページが含まれています。そのままなら、もっともらしいC#のAPIをでっち上げていたエージェントに、参照できる場所ができました。「これはC#でできますか」という問いへの正直な答えが、1ページ先にあります。

プライバシー

スキルはドキュメントです。何も実行されず、どこにも送信されず、テレメトリも収集されません。スキルに含まれるのはpublicおよびpublishedのAPIだけなので、メソッドの本体、privateフィールド、protectedメンバーは意図的に除外されています。インストールしても、ライブラリのソースがお使いのディスクや他の誰かのディスクに置かれることはありません。

常に最新に保つ

スキルはリリースごとにライブラリのソースから再生成されるため、製品から遅れて取り残されることなく、製品に追随します。新しいバージョンを取り込むには、インストールコマンドをもう一度実行してください。コード内のAPIがエージェントの説明と一致しない場合は、スキル内の reference/history.md を確認してください。よくある原因は、お互いが異なるビルドを使っていることです。

詳細と手動インストールのパスは AIエージェントスキルのページにあります。

スキルをインストールしてもエージェントが何かを間違える場合、それはドキュメントの不具合であり、ぜひお知らせいただきたいと思います。GitHubでissueを登録するか、お問い合わせください — コードを書いた本人から返信します。