ToolCall

클라이언트 또는 에이전트가 지정된 도구를 실행하도록 요청합니다.

JSON 표현
{
  "id": string,
  "displayName": string,
  "args": {
    object
  },
  "parentToolCallId": string,
  "agentName": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of mutually exclusive fields.
}
필드
id

string

(선택사항) 도구 호출의 고유 식별자입니다. 값이 채워진 경우 클라이언트는 ToolResponse에서 일치하는 ID로 실행 결과를 반환해야 합니다.

displayName

string

출력 전용입니다. 도구의 표시 이름입니다.

args

object (Struct format)

(선택사항) JSON 객체 형식의 도구 입력 매개변수와 값입니다.

parentToolCallId

string

출력 전용입니다. 상위 통화를 대신하여 작업하는 하위 에이전트가 발급한 경우 이 통화를 유발한 도구 호출의 ID입니다. 최상위 호출의 경우 비워 둡니다. 클라이언트가 모든 단계를 형제로 렌더링하는 대신 하위 에이전트의 작업을 시작한 호출 아래에 그룹화할 수 있습니다.

agentName

string

출력 전용입니다. 이 통화를 발급한 상담사의 사람이 읽을 수 있는 이름입니다(예: '계약 설계사'). 루트 에이전트가 발급한 경우 비어 있습니다.

실행할 도구의 식별자입니다. 지속형 도구 또는 도구 세트의 도구일 수 있습니다. 다음은 상호 배타적인 필드의 목록입니다. 응답에는 다음 필드 중 최대 하나가 설정됩니다.
tool

string

(선택사항) 실행할 도구의 이름입니다. 형식: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

(선택사항) 실행할 도구 세트 도구입니다.

상호 배타적 필드의 끝입니다.