Agent IA

TsgcAIAgent rend ton application Delphi 7 à 13 prête pour les agents. Donne-lui un TsgcAIChat et tes outils, appelle Run : il envoie le prompt avec les outils, exécute chaque appel d'outil demandé par le modèle, renvoie les résultats et retourne la réponse finale.

TsgcAIAgent

La boucle d'outils d'un modèle d'IA, prise en charge pour toi. Les outils locaux, les méthodes de tes propres objets et les outils de tes serveurs MCP sont proposés au modèle, chaque appel est vérifié, approuvé si nécessaire puis exécuté, et la boucle s'arrête sur la réponse, une limite d'étapes, la limite de tokens, une annulation ou une erreur.

Classe du composant

TsgcAIAgent

Rôle

Agent de tool calling pour tous les fournisseurs LLM

Famille

Chat et agents

Plateformes

Windows, macOS, Linux, iOS et Android

Éditions. TsgcAIAgent est livré dans sgcAI, dans sgcWebSockets Enterprise et dans All-Access, les mêmes éditions que TsgcAIChat. Nouveauté de la version 2026.11.0. sgcAI est autonome : il inclut le runtime sgcWebSockets Core sur lequel le composant repose. Disponible pour Delphi 7 à Delphi 13 et C++ Builder.

Laisser le modèle utiliser tes outils

Affecte le chat, ajoute un outil avec ses paramètres et son gestionnaire, appelle Run. Les outils qui modifient des données demandent d'abord une approbation.

uses
  sgcAI, sgcAI_Chat, sgcAI_Agent;

procedure TForm1.AskAgent;
var
  oTool: TsgcAIAgentTool;
  vAnswer: string;
begin
  sgcAIChat1.Provider := aicpAnthropic;
  sgcAIChat1.ChatOptions.ApiKey := 'sk-ant-...';
  sgcAIChat1.ChatOptions.Model := 'claude-opus-5-5';

  sgcAIAgent1.Chat := sgcAIChat1;
  // optional: the tools of an MCP server are offered too
  sgcAIAgent1.MCPClients.Add(sgcWSAPIClient_MCP1);
  oTool := sgcAIAgent1.Tools.Add('get_weather', 'Current weather of a city');
  oTool.AddParam('city', aatpString, 'City name');
  oTool.ReadOnly := True;
  oTool.OnExecute := DoGetWeather;
  sgcAIAgent1.Options.MaxSteps := 8;
  sgcAIAgent1.OnToolApproval := DoToolApproval;

  vAnswer := sgcAIAgent1.Run('Do I need an umbrella in Paris today?');
  Memo1.Lines.Add(vAnswer);
end;

procedure TForm1.DoGetWeather(Sender: TObject; const aArguments: string;
  var aResult: string);
begin
  // aArguments is a JSON object, for example {"city":"Paris"}
  aResult := '{"city":"Paris","celsius":18,"sky":"rain"}';
end;

procedure TForm1.DoToolApproval(Sender: TObject; const aToolName,
  aArguments: string; var aApproved: Boolean);
begin
  // tools that are not ReadOnly ask before they run
  aApproved := MessageDlg('Run ' + aToolName + ' ' + aArguments + '?',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes;
end;

Propriétés et méthodes clés

Les membres que tu utilises le plus souvent.

Run et Cancel

Run(aPrompt) envoie le prompt avec les outils, exécute les appels de chaque étape et retourne la réponse finale. Cancel arrête une exécution avant la prochaine requête au modèle ou le prochain outil. Running, StepCount et StopReason indiquent comment elle s'est terminée : aasrCompleted, aasrMaxSteps, aasrCancelled, aasrError ou aasrMaxTokens. aasrMaxTokens signifie qu'une réponse a été coupée par la limite de tokens, et les appels d'outil d'une réponse coupée ne sont pas exécutés car leurs arguments peuvent être incomplets.

Outils

Tools.Add(Name, Description) retourne un outil. Décris ses arguments avec AddParam (chaîne, entier, nombre, booléen, tableau ou objet) ou avec un JSON Schema brut dans InputSchema, et réponds-y dans OnExecute. Tools.AddMethod transforme une méthode publique d'un objet en outil à partir de Delphi 2010. Un outil sans gestionnaire arrive dans OnToolCall.

Outils MCP

Ajoute des clients TsgcWSAPIClient_MCP à MCPClients. Avec Options.ImportMCPTools, l'agent initialise chaque client, liste ses outils page par page et les appelle via CallTool. Un outil bloqué par le pinning d'outils MCP n'est jamais proposé, et un outil local du même nom l'emporte.

Approbation

Un outil marqué ReadOnly s'exécute aussitôt. Tout autre outil interroge d'abord OnToolApproval. Un outil refusé ou inconnu retourne au modèle sous forme de texte d'erreur, si bien que l'historique de la conversation reste toujours valide. Affecte un TsgcAIGuardrails au chat pour autoriser, refuser ou exiger une approbation par nom d'outil.

Options

Options.MaxSteps (10 par défaut) plafonne les requêtes au modèle d'une exécution. Les outils de la dernière requête autorisée s'exécutent quand même et leurs résultats sont conservés, de sorte qu'un Run ultérieur repart avec de vrais résultats. Options.ImportMCPTools active ou désactive l'import MCP.

Événements

OnStep signale chaque étape : texte du modèle, appel d'outil, résultat d'outil, outil refusé et réponse finale. OnUsage signale les tokens de chaque requête au modèle de l'exécution. Affecte un TsgcAIUsageMeter au chat pour les chiffrer.

Tous les fournisseurs

L'agent fonctionne avec chaque fournisseur de TsgcAIChat : OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok et Mistral, chacun dans son propre format de tool calling. Avec les fallbacks du chat, une exécution se poursuit sur le fournisseur suivant quand l'un tombe en panne.

Spécifications et références

Les sources faisant autorité pour les services et protocoles utilisés par ce composant.

Pour aller plus loin

Aide en ligneRéférence complète de l'API et guide d'utilisation des composants sgcAI.
Tous les composants sgcAIParcours la matrice complète des fonctionnalités de chaque composant sgcAI.
Télécharger l'essai gratuitEssaie-le avec tes propres clés API.
TarifsLicences Single, Team et Site, code source complet.
Meilleur rapport qualité-prix : All-AccessTous les produits eSeGeCe, Support Premium inclus, à partir de €1,059/an.
Voir les tarifs All-Access

Prêt à te lancer ?

Télécharge l'essai gratuit et laisse un modèle de langage appeler les fonctions de ton application Delphi.