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 프로시저 | 이 절차에서는 기존 에이전트 팀을 삭제합니다. |
| DESCRIBE_TOOL 함수 | AI 에이전트 선택 도구에 대한 메타데이터 및 입력 스키마 정보를 반환합니다. |
| RUN_TOOL 함수 | JSON 입력 페이로드를 사용하여 이름별로 AI 에이전트 선택 툴을 호출합니다. |
| LIST_TEAMS 함수 | 호출하는 사용자가 사용할 수 있는 에이전트 팀을 나열합니다. |
| DESCRIBE_TEAM 함수 | 선택한 에이전트 팀에 대한 메타데이터 및 집계된 기능을 반환합니다. |
| GET_TEAM_STATE 함수 | 에이전트 팀 대화에 대한 최신 실행 상태를 반환합니다. |
| SET_EXECUTION_STATE 프로시저 | 대화식 세션을 성공으로 표시하는 등 대기 중인 팀 실행 상태를 업데이트합니다. |
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 Attributes을 참조하십시오. |
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;
/
CREATE_AGENT 속성
이러한 속성은 에이전트의 역할 및 AI 프로파일 이름을 정의합니다.
속성
| 속성 이름 | 기본값 | 설명 |
|---|---|---|
profile_name |
- | 에이전트가 LLM에 요청을 전송하는 데 사용하는 AI 프로파일입니다. 필수 매개변수입니다. |
role |
- | 에이전트의 함수를 정의하고 에이전트에 컨텍스트를 제공합니다. LLM으로 전송됩니다. 필수 매개변수입니다. |
enable_human_tool |
True |
상담원이 사용자에게 정보 또는 설명을 질문할 수 있도록 합니다. |
short_term_memory_length |
30 | 태스크 실행에 대한 각 LLM 호출에 포함된 최대 대화 회전 수를 지정합니다. |
다음 예에서는 절차에서 에이전트 속성을 사용자 정의하는 방법을 보여줍니다.
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;
/
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 |
이 매개변수의 기본값은 |
예
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 |
작업의 상태입니다. 기본값은 |
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으로 전송된 프롬프트에 포함됩니다. 자연어 입력을 나타내는 필수 매개변수입니다. |
tools |
- | 에이전트가 작업을 완료하는 데 사용할 수 있는 도구 이름의 JSON 배열입니다. 예: 필수 매개변수입니다. |
input |
- | 이 태스크에 대한 입력으로 출력이 사용되어야 하는 기타 태스크를 식별합니다. Select AI는 이러한 출력을 LLM에 자동으로 제공합니다. |
enable_human_tool |
- | 태스크 중 정보 또는 설명이 필요한 경우 상담원이 사용자에게 질문을 할 수 있도록 합니다. 기본값은 true입니다. 주:
|
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 |
이 매개변수의 기본값은 |
예
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 |
도구의 상태입니다. 기본값은 |
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 |
- | 내장 도구 유형을 지정합니다. 설정된 경우 가능한 값은 다음과 같습니다.
사용자화된 이름과 매개변수를 사용하여 기본 제공 도구를 작성할 수 있습니다. |
tool_params |
- | 내장 도구를 등록하기 위한 매개변수를 지정합니다. |
tool_inputs |
- | 입력 인수를 설명합니다. 테이블의 열 설명과 유사합니다. 예: |
내장 도구의 필수 조건
내장 도구를 사용하기 전에 다음 단계를 수행하십시오.
RAG 도구
- 벡터 인덱스를 참조하는 AI 프로파일을 생성합니다. RAG(검색 증강 생성)를 사용하여 자연어 프롬프트 향상을 참조하십시오.
알림 도구
SLACK 및 EMAIL가 지원됩니다.
SLACK Tool:
-
Autonomous Database에서 메시지를 수신하도록 Slack 애플리케이션을 설정합니다.
-
DBMS_CLOUD_NOTIFICATION를 사용하여 인증서를 생성하여 Autonomous Database에서 Slack 통지를 전송합니다. 자율운영 AI 데이터베이스에서 Slack 통지 보내기를 참조하십시오.
전자메일 툴:
참고: 전자메일 툴은 OCI에서 전자메일 통지를 전송합니다.
- 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 -
ACL을 사용하여 SMTP 액세스를 부여합니다. Configuring SMTP Connection을 참조하십시오.
-
전자메일 전달을 위한 SMTP 인증서를 생성합니다.
UTL_SMTP패키지는 사용자가 전자 메일을 보낼 때 자격 증명을 사용하여 전자 메일 배달 서버로 인증합니다. 자세한 내용은 사용자용 SMTP 인증서 생성을 참조하십시오. -
승인된 발신자를 생성합니다.
UTL_SMTP.MAIL하위 프로그램에서From주소로 사용하는 모든 전자메일 주소에 대해 이 단계를 완료합니다. 자세한 내용은 승인된 발신자 관리를 참조하십시오. - ACE(액세스 제어 항목)를 추가하여 사용자에게 SMTP 액세스 권한을 부여합니다. 자세한 내용은 자율운영 AI 데이터베이스에서 이메일 전송을 참조하십시오.
DBMS_CLOUD_AI_AGENT 패키지의 내장 도구 유형
tool_type 및 tool_params 속성을 사용하여 내장 도구를 등록할 수 있습니다.
| 도구 유형 | 설명 | 필수 매개변수 |
|---|---|---|
SQL |
자연어를 SQL 쿼리로 변환합니다. | profile_name |
RAG |
벡터 검색을 통해 검색 증강 생성을 수행합니다. | profile_name |
NOTIFICATION |
메시지를 Slack 채널로 보내거나 SMTP를 사용하여 전자 메일을 보냅니다. 사용 가능한 옵션
|
|
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 |
이 매개변수의 기본값은 |
예
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 |
팀의 상태입니다. 기본값은 |
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 배열을 지정합니다. 동일한 이름을 사용하여 여러 작업에 에이전트를 할당할 수 있습니다. 필수 매개변수입니다. 예: |
process |
- | 태스크 실행 방법을 지정합니다. 순서대로 하나씩 실행하려면 "sequential"를 사용합니다. |
long_term_memory_length |
30 | 각 새 실행 시작 시 시스템 프롬프트에 메모리 컨텍스트로 포함된 최대 이전 작업 레벨 요약 수를 지정합니다. |
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 |
태스크에 제공된 사용자 질의 또는 응답을 지정합니다. 작업이 작업이 |
params |
AI 에이전트 팀 프로세스 중 사용되는 사용자정의 매개변수를 지정합니다. 지원되는 파라미터는 다음과 같습니다.
|
예
다음 예에서는 현재 세션에서 사용자 지정 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 |
이 매개변수의 기본값은 |
예
BEGIN
DBMS_CLOUD_AI_AGENT.DROP_TEAM(team_name => 'ReturnAgency');
END;
/
사용 노트
force를 사용하여 팀을 삭제하고 팀이 없는 경우 오류를 무시합니다.
DESCRIBE_TOOL 함수
DBMS_CLOUD_AI_AGENT.DESCRIBE_TOOL 함수를 사용하여 툴에 대한 JSON 메타데이터를 반환합니다. 결과에는 MCP 호환 클라이언트가 도구 검색에 사용할 수 있는 도구 이름, 설명, 속성 및 입력 스키마 정보가 포함됩니다.
구문
DBMS_CLOUD_AI_AGENT.DESCRIBE_TOOL(
tool_name IN VARCHAR2
) RETURN CLOB;
매개변수
| 매개변수 | 설명 |
|---|---|
tool_name |
메타데이터가 반환되는 Select AI Agent 도구의 이름입니다. |
반품
JSON 형식의 도구 메타데이터 및 인수 정보를 포함하는 CLOB를 반환합니다.
예
DECLARE
l_result CLOB;
BEGIN
l_result := DBMS_CLOUD_AI_AGENT.DESCRIBE_TOOL(
tool_name => 'FETCH_LOG_TOOL'
);
DBMS_OUTPUT.PUT_LINE(l_result);
END;
/
RUN_TOOL 함수
DBMS_CLOUD_AI_AGENT.RUN_TOOL 함수를 사용하여 생성된 툴을 이름으로 호출합니다. 입력 매개변수는 도구 인수를 JSON 페이로드로 전달합니다.
구문
DBMS_CLOUD_AI_AGENT.RUN_TOOL(
tool_name IN VARCHAR2,
input IN CLOB
) RETURN CLOB;
매개변수
| 매개변수 | 설명 |
|---|---|
tool_name |
호출할 Select AI Agent 도구의 이름입니다. |
input |
도구에 전달된 JSON 입력 페이로드입니다. |
반품
도구 실행 결과가 포함된 CLOB를 반환합니다.
예
SELECT DBMS_CLOUD_AI_AGENT.RUN_TOOL(
tool_name => 'FETCH_LOG_TOOL',
input => '{"P_SINCE":"2026-01-01"}'
) AS tool_result
FROM dual;
LIST_TEAMS 함수
DBMS_CLOUD_AI_AGENT.LIST_TEAMS 함수를 사용하여 호출하는 사용자가 사용할 수 있는 에이전트 팀을 열거합니다. 그 결과 A2A 호환 통합 계층에서 팀 검색을 위해 사용할 수 있습니다.
구문
DBMS_CLOUD_AI_AGENT.LIST_TEAMS
RETURN CLOB;
매개변수
| 매개변수 | 설명 |
|---|---|
| 없음 | 이 함수에는 매개변수가 없습니다. |
반품
JSON 배열을 포함하는 CLOB을 반환합니다. 각 항목에는 팀 이름과 설명이 포함됩니다.
예
SELECT DBMS_CLOUD_AI_AGENT.LIST_TEAMS()
FROM dual;
DESCRIBE_TEAM 함수
DBMS_CLOUD_AI_AGENT.DESCRIBE_TEAM 함수를 사용하여 에이전트 팀에 대한 메타데이터를 반환합니다. 이 기능은 팀에서 사용할 수 있는 AI 에이전트 도구 선택을 A2A 호환 기술 표현에 매핑합니다.
구문
DBMS_CLOUD_AI_AGENT.DESCRIBE_TEAM(
team_name IN VARCHAR2
) RETURN CLOB;
매개변수
| 매개변수 | 설명 |
|---|---|
team_name |
메타데이터 및 기능이 반환되는 에이전트 팀의 이름입니다. |
반품
팀 이름, 설명, 선택적 버전 및 기술 목록이 포함된 JSON 객체를 포함하는 CLOB를 반환합니다.
사용법 참고
- 기술은 A2A 호환 클라이언트에 대한 도구의 프로토콜 표현입니다. 새 Select AI Agent 데이터베이스 객체 유형은 도입되지 않습니다.
예
SELECT DBMS_CLOUD_AI_AGENT.DESCRIBE_TEAM('SUPPORT_TEAM')
FROM dual;
GET_TEAM_STATE 함수
DBMS_CLOUD_AI_AGENT.GET_TEAM_STATE 함수를 사용하여 에이전트 팀 대화에 대한 최신 실행 상태를 반환합니다.
구문
DBMS_CLOUD_AI_AGENT.GET_TEAM_STATE(
team_name IN VARCHAR2,
params IN CLOB DEFAULT NULL
) RETURN VARCHAR2;
매개변수
| 매개변수 | 설명 |
|---|---|
team_name |
최근 실행 상태가 반환된 에이전트 팀의 이름입니다. |
params |
선택적 JSON 객체입니다. conversation_id를 사용하여 특정 대화에 대한 최신 실행 상태를 검색합니다. 생략할 경우 현재 세션 대화가 사용됩니다. |
반품
VARCHAR2 실행 상태(예: RUNNING, WAITING_FOR_HUMAN, SUCCEEDED 또는 FAILED)를 반환합니다.
예
SELECT DBMS_CLOUD_AI_AGENT.GET_TEAM_STATE(
team_name => 'SUPPORT_TEAM',
params => '{"conversation_id":"<CONVERSATION_ID>"}'
)
FROM dual;
SET_EXECUTION_STATE 프로시저
대기 중인 팀 실행을 지정된 상태로 업데이트하려면 DBMS_CLOUD_AI_AGENT.SET_EXECUTION_STATE 프로시저를 사용합니다. 이 기능은 대화식 세션이 완료될 때 응용 프로그램이 제어하는 에이전트 직접 도구 호출 워크플로우에 유용합니다.
구문
DBMS_CLOUD_AI_AGENT.SET_EXECUTION_STATE(
team_name IN VARCHAR2,
state IN CLOB DEFAULT 'SUCCEEDED',
params IN CLOB DEFAULT NULL
);
매개변수
| 매개변수 | 설명 |
|---|---|
team_name |
실행 상태가 업데이트된 에이전트 팀의 이름입니다. |
state |
설정할 실행 상태입니다. 기본값은 SUCCEEDED입니다. |
params |
선택적 JSON 객체입니다. 실행 상태가 업데이트된 대화를 식별하려면 conversation_id를 사용합니다. |
예
BEGIN
DBMS_CLOUD_AI_AGENT.SET_EXECUTION_STATE(
team_name => 'CUSTOMER_AGENT_ONLY_TEAM',
state => 'SUCCEEDED',
params => '{"conversation_id":"<CONVERSATION_ID>"}'
);
END;
/