AI Agent

TsgcAIAgent przygotowuje twoją aplikację Delphi 7 do 13 na pracę z agentami. Przekaż mu TsgcAIChat i swoje narzędzia, wywołaj Run, a on wyśle prompt razem z narzędziami, wykona każde wywołanie narzędzia, o które poprosi model, odeśle wyniki i zwróci końcową odpowiedź.

TsgcAIAgent

Pętla narzędzi modelu AI, wykonana za ciebie. Lokalne narzędzia, metody twoich własnych obiektów i narzędzia twoich serwerów MCP są oferowane modelowi, każde wywołanie jest sprawdzane, w razie potrzeby zatwierdzane i wykonywane, a pętla kończy się na odpowiedzi, limicie kroków, limicie tokenów, anulowaniu lub błędzie.

Klasa komponentu

TsgcAIAgent

Przeznaczenie

Agent wywołujący narzędzia dla każdego dostawcy LLM

Rodzina

Czat i agenci

Platformy

Windows, macOS, Linux, iOS i Android

Edycje. TsgcAIAgent jest dostarczany w sgcAI, w sgcWebSockets Enterprise i w All-Access, w tych samych edycjach co TsgcAIChat. Nowość w 2026.11.0. sgcAI jest samowystarczalny: zawiera środowisko uruchomieniowe sgcWebSockets Core, na którym komponent jest zbudowany. Dostępny dla Delphi 7 do Delphi 13 i C++ Builder.

Pozwól modelowi używać twoich narzędzi

Przypisz czat, dodaj narzędzie z jego parametrami i procedurą obsługi, wywołaj Run. Narzędzia zmieniające dane najpierw proszą o zatwierdzenie.

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;

Kluczowe właściwości i metody

Składowe, po które sięgasz najczęściej.

Run i Cancel

Run(aPrompt) wysyła prompt razem z narzędziami, wykonuje wywołania każdego kroku i zwraca końcową odpowiedź. Cancel zatrzymuje przebieg przed następnym żądaniem do modelu lub następnym narzędziem. Running, StepCount i StopReason mówią, jak przebieg się zakończył: aasrCompleted, aasrMaxSteps, aasrCancelled, aasrError lub aasrMaxTokens. aasrMaxTokens oznacza, że odpowiedź została ucięta przez limit tokenów, a wywołania narzędzi z uciętej odpowiedzi nie są wykonywane, ponieważ ich argumenty mogą być niekompletne.

Narzędzia

Tools.Add(Name, Description) zwraca narzędzie. Opisz jego argumenty przez AddParam (string, integer, number, boolean, array lub object) albo surowym schematem JSON Schema w InputSchema, a odpowiedź podaj w OnExecute. Tools.AddMethod zamienia publiczną metodę obiektu w narzędzie w Delphi 2010 i nowszych. Narzędzie bez procedury obsługi trafia do OnToolCall.

Narzędzia MCP

Dodaj klientów TsgcWSAPIClient_MCP do MCPClients. Przy włączonym Options.ImportMCPTools agent inicjalizuje każdego klienta, pobiera jego narzędzia stronami i wywołuje je przez CallTool. Narzędzie zablokowane przez przypinanie narzędzi MCP (tool pinning) nigdy nie jest oferowane, a lokalne narzędzie o tej samej nazwie ma pierwszeństwo.

Zatwierdzanie

Narzędzie oznaczone jako ReadOnly działa od razu. Każde inne najpierw pyta OnToolApproval. Odrzucone lub nieznane narzędzie wraca do modelu jako tekst błędu, więc historia rozmowy zawsze pozostaje poprawna. Przypisz do czatu TsgcAIGuardrails, aby zezwalać na narzędzia, blokować je lub wymagać zatwierdzenia według nazwy.

Opcje

Options.MaxSteps (domyślnie 10) ogranicza liczbę żądań do modelu w jednym przebiegu. Narzędzia z ostatniego dozwolonego żądania nadal się wykonują, a ich wyniki są zapisywane, więc późniejsze Run kontynuuje z prawdziwymi wynikami. Options.ImportMCPTools włącza lub wyłącza import narzędzi MCP.

Zdarzenia

OnStep raportuje każdy krok: tekst modelu, wywołanie narzędzia, wynik narzędzia, odrzucone narzędzie i końcową odpowiedź. OnUsage raportuje tokeny każdego żądania do modelu w przebiegu. Przypisz do czatu TsgcAIUsageMeter, aby je wycenić.

Każdy dostawca

Agent współpracuje z każdym dostawcą TsgcAIChat: OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok i Mistral, każdym w jego własnym formacie wywoływania narzędzi. Dzięki fallbackom czatu przebieg jest kontynuowany u następnego dostawcy, gdy poprzedni zawiedzie.

Specyfikacje i materiały źródłowe

Miarodajne źródła dla usług i protokołów, z których korzysta ten komponent.

Poznawaj dalej

Pomoc onlinePełna dokumentacja API i przewodnik użytkowania komponentów sgcAI.
Wszystkie komponenty sgcAIPrzejrzyj matrycę funkcji każdego komponentu sgcAI.
Pobierz bezpłatną wersję próbnąWypróbuj z własnymi kluczami API.
CennikLicencje Single, Team i Site, pełny kod źródłowy.
Najkorzystniejsza oferta: All-AccessWszystkie produkty eSeGeCe, ze wsparciem Premium w cenie, już od €1,059 rocznie.
Zobacz cennik All-Access

Gotowy, aby zacząć?

Pobierz bezpłatną wersję próbną i pozwól modelowi językowemu wywoływać funkcje twojej aplikacji Delphi.