KI-Agent

TsgcAIAgent macht deine Delphi-7-bis-13-Anwendung agententauglich. Gib ihm einen TsgcAIChat und deine Tools, rufe Run auf, und er sendet den Prompt mit den Tools, führt jeden Tool-Aufruf aus, den das Modell anfordert, schickt die Ergebnisse zurück und liefert die endgültige Antwort.

TsgcAIAgent

Die Tool-Schleife eines KI-Modells, fertig für dich. Lokale Tools, Methoden deiner eigenen Objekte und die Tools deiner MCP-Server werden dem Modell angeboten, jeder Aufruf wird geprüft, bei Bedarf freigegeben und ausgeführt, und die Schleife endet mit der Antwort, einem Schrittlimit, dem Token-Limit, einem Abbruch oder einem Fehler.

Komponentenklasse

TsgcAIAgent

Zweck

Agent mit Tool Calling für jeden LLM-Anbieter

Familie

Chat & Agenten

Plattformen

Windows, macOS, Linux, iOS und Android

Editionen. TsgcAIAgent ist in sgcAI, in sgcWebSockets Enterprise und in All-Access enthalten, in denselben Editionen wie TsgcAIChat. Neu in 2026.11.0. sgcAI ist eigenständig: Es enthält die sgcWebSockets Core Runtime, auf der die Komponente aufbaut. Verfügbar für Delphi 7 bis Delphi 13 und C++ Builder.

Das Modell deine Tools nutzen lassen

Weise den Chat zu, füge ein Tool mit Parametern und Handler hinzu, rufe Run auf. Tools, die Daten ändern, fragen zuerst nach einer Freigabe.

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;

Wichtige Eigenschaften & Methoden

Die Member, zu denen du am häufigsten greifst.

Run und Cancel

Run(aPrompt) sendet den Prompt mit den Tools, führt die Aufrufe jedes Schritts aus und liefert die endgültige Antwort. Cancel stoppt einen Lauf vor der nächsten Modellanfrage oder dem nächsten Tool. Running, StepCount und StopReason zeigen, wie er endete: aasrCompleted, aasrMaxSteps, aasrCancelled, aasrError oder aasrMaxTokens. aasrMaxTokens bedeutet, dass eine Antwort durch das Token-Limit abgeschnitten wurde, und die Tool-Aufrufe einer abgeschnittenen Antwort werden nicht ausgeführt, weil ihre Argumente unvollständig sein können.

Tools

Tools.Add(Name, Description) liefert ein Tool. Beschreibe seine Argumente mit AddParam (String, Integer, Number, Boolean, Array oder Object) oder mit einem rohen JSON Schema in InputSchema und beantworte den Aufruf in OnExecute. Tools.AddMethod macht ab Delphi 2010 aus einer öffentlichen Methode eines Objekts ein Tool. Ein Tool ohne Handler landet in OnToolCall.

MCP-Tools

Füge TsgcWSAPIClient_MCP-Clients zu MCPClients hinzu. Mit Options.ImportMCPTools initialisiert der Agent jeden Client, listet dessen Tools seitenweise auf und ruft sie über CallTool auf. Ein durch MCP Tool Pinning gesperrtes Tool wird nie angeboten, und ein lokales Tool mit demselben Namen hat Vorrang.

Freigabe

Ein Tool mit ReadOnly läuft sofort. Jedes andere Tool fragt zuerst OnToolApproval. Ein abgelehntes oder unbekanntes Tool geht als Fehlertext an das Modell zurück, sodass der Gesprächsverlauf immer gültig bleibt. Weise dem Chat ein TsgcAIGuardrails zu, um Tools nach Namen zu erlauben, zu verbieten oder freigabepflichtig zu machen.

Optionen

Options.MaxSteps (standardmäßig 10) begrenzt die Modellanfragen eines Laufs. Die Tools der letzten erlaubten Anfrage laufen noch, und ihre Ergebnisse werden gespeichert, sodass ein späterer Run mit echten Ergebnissen fortfährt. Options.ImportMCPTools schaltet den MCP-Import ein oder aus.

Ereignisse

OnStep meldet jeden Schritt: Modelltext, Tool-Aufruf, Tool-Ergebnis, abgelehntes Tool und endgültige Antwort. OnUsage meldet die Token jeder Modellanfrage des Laufs. Weise dem Chat einen TsgcAIUsageMeter zu, um sie zu bepreisen.

Jeder Anbieter

Der Agent arbeitet mit jedem Anbieter von TsgcAIChat: OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok und Mistral, jeweils in dessen eigenem Tool-Calling-Format. Mit Chat-Fallbacks läuft ein Lauf beim nächsten Anbieter weiter, wenn einer ausfällt.

Spezifikationen & Referenzen

Maßgebliche Quellen zu den Diensten und Protokollen, die diese Komponente nutzt.

Weiter entdecken

Online-HilfeVollständige API-Referenz und Anwendungsleitfaden für die sgcAI-Komponenten.
Alle sgcAI-KomponentenDurchstöbere die vollständige Funktionsmatrix aller sgcAI-Komponenten.
Kostenlose Testversion herunterladenProbiere sie mit deinen eigenen API-Schlüsseln aus.
PreiseSingle-, Team- und Site-Lizenzen, vollständiger Quellcode.
Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Bereit loszulegen?

Lade die kostenlose Testversion herunter und lass ein Sprachmodell die Funktionen deiner Delphi-Anwendung aufrufen.