Guardrails

TsgcAIGuardrails는 애플리케이션과 언어 모델 사이에 위치합니다. 개인 데이터는 요청이 애플리케이션을 떠나기 전에 플레이스홀더로 대체되고 답변에서 복원되며, 도구는 이름별로 허용, 거부 또는 승인 요청되고, 구조화된 답변은 JSON 스키마로 검증됩니다.

TsgcAIGuardrails

AI 기능이 운영 환경에 나가기 전에 필요한 규칙을 하나의 컴포넌트에 담았습니다. TsgcAIChat.Guardrails에 지정하면 채팅의 모든 요청과 그 채팅에서 실행되는 에이전트의 모든 실행이, 어느 공급자가 답하든 같은 규칙을 따릅니다.

컴포넌트 클래스

TsgcAIGuardrails

용도

PII 마스킹, 도구 규칙, 답변 검증

플랫폼

Windows, macOS, Linux, iOS, Android

에디션. TsgcAIGuardrails는 sgcAI, sgcWebSockets Enterprise, All-Access에 포함되며, TsgcAIChat과 같은 에디션입니다. 2026.11.0 신기능입니다. sgcAI는 자체 완결형 제품으로, 컴포넌트의 기반이 되는 sgcWebSockets Core 런타임을 포함합니다. Delphi 7부터 Delphi 13, 그리고 C++ Builder에서 사용할 수 있습니다.

개인 데이터와 위험한 도구를 통제하세요

마스킹을 켜고, 허용 및 거부할 도구를 나열하고, 스키마를 지정한 다음, 가드레일을 채팅에 지정하세요.

uses
  sgcAI, sgcAI_Chat, sgcAI_Guardrails;

procedure TForm1.ProtectChat;
var
  vText, vError: string;
begin
  // personal data never leaves the application
  sgcAIGuardrails1.PII.Enabled := True;
  sgcAIGuardrails1.PII.CustomPatterns.Add('EmployeeId=EMP-####');
  // read and search tools are allowed, deleting never is
  sgcAIGuardrails1.AllowedTools.Add('read_*');
  sgcAIGuardrails1.AllowedTools.Add('search_*');
  sgcAIGuardrails1.DeniedTools.Add('*delete*');
  sgcAIGuardrails1.ToolApproval := aigaNotReadOnly;
  // structured answers must match the schema
  sgcAIGuardrails1.Schema.Enabled := True;
  sgcAIGuardrails1.Schema.JSONSchema := '{"type":"object","properties":' +
    '{"price":{"type":"number","minimum":0}},"required":["price"]}';

  sgcAIChat1.Guardrails := sgcAIGuardrails1;
  sgcAIAgent1.Chat := sgcAIChat1; // the agent follows the same tool rules

  vText := sgcAIGuardrails1.Redact('Mail bob@example.com, call +34 600 111 222');
  Memo1.Lines.Add(vText); // Mail [EMAIL_1], call [PHONE_1]
  Memo1.Lines.Add(sgcAIGuardrails1.Restore(vText)); // the original text
  if not sgcAIGuardrails1.ValidateJSON('{"price":"cheap"}',
    sgcAIGuardrails1.Schema.JSONSchema, vError) then
    Memo1.Lines.Add(vError); // $.price: expected number
end;

주요 속성 & 메서드

가장 자주 사용하게 되는 멤버들입니다.

PII 마스킹

PII.Enabled를 켜면 이메일 주소, 전화번호, 카드 번호(Luhn 검사), IBAN(mod 97 검사), IPv4와 IPv6 주소가 요청 전송 전에 [EMAIL_1] 같은 플레이스홀더로 대체되며, PII.RestoreInAnswers가 켜져 있는 동안 답변에서 복원됩니다. PII.Kinds로 종류를 선택합니다.

사용자 정의 패턴

PII.CustomPatterns는 Name=Pattern 형식으로 사용자 고유의 식별자를 추가합니다. #은 숫자, @는 문자, ?는 임의의 문자 하나, *는 단어의 나머지 부분을 뜻하며, 예를 들어 EmployeeId=EMP-####는 [EMPLOYEEID_1]을 만듭니다.

도구 규칙

AllowedTools와 DeniedTools는 * 와일드카드를 쓴 도구 이름을 받으며 대소문자를 구분하지 않고 비교하고, 거부된 이름이 항상 우선합니다. 거부된 도구는 모델에 제공되지 않고, 모델이 그래도 호출하면 다시 거부됩니다. OnToolBlocked는 모든 거부를 이유와 함께 알려 줍니다.

승인

ToolApproval은 실행 전에 TsgcAIAgent.OnToolApproval에 승인을 요청할 도구를 정합니다: aigaNone, aigaNotReadOnly(기본값), aigaAll.

스키마 검증

Schema.Enabled를 켜면 구조화된 답변이 Schema.JSONSchema로 검증됩니다: type, required, properties, additionalProperties, enum, const, minimum, maximum, 길이, 항목 수. 위반하면 $.price: expected number 같은 경로와 함께 OnSchemaViolation이 발생하고, 채팅은 답변을 저장하는 대신 오류를 보고합니다.

메서드

Redact, Restore, ValidateJSON, IsToolAllowed는 채팅 없이 단독으로도 동작합니다. ClearRedactions는 플레이스홀더 매핑을 지웁니다.

사양 & 참고 자료

이 컴포넌트가 사용하는 서비스와 프로토콜의 공식 자료입니다.

계속 살펴보기

온라인 도움말sgcAI 컴포넌트의 전체 API 레퍼런스와 사용 안내서.
sgcAI 전체 컴포넌트모든 sgcAI 컴포넌트의 기능 매트릭스를 살펴보세요.
무료 체험판 다운로드보유한 API 키로 직접 사용해 보세요.
가격Single, Team, Site 라이선스, 전체 소스 코드 포함.
최고의 가성비: All-Access모든 eSeGeCe 제품과 프리미엄 지원이 포함되어 연 €1,059부터 이용할 수 있어요.
All-Access 가격 보기

시작할 준비가 되셨나요?

무료 체험판을 다운로드하고 언어 모델이 사용자에게 도달하기 전에 규칙을 세워 보세요.