MCP Tools Reference: ces.googleapis.com

도구: create_guardrail

지정된 앱에 새 가드레일을 만듭니다.

다음 코드 샘플은 curl를 사용하여 create_guardrail MCP 도구를 호출하는 방법을 보여줍니다.

curl 요청
curl --location 'https://ces.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "create_guardrail",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

입력 스키마

AgentService.CreateGuardrail에 대한 요청 메시지입니다.

CreateGuardrailRequest

JSON 표현
{
  "parent": string,
  "guardrailId": string,
  "guardrail": {
    object (Guardrail)
  }
}
필드
parent

string

필수 항목입니다. 가이드라인을 만들 앱의 리소스 이름입니다.

guardrailId

string

(선택사항) 가드레일에 사용할 ID이며, 가드레일의 리소스 이름에서 마지막 구성요소가 됩니다. 제공되지 않으면 가드레일에 고유 ID가 자동으로 할당됩니다.

guardrail

object (Guardrail)

필수 항목입니다. 생성할 가드레일입니다.

가드레일

JSON 표현
{
  "name": string,
  "displayName": string,
  "description": string,
  "enabled": boolean,
  "action": {
    object (TriggerAction)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,

  // Union field guardrail_type can be only one of the following:
  "contentFilter": {
    object (ContentFilter)
  },
  "llmPromptSecurity": {
    object (LlmPromptSecurity)
  },
  "llmPolicy": {
    object (LlmPolicy)
  },
  "modelSafety": {
    object (ModelSafety)
  },
  "codeCallback": {
    object (CodeCallback)
  },
  "supervisor": {
    object (Supervisor)
  }
  // End of list of possible types for union field guardrail_type.
}
필드
name

string

식별자. 가드레일의 고유 식별자입니다. 형식: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

필수 항목입니다. 가드레일의 표시 이름입니다.

description

string

(선택사항) 가이드라인에 대한 설명입니다.

enabled

boolean

(선택사항) 가드레일이 사용 설정되어 있는지 여부입니다.

action

object (TriggerAction)

(선택사항) 가드레일이 트리거될 때 취할 조치입니다.

createTime

string (Timestamp format)

출력 전용입니다. 가드레일이 생성된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 가드레일이 마지막으로 업데이트된 시점의 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

etag

string

읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 이루어진 변경사항을 덮어씁니다.

통합 필드 guardrail_type. 가드레일 유형입니다. guardrail_type은 다음 중 하나여야 합니다.
contentFilter

object (ContentFilter)

(선택사항) 대화에서 특정 콘텐츠의 사용을 금지하는 가드레일입니다.

llmPromptSecurity

object (LlmPromptSecurity)

(선택사항) LLM 분류에 따라 프롬프트가 안전하지 않은 것으로 간주되면 대화를 차단하는 가드레일입니다.

llmPolicy

object (LlmPolicy)

(선택사항) LLM 분류를 기반으로 LLM 대답이 정책을 위반하는 것으로 간주되는 경우 대화를 차단하는 가드레일입니다.

modelSafety

object (ModelSafety)

(선택사항) 모델 안전 설정에 따라 LLM 응답이 안전하지 않다고 간주되는 경우 대화를 차단하는 가드레일입니다.

codeCallback

object (CodeCallback)

(선택사항) 콜백 실행 결과에 따라 대화를 차단할 수 있는 가드레일입니다.

supervisor

object (Supervisor)

(선택사항) 감독자 개입을 실행하는 가드레일입니다.

ContentFilter

JSON 표현
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean
}
필드
bannedContents[]

string

(선택사항) 차단된 문구 목록입니다. 사용자 입력과 에이전트 대답 모두에 적용됩니다.

bannedContentsInUserInput[]

string

(선택사항) 차단된 문구 목록입니다. 사용자 입력에만 적용됩니다.

bannedContentsInAgentResponse[]

string

(선택사항) 차단된 문구 목록입니다. 상담사 응답에만 적용됩니다.

matchType

enum (MatchType)

필수 항목입니다. 콘텐츠 필터의 검색 유형입니다.

disregardDiacritics

boolean

(선택사항) true인 경우 일치하는 동안 발음 구별 기호가 무시됩니다.

LlmPromptSecurity

JSON 표현
{
  "failOpen": boolean,

  // Union field security_config can be only one of the following:
  "defaultSettings": {
    object (DefaultSecuritySettings)
  },
  "customPolicy": {
    object (LlmPolicy)
  }
  // End of list of possible types for union field security_config.
}
필드
failOpen

boolean

(선택사항) 가드레일에서 LLM 오류가 발생할 때의 동작을 결정합니다. - true인 경우: 가드레일이 우회됩니다. - false (기본값): 가드레일이 트리거되거나 차단됩니다.

참고: 맞춤 정책이 제공되면 정책의 'fail_open' 구성이 우선 적용되어 이 필드는 무시됩니다.

통합 필드 security_config. 보안 구성 모드를 정의합니다. 사용자는 다음 구성 중 하나를 선택해야 합니다. security_config은 다음 중 하나여야 합니다.
defaultSettings

object (DefaultSecuritySettings)

(선택사항) 시스템의 사전 정의된 기본 보안 설정을 사용합니다. 이 모드를 선택하려면 요청에 빈 'default_settings' 메시지를 포함하세요. 내부의 'default_prompt_template' 필드는 응답에서 서버에 의해 채워집니다.

customPolicy

object (LlmPolicy)

(선택사항) 사용자 정의 LlmPolicy를 사용하여 보안 가드레일을 구성합니다.

DefaultSecuritySettings

JSON 표현
{
  "defaultPromptTemplate": string
}
필드
defaultPromptTemplate

string

출력 전용입니다. 시스템에서 사용하는 기본 프롬프트 템플릿입니다. 이 필드는 시스템에서 기본적으로 사용하는 프롬프트를 사용자에게 표시하기 위한 용도입니다. OUTPUT_ONLY입니다.

LlmPolicy

JSON 표현
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
필드
maxConversationMessages

integer

(선택사항) 이 정책을 확인할 때는 대화의 마지막 'n'개 메시지를 고려하세요. 설정하지 않으면 기본값 10이 사용됩니다.

modelSettings

object (ModelSettings)

(선택사항) 모델 설정입니다.

prompt

string

필수 항목입니다. 정책 프롬프트

policyScope

enum (PolicyScope)

필수 항목입니다. 대화 중에 정책 확인을 적용할 시기를 정의합니다. POLICY_SCOPE_UNSPECIFIED로 설정하면 정책이 사용자 입력에 적용됩니다. 에이전트 응답에 정책을 적용하면 에이전트가 응답하기 전에 추가 지연 시간이 발생합니다.

failOpen

boolean

(선택사항) 정책 확인 중에 오류가 발생하면 fail open하고 가드레일을 트리거하지 않습니다.

allowShortUtterance

boolean

(선택사항) 기본적으로 짧은 발화의 경우 LLM 정책 확인이 우회됩니다. 이 설정을 사용 설정하면 일반적으로 건너뛰는 발화도 포함하여 모든 발화에 정책 확인이 적용됩니다.

ModelSettings

JSON 표현
{
  "model": string,
  "thinkingLevel": enum (ThinkingLevel),

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
필드
model

string

(선택사항) 에이전트가 사용해야 하는 LLM 모델입니다. 설정하지 않으면 에이전트가 상위 에이전트의 모델을 상속합니다.

thinkingLevel

enum (ThinkingLevel)

(선택사항) 모델의 사고 수준입니다.

통합 필드 _temperature.

_temperature는 다음 중 하나여야 합니다.

temperature

number

(선택사항) 설정된 경우 이 온도가 LLM 모델에 사용됩니다. 온도는 모델 응답의 무작위성을 제어합니다. 온도가 낮을수록 더 예측 가능한 대답이 생성됩니다. 온도가 높을수록 더 창의적인 대답이 생성됩니다.

ModelSafety

JSON 표현
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
필드
safetySettings[]

object (SafetySetting)

필수 항목입니다. 안전 설정 목록입니다.

SafetySetting

JSON 표현
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
필드
category

enum (HarmCategory)

필수 항목입니다. 피해 카테고리입니다.

threshold

enum (HarmBlockThreshold)

필수 항목입니다. 피해 차단 기준점입니다.

CodeCallback

JSON 표현
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
필드
beforeAgentCallback

object (Callback)

(선택사항) 에이전트가 호출되기 전에 실행할 콜백입니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다.

afterAgentCallback

object (Callback)

(선택사항) 에이전트가 호출된 후 실행할 콜백입니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다.

beforeModelCallback

object (Callback)

(선택사항) 모델이 호출되기 전에 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다.

afterModelCallback

object (Callback)

(선택사항) 모델이 호출된 후 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다.

콜백

JSON 표현
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
필드
description

string

(선택사항) 콜백에 대한 인간이 읽을 수 있는 설명입니다.

disabled

boolean

(선택사항) 콜백이 사용 중지되었는지 여부입니다. 사용 중지된 콜백은 에이전트에서 무시됩니다.

proactiveExecutionEnabled

boolean

(선택사항) 사용 설정된 경우 콜백은 중간 모델 출력에서도 실행됩니다. 이 설정은 모델 콜백 후에만 영향을 미칩니다. 주의해서 사용 설정하세요. 일반적으로 모델 콜백은 모든 모델 응답을 받은 후에만 실행하면 됩니다. 사전 실행을 사용 설정하면 실행 비용과 지연 시간에 부정적인 영향을 미칠 수 있으므로 드문 경우에만 사용 설정해야 합니다.

통합 필드 callback. 실행할 콜백입니다. callback은 다음 중 하나여야 합니다.
pythonCode

string

필수 항목입니다. 콜백에 대해 실행할 Python 코드입니다.

감독자

JSON 표현
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
필드
type

enum (Type)

(선택사항) 감독자 유형입니다.

detectionMode

enum (DetectionMode)

(선택사항) 감독자의 감지 모드입니다.

TriggerAction

JSON 표현
{

  // Union field action can be only one of the following:
  "respondImmediately": {
    object (RespondImmediately)
  },
  "transferAgent": {
    object (TransferAgent)
  },
  "generativeAnswer": {
    object (GenerativeAnswer)
  }
  // End of list of possible types for union field action.
}
필드
통합 필드 action. 수행할 작업입니다. action은 다음 중 하나여야 합니다.
respondImmediately

object (RespondImmediately)

(선택사항) 사전 구성된 응답으로 즉시 응답합니다.

transferAgent

object (TransferAgent)

(선택사항) 다른 상담사에게 대화를 트랜스퍼합니다.

generativeAnswer

object (GenerativeAnswer)

(선택사항) 생성형 답변으로 대답합니다.

RespondImmediately

JSON 표현
{
  "responses": [
    {
      object (Response)
    }
  ]
}
필드
responses[]

object (Response)

필수 항목입니다. 상담사가 선택할 수 있는 미리 준비된 답변입니다. 대답은 무작위로 선택됩니다.

응답

JSON 표현
{
  "text": string,
  "disabled": boolean
}
필드
text

string

필수 항목입니다. 에이전트가 응답할 텍스트입니다.

disabled

boolean

(선택사항) 대답이 사용 중지되었는지 여부입니다. 사용 중지된 응답은 상담사가 사용하지 않습니다.

TransferAgent

JSON 표현
{
  "agent": string
}
필드
agent

string

필수 항목입니다. 대화를 트랜스퍼할 에이전트의 이름입니다. 에이전트는 현재 에이전트와 동일한 앱에 있어야 합니다. 형식: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

JSON 표현
{
  "prompt": string
}
필드
prompt

string

필수 항목입니다. 생성형 답변에 사용할 프롬프트입니다.

타임스탬프

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

유닉스 시간 1970-01-01T00:00:00Z 이후 경과된 UTC 시간을 초 단위로 나타냅니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z에 해당) 사이여야 합니다.

nanos

integer

나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다.

MatchType

콘텐츠 필터의 검색 유형입니다.

열거형
MATCH_TYPE_UNSPECIFIED 검색 유형이 지정되지 않았습니다.
SIMPLE_STRING_MATCH 콘텐츠는 하위 문자열에 대해 문자별로 일치합니다.
WORD_BOUNDARY_STRING_MATCH 텍스트에서 발견된 패턴이 단어 구분 기호로 둘러싸여 있는 경우에만 콘텐츠가 일치합니다. 금지된 문구에는 단어 구분 기호도 포함될 수 있습니다.
REGEXP_MATCH 정규 표현식 문법을 사용하여 콘텐츠가 일치합니다.

ThinkingLevel

모델의 사고 수준 구성입니다.

열거형
THINKING_LEVEL_UNSPECIFIED 사고 수준이 지정되지 않았습니다.
DEFAULT 기본 사고 수준입니다.
LOW 사고 수준이 낮습니다.
MEDIUM 중간 사고 수준입니다.
HIGH 사고 수준이 높습니다.

PolicyScope

대화 중에 정책 확인을 적용할 시기를 정의합니다.

열거형
POLICY_SCOPE_UNSPECIFIED 정책 범위가 지정되지 않았습니다.
USER_QUERY 정책 확인은 사용자 입력에 따라 트리거됩니다.
AGENT_RESPONSE 정책 확인은 에이전트 응답 시 트리거됩니다. 이 정책 범위를 적용하면 에이전트가 응답하기 전에 추가 지연 시간이 발생합니다.
USER_QUERY_AND_AGENT_RESPONSE 정책 확인은 사용자 입력과 에이전트 대답 모두에서 트리거됩니다. 이 정책 범위를 적용하면 에이전트가 응답하기 전에 추가 지연 시간이 발생합니다.

HarmCategory

피해 카테고리입니다.

열거형
HARM_CATEGORY_UNSPECIFIED 피해 카테고리가 지정되지 않았습니다.
HARM_CATEGORY_HATE_SPEECH 피해 카테고리는 증오심 표현입니다.
HARM_CATEGORY_DANGEROUS_CONTENT 피해 카테고리는 위험한 콘텐츠입니다.
HARM_CATEGORY_HARASSMENT 피해 카테고리는 괴롭힘입니다.
HARM_CATEGORY_SEXUALLY_EXPLICIT 피해 카테고리는 음란물입니다.
HARM_CATEGORY_PROFANITY 피해 카테고리는 욕설입니다.
HARM_CATEGORY_TOXIC 피해 카테고리는 유해합니다.

HarmBlockThreshold

차단을 위한 확률 기반 기준점 수준입니다.

열거형
HARM_BLOCK_THRESHOLD_UNSPECIFIED 지정되지 않은 피해 차단 기준점입니다.
BLOCK_LOW_AND_ABOVE 낮은 기준점 이상의 기준점을 차단합니다(예: 더 차단).
BLOCK_MEDIUM_AND_ABOVE 중간 이상의 기준점을 차단합니다.
BLOCK_ONLY_HIGH 높은 기준점만 차단합니다(즉, 차단 미만).
BLOCK_NONE 차단하지 않습니다.
OFF 안전 필터를 사용 중지합니다.

유형

감독자 유형입니다.

열거형
TYPE_UNSPECIFIED 유형이 지정되지 않았습니다.
INVALID_TEXT 잘못된 텍스트 문제 유형입니다.
LANGUAGE_SHIFT 언어 전환 문제 유형입니다.
SPEAKER_SHIFT 스피커 이동 문제 유형입니다.
AUDIO_MISMATCH 오디오 불일치 문제 유형입니다.
MISSING_TOOL_CALL 도구 호출 문제 유형이 누락되었습니다.
CUSTOM 맞춤 문제 유형입니다.
CHOPPY_AUDIO 오디오 끊김 문제 유형입니다.
PROFANITY 상담사 욕설 문제 유형입니다.

DetectionMode

감독자의 감지 모드입니다.

열거형
DETECTION_MODE_UNSPECIFIED 감지 모드가 지정되지 않았습니다. 기본값은 NON_BLOCKING입니다.
NON_BLOCKING 차단되지 않는 감지 모드입니다. 감독자 감지가 진행 중일 때는 대답이 차단되지 않습니다.
BLOCKING 차단 감지 모드 감독자 감지가 진행 중이면 대답이 차단됩니다.

출력 스키마

가드레일에는 에이전트를 안전하게 보호하기 위한 견제와 균형 목록이 포함되어 있습니다.

가드레일

JSON 표현
{
  "name": string,
  "displayName": string,
  "description": string,
  "enabled": boolean,
  "action": {
    object (TriggerAction)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,

  // Union field guardrail_type can be only one of the following:
  "contentFilter": {
    object (ContentFilter)
  },
  "llmPromptSecurity": {
    object (LlmPromptSecurity)
  },
  "llmPolicy": {
    object (LlmPolicy)
  },
  "modelSafety": {
    object (ModelSafety)
  },
  "codeCallback": {
    object (CodeCallback)
  },
  "supervisor": {
    object (Supervisor)
  }
  // End of list of possible types for union field guardrail_type.
}
필드
name

string

식별자. 가드레일의 고유 식별자입니다. 형식: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

필수 항목입니다. 가드레일의 표시 이름입니다.

description

string

(선택사항) 가이드라인에 대한 설명입니다.

enabled

boolean

(선택사항) 가드레일이 사용 설정되어 있는지 여부입니다.

action

object (TriggerAction)

(선택사항) 가드레일이 트리거될 때 취할 조치입니다.

createTime

string (Timestamp format)

출력 전용입니다. 가드레일이 생성된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 가드레일이 마지막으로 업데이트된 시점의 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

etag

string

읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 이루어진 변경사항을 덮어씁니다.

통합 필드 guardrail_type. 가드레일 유형입니다. guardrail_type은 다음 중 하나여야 합니다.
contentFilter

object (ContentFilter)

(선택사항) 대화에서 특정 콘텐츠의 사용을 금지하는 가드레일입니다.

llmPromptSecurity

object (LlmPromptSecurity)

(선택사항) LLM 분류에 따라 프롬프트가 안전하지 않은 것으로 간주되면 대화를 차단하는 가드레일입니다.

llmPolicy

object (LlmPolicy)

(선택사항) LLM 분류를 기반으로 LLM 대답이 정책을 위반하는 것으로 간주되는 경우 대화를 차단하는 가드레일입니다.

modelSafety

object (ModelSafety)

(선택사항) 모델 안전 설정에 따라 LLM 응답이 안전하지 않다고 간주되는 경우 대화를 차단하는 가드레일입니다.

codeCallback

object (CodeCallback)

(선택사항) 콜백 실행 결과에 따라 대화를 차단할 수 있는 가드레일입니다.

supervisor

object (Supervisor)

(선택사항) 감독자 개입을 실행하는 가드레일입니다.

ContentFilter

JSON 표현
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean
}
필드
bannedContents[]

string

(선택사항) 차단된 문구 목록입니다. 사용자 입력과 에이전트 대답 모두에 적용됩니다.

bannedContentsInUserInput[]

string

(선택사항) 차단된 문구 목록입니다. 사용자 입력에만 적용됩니다.

bannedContentsInAgentResponse[]

string

(선택사항) 차단된 문구 목록입니다. 상담사 응답에만 적용됩니다.

matchType

enum (MatchType)

필수 항목입니다. 콘텐츠 필터의 검색 유형입니다.

disregardDiacritics

boolean

(선택사항) true인 경우 일치하는 동안 발음 구별 기호가 무시됩니다.

LlmPromptSecurity

JSON 표현
{
  "failOpen": boolean,

  // Union field security_config can be only one of the following:
  "defaultSettings": {
    object (DefaultSecuritySettings)
  },
  "customPolicy": {
    object (LlmPolicy)
  }
  // End of list of possible types for union field security_config.
}
필드
failOpen

boolean

(선택사항) 가드레일에서 LLM 오류가 발생할 때의 동작을 결정합니다. - true인 경우: 가드레일이 우회됩니다. - false (기본값): 가드레일이 트리거되거나 차단됩니다.

참고: 맞춤 정책이 제공되면 정책의 'fail_open' 구성이 우선 적용되어 이 필드는 무시됩니다.

통합 필드 security_config. 보안 구성 모드를 정의합니다. 사용자는 다음 구성 중 하나를 선택해야 합니다. security_config은 다음 중 하나여야 합니다.
defaultSettings

object (DefaultSecuritySettings)

(선택사항) 시스템의 사전 정의된 기본 보안 설정을 사용합니다. 이 모드를 선택하려면 요청에 빈 'default_settings' 메시지를 포함하세요. 내부의 'default_prompt_template' 필드는 응답에서 서버에 의해 채워집니다.

customPolicy

object (LlmPolicy)

(선택사항) 사용자 정의 LlmPolicy를 사용하여 보안 가드레일을 구성합니다.

DefaultSecuritySettings

JSON 표현
{
  "defaultPromptTemplate": string
}
필드
defaultPromptTemplate

string

출력 전용입니다. 시스템에서 사용하는 기본 프롬프트 템플릿입니다. 이 필드는 시스템에서 기본적으로 사용하는 프롬프트를 사용자에게 표시하기 위한 용도입니다. OUTPUT_ONLY입니다.

LlmPolicy

JSON 표현
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
필드
maxConversationMessages

integer

(선택사항) 이 정책을 확인할 때는 대화의 마지막 'n'개 메시지를 고려하세요. 설정하지 않으면 기본값 10이 사용됩니다.

modelSettings

object (ModelSettings)

(선택사항) 모델 설정입니다.

prompt

string

필수 항목입니다. 정책 프롬프트

policyScope

enum (PolicyScope)

필수 항목입니다. 대화 중에 정책 확인을 적용할 시기를 정의합니다. POLICY_SCOPE_UNSPECIFIED로 설정하면 정책이 사용자 입력에 적용됩니다. 에이전트 응답에 정책을 적용하면 에이전트가 응답하기 전에 추가 지연 시간이 발생합니다.

failOpen

boolean

(선택사항) 정책 확인 중에 오류가 발생하면 fail open하고 가드레일을 트리거하지 않습니다.

allowShortUtterance

boolean

(선택사항) 기본적으로 짧은 발화의 경우 LLM 정책 확인이 우회됩니다. 이 설정을 사용 설정하면 일반적으로 건너뛰는 발화도 포함하여 모든 발화에 정책 확인이 적용됩니다.

ModelSettings

JSON 표현
{
  "model": string,
  "thinkingLevel": enum (ThinkingLevel),

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
필드
model

string

(선택사항) 에이전트가 사용해야 하는 LLM 모델입니다. 설정하지 않으면 에이전트가 상위 에이전트의 모델을 상속합니다.

thinkingLevel

enum (ThinkingLevel)

(선택사항) 모델의 사고 수준입니다.

통합 필드 _temperature.

_temperature는 다음 중 하나여야 합니다.

temperature

number

(선택사항) 설정된 경우 이 온도가 LLM 모델에 사용됩니다. 온도는 모델 응답의 무작위성을 제어합니다. 온도가 낮을수록 더 예측 가능한 대답이 생성됩니다. 온도가 높을수록 더 창의적인 대답이 생성됩니다.

ModelSafety

JSON 표현
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
필드
safetySettings[]

object (SafetySetting)

필수 항목입니다. 안전 설정 목록입니다.

SafetySetting

JSON 표현
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
필드
category

enum (HarmCategory)

필수 항목입니다. 피해 카테고리입니다.

threshold

enum (HarmBlockThreshold)

필수 항목입니다. 피해 차단 기준점입니다.

CodeCallback

JSON 표현
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
필드
beforeAgentCallback

object (Callback)

(선택사항) 에이전트가 호출되기 전에 실행할 콜백입니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다.

afterAgentCallback

object (Callback)

(선택사항) 에이전트가 호출된 후 실행할 콜백입니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다.

beforeModelCallback

object (Callback)

(선택사항) 모델이 호출되기 전에 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다.

afterModelCallback

object (Callback)

(선택사항) 모델이 호출된 후 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다.

콜백

JSON 표현
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
필드
description

string

(선택사항) 콜백에 대한 인간이 읽을 수 있는 설명입니다.

disabled

boolean

(선택사항) 콜백이 사용 중지되었는지 여부입니다. 사용 중지된 콜백은 에이전트에서 무시됩니다.

proactiveExecutionEnabled

boolean

(선택사항) 사용 설정된 경우 콜백은 중간 모델 출력에서도 실행됩니다. 이 설정은 모델 콜백 후에만 영향을 미칩니다. 주의해서 사용 설정하세요. 일반적으로 모델 콜백은 모든 모델 응답을 받은 후에만 실행하면 됩니다. 사전 실행을 사용 설정하면 실행 비용과 지연 시간에 부정적인 영향을 미칠 수 있으므로 드문 경우에만 사용 설정해야 합니다.

통합 필드 callback. 실행할 콜백입니다. callback은 다음 중 하나여야 합니다.
pythonCode

string

필수 항목입니다. 콜백에 대해 실행할 Python 코드입니다.

감독자

JSON 표현
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
필드
type

enum (Type)

(선택사항) 감독자 유형입니다.

detectionMode

enum (DetectionMode)

(선택사항) 감독자의 감지 모드입니다.

TriggerAction

JSON 표현
{

  // Union field action can be only one of the following:
  "respondImmediately": {
    object (RespondImmediately)
  },
  "transferAgent": {
    object (TransferAgent)
  },
  "generativeAnswer": {
    object (GenerativeAnswer)
  }
  // End of list of possible types for union field action.
}
필드
통합 필드 action. 수행할 작업입니다. action은 다음 중 하나여야 합니다.
respondImmediately

object (RespondImmediately)

(선택사항) 사전 구성된 응답으로 즉시 응답합니다.

transferAgent

object (TransferAgent)

(선택사항) 다른 상담사에게 대화를 트랜스퍼합니다.

generativeAnswer

object (GenerativeAnswer)

(선택사항) 생성형 답변으로 대답합니다.

RespondImmediately

JSON 표현
{
  "responses": [
    {
      object (Response)
    }
  ]
}
필드
responses[]

object (Response)

필수 항목입니다. 상담사가 선택할 수 있는 미리 준비된 답변입니다. 대답은 무작위로 선택됩니다.

응답

JSON 표현
{
  "text": string,
  "disabled": boolean
}
필드
text

string

필수 항목입니다. 에이전트가 응답할 텍스트입니다.

disabled

boolean

(선택사항) 대답이 사용 중지되었는지 여부입니다. 사용 중지된 응답은 상담사가 사용하지 않습니다.

TransferAgent

JSON 표현
{
  "agent": string
}
필드
agent

string

필수 항목입니다. 대화를 트랜스퍼할 에이전트의 이름입니다. 에이전트는 현재 에이전트와 동일한 앱에 있어야 합니다. 형식: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

JSON 표현
{
  "prompt": string
}
필드
prompt

string

필수 항목입니다. 생성형 답변에 사용할 프롬프트입니다.

타임스탬프

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

유닉스 시간 1970-01-01T00:00:00Z 이후 경과된 UTC 시간을 초 단위로 나타냅니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z에 해당) 사이여야 합니다.

nanos

integer

나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다.

MatchType

콘텐츠 필터의 검색 유형입니다.

열거형
MATCH_TYPE_UNSPECIFIED 검색 유형이 지정되지 않았습니다.
SIMPLE_STRING_MATCH 콘텐츠는 하위 문자열에 대해 문자별로 일치합니다.
WORD_BOUNDARY_STRING_MATCH 텍스트에서 발견된 패턴이 단어 구분 기호로 둘러싸여 있는 경우에만 콘텐츠가 일치합니다. 금지된 문구에는 단어 구분 기호도 포함될 수 있습니다.
REGEXP_MATCH 정규 표현식 문법을 사용하여 콘텐츠가 일치합니다.

ThinkingLevel

모델의 사고 수준 구성입니다.

열거형
THINKING_LEVEL_UNSPECIFIED 사고 수준이 지정되지 않았습니다.
DEFAULT 기본 사고 수준입니다.
LOW 사고 수준이 낮습니다.
MEDIUM 중간 사고 수준입니다.
HIGH 사고 수준이 높습니다.

PolicyScope

대화 중에 정책 확인을 적용할 시기를 정의합니다.

열거형
POLICY_SCOPE_UNSPECIFIED 정책 범위가 지정되지 않았습니다.
USER_QUERY 정책 확인은 사용자 입력에 따라 트리거됩니다.
AGENT_RESPONSE 정책 확인은 에이전트 응답 시 트리거됩니다. 이 정책 범위를 적용하면 에이전트가 응답하기 전에 추가 지연 시간이 발생합니다.
USER_QUERY_AND_AGENT_RESPONSE 정책 확인은 사용자 입력과 에이전트 대답 모두에서 트리거됩니다. 이 정책 범위를 적용하면 에이전트가 응답하기 전에 추가 지연 시간이 발생합니다.

HarmCategory

피해 카테고리입니다.

열거형
HARM_CATEGORY_UNSPECIFIED 피해 카테고리가 지정되지 않았습니다.
HARM_CATEGORY_HATE_SPEECH 피해 카테고리는 증오심 표현입니다.
HARM_CATEGORY_DANGEROUS_CONTENT 피해 카테고리는 위험한 콘텐츠입니다.
HARM_CATEGORY_HARASSMENT 피해 카테고리는 괴롭힘입니다.
HARM_CATEGORY_SEXUALLY_EXPLICIT 피해 카테고리는 음란물입니다.
HARM_CATEGORY_PROFANITY 피해 카테고리는 욕설입니다.
HARM_CATEGORY_TOXIC 피해 카테고리는 유해합니다.

HarmBlockThreshold

차단을 위한 확률 기반 기준점 수준입니다.

열거형
HARM_BLOCK_THRESHOLD_UNSPECIFIED 지정되지 않은 피해 차단 기준점입니다.
BLOCK_LOW_AND_ABOVE 낮은 기준점 이상의 기준점을 차단합니다(예: 더 차단).
BLOCK_MEDIUM_AND_ABOVE 중간 이상의 기준점을 차단합니다.
BLOCK_ONLY_HIGH 높은 기준점만 차단합니다(즉, 차단 미만).
BLOCK_NONE 차단하지 않습니다.
OFF 안전 필터를 사용 중지합니다.

유형

감독자 유형입니다.

열거형
TYPE_UNSPECIFIED 유형이 지정되지 않았습니다.
INVALID_TEXT 잘못된 텍스트 문제 유형입니다.
LANGUAGE_SHIFT 언어 전환 문제 유형입니다.
SPEAKER_SHIFT 스피커 이동 문제 유형입니다.
AUDIO_MISMATCH 오디오 불일치 문제 유형입니다.
MISSING_TOOL_CALL 도구 호출 문제 유형이 누락되었습니다.
CUSTOM 맞춤 문제 유형입니다.
CHOPPY_AUDIO 오디오 끊김 문제 유형입니다.
PROFANITY 상담사 욕설 문제 유형입니다.

DetectionMode

감독자의 감지 모드입니다.

열거형
DETECTION_MODE_UNSPECIFIED 감지 모드가 지정되지 않았습니다. 기본값은 NON_BLOCKING입니다.
NON_BLOCKING 차단되지 않는 감지 모드입니다. 감독자 감지가 진행 중일 때는 대답이 차단되지 않습니다.
BLOCKING 차단 감지 모드 감독자 감지가 진행 중이면 대답이 차단됩니다.

도구 주석

도구 주석은 MCP 클라이언트에 전송되어 특정 도구의 기본 위험을 설명합니다. 대부분의 클라이언트는 이러한 힌트를 신뢰할 수 없는 것으로 취급하지만, 확인 메시지를 사용자에게 전송할 시점을 결정하는 데 사용할 수 있습니다.

제목 문자열과 함께 다음 불리언 힌트는 다음과 같이 정의됩니다.

  • readOnlyHint: true인 경우 도구가 환경을 수정하지 않습니다. 기본값: false.
  • destructiveHint: true인 경우 도구가 파괴적인 작업을 실행할 수 있습니다. false인 경우 도구는 추가 작업만 실행할 수 있습니다. 기본값은 true입니다.
  • idempotentHint: true인 경우 동일한 인수로 도구를 반복적으로 호출해도 환경에 추가적인 영향을 미치지 않습니다. 기본값: false.
  • openWorldHint: true인 경우 도구가 외부 엔티티의 '오픈 월드'와 상호작용할 수 있습니다. false인 경우 도구는 내부 항목과만 상호작용할 수 있습니다. 예를 들어 웹 검색 도구는 오픈 월드이지만 메모리 도구는 오픈 월드가 아닙니다.

파괴적 힌트: ✅ | 멱등성 힌트: ❌ | 읽기 전용 힌트: ❌ | 오픈 월드 힌트: ❌