DBMS_CLOUD_AI_AGENT 패키지

이 패키지는 Select AI 에이전트, 작업, 도구 및 오케스트레이션을 정의하고 관리합니다.

주:

DBMS_CLOUD_AI_AGENT 패키지에 대한 지원은 Oracle Database 19c 버전 19.29부터, Oracle Database 26ai 버전 23.26부터 제공됩니다.

DBMS_CLOUD_AI_AGENT 서브 프로그램 요약

이 섹션에서는 자율운영 AI 데이터베이스와 함께 제공되는 Select AI Agent의 DBMS_CLOUD_AI_AGENT 하위 프로그램에 대해 다룹니다.

하위 프로그램 설명

CREATE_AGENT 프로시저

이 절차에서는 에이전트를 생성합니다.

CREATE_AGENT 속성

에이전트 생성을 위한 속성을 제공합니다.

ENABLE_AGENT 프로시저

이 절차에서는 에이전트를 사용으로 설정합니다.

DISABLE_AGENT 프로시저

이 절차에서는 에이전트를 사용 안함으로 설정합니다.

DROP_AGENT 프로시저

이 프로시저는 기존 에이전트를 삭제합니다.

CREATE_TASK 프로시저

이 절차에서는 에이전트 및 에이전트 팀이 포함할 수 있는 태스크를 생성합니다.

CREATE_TASK 속성

에이전트 작업 생성을 위한 속성을 제공합니다.

ENABLE_TASK 프로시저

이 절차에서는 에이전트 작업을 사용으로 설정합니다.

DISABLE_TASK 프로시저

이 절차에서는 에이전트 작업을 사용 안함으로 설정합니다.

DROP_TASK 프로시저

이 프로시저는 기존 에이전트 작업을 삭제합니다.

CREATE_TOOL 프로시저

이 절차에서는 에이전트가 포함할 수 있는 사용자 정의 도구를 만듭니다.

CREATE_TOOL 속성

도구 생성을 위한 속성을 제공합니다.

ENABLE_TOOL 프로시저

이 절차에서는 등록된 도구를 사용으로 설정합니다.

DISABLE_TOOL 프로시저

이 절차에서는 등록된 도구를 사용 안함으로 설정합니다.

DROP_TOOL 프로시저

이 절차에서는 기존 도구를 삭제합니다.

CREATE_TEAM 프로시저

이 절차에서는 에이전트 팀을 생성하고 에이전트 및 태스크를 포함합니다.

CREATE_TEAM 속성

에이전트 팀 생성에 대한 속성을 제공합니다.

SET_TEAM 함수

이 절차에서는 현재 세션에서 에이전트 팀을 설정합니다.

GET_TEAM 함수

이 절차에서는 현재 세션에 설정된 에이전트 팀을 반환합니다.

CLEAR_TEAM 함수

이 절차는 현재 세션에서 설정된 에이전트 팀을 지웁니다.

RUN_TEAM 함수

이 절차에서는 새 에이전트를 만들거나 일시 중지된 에이전트를 실행합니다.

ENABLE_TEAM 프로시저

이 절차에서는 에이전트 팀을 사용으로 설정합니다.

DISABLE_TEAM 프로시저

이 절차에서는 에이전트 팀을 사용 안함으로 설정합니다.

DROP_TEAM 프로시저

이 절차에서는 기존 에이전트 팀을 삭제합니다.

CREATE_AGENT 프로시저

DBMS_CLOUD_AI_AGENT.CREATE_AGENT 절차를 사용하여 Select AI Agent 프레임워크에 새 AI 에이전트를 등록합니다. agent_name를 사용하여 에이전트의 ID를 정의하고, 속성 매개변수로 해당 동작을 구성하고, 선택적으로 설명을 제공합니다.

구문

DBMS_CLOUD_AI_AGENT.CREATE_AGENT(
     agent_name          IN  VARCHAR2,
     attributes          IN  CLOB,
     status              IN  VARCHAR2  DEFAULT NULL,
     description         IN  CLOB      DEFAULT NULL
  );

매개변수

매개변수 설명

agent_name

AI 에이전트의 이름입니다. 에이전트 이름은 Oracle SQL 식별자의 이름 지정 규칙을 따라야 합니다. 최대 이름의 길이는 125자입니다.

필수 매개변수입니다.

attributes

AI 에이전트에 대한 사용자정의 속성입니다. 자세한 내용은 CREATE_AGENT 속성을 참조하십시오.

status

에이전트의 상태입니다.

기본값은 enabled입니다.

description

AI 에이전트에 대한 사용자 지정 설명입니다.

기본값은 NULL입니다.

다음 예에서는 고객 제품 반품을 처리하는 에이전트를 생성합니다. 전체 예는 예제: 제품 반품 에이전트 생성을 참조하십시오.

BEGIN
  DBMS_CLOUD_AI_AGENT.CREATE_AGENT(
    agent_name => 'CustomerAgent',
    attributes => '{
       "profile_name": "GOOGLE",
                       "role": "You are an experienced customer agent who deals with customers return request."
     }'
  );
END;
/  
 
PL/SQL procedure successfully completed.

CREATE_AGENT 속성

이러한 속성은 에이전트의 역할 및 AI 프로파일 이름을 정의합니다.

속성

속성 이름 기본값 설명

profile_name

-

에이전트가 LLM에 요청을 전송하는 데 사용하는 AI 프로파일입니다.

필수 매개변수입니다.

role

-

에이전트의 함수를 정의하고 에이전트에 컨텍스트를 제공합니다. LLM으로 전송됩니다.

필수 매개변수입니다.

enable_human_tool

True

상담원이 사용자에게 정보 또는 설명을 질문할 수 있도록 합니다.

다음 예에서는 절차에서 에이전트 속성을 사용자 정의하는 방법을 보여줍니다.
BEGIN
  DBMS_CLOUD_AI_AGENT.CREATE_AGENT(
    agent_name => 'Customer_Return_Agent',
    attributes => '{
       "profile_name": "GOOGLE",
                       "role": "You are an experienced customer agent who deals with customers return request.",
			   "enable_human_tool": "False"
     }'
  );
END;
/  
 
PL/SQL procedure successfully completed

ENABLE_AGENT 프로시저

이 절차에서는 사용자가 지정하는 AI 에이전트를 사용으로 설정합니다. 이 절차에서는 AI 에이전트의 상태를 ENABLED로 변경합니다.

구문

DBMS_CLOUD_AI_AGENT.ENABLE_AGENT(
   agent_name           IN  VARCHAR2
);

매개변수

매개변수 설명

agent_name

사용으로 설정할 AI 에이전트의 이름입니다.

이 매개변수는 필수입니다.

AI 프로파일을 사용으로 설정하는 예

BEGIN
     DBMS_CLOUD_AI_AGENT.ENABLE_AGENT(
         agent_name    => 'Customer_Return_Agent'
     );
END;
/

DISABLE_AGENT 프로시저

이 절차에서는 현재 데이터베이스에서 AI 에이전트를 사용 안함으로 설정합니다. 이 절차에 따라 AI 에이전트의 상태가 DISABLED로 변경됩니다.

구문

DBMS_CLOUD_AI_AGENT.DISABLE_AGENT(
   agent_name           IN  VARCHAR2
);

매개변수

매개변수 설명

agent_name

AI 에이전트의 이름입니다.

이 매개변수는 필수입니다.

BEGIN
     DBMS_CLOUD_AI_AGENT.DISABLE_AGENT(
         agent_name    => 'Customer_Return_Agent'
     );
END;
/

DROP_AGENT 프로시저

이 절차는 기존 AI 에이전트를 삭제합니다. 에이전트가 없으면 프로시저에서 오류가 발생합니다.

구문

DBMS_CLOUD_AI_AGENT.DROP_AGENT(
    agent_name          IN  VARCHAR2,
    force               IN  BOOLEAN DEFAULT FALSE
 );

매개변수

매개변수 설명

agent_name

AI 에이전트의 이름입니다.

필수 매개변수입니다.

force

TRUE인 경우 AI 에이전트가 없을 경우 프로시저에서 오류를 무시합니다.

이 매개변수의 기본값은 FALSE입니다.

BEGIN
     DBMS_CLOUD_AI_AGENT.DROP_AGENT(agent_name => 'Customer_Return_Agent);
END;
/

사용법 참고

force를 사용하여 에이전트를 삭제하고 AI 에이전트가 존재하지 않을 경우 오류를 무시합니다.

CREATE_TASK 프로시저

DBMS_CLOUD_AI_AGENT.CREATE_TASK 절차를 사용하여 Select AI 에이전트가 해당 추론 프로세스에 포함할 수 있는 작업을 정의합니다. 각 작업에는 작업을 계획하고 수행할 때 에이전트의 동작을 지정하는 고유한 이름과 속성 집합이 있습니다.

input 속성을 사용하여 작업 간 종속성을 정의하면 Select AI가 한 작업의 출력을 다른 작업으로 전달할 수 있습니다. 이렇게 하면 체인화된 추론 및 다중 단계 워크플로우가 지원됩니다.

구문

DBMS_CLOUD_AI_AGENT.CREATE_TASK(
     task_name           IN  VARCHAR2,
     attributes          IN  CLOB,
     status              IN  VARCHAR2  DEFAULT NULL,
     description         IN  CLOB      DEFAULT NULL
  );

매개변수

매개변수 설명

task_name

태스크에 대한 고유 이름입니다.

필수 매개변수입니다.

attributes

태스크별 속성을 포함하는 JSON 객체입니다. CREATE_TASK 속성을 참조하십시오.

status

작업의 상태입니다.

기본값은 ENABLED입니다.

description

작업을 식별하는 데 도움이 되는 유저 정의 설명입니다. 이 값은 데이터베이스에 저장되지만 LLM으로 전송되지 않습니다.

기본값은 NULL입니다.

다음 예에서는 고객의 제품 반품을 처리하는 태스크를 생성합니다.

BEGIN
  DBMS_CLOUD_AI_AGENT.CREATE_TASK(
    task_name => 'Return_And_Price_Match',
    attributes => '{"instruction": "Process a product return request from a customer:{query}' ||
                    '1. Ask customer the reason for return (price match or defective)' ||
                    '2. If price match:' ||
                    '   a. Request customer to provide a price match link' ||
                    '   b. Use websearch tool to get the price for that price match link' ||
                    '   c. Ask customer if they want a refund.' ||
                    '   d. Send email notification only if customer accept the refund.' ||
                    '3. If defective:' ||
                     '   a. Process the defective return",
                    "tools": ["WebSearch", "Email"]}'
  );
END;
/

CREATE_TASK 속성

이러한 속성은 작업에 사용할 수 있는 에이전트의 지침 및 도구를 정의합니다.

속성

속성 이름 기본값 설명

instruction

-
작업이 수행해야 하는 작업을 설명하는 명확하고 간결한 명령문입니다. 이 텍스트는 LLM으로 전송된 프롬프트에 포함됩니다. 자연어 입력을 나타내는 {query} 위치 표시자를 포함할 수 있습니다. 예:
SELECT AI AGENT <user_prompt>

필수 매개변수입니다.

tools

-

에이전트가 작업을 완료하는 데 사용할 수 있는 도구 이름의 JSON 배열입니다. 예: "tools": ["RAG", "SQL", "WEBSEARCH", "NOTIFICATION"].

필수 매개변수입니다.

input

-

이 태스크에 대한 입력으로 출력이 사용되어야 하는 기타 태스크를 식별합니다. Select AI는 이러한 출력을 LLM에 자동으로 제공합니다.

enable_human_tool

-

태스크 중 정보 또는 설명이 필요한 경우 상담원이 사용자에게 질문을 할 수 있도록 합니다.

기본값은 true입니다.

주:

enable_human_tool 작업은 에이전트 enable_human_tool 속성을 겹쳐씁니다. 에이전트 enable_human_toolfalse로 설정되고 작업 enable_human_tooltrue로 설정된 경우 작업 실행 중에 LLM이 질문을 해야 합니다.

ENABLE_TASK 프로시저

DBMS_CLOUD_AI_AGENT.ENABLE_TASK 절차를 사용하여 이전에 정의된 작업을 사용으로 설정합니다. 그러면 작업 상태가 ENABLED로 변경되어 에이전트가 처리 중에 사용할 수 있습니다.

구문

DBMS_CLOUD_AI_AGENT.ENABLE_TASK(
   task_name           IN  VARCHAR2
);

매개변수

매개변수 설명

task_name

사용으로 설정할 태스크의 이름입니다.

이 매개변수는 필수입니다.

사용법 참고

태스크가 시스템에 이미 있어야 합니다. 이 절차에서는 워크플로를 추론하는 동안 에이전트 프로세스에 사용할 수 있도록 태스크 상태를 업데이트합니다.

태스크를 사용으로 설정하는 예

BEGIN
     DBMS_CLOUD_AI_AGENT.ENABLE_TASK(
         task_name    => 'Return_And_Price_Match'
     );
END;
/

DISABLE_TASK 프로시저

DBMS_CLOUD_AI_AGENT.DISABLE_TASK 절차를 사용하여 현재 데이터베이스에서 작업을 사용 안함으로 설정합니다. 이렇게 하면 작업 상태가 DISABLED로 변경되어 에이전트가 처리 중에 작업을 사용하지 못하게 됩니다.

구문

DBMS_CLOUD_AI_AGENT.DISABLE_TASK(
   task_name           IN  VARCHAR2
);

매개변수

매개변수 설명

task_name

사용 안함으로 설정할 태스크의 이름입니다.

이 매개변수는 필수입니다.

사용법 참고

작업을 사용 안함으로 설정해도 작업이 삭제되지 않으므로 나중에 DBMS_CLOUD_AI_AGENT.ENABLE_TASK을 사용하여 다시 사용으로 설정할 수 있습니다. 사용 안함으로 설정되면 작업이 비활성화되고 에이전트가 작업 선택 중 더 이상 고려하지 않습니다.

다음 예에서는 기존 작업을 사용 안함으로 설정합니다.

BEGIN
     DBMS_CLOUD_AI_AGENT.DISABLE_TASK(
         task_name    => 'Return_And_Price_Match'
     );
END;
/

DROP_TASK 프로시저

DBMS_CLOUD_AI_AGENT.DROP_TASK 절차를 사용하여 데이터베이스에서 이전에 정의된 작업을 제거합니다. 작업이 없으면 force 매개변수를 TRUE로 설정하여 오류를 방지할 수 있습니다.

구문

DBMS_CLOUD_AI_AGENT.DROP_TASK(
   task_name IN  VARCHAR2,
   force     IN  BOOLEAN DEFAULT FALSE
);

매개변수

매개변수 설명

task_name

삭제할 태스크의 이름입니다.

필수 매개변수입니다.

force

TRUE인 경우 작업이 없을 경우 프로시저에서 오류를 무시합니다.

이 매개변수의 기본값은 FALSE입니다.

BEGIN
     DBMS_CLOUD_AI_AGENT.DROP_TASK(task_name => 'Return_And_Price_Match');
END;
/

사용법 참고

force를 사용하여 작업을 삭제하고 작업이 없을 경우 오류를 무시합니다.

CREATE_TOOL 프로시저

DBMS_CLOUD_AI_AGENT.CREATE_TOOL 절차를 사용하여 에이전트가 작업 처리 중 사용할 수 있는 사용자 정의 도구를 등록합니다. 각 도구는 고유한 tool_name로 식별되며 해당 용도, 구현 논리 및 메타데이터를 정의하는 속성을 포함합니다.

이 툴은 커스텀 PL/SQL 프로시저나 함수 또는 RAG, SQL, WEBSEARCH, NOTIFICATION과 같은 내장 툴 유형일 수 있습니다.

구문

DBMS_CLOUD_AI_AGENT.CREATE_TOOL(
     tool_name          IN  VARCHAR2,
     attributes          IN  CLOB,
     status              IN  VARCHAR2  DEFAULT NULL,
     description         IN  CLOB      DEFAULT NULL
  );

매개변수

매개변수 설명

tool_name

도구를 식별할 고유 이름입니다.

필수 매개변수입니다.

attributes

JSON 형식의 툴 속성입니다. CREATE_TOOL 속성을 참조하십시오.

필수 매개변수입니다.

status

도구의 상태입니다.

기본값은 ENABLED입니다.

description

툴을 식별하는 데 도움이 되는 사용자정의 설명입니다. 이 값은 데이터베이스에 저장되지만 LLM으로 전송되지 않습니다.

기본값은 NULL입니다.

다음 예에서는 수신자에게 전자 메일을 생성하는 도구를 만듭니다.

BEGIN
  DBMS_CLOUD_AI_AGENT.CREATE_TOOL(
    tool_name  => 'NOTIFICATION',
    attributes => '{"tool_type": "EMAIL"}'
  );
END;
/

CREATE_TOOL 속성

이러한 속성은 속성 매개변수의 JSON 객체를 사용하여 도구 구성을 제공합니다. 각 속성은 추론 중 에이전트가 도구를 사용하는 방법을 구성합니다.

속성

속성 이름 기본값 설명

instruction

-

도구가 수행해야 하는 작업과 이를 수행하는 방법을 설명하는 명확하고 간결한 설명입니다. 이 텍스트는 LLM으로 전송된 프롬프트에 포함됩니다.

필수 매개변수입니다.

function

-

툴이 사용될 때 호출할 PL/SQL 프로시저 또는 함수를 지정합니다.

사용자 도구의 필수 매개변수입니다.

tool_type

-

내장 도구 유형을 지정합니다. 설정된 경우 instructionfunction가 필요하지 않습니다.

가능한 값은 다음과 같습니다.
  • SQL
  • RAG
  • WEBSEARCH
  • NOTIFICATION

사용자 정의된 이름과 매개변수를 사용하여 기본 제공 도구를 작성할 수 있습니다. tool_type가 동일하지만 tool_params가 다른 여러 내장 도구를 생성할 수도 있습니다.

tool_params

-

내장 도구를 등록하기 위한 매개변수를 지정합니다.

tool_inputs

-

입력 인수를 설명합니다. 테이블의 열 설명과 유사합니다. 예:

"tool_inputs": [
  {
    "name": "data_guard",
    "description": "Only supported values are "Enabled" and "Disabled""
  }
]

내장 도구의 필수 조건

내장 도구를 사용하기 전에 다음 단계를 수행하십시오.

RAG 도구

  1. 벡터 인덱스를 참조하는 AI 프로파일을 생성합니다. RAG(검색 증강 생성)를 사용하여 자연어 프롬프트 향상을 참조하십시오.

알림 도구

SLACKEMAIL가 지원됩니다.

SLACK Tool:

  1. Autonomous Database에서 메시지를 수신하도록 Slack 애플리케이션을 설정합니다.
  2. DBMS_CLOUD_NOTIFICATION를 사용하여 인증서를 생성하여 Autonomous Database에서 Slack 통지를 전송합니다. 자율운영 AI 데이터베이스에서 Slack 통지 보내기를 참조하십시오.

전자메일 툴:

주:

전자 메일 도구는 OCI에서 전자 메일 통지를 보냅니다.
  1. SMTP 끝점을 식별합니다. 예를 들어, SMTP 끝점 중 하나를 선택합니다.
    smtp.us-phoenix-1.oraclecloud.com
    smtp.us-ashburn-1.oraclecloud.com
    smtp.email.uk-london-1.oci.oraclecloud.com
    smtp.email.eu-frankfurt-1.oci.oraclecloud.com
  2. ACL을 사용하여 SMTP 액세스를 부여합니다. Configuring SMTP Connection을 참조하십시오.
  3. 전자메일 전달을 위한 SMTP 인증서를 생성합니다. UTL_SMTP 패키지는 사용자가 전자 메일을 보낼 때 자격 증명을 사용하여 전자 메일 배달 서버로 인증합니다. 자세한 내용은 사용자용 SMTP 인증서 생성을 참조하십시오.
  4. 승인된 발신자를 생성합니다. UTL_SMTP.MAIL 하위 프로그램에서 From 주소로 사용하는 모든 전자메일 주소에 대해 이 단계를 완료합니다. 자세한 내용은 승인된 발신자 관리를 참조하십시오.
  5. ACE(액세스 제어 항목)를 추가하여 사용자에게 SMTP 액세스 권한을 부여합니다. 자세한 내용은 자율운영 AI 데이터베이스에서 이메일 전송을 참조하십시오.

DBMS_CLOUD_AI_AGENT 패키지의 내장 도구 유형

tool_typetool_params 속성을 사용하여 내장 도구를 등록할 수 있습니다.

도구 유형 설명 필수 매개변수

SQL

자연어를 SQL 쿼리로 변환합니다.

profile_name

RAG

벡터 검색을 통해 검색 증강 생성을 수행합니다.

profile_name

NOTIFICATION

메시지를 Slack 채널로 보내거나 SMTP를 사용하여 전자 메일을 보냅니다. 사용 가능한 옵션
  • slack
  • email

notification_type.

notification_typeslack인 경우 credential_namechannel은 필수입니다.

notification_typeemail인 경우 credential_name, recipient, sendersmtp_host는 필수입니다.

WEBSEARCH

웹에서 정보를 검색합니다.

credential_name

ENABLE_TOOL 프로시저

DBMS_CLOUD_AI_AGENT.ENABLE_TOOL 절차를 사용하여 이전에 등록된 도구를 사용으로 설정합니다. 그러면 도구의 상태가 ENABLED로 변경되어 에이전트가 해당 작업을 사용할 수 있습니다.

구문

DBMS_CLOUD_AI_AGENT.ENABLE_TOOL(
   tool_name           IN  VARCHAR2
);

매개변수

매개변수 설명

tool_name

사용으로 설정할 도구의 이름입니다.

이 매개변수는 필수입니다.

BEGIN
     DBMS_CLOUD_AI_AGENT.ENABLE_TOOL(
         tool_name    => 'SQL'
     );
END;
/

DISABLE_TOOL 프로시저

DBMS_CLOUD_AI_AGENT.DISABLE_TOOL 절차를 사용하여 등록된 도구를 사용 안함으로 설정합니다. 이렇게 하면 도구 상태가 DISABLED로 변경되어 에이전트가 작업에서 사용할 수 없습니다.

구문

DBMS_CLOUD_AI_AGENT.DISABLE_TOOL(
   tool_name           IN  VARCHAR2
);

매개변수

매개변수 설명

tool_name

사용 안함으로 설정할 도구의 이름입니다.

이 매개변수는 필수입니다.

다음 예에서는 기존 도구를 사용 안함으로 설정합니다.

BEGIN
     DBMS_CLOUD_AI_AGENT.DISABLE_TOOL(
         tool_name    => 'SQL'
     );
END;
/

DROP_TOOL 프로시저

DBMS_CLOUD_AI_AGENT.DROP_TOOL 절차를 사용하여 에이전트에 이전에 등록된 도구를 제거합니다. 작업이 없으면 force 매개변수를 TRUE로 설정하여 오류를 방지할 수 있습니다.

구문

DBMS_CLOUD_AI_AGENT.DROP_TOOL(
   tool_name IN  VARCHAR2,
   force     IN  BOOLEAN DEFAULT FALSE
);

매개변수

매개변수 설명

tool_name

삭제할 도구의 이름입니다.

필수 매개변수입니다.

force

TRUE인 경우 도구가 없으면 프로시저에서 오류를 무시합니다.

이 매개변수의 기본값은 FALSE입니다.

BEGIN
     DBMS_CLOUD_AI_AGENT.DROP_TOOL(tool_name => 'SQL');
END;
/

사용법 참고

툴이 존재하지 않을 경우 force를 사용하여 툴을 삭제하고 오류를 무시합니다.

CREATE_TEAM 프로시저

DBMS_CLOUD_AI_AGENT.CREATE_TEAM 절차를 사용하여 함께 작업하여 작업을 수행하는 AI 에이전트 팀을 정의합니다. 작업 처리 방법과 함께 에이전트 및 연관된 작업을 지정합니다.

구문

DBMS_CLOUD_AI_AGENT.CREATE_TEAM(
   team_name    IN VARCHAR2,
   attributes   IN CLOB,
   status       IN VARCHAR2 DEFAULT NULL,
   description  IN CLOB     DEFAULT NULL
);

매개변수

매개변수 설명

team_name

AI 에이전트 팀을 식별하는 고유 이름입니다.

필수 매개변수입니다.

attributes

에이전트 및 프로세스와 같은 팀 속성을 정의하는 JSON 형식 문자열입니다. CREATE_TEAM 속성을 참조하십시오.

필수 매개변수입니다.

status

팀의 상태입니다.

기본값은 ENABLED입니다.

description

팀의 목적을 식별하기 위한 사용자 정의 설명입니다. 이 값은 데이터베이스에 저장되지만 LLM으로 전송되지 않습니다.

기본값은 NULL입니다.

다음 예에서는 고객의 제품 반품을 처리하는 에이전트 팀을 생성합니다.

BEGIN                                                                
  DBMS_CLOUD_AI_AGENT.CREATE_TEAM( 
    team_name  => 'ReturnAgency',                                                            
    attributes => '{"agents": [{"name":"Customer_Return_Agent","task" : "Return_And_Price_Match"}],
                    "process": "sequential"}');                                                                
END;                                                                      
/

CREATE_TEAM 속성

이러한 속성은 AI 에이전트 팀 구성을 제공합니다. 각 팀은 고유한 team_name를 가지며 일련의 속성을 사용하여 구조 및 실행 전략을 정의합니다.

속성

속성 이름 기본값 설명

agents

-

에이전트 및 해당 작업을 나열하는 JSON 배열을 지정합니다. 동일한 이름을 사용하여 여러 작업에 에이전트를 할당할 수 있습니다.

필수 매개변수입니다.

예:

[
  {"name": "<agent_name>", "task": "<task_name>"
]

process

-

태스크 실행 방법을 지정합니다. 순서대로 하나씩 실행하려면 "sequential"를 사용합니다.

SET_TEAM 함수

DBMS_CLOUD_AI_AGENT.SET_TEAM를 사용하여 현재 세션에 대한 AI 에이전트 팀을 지정합니다.

팀이 설정되면 select ai agent 작업만 사용으로 설정되고 시스템에서 다른 AI 선택 작업을 지원하지 않습니다.

구문

DBMS_CLOUD_AI_AGENT.SET_TEAM(
    team_name      IN  VARCHAR2,
);

매개변수

매개변수 설명

team_name

현재 세션에서 사용할 AI 에이전트 팀의 이름을 지정합니다. 팀은 이미 시스템에 존재해야 합니다.

이 매개변수는 필수입니다.

다음 예에서는 현재 세션에서 사용자 지정 AI 에이전트 팀을 설정합니다.

EXEC DBMS_CLOUD_AI_AGENT.SET_TEAM('ReturnAgency');
  

GET_TEAM 함수

DBMS_CLOUD_AI_AGENT.GET_TEAM를 사용하여 현재 세션에 대한 AI 에이전트 팀을 반환합니다.

구문

DBMS_CLOUD_AI_AGENT.GET_TEAM RETURN VARCHAR2;

다음 예에서는 현재 세션의 AI 에이전트 팀을 반환합니다.

SELECT DBMS_CLOUD_AI_AGENT.GET_TEAM from DUAL;
  

CLEAR_TEAM 함수

DBMS_CLOUD_AI_AGENT.CLEAR_TEAM를 사용하여 현재 세션에서 설정된 AI 에이전트 팀을 지웁니다. 이 절차는 팀을 삭제하지 않습니다.

구문

DBMS_CLOUD_AI_AGENT.CLEAR_TEAM;

다음 예에서는 현재 세션에서 AI 에이전트 팀을 지웁니다.

BEGIN
  DBMS_CLOUD_AI_AGENT.CLEAR_TEAM;
END;
/
  

RUN_TEAM 함수

DBMS_CLOUD_AI_AGENT.RUN_TEAM를 사용하여 새 AI 에이전트 팀을 시작하거나 사용자 입력을 기다리는 일시 정지된 팀을 재개합니다. 기존 프로세스 ID를 제공하고 연관된 팀 프로세스가 WAITING_FOR_HUMAN 상태인 경우 함수는 사용자 응답으로 제공한 입력을 사용하여 워크플로우를 재개합니다.

구문

DBMS_CLOUD_AI_AGENT.RUN_TEAM(
     team_name               IN  VARCHAR2,
     user_prompt             IN  CLOB DEFAULT NULL,
     params                  IN  CLOB DEFAULT NULL,
  );

매개변수

매개변수 설명

team_name

현재 세션에서 사용할 AI 에이전트 팀의 이름을 지정합니다. 팀은 이미 시스템에 존재해야 합니다.

이 매개변수는 필수입니다.

user_prompt

태스크에 제공된 사용자 질의 또는 응답을 지정합니다.

작업이 RUNNING 상태인 경우 입력은 작업 지침에서 {query}에 대한 위치 표시자 역할을 합니다.

작업이 WAITING_FOR_HUMAN 상태인 경우 입력이 사용자 응답으로 사용됩니다.

params

AI 에이전트 팀 프로세스 중 사용되는 사용자정의 매개변수를 지정합니다. 지원되는 파라미터는 다음과 같습니다.
  • conversation_id: 에이전트 팀과 연관된 대화 세션을 식별합니다. 서로 다른 사용자 연결을 구분하려면 Stateless 애플리케이션 통합(예: APEX)에 이 매개변수를 사용합니다.
  • variables: 에이전트 팀에 추가 입력을 제공하는 키-값 쌍을 정의합니다. 이러한 변수는 프로세스 중에 팀의 동작을 사용자 정의하는 데 도움이 됩니다.

다음 예에서는 현재 세션에서 사용자 지정 AI 에이전트 팀을 실행합니다.

l_final_answer := DBMS_CLOUD_AI_AGENT.RUN_TEAM(
  team_name => 'ReturnAgency',
  user_prompt => 'I want to return computer desk chair',
  params => '{"conversation_id": "' ||l_conversation_id || '"}'
);

  

ENABLE_TEAM 프로시저

DBMS_CLOUD_AI_AGENT.ENABLE_TEAM 절차를 사용하여 사용자 지정 AI 에이전트 팀을 사용으로 설정합니다. 그러면 팀의 상태가 ENABLED로 변경됩니다.

구문

DBMS_CLOUD_AI_AGENT.ENABLE_TEAM(
   team_name           IN  VARCHAR2
);

매개변수

매개변수 설명

team_name

사용으로 설정할 AI 에이전트 팀의 이름입니다.

이 매개변수는 필수입니다.

다음 예에서는 사용자 지정 AI 에이전트 팀을 사용으로 설정합니다.

BEGIN
     DBMS_CLOUD_AI_AGENT.ENABLE_TEAM(
         team_name    => 'ReturnAgency'
     );
END;
/

DISABLE_TEAM 프로시저

DBMS_CLOUD_AI_AGENT.DISABLE_TEAM 절차를 사용하여 기존 AI 에이전트 팀을 사용 안함으로 설정합니다. 그러면 팀의 상태가 DISABLED로 변경됩니다.

구문

DBMS_CLOUD_AI_AGENT.DISABLE_TEAM(
   team_name           IN  VARCHAR2
);

매개변수

매개변수 설명

team_name

사용 안함으로 설정할 AI 에이전트 팀의 이름입니다.

이 매개변수는 필수입니다.

다음 예에서는 기존 AI 에이전트 팀을 사용 안함으로 설정합니다.

BEGIN
     DBMS_CLOUD_AI_AGENT.DISABLE_TEAM(
         team_name    => 'ReturnAgency'
     );
END;
/

DROP_TEAM 프로시저

DBMS_CLOUD_AI_AGENT.DROP_TEAM 절차를 사용하여 이전에 만든 AI 에이전트 팀을 제거합니다.

구문

DBMS_CLOUD_AI_AGENT.DROP_TEAM(
   team_name IN  VARCHAR2,
   force     IN  BOOLEAN DEFAULT FALSE
);

매개변수

매개변수 설명

team_name

중단할 팀의 이름입니다.

필수 매개변수입니다.

force

TRUE인 경우 팀이 없을 경우 프로시저에서 오류를 무시합니다.

이 매개변수의 기본값은 FALSE입니다.

BEGIN
     DBMS_CLOUD_AI_AGENT.DROP_TEAM(team_name => 'ReturnAgency');
END;
/

사용법 참고

force를 사용하여 팀을 삭제하고 팀이 없는 경우 오류를 무시합니다.