본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 05. 15. 00:30

개발 환경 AI 검토

요약

본 문서는 개발 환경에서 AI 에이전트가 일관되고 구조화된 방식으로 코드를 생성하고 아키텍처를 이해하도록 돕는 'AI 규칙 정의'의 베스트 프랙티스를 제시합니다. 프로젝트 루트에 `.cursorrules`와 같은 전역 규칙 파일을 배치하여 전체 시스템의 맥락을 제공하며, dbt 모델링, Snowflake 배포, 그리고 작업 흐름(Workflow) 등 각 단계별로 구체적인 명명 규칙과 제약 사항을 정의하는 방법을 설명합니다.

핵심 포인트

  • AI 에이전트에게 프로젝트 전반의 '뇌' 역할을 하는 중앙 집중식 규칙 파일(`.cursorrules`)을 루트에 배치해야 합니다.
  • dbt 모델링, Snowflake 배포 등 각 기술 스택별로 `.mdc`와 같은 특수 파일을 활용하여 구체적인 명명 규칙과 아키텍처 방침을 정의할 수 있습니다.
  • 규칙 문서에는 단순히 '무엇을 해야 하는지(Do)'뿐만 아니라 '절대 해서는 안 되는 것(Don't)'을 명시하여 AI의 오류를 줄여야 합니다.
  • XML 태그나 프런트매터 같은 구조화된 요소를 활용하면 AI가 규칙을 더 정확하게 해석하고 따르도록 지시 준수율을 높일 수 있습니다.

Cursor에서는 Claude Desktop의 CLAUDE.mdskills 디렉터리의 개념을, **.cursorrules (프로젝트 전체 규칙)**와 **.cursor/rules/ (컨텍스트별 개별 규칙·스킬 정의)**에 매핑하는 것이 현재의 베스트 프랙티스 (Best Practice)입니다. 제안하는 디렉터리 구조는 다음과 같습니다.

data_platform_project/
├── .cursorrules # 프로젝트 전체의 맵과 기본 방침 (구 CLAUDE.md)
├── .cursor/
...

프로젝트의 루트(Root)에 배치하여 Cursor의 AI가 항상 참조하는 "뇌"의 역할을 수행합니다. 에이전트(Agent)가 길을 잃지 않도록 리포지토리(Repository)의 전체상을 정의합니다.

기재 내용:

  • 아키텍처 (Architecture)의 전체상 (데이터 추출 대상 → Snowflake → dbt → Airflow에 의한 오케스트레이션 (Orchestration)).
  • 프로젝트의 디렉터리 루트 설명.
  • "상세한 규칙이나 명명 규칙, 스킬은 .cursor/rules/ 이하의 파일을 참조할 것"이라는 메타 지시.

요청하신 "안건 특유의 정보를 담을 수 있는 계층"입니다. 확장자를 .mdc (Markdown Driven Context)로 설정함으로써, Cursor 에이전트가 관련 작업을 할 때 자동으로 이 규칙을 읽어들입니다.

프런트매터 (Frontmatter, 선두의 메타데이터): globs: ["/*.sql", "/*.py", "/*.yml"]

기재 내용:

  • 테이블명, 컬럼명, 태스크명(Task name)의 명명 규칙 (예: stg_[source]_[entity]).
  • 안건 특유의 비즈니스 용어 (도메인 보카블러리 (Domain Vocabulary)) 정의 및 영문 번역 고정.
  • 약어 금지 규칙 및 허용 리스트.

dbt의 모델링 방침을 AI에게 이해시킵니다.

프런트매터 (Frontmatter): globs: ["dbt_project//*.sql", "dbt_project//*.yml"]

기재 내용:

  • Raw층: 소스 데이터의 수집 규칙.

  • Stg (Staging) 층: 타입 변환과 리네임 (Rename)만 수행하는 제약.

  • Int (Intermediate) 층: 조인 (Join)이나 복잡한 비즈니스 로직의 적용.

  • Mart (Data Mart) 층: BI 툴을 위한 최종 집계 테이블 사양.

  • 머티리얼라이제이션 (Materialization)의 기본 설정 (view vs table vs incremental).

프런트매터 (Frontmatter): globs: ["snowflake_scripts//*.sql"]

기재 내용:

  • SnowSQL을 이용한 배포 (Deployment) 시의 유의점.
  • 퍼포먼스 튜닝 (Performance Tuning) 기준 (클러스터링 키 (Clustering Key) 선정 기준, Search Optimization Service를 적용하는 조건 등).
  • 롤 (Role) 및 웨어하우스 (Warehouse) 할당 규칙.

샘플인 add-gold-model 등의 대체가 되는, 액션 기반의 지시서입니다.

프런트매터 (Frontmatter): description: "Run this workflow when asked to add a new dbt model or table"

기재 내용 (에이전트가 수행할 단계):

  • 요구사항을 확인하고 대상이 되는 층 (Stg/Int/Mart)을 특정한다.

  • 00_naming_conventions.mdc에 따라 모델명을 결정한다.

  • .sql 파일과 .yml (테스트·문서) 양쪽을 모두 생성한다.

  • Snowflake 고유의 기능이 필요한지 확인하고 코드에 포함한다.

XML 태그의 활용: Claude 기반 모델은 XML 태그 (<rule>, <example>, <step> 등)로 둘러싸인 구조화된 텍스트의 해석에 매우 능숙합니다. 마크다운 (Markdown) 내에 적절히 태그를 섞음으로써 지시 준수율을 크게 높일 수 있습니다.

  • Do / Don't 명시: "이렇게 해주길 바란다"는 지시뿐만 아니라, "절대로 해서는 안 되는 것 (Don't)"을 병기하면 AI의 재작업 (환각 (Hallucination)에 의한 잘못된 코드 생성)을 극적으로 줄일 수 있습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
2

댓글

0