AI Agent

TsgcAIAgent prepara tu aplicación Delphi 7 a 13 para agentes. Dale un TsgcAIChat y tus herramientas, llama a Run, y envía el prompt con las herramientas, ejecuta cada llamada que pide el modelo, devuelve los resultados y entrega la respuesta final.

TsgcAIAgent

El bucle de herramientas de un modelo de IA, resuelto por ti. Las herramientas locales, los métodos de tus propios objetos y las herramientas de tus servidores MCP se ofrecen al modelo, cada llamada se comprueba, se aprueba cuando hace falta y se ejecuta, y el bucle termina con la respuesta, un límite de pasos, el límite de tokens, una cancelación o un error.

Clase del componente

TsgcAIAgent

Propósito

Agente con tool calling para todos los proveedores LLM

Familia

Chat y agentes

Plataformas

Windows, macOS, Linux, iOS y Android

Ediciones. TsgcAIAgent se incluye en sgcAI, en sgcWebSockets Enterprise y en All-Access, las mismas ediciones que TsgcAIChat. Novedad de la versión 2026.11.0. sgcAI es autónomo: incluye el runtime sgcWebSockets Core sobre el que está construido el componente. Disponible para Delphi 7 a Delphi 13 y C++ Builder.

Deja que el modelo use tus herramientas

Asigna el chat, añade una herramienta con sus parámetros y su manejador, llama a Run. Las herramientas que modifican datos piden aprobación antes.

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;

Propiedades y métodos principales

Los miembros que usarás más a menudo.

Run y Cancel

Run(aPrompt) envía el prompt con las herramientas, ejecuta las llamadas de cada paso y devuelve la respuesta final. Cancel detiene una ejecución antes de la siguiente petición al modelo o de la siguiente herramienta. Running, StepCount y StopReason indican cómo terminó: aasrCompleted, aasrMaxSteps, aasrCancelled, aasrError o aasrMaxTokens. aasrMaxTokens significa que una respuesta se cortó por el límite de tokens, y las llamadas a herramientas de una respuesta cortada no se ejecutan porque sus argumentos pueden estar incompletos.

Herramientas

Tools.Add(Name, Description) devuelve una herramienta. Describe sus argumentos con AddParam (string, integer, number, boolean, array u object) o con un JSON Schema en bruto en InputSchema, y respóndela en OnExecute. Tools.AddMethod convierte un método público de un objeto en una herramienta en Delphi 2010 y posteriores. Una herramienta sin manejador llega a OnToolCall.

Herramientas MCP

Añade clientes TsgcWSAPIClient_MCP a MCPClients. Con Options.ImportMCPTools el agente inicializa cada cliente, lista sus herramientas página a página y las llama mediante CallTool. Una herramienta bloqueada por el pinning de herramientas MCP nunca se ofrece, y una herramienta local con el mismo nombre tiene prioridad.

Aprobación

Una herramienta marcada como ReadOnly se ejecuta de inmediato. Cualquier otra pregunta antes a OnToolApproval. Una herramienta denegada o desconocida vuelve al modelo como texto de error, así que el historial de la conversación siempre sigue siendo válido. Asigna un TsgcAIGuardrails al chat para permitir, denegar o exigir aprobación por nombre de herramienta.

Opciones

Options.MaxSteps (10 por defecto) limita las peticiones al modelo de una ejecución. Las herramientas de la última petición permitida se ejecutan igualmente y sus resultados se guardan, así que un Run posterior continúa con resultados reales. Options.ImportMCPTools activa o desactiva la importación MCP.

Eventos

OnStep informa de cada paso: texto del modelo, llamada a una herramienta, resultado, herramienta denegada y respuesta final. OnUsage informa de los tokens de cada petición al modelo de la ejecución. Asigna un TsgcAIUsageMeter al chat para calcular su coste.

Todos los proveedores

El agente funciona con todos los proveedores de TsgcAIChat: OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok y Mistral, cada uno con su propio formato de tool calling. Con los fallbacks del chat, una ejecución continúa en el siguiente proveedor cuando uno falla.

Especificaciones y referencias

Fuentes oficiales de los servicios y protocolos que utiliza este componente.

Sigue explorando

Ayuda en líneaReferencia completa de la API y guía de uso de los componentes sgcAI.
Todos los componentes sgcAIConsulta la matriz de características de cada componente sgcAI.
Descargar prueba gratuitaPruébalo con tus propias claves de API.
PreciosLicencias Single, Team y Site, código fuente completo.
La mejor opción: All-AccessTodos los productos de eSeGeCe, con Premium Support incluido, desde €1,059 al año.
Ver precios de All-Access

¿Listo para empezar?

Descarga la prueba gratuita y deja que un modelo de lenguaje llame a las funciones de tu aplicación Delphi.