Cortex Agents

개요

Cortex Agents는 정형 데이터 소스와 비정형 데이터 소스 모두를 조정하여 인사이트를 제공합니다. 작업을 계획하고, 도구를 사용하여 작업을 실행하고, 응답을 생성합니다. Agent는 (정형) 및 Cortex Search(비정형)와 함께 을 도구로 사용하여 데이터를 분석합니다. 에이전트는 LLMs과 함께 |cortex-analyst|(정형) 및 Cortex Search(비정형)를 도구로 사용하여 데이터를 분석합니다. Cortex Search는 비정형 소스에서 인사이트를 추출하는 반면, |cortex-analyst|는 정형 데이터를 처리하기 위해 SQL을 생성합니다. 또한 저장 프로시저 및 UDFs(사용자 정의 함수)를 사용하여 사용자 지정 도구를 구현할 수 있습니다. 도구 식별 및 도구 실행을 포괄적으로 지원하여 엔터프라이즈 데이터에 기반한 정교한 애플리케이션을 제공할 수 있습니다.

워크플로에는 네 가지 핵심 구성 요소가 포함됩니다.

  1. 계획: 애플리케이션은 정형 소스와 비정형 소스의 데이터 처리 간에 변환하는 경우가 많습니다. 예를 들어, 사용자의 쿼리에 응답하도록 설계된 대화형 앱을 생각해 보십시오. 비즈니스 사용자는 먼저 매출(정형) 기준 상위 유통업체를 조회한 다음 계약(비정형)에 대한 조회로 변환할 수 있습니다. Cortex Agents는 요청을 구문 분석하여 계획을 조율하고 솔루션 또는 응답에 도달할 수 있습니다.

    1. 옵션 탐색: 사용자가 모호한 질문(예: “Acme Supplies에 대해 알려주십시오”)을 하면 에이전트은 제품, 위치, 영업 담당자 등 다양한 순열을 고려하여 모호함을 없애고 정확도를 높입니다.

    2. 하위 작업으로 분할: Cortex Agent는 보다 정확한 응답을 위해 작업이나 요청(예:“What are the differences between contract terms for Acme Supplies and Acme Stationery?”)을 여러 부분으로 분할할 수 있습니다.

    3. 도구 간 라우팅: 에이전트가 적합한 도구(Cortex Analyst 또는 Cortex Search)를 선택하여 관리되는 액세스를 보장하고 기업 정책을 준수합니다.

  2. 도구 사용: 계획을 세우면 에이전트가 효율적으로 데이터를 검색합니다. Cortex Search는 비정형 소스에서 인사이트를 추출하고, Cortex Analyst는 정형 데이터를 처리하기 위해 SQL 을 생성합니다. 도구 식별 및 도구 실행을 포괄적으로 지원하여 엔터프라이즈 데이터에 기반한 정교한 애플리케이션을 제공할 수 있습니다.

  3. 반영: 각 도구 사용 후 에이전트은 결과를 평가하여 다음 단계(설명 요청, 반복 또는 최종 응답 생성)를 결정합니다. 이 오케스트레이션을 통해 복잡한 데이터 쿼리를 처리하는 동시에 Snowflake의 보안 경계 내에서 정확성과 규정 준수를 보장할 수 있습니다.

  4. 모니터링 및 반복: 배포 후 고객은 메트릭을 추적하고, 성능을 분석하고, 동작을 개선하여 지속적으로 개선할 수 있습니다. 클라이언트 애플리케이션 개발자는 TruLens 를 사용하여 Agent 상호 작용을 모니터링할 수 있습니다. 거버넌스 제어를 지속적으로 모니터링하고 개선함으로써 기업은 보안 및 규정 준수를 유지하면서 AI 에이전트를 자신 있게 확장할 수 있습니다.

시작하는 데 도움이 되는 자습서는 Cortex Agents 자습서 섹션을 참조하십시오.

참고

Snowflake는 고품질의 응답을 제공하기 위해 노력하지만, LLM 응답의 정확성이나 제공된 인용이 보장되지는 않습니다. 사용자에게 답변을 제공하기 전에 Agents API 의 모든 답변을 검토해야 합니다.

액세스 제어 요구 사항

agent:run API를 통해 Cortex Agent에 요청하려면 SNOWFLAKE.CORTEX_USER 또는 SNOWFLAKE.CORTEX_AGENT_USER 역할이 부여된 역할을 사용하면 됩니다. CORTEX_USER는 Cortex Agent를 포함한 모든 지원되는 AI 기능에 대한 액세스 권한을 제공하지만 CORTEX_AGENT_USER는 Agent 기능에 대한 액세스 권한을 제공합니다.

Cortex Agents를 의미 체계 모델과 함께 사용하려면 다음 권한도 필요합니다.

권한

오브젝트

CREATE AGENT

Cortex Agent를 만들려는 스키마

USAGE

Cortex Agents 요청에 언급된 Cortex Search Service

USAGE

Cortex Agents 의미 체계 모델에서 참조되는 데이터베이스, 스키마 및 테이블

Cortex Agents API에 대한 요청에는 인증 토큰이 포함되어야 합니다. API 인증 방법에 대한 자세한 내용은 Snowflake를 사용하여 Snowflake REST APIs 인증하기 섹션을 참조하십시오. 이 항목의 예제에서는 세션 토큰을 사용하여 Snowflake 계정을 인증합니다.

특정 역할에 대한 액세스 제한

기본적으로 CORTEX_USER 역할은 PUBLIC 역할에 부여됩니다. PUBLIC 역할은 모든 사용자와 역할에 자동으로 부여됩니다. 모든 사용자에게 이 권한을 부여하지 않으려면 PUBLIC 역할에 대한 액세스를 취소하고 특정 역할에 대한 액세스 권한을 부여하면 됩니다. 자세한 내용은 필수 권한 섹션을 참조하십시오.

일부 사용자만 기능에 액세스할 수 있도록 Cortex Agent에 대한 선택적 액세스 권한을 제공하려면 CORTEX_AGENTS_USER 역할을 사용합니다.

Cortex Agents 사용자 역할을 사용하여 액세스 제한

특정 사용자에게 Cortex Agents에 대한 선택적 액세스 권한을 제공하려면 SNOWFLAKE.CORTEX_AGENT_USER 데이터베이스 역할을 사용합니다. 이 역할에는 Cortex Agent API를 호출하는 데 필요한 권한이 포함됩니다.

중요

사용자 역할에 CORTEX_USER 역할이 있는 경우 CORTEX_USER 역할에 대한 액세스 권한을 취소해야 합니다. 사용자 역할에서 CORTEX_USER 데이터베이스 역할을 취소하려면 ACCOUNTADMIN 역할을 사용하여 다음 명령을 실행합니다.

REVOKE DATABASE ROLE SNOWFLAKE.CORTEX_USER FROM ROLE agent;
Copy

Cortex Agents에 대한 액세스 권한을 제공하려면 ACCOUNTADMIN 역할을 사용하여 다음을 수행합니다.

  1. 사용자 지정 역할에 SNOWFLAKE.CORTEX_AGENT_USER 데이터베이스 역할을 부여합니다.

  2. 이 사용자 지정 역할을 사용자에게 할당합니다.

참고

사용자에게 바로 데이터베이스 역할을 부여할 수는 없습니다. 자세한 내용은 GRANT DATABASE ROLE 섹션을 참조하십시오.

다음 예제에서는

  1. 사용자 지정 역할 ``cortex_agent_user_role``을 만듭니다.

  2. CORTEX_AGENT_USER 데이터베이스 역할을 부여합니다.

  3. ``example_user``에 이 역할을 할당합니다.

USE ROLE ACCOUNTADMIN;
CREATE ROLE cortex_agent_user_role;
GRANT DATABASE ROLE SNOWFLAKE.CORTEX_AGENT_USER TO ROLE cortex_agent_user_role;

GRANT ROLE cortex_agent_user_role TO USER example_user;
Copy

기존 역할을 통해 Cortex Agents에 대한 액세스 권한을 부여할 수도 있습니다. 예를 들어, 조직의 에이전트가 사용하는 agent 역할이 있는 경우 단일 GRANT 문으로 액세스 권한을 부여할 수 있습니다.

GRANT DATABASE ROLE SNOWFLAKE.CORTEX_AGENT_USER TO ROLE agent;
Copy

인증

Snowflake REST APIs 는 프로그래밍 방식의 액세스 토큰(PATs), JSON 웹 토큰(JWTs)을 사용한 키 페어 인증, OAuth 를 통한 인증을 지원합니다. 자세한 내용은 Snowflake를 사용하여 Snowflake REST APIs 인증하기 섹션을 참조하십시오.

중요

Cortex Agents는 일부 리전에서는 사용하지 못할 수 있는 모델을 사용합니다. 이러한 모델에 액세스하려면 가능한 경우 리전 간 추론 활성화해야 합니다. 자세한 내용은 리전 가용성 섹션을 참조하세요.

비용 고려 사항

미리 보기에서 Cortex Agents는 기본 Cortex Search 및 Cortex Analyst 기능과 관련된 비용 외에는 고려할 비용이 없습니다. Cortex Search 및 Cortex Analyst 서비스는 `Snowflake Service Consumption Table<https://www.snowflake.com/legal-files/CreditConsumptionTable.pdf>`_에 나열된 세부 정보에 따라 비용이 발생합니다. 또한 사용자 지정 도구를 사용하면 :doc:`웨어하우스 비용</user-guide/cost-understanding-compute>`이 발생할 수 있습니다.

모델

Cortex Agents와 함께 사용할 수 있는 모델은 다음과 같습니다. 모델을 로컬 리전에서 사용할 수 없는 경우 리전 간 추론 사용해야 합니다.

  • claude-4-sonnet

  • claude-3-7-sonnet

  • claude-3-5-sonnet

  • openai-gpt-5

Cortex Agent 개념

Cortex Agent는 Cortex Analyst, Cortex Search 및 사용자 지정 도구를 사용하여 작업을 계획하고 응답을 생성합니다. 지침을 사용하여 오케스트레이션에 영향을 줄 수 있습니다. 특성을 지정하여 비즈니스 논리를 기준으로 도구를 동적으로 선택할 수도 있습니다.

상호 작용 중에 에이전트는 스레드를 사용하여 컨텍스트를 유지 관리합니다. 스레드는 애플리케이션 논리에서 사용하기 위해 전체 대화 컨텍스트를 쉽게 검색할 수 있는 기능을 제공합니다.

에이전트를 지속적으로 반복하고 개선하면서 최종 사용자로부터 피드백을 수집할 수 있습니다. 주관적 피드백(텍스트)과 명시적 피드백 메커니즘(긍정/부정 평가)을 결합하여 에이전트의 수명 주기 전반에 걸쳐 사용자 입력을 캡처할 수 있습니다.

에이전트 오브젝트

에이전트 구성에는 에이전트 오브젝트에 저장된 모든 메타데이터, 오케스트레이션 설정, 도구 세부 정보가 포함됩니다. 에이전트 오브젝트를 사용하여 에이전트와 상호 작용할 수 있습니다.

스레드

스레드는 에이전트와의 상호 작용 컨텍스트를 유지하므로 클라이언트 애플리케이션에 대한 컨텍스트를 유지할 필요가 없습니다. 스레드를 사용하려면 스레드 오브젝트를 만들고 에이전트 상호 작용에서 스레드 ID를 참조합니다.

오케스트레이션

Cortex Agents는 LLM 기반 오케스트레이션을 사용하여 작업을 계획하고 응답을 생성합니다. 다음 설정으로 오케스트레이션을 제어할 수 있습니다.

모델

오케스트레이션을 위해 Cortex Agent와 함께 사용할 수 있는 모델에 대한 자세한 내용은 모델 섹션을 참조하세요.

지침

응답 지침을 통해 선호하는 브랜드와 어조에 따라 에이전트의 응답을 구성할 수 있습니다.

샘플 질문

이러한 질문을 사용하여 클라이언트 애플리케이션에서 대화를 시작할 수 있습니다. 다음은 사용자가 상호 작용을 시작하는 데 도움이 되는 일반적인 질문입니다.

도구

Cortex Agents는 정형 데이터와 비정형 데이터를 모두 오케스트레이션할 수 있습니다. 또한, 사용자 지정 도구를 사용하면 에이전트가 다른 백엔드 시스템과 상호 작용하거나 사용자 지정 논리를 구현할 수 있습니다.

Cortex Analyst 의미 체계 뷰

Cortex Analyst를 사용하여 자연어에서 SQL 쿼리를 만들 수 있습니다. Cortex Analyst를 사용하려면 의미 체계 모델을 만들어야 합니다. 자세한 내용은 의미 체계 모델 만들기 섹션을 참조하십시오.

Cortex Search Service

Cortex Search를 사용하여 데이터를 검색하십시오. 자세한 내용은 CREATE CORTEX SEARCH SERVICE 섹션을 참조하십시오.

참고

쿼리하는 사용자의 DEFAULT_ROLE 에는 Cortex Search Service와 해당 데이터베이스 및 스키마에 대한 USAGE 권한이 있어야 합니다.

사용자 지정 도구

저장 프로시저와 UDF(사용자 정의 함수)를 사용하여 사용자 지정 비즈니스 논리를 도구로 구현할 수 있습니다. 자세한 내용은 저장 프로시저 개요사용자 정의 함수 개요 섹션을 참조하십시오.

사고 및 성찰

에이전트는 상호 작용 전반에 걸쳐 이벤트를 발생시켜 추론 프로세스에 대한 인사이트를 제공합니다. 이러한 단계에는 작업의 초기 분할, 하위 작업으로의 시퀀싱, 하위 작업을 위한 도구 선택이 포함됩니다. 또한, 에이전트는 도구 결과 및 이러한 결과가 향후 오케스트레이션에 미치는 영향에 대한 성찰도 나타냅니다.

모니터링 및 반복

최종 사용자로부터 평가(긍정/부정)와 주관적인 의견(텍스트)의 피드백을 수집할 수 있습니다. 이러한 피드백은 수명 주기 동안 에이전트를 개선하고 향상하는 데 사용할 수 있습니다.

에이전트와 상호 작용

Cortex Agens는 REST API를 통해 에이전트와 상호 작용하는 두 가지 고유한 방법을 지원합니다.

  • 에이전트와 상호 작용하도록 에이전트 오브젝트 구성: 이 방법에서는 먼저 전체 상호 작용에 재사용할 수 있는 에이전트 오브젝트를 구성합니다. 에이전트 오브젝트를 구성하면 클라이언트 코드를 간소화하고 엔터프라이즈급 애플리케이션에 CI/CD를 사용할 수 있습니다.

  • 에이전트 오브젝트 없이 상호 작용: 이 방법에서는 모든 상호 작용 요청에 에이전트 구성을 포함하여 전달해야 합니다. 에이전트 오브젝트 없이 상호 작용하면 빠르게 사용 사례를 시험해 보고 다양한 시나리오를 실험할 수 있습니다.

이러한 방법에 대한 자세한 내용은 에이전트 구성 및 상호 작용 섹션을 참조하세요.