AI Agent

TsgcAIAgent rende la tua applicazione Delphi 7 a 13 pronta per gli agenti. Dagli un TsgcAIChat e i tuoi strumenti, chiama Run, ed è lui a inviare il prompt con gli strumenti, eseguire ogni chiamata richiesta dal modello, restituire i risultati e consegnare la risposta finale.

TsgcAIAgent

Il ciclo degli strumenti di un modello di IA, già pronto. Gli strumenti locali, i metodi dei tuoi oggetti e gli strumenti dei tuoi server MCP vengono offerti al modello, ogni chiamata viene controllata, approvata quando serve ed eseguita, e il ciclo si ferma con la risposta, con un limite di passaggi, con il limite di token, con un annullamento o con un errore.

Classe del componente

TsgcAIAgent

Scopo

Agente con chiamata di strumenti per ogni provider LLM

Famiglia

Chat e agenti

Piattaforme

Windows, macOS, Linux, iOS e Android

Edizioni. TsgcAIAgent è incluso in sgcAI, in sgcWebSockets Enterprise e in All-Access, le stesse edizioni di TsgcAIChat. Novità della versione 2026.11.0. sgcAI è autonomo: include il runtime sgcWebSockets Core su cui è costruito il componente. Disponibile per Delphi da 7 a 13 e per C++ Builder.

Lascia che il modello usi i tuoi strumenti

Assegna la chat, aggiungi uno strumento con i suoi parametri e il suo gestore, chiama Run. Gli strumenti che modificano i dati chiedono prima l'approvazione.

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;

Proprietà e metodi principali

I membri che userai più spesso.

Run e Cancel

Run(aPrompt) invia il prompt con gli strumenti, esegue le chiamate di ogni passaggio e restituisce la risposta finale. Cancel ferma un'esecuzione prima della richiesta successiva al modello o dello strumento successivo. Running, StepCount e StopReason indicano come è finita: aasrCompleted, aasrMaxSteps, aasrCancelled, aasrError o aasrMaxTokens. aasrMaxTokens significa che una risposta è stata interrotta dal limite di token, e le chiamate agli strumenti di una risposta interrotta non vengono eseguite perché i loro argomenti potrebbero essere incompleti.

Tools

Tools.Add(Name, Description) restituisce uno strumento. Descrivi i suoi argomenti con AddParam (string, integer, number, boolean, array o object) o con un JSON Schema grezzo in InputSchema, e rispondi in OnExecute. Tools.AddMethod trasforma un metodo pubblico di un oggetto in uno strumento su Delphi 2010 e successivi. Uno strumento senza gestore arriva a OnToolCall.

Strumenti MCP

Aggiungi client TsgcWSAPIClient_MCP a MCPClients. Con Options.ImportMCPTools l'agente inizializza ogni client, ne elenca gli strumenti pagina per pagina e li chiama tramite CallTool. Uno strumento bloccato dal pinning degli strumenti MCP non viene mai offerto, e uno strumento locale con lo stesso nome ha la precedenza.

Approvazione

Uno strumento contrassegnato come ReadOnly viene eseguito subito. Ogni altro strumento chiede prima a OnToolApproval. Uno strumento negato o sconosciuto torna al modello come testo di errore, così la cronologia della conversazione resta sempre valida. Assegna un TsgcAIGuardrails alla chat per consentire, negare o richiedere l'approvazione in base al nome dello strumento.

Opzioni

Options.MaxSteps (10 per impostazione predefinita) limita le richieste al modello di una singola esecuzione. Gli strumenti dell'ultima richiesta consentita vengono comunque eseguiti e i loro risultati vengono salvati, così un Run successivo prosegue con risultati reali. Options.ImportMCPTools attiva o disattiva l'importazione MCP.

Eventi

OnStep segnala ogni passaggio: testo del modello, chiamata a uno strumento, risultato, strumento negato e risposta finale. OnUsage riporta i token di ogni richiesta al modello dell'esecuzione. Assegna un TsgcAIUsageMeter alla chat per calcolarne il costo.

Ogni provider

L'agente funziona con tutti i provider di TsgcAIChat: OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok e Mistral, ciascuno nel proprio formato di chiamata degli strumenti. Con i fallback della chat, un'esecuzione prosegue sul provider successivo quando uno fallisce.

Specifiche e riferimenti

Fonti autorevoli per i servizi e i protocolli usati da questo componente.

Continua a esplorare

Guida onlineRiferimento API completo e guida all'utilizzo dei componenti sgcAI.
Tutti i componenti sgcAIEsplora la matrice delle funzionalità di ogni componente sgcAI.
Scarica la versione di prova gratuitaProvalo con le tue chiavi API.
PrezziLicenze Single, Team e Site, codice sorgente completo.
La scelta più conveniente: All-AccessTutti i prodotti eSeGeCe, con Supporto Premium incluso, a partire da €1,059/anno.
Vedi i prezzi All-Access

Pronto per iniziare?

Scarica la versione di prova gratuita e lascia che un modello linguistico chiami le funzioni della tua applicazione Delphi.