본문 바로가기

AI 개발

Snowflake Cortex Code 완전 가이드 1편 — 데이터 팀을 위한 네이티브 AI 코딩 에이전트

반응형

Claude Code, Cursor, Kiro — 요즘 AI 코딩 툴이 넘쳐납니다. 그런데 데이터 팀에게는 공통적인 문제가 있어요. AI가 코드는 잘 짜는데 우리 Snowflake 스키마를 모릅니다. 쿼리 최적화를 요청하면 실제 테이블 구조를 모르는 일반 SQL이 나오고, 생성한 코드를 실제 환경에 배포하려면 결국 직접 다 손봐야 합니다.

Cortex Code는 이 문제를 다른 방식으로 해결합니다. Snowflake 안에서 실행되는 에이전트라서 여러분의 실제 스키마·카탈로그·권한·쿼리 이력을 이미 알고 있습니다. 일반적인 SQL이 아니라 우리 환경에 맞는 SQL이 나오는 이유가 여기 있습니다.


핵심 요약

Snowflake Cortex Code는 Snowflake 네이티브 AI 코딩 에이전트로 2025년 11월 출시됐으며 2026년 대폭 확장됐습니다. 현재 Snowflake 고객의 50% 이상이 이미 사용 중이며, Snowsight(웹), CLI, Desktop IDE 세 가지 인터페이스를 제공합니다.

핵심 차별화는 실제 데이터 카탈로그·스키마·RBAC·쿼리 이력을 네이티브로 이해한다는 점입니다. SQL/Python/Scala 코드 생성, dbt 파이프라인, Snowflake Intelligence 에이전트 빌딩을 지원하며, 데이터가 Snowflake 보안 경계 밖으로 나가지 않습니다. Snowflake Summit 26 키노트에서는 Daniela Amodei(Anthropic)와 공동 발표됐습니다.


실전 1 — 다른 AI 코딩 툴과 뭐가 다른가

대부분의 AI 코딩 툴은 레포 파일 구조와 코드 패턴을 이해하지만, 실제 데이터베이스 컨텍스트는 모릅니다. Claude Code, Cursor, Kiro 모두 SQL 문법은 알지만 실제 테이블 스키마, 데이터 거버넌스 정책, 쿼리 성능 이력은 접근할 수 없습니다.

Cortex Code는 다릅니다. 실제 Snowflake 데이터 카탈로그에 접근하고, 테이블·컬럼·시맨틱 모델을 실시간으로 인식합니다. 현재 사용자의 RBAC 권한 범위 내에서만 동작하고, 쿼리 성능 이력과 크레딧 소비 패턴까지 파악합니다.

차이가 가장 드라마틱하게 드러나는 순간은 실제 코드 생성 결과를 비교할 때입니다. "고객별 월간 매출 합계 쿼리 짜줘"라고 입력했을 때 일반 AI 툴은 orders 테이블에서 amount를 합산하는 일반적인 SQL을 뱉어냅니다. Cortex Code는 다릅니다.

-- 일반 AI 툴 결과: 실제 테이블명·파티션 전략 모름
SELECT customer_id, DATE_TRUNC('month', order_date) AS month,
       SUM(amount) AS total
FROM orders
GROUP BY 1, 2;

-- Cortex Code 결과: 실제 스키마·컬럼명·비즈니스 로직 반영
SELECT c.customer_key,
       DATE_TRUNC('month', o.created_at) AS month,
       SUM(o.gross_amount_usd) AS total_revenue
FROM PROD_DB.SALES.FACT_ORDERS o
JOIN PROD_DB.DIM.DIM_CUSTOMERS c ON o.customer_key = c.customer_key
WHERE o.created_at >= DATEADD('year', -1, CURRENT_DATE())
  AND o.is_deleted = FALSE  -- 실제 소프트딜리트 컬럼 인식
GROUP BY 1, 2
ORDER BY 1, 2;

Cortex Code는 실제 데이터 카탈로그를 참조하기 때문에 존재하지 않는 테이블명이나 컬럼명이 나오지 않습니다. 실무에서 가장 시간을 잡아먹는 "결과 검증" 단계가 짧아지는 이유입니다.


실전 2 — Snowsight에서 바로 쓰기

Cortex Code는 별도 설치 없이 Snowsight 웹 UI에서 바로 사용할 수 있습니다. Snowsight에 로그인한 뒤 좌측 사이드바의 Cortex Code 아이콘을 클릭하거나, Workspaces에서 SQL 파일이나 Notebook을 열면 우측 패널에 Cortex Code가 자동으로 활성화됩니다.

SQL 쿼리 최적화 실전

Workspace에 느린 쿼리를 열어두고 Cortex Code 패널에 최적화를 요청하면 됩니다. 실제 스키마와 파티션 정보를 알고 있기 때문에 최적화 방향이 구체적으로 나옵니다.

-- 기존 느린 쿼리 (10초+ 소요)
SELECT *
FROM events e
LEFT JOIN users u ON e.user_id = u.id
WHERE e.created_at > '2026-01-01'
  AND u.country = 'KR';

-- "이 쿼리 최적화해줘. 현재 10초 넘게 걸림" 요청 후 Cortex Code 결과:
SELECT e.event_type, e.created_at, u.user_name, u.country
FROM events e                        -- SELECT * → 필요 컬럼만
JOIN users u ON e.user_id = u.id     -- LEFT JOIN → INNER JOIN (null 없음 확인)
WHERE e.created_at > '2026-01-01'
  AND e.country_code = 'KR'         -- users 조인 전 events 필터링 (파티션 키)
;
-- + "events 테이블의 created_at이 클러스터 키이므로
--    날짜 필터를 먼저 적용하면 약 80% 파티션 프루닝 가능해요"

제안된 변경사항은 바로 적용되지 않습니다. 시각적 Diff View로 원본과 비교한 뒤 개발자가 수락 또는 거부할 수 있어서, 실수로 프로덕션 쿼리가 바뀌는 일이 없습니다.

계정 관리 자동화

복잡한 SQL 작성 없이 자연어로 계정 관리 작업을 처리할 수 있습니다. 아래처럼 채팅으로 입력하면 쿼리 실행과 결과 분석, 명령어 생성까지 한 번에 처리됩니다.

"지난 7일간 크레딧 소비가 가장 많은 웨어하우스 5개 보여줘"
→ 쿼리 실행 + 결과 표 + 원인 분석 + 최적화 제안

"marketing_analyst 역할에 SALES_DB 읽기 권한 부여해줘"
→ GRANT 문 생성 + 실행 전 검토 요청

"자동 일시중단 설정 안 된 웨어하우스 목록 보여줘"
→ SHOW WAREHOUSES + 필터링 + ALTER WAREHOUSE 명령어 생성

모든 명령은 실행 전 검토 단계를 거칩니다. "바로 실행"이 아니라 "확인 후 실행" 구조이기 때문에 권한 부여나 설정 변경 같은 민감한 작업도 안심하고 맡길 수 있습니다.


실전 3 — Snowflake Intelligence 에이전트 빌딩

Cortex Code의 핵심 유스케이스 중 하나는 Snowflake Intelligence 에이전트를 빌딩하는 것입니다. Snowsight Notebook에서 자연어로 요청하면 에이전트 코드를 자동으로 생성해줍니다.

"월간 매출 리포트를 자동으로 생성하고 Slack에 보내는 에이전트 만들어줘"라고 입력하면 아래처럼 실행 가능한 코드가 나옵니다.

import snowflake.cortex as cortex
from snowflake.snowpark.session import Session

session = Session.builder.getOrCreate()

# Intelligence 에이전트 정의
agent = cortex.Intelligence(
    session=session,
    semantic_model="@PROD_DB.ANALYTICS.SALES_SEMANTIC_MODEL",
    tools=["slack_mcp"],  # MCP 서버 연동
)

# 에이전트 실행
result = agent.run("""
매월 1일 오전 9시에:
1. 전월 매출 데이터 집계 (지역별, 제품별)
2. 전년 동월 대비 증감률 계산
3. 이상치 감지 (± 2 표준편차)
4. #data-team Slack 채널에 요약 리포트 발송
""")

생성된 코드는 실제 Snowflake 계정의 시맨틱 모델과 권한을 기반으로 작성되기 때문에 별도 수정 없이 바로 실행됩니다.

Snowflake Intelligence는 Cortex Code와 함께 출시된 엔터프라이즈 에이전트 플랫폼으로 Snowflake Summit 26에서 GA 발표됐습니다. Cortex Code로 에이전트를 빌딩하면 Intelligence가 실행 환경과 거버넌스를 담당하는 구조입니다.


실전 4 — 지원 범위와 제한사항

지원 범위를 미리 파악해두면 도입 전 기대치를 정확하게 설정할 수 있습니다.

GA 기능 (지금 바로 사용 가능)

Cortex Code in Snowsight는 Commercial, FedRAMP(Moderate/High), KSA sovereign 계정에서 사용 가능합니다. 단, Cross-region inference 활성화가 필요합니다. Cortex Code CLI는 Commercial 계정(non-Gov, VPS, Sovereign 제외)에서 사용 가능하며, 동일하게 Cross-region inference 활성화가 필요합니다.

기능 면에서 SQL/Python/Scala 코드 생성·설명·최적화, 계정 관리 자연어 처리, Workspaces 컨텍스트 인식(현재 파일 자동 반영), Diff View(변경 전 검토)가 지금 바로 사용 가능합니다.

Preview 기능 (출시 예정)

Cortex Code Desktop IDE(macOS/Windows 스탠드얼론), Agent SDK(Python/TypeScript), MCP 지원(GitHub, Jira, 내부 API 연동), ACP 지원(VS Code, JetBrains, Neovim 에디터 임베드), Plugins(Skills·서브에이전트·Hooks 번들)은 아직 Preview 단계입니다. 프로덕션 의존은 이르고, GA 전환 시 API 변경 가능성이 있습니다.

과금 구조

개인 개발자는 signup.snowflake.com/cortex-code에서 30일 무료 트라이얼로 시작할 수 있습니다. 이후 구독형으로 전환되며, 초과 시 다음 청구 기간까지 사용이 제한됩니다. 기존 Snowflake 계정을 보유한 팀은 토큰 소비 기반 pay-as-you-go 방식으로 Snowflake Service Consumption Table 기준으로 과금됩니다. 일별 크레딧 한도 설정이 가능해 과금 폭탄을 방지할 수 있으며, 웨어하우스·스토리지 비용은 별도 과금입니다.


결론

데이터 팀에게는 Cortex Code가 Claude Code나 Cursor보다 실용적인 첫 번째 선택입니다. 실제 스키마·카탈로그·RBAC를 이미 알고 있어서 "일반적인 SQL"이 아니라 "우리 환경에 맞는 SQL"이 나옵니다. 기존 AI 코딩 툴을 쓰면서 항상 "스키마 설명 → 검증 → 수정"을 반복해야 했던 번거로움이 사라집니다.

데이터가 Snowflake 경계 밖으로 나가지 않는다는 점도 중요합니다. 금융·보험·헬스케어처럼 데이터 외부 전송이 엄격히 통제된 환경에서 AI 코딩 에이전트를 도입할 수 있는 현실적인 선택지 중 하나입니다.

단, 두 가지 한계는 분명히 있습니다. Snowflake 환경 밖의 코드베이스 작업에는 한계가 있어서 React 프론트엔드, FastAPI 백엔드 같은 non-Snowflake 코드 작업은 Claude Code나 Cursor가 더 적합합니다. CLI와 Desktop IDE는 아직 Preview 기능이 많은 상태입니다. MCP, ACP, Agent SDK, Plugins는 GA 전환 시 API 변경 가능성이 있어 프로덕션 의존은 시기상조입니다.


관련 글

 

반응형