Cortex AI Functions (SQL 로 쓰는 LLM, 권한, 비용 통제)
AI_COMPLETE, AI_CLASSIFY, AI_FILTER, AI_AGG 같은 Cortex AI Functions 를 SQL 에서 쓰는 법과 함수별 쓰임, 2026년에 바뀐 권한 체계(USE AI FUNCTIONS), AI Credits 과금과 사용량 뷰, 예산과 사용자별 한도, 리전 간 추론까지 정리합니다.
무엇인가
Cortex AI Functions 는 SQL 함수 형태로 LLM 을 부르는 기능입니다. 데이터를 밖으로 내보내지 않고 테이블의 텍스트, 이미지, 문서, 오디오에 바로 요약, 분류, 추출, 필터를 겁니다. 2025년 6월 Summit 에서 Cortex AISQL 이라는 이름으로 공개되었고 2025년 11월 4일 GA 가 되었습니다. 지금 공식 문서는 Cortex AI Functions 라는 이름을 씁니다.
함수 한눈에 보기
| 함수 | 하는 일 | 대표 쓰임 |
|---|---|---|
AI_COMPLETE | 모델을 골라 생성 (텍스트, 이미지, 2026년 4월부터 문서) | 대부분의 생성 작업 |
AI_CLASSIFY | 정한 범주로 분류 (최대 500 라벨, 다중 라벨) | 문의 유형, 감정 이외의 태깅 |
AI_FILTER | 참, 거짓 판단 | WHERE, JOIN ON 조건 |
AI_AGG | 여러 행을 프롬프트로 종합 (문맥 길이 제한 없음) | "이번 주 불만 요점" |
AI_SUMMARIZE_AGG | 여러 행을 하나로 요약 | 리뷰 요약 |
AI_EXTRACT | 텍스트, 이미지, 문서에서 필드 추출 | 송장, 계약서 |
AI_SENTIMENT | 감정 점수와 측면별 감정 | 리뷰, 상담 |
AI_EMBED, AI_MULTI_EMBED | 임베딩 벡터 (멀티모달) | 유사도, 군집 |
AI_SIMILARITY | 두 입력의 유사도 | 중복 탐지 |
AI_TRANSCRIBE | 오디오, 비디오 받아쓰기 (화자, 타임스탬프) | 콜센터 녹취 |
AI_PARSE_DOCUMENT | 문서에서 텍스트 또는 레이아웃 추출, 이미지 추출 | RAG 전처리 |
AI_TRANSLATE | 번역 | 다국어 리뷰 |
AI_REDACT | 개인정보 가리기 | 로그, 상담 기록 |
AI_COUNT_TOKENS | 토큰 수 미리 세기 | 비용 추정 |
문서 처리 함수는 문서 처리 에서 따로 다룹니다.
예제
-- 상담 기록 분류와 요약
SELECT ticket_id,
AI_CLASSIFY(body, ['환불', '배송 지연', '로그인 문제', '기타']):labels[0]::STRING AS category,
AI_SENTIMENT(body) AS sentiment,
AI_COMPLETE('claude-sonnet-4-5', '다음 상담을 한 문장으로 요약해 줘: ' || body) AS summary
FROM support.tickets
WHERE created_at >= CURRENT_DATE() - 1;
-- 자연어 조건으로 거르기
SELECT * FROM support.tickets
WHERE AI_FILTER(PROMPT('이 상담은 법적 분쟁 가능성을 언급하나? {0}', body));
-- 여러 행을 종합
SELECT product_id, AI_AGG(review_text, '반복되는 불만 세 가지를 한국어로 정리해 줘') AS top_issues
FROM reviews.product_reviews
GROUP BY product_id;모델 이름은 리전과 시기에 따라 쓸 수 있는 목록이 다릅니다. 위 모델 이름은 예시이고, 실제로는 SHOW CORTEX BASE MODELS (2026-07 GA) 나 공식 모델 표에서 내 리전 목록을 확인합니다.
팁 같은 프롬프트에 구조화된 결과가 필요하면
AI_COMPLETE의response_format에 JSON 스키마를 주어 형식을 강제합니다. 후처리 파싱 오류가 크게 줄어듭니다.
권한 (2026년에 바뀜)
| 시점 | 변경 |
|---|---|
| 2026-02-20 | 계정 수준 USE AI FUNCTIONS 권한 도입 |
| 2026-04-02 | AI_FUNCTIONS_USER 데이터베이스 역할 GA |
| 2026-05-13 | 함수별 권한(per-function privileges) GA |
2026-10 기준 AI Functions 를 부르려면 계정 수준 USE AI FUNCTIONS 권한(또는 함수별 USE AI FUNCTION <이름> 권한)과 함께 SNOWFLAKE.CORTEX_USER 또는 SNOWFLAKE.AI_FUNCTIONS_USER 데이터베이스 역할이 필요합니다. USE AI FUNCTIONS 는 기본으로 PUBLIC 에 주어져 있어 모든 사용자가 쓸 수 있으므로, 비용을 통제하려면 PUBLIC 에서 회수하고 필요한 역할에만 줍니다. AI_FUNCTIONS_USER 를 쓰면 CORTEX_USER 없이 AI Functions 접근만 따로 관리할 수 있습니다.
REVOKE USE AI FUNCTIONS ON ACCOUNT FROM ROLE PUBLIC;
GRANT USE AI FUNCTIONS ON ACCOUNT TO ROLE analyst;
GRANT DATABASE ROLE SNOWFLAKE.AI_FUNCTIONS_USER TO ROLE analyst;
-- 쓸 수 있는 모델 제한, 리전 간 추론 허용
ALTER ACCOUNT SET CORTEX_MODELS_ALLOWLIST = 'claude-sonnet-4-5,llama3.1-70b';
ALTER ACCOUNT SET CORTEX_ENABLED_CROSS_REGION = 'AWS_APJ';리전 간 추론(Cross-region inference)을 켜면 내 리전에 없는 모델을 다른 리전에서 실행합니다. 데이터가 리전 밖으로 나가므로 규제 검토가 필요합니다. 2026년 9월에는 프롬프트 인젝션 가드레일이 AWS_APJ 등에서도 쓸 수 있게 되었습니다.
비용
- AI Functions 는 토큰 단위로 과금되고, 2026년부터 Service Consumption Table 에서 AI Credits 로 표기됩니다. On Demand AI Credit 가격은 Global $2.00, Regional $2.20 입니다 (2026-10-15 시행판). 모델과 함수마다 100만 토큰당 AI Credits 가 다릅니다.
- 함수를 실행한 쿼리의 웨어하우스 시간은 별도로 과금됩니다. AI 함수 호출이 느려 웨어하우스가 오래 켜져 있는 경우가 많으니 웨어하우스는 작게(XS, S) 잡습니다. 웨어하우스를 키워도 모델 호출이 빨라지지 않습니다.
- 2026년 9월부터 같은 입력에 대한 응답 캐싱이 들어왔고, 5월에는
AI_TRANSCRIBE가격 인하가 예고되었습니다.
-- 함수, 모델별 토큰과 크레딧 (2026-01-05 부터 데이터)
SELECT function_name, model_name, SUM(tokens) AS tokens, SUM(credits) AS credits
FROM snowflake.account_usage.cortex_ai_functions_usage_history
WHERE start_time >= DATEADD(day, -7, CURRENT_TIMESTAMP())
GROUP BY 1, 2 ORDER BY credits DESC;
-- 실행 전 토큰 어림
SELECT SUM(AI_COUNT_TOKENS('ai_complete', 'claude-sonnet-4-5', body)) FROM support.tickets;열 이름은 뷰 버전에 따라 다를 수 있으니 DESC VIEW 로 확인합니다. 예전 CORTEX_AISQL_USAGE_HISTORY 뷰는 2027년 1월 15일 폐기 예정입니다.
비용 통제 장치
| 장치 | 하는 일 |
|---|---|
| 예산(Budgets) | AI 기능 포함 월 크레딧 한도 알림, 사용자 정의 동작 (2026-04 AI 예산 GA) |
| 사용자별 한도(per-user quotas) | 사람마다 AI 크레딧 상한, 넘으면 몇 분 안에 차단. 2026-08 GA, 9월에 주간 한도 추가 |
| 모델 허용 목록 | 비싼 모델을 막음 |
AI_COUNT_TOKENS | 대량 실행 전에 토큰 어림 |
주의 수억 행 테이블에
AI_COMPLETE를 그냥 걸면 한 번에 수천 달러가 나올 수 있습니다. 먼저LIMIT 1000으로 품질과 토큰을 재고,AI_FILTER로 대상 행을 줄인 뒤 전체를 돌립니다.
품질 높이기
- 2026년 5월 Cortex AI Function Studio (PuPr) 로 함수를 만들고 평가하고 최적화할 수 있고, 9월에 평가(Evaluation)와 최적화(Optimization) 기능이 PuPr 로 나왔습니다.
- 분류는 라벨에 짧은 설명을 붙이면 정확도가 오릅니다.
- Dynamic Table 의 증분 새로 고침에서도 AI Functions 를 쓸 수 있어(2025-09), 새로 들어온 행에만 분류를 거는 파이프라인을 만들 수 있습니다.
트러블슈팅
증상: "Unknown model" 또는 "model not available in this region" 오류가 납니다.
원인: 내 리전에 없는 모델이거나 허용 목록에서 막혔습니다.
해결: 모델 표를 확인하고, 규제상 괜찮다면
CORTEX_ENABLED_CROSS_REGION을 켭니다. 허용 목록도 확인합니다.증상: 갑자기 "insufficient privileges to call AI function" 이 납니다.
원인: 2026년의 권한 체계 변경으로
USE AI FUNCTIONS나 데이터베이스 역할이 빠졌거나, 사용자별 한도에 걸렸습니다.해결: 위 GRANT 를 확인하고, 한도 초과라면 관리자에게 한도 조정을 요청합니다.