본문으로 건너뛰기

Cursor Agent 모드 & YOLO 모드 실전 가이드

Agent 모드는 아마도 Cursor에서 가장 강력한 기능일 것입니다. 하지만 많은 사람이 여전히 제대로 사용하는 것을 두려워합니다. 일반 채팅에만 머물러서 코드 스니펫을 요청하고, 파일에 수동으로 붙여넣기만 합니다. 그것도 되지만, Cursor 잠재력의 80%를 낭비하는 셈입니다.

이 가이드는 Cursor 포럼에서 공유된 실제 워크플로우를 기반으로 합니다. 이론 중심의 장황한 설명 없이, 실제로 작동하는 실용적인 내용만 담았습니다.

Cursor의 Agent 모드 패널

Agent 모드 vs 일반 채팅: 실제로 어떤 차이가 있나

대부분의 초보자가 놓치는 점: Agent 모드와 일반 채팅은 완전히 다른 존재입니다.

기능일반 채팅Agent 모드
코드베이스 읽기
코드 변경 제안
터미널 명령 실행아니오
파일 생성/수정아니오
파일 간 검색아니오
다단계 작업아니오
확인 필요해당 없음예 (YOLO 제외)

일반 채팅은 질문할 수 있는 똑똑한 동료와 같은 것입니다. Agent 모드는 실제로 일을 할 수 있는 주니어 개발자와 같습니다 -- 명령을 실행하고, 파일을 만들고, 프로젝트 전체에서 코드를 편집할 수 있습니다.

채팅 패널의 로봇 아이콘을 클릭하여 Agent 모드로 전환하면, Cursor는 파일 읽기/쓰기, 터미널 명령, 코드 검색 등의 도구에 접근할 수 있게 됩니다. 다단계 접근 방식을 계획하고 실행할 수 있습니다.

Agent 모드를 사용할 때

코드를 "보여달라"는 것 이상의 작업이 필요한 모든 경우입니다. 채팅에서 코드를 복사해서 파일에 붙여넣고 있다면, 대신 Agent 모드를 사용해야 합니다.

YOLO 모드: 무엇인지, 언제 사용해야 하는지

YOLO는 "You Only Live Once"의 약자입니다. Cursor에서 YOLO 모드는 Agent가 모든 확인 대화 상자를 건드리고... 그냥 실행한다는 의미입니다.

YOLO 모드 토글

"파일 쓰기를 허용하시겠습니까?" 팝업도 없고, "이 명령을 실행하시겠습니까?" 프롬프트도 없습니다. Agent가 작업이 완료되거나 막힐 때까지 자율적으로 실행합니다.

YOLO가 적합한 경우

  • 새 프로젝트 스캐폴드 -- 디렉토리 생성, 패키지 설치, 보일러플레이트 생성
  • 일괄 리팩토링 -- 50개 파일에서 변수명 변경, import 경로 업데이트
  • 자동화된 작업 -- 테스트 파일 생성, 마이그레이션 스크립트 작성, 문서화
  • 일회용 작업 -- 잘못되면 git reset으로 되돌릴 수 있는 모든 것

YOLO를 끄는 것이 좋은 경우

프로덕션 브랜치에서 YOLO 모드를 절대 사용하지 마세요

진심입니다. 잘못된 rm -rf 하나나 깨진 데이터베이스 마이그레이션으로 확인 대화 상자가 왜 존재하는지 깨닫게 될 것입니다.

  • 프로덕션 코드 또는 메인 브랜치 -- 항상 변경 사항을 검토하세요
  • 데이터베이스 작업 -- 마이그레이션, 스키마 변경, 시드 데이터
  • CI/CD 설정 -- 한 줄 잘못되면 파이프라인이 깨집니다
  • 되돌릴 수 없는 모든 것 -- 되돌릴 수 없다면 YOLO하지 마세요

YOLO 모드 전환 방법

  1. Agent 채팅 패널 열기 (Cmd/Ctrl + Shift + A)
  2. 패널 상단의 YOLO 토글 찾기
  3. 클릭하여 활성화/비활성화

YOLO가 활성화되면 토글에 작은 경고 아이콘이 표시됩니다. 이것에 주의하세요.

실전 워크플로우 1: 새 프로젝트 처음부터 만들기

Agent 모드가 가장 빛나는 곳입니다. create-react-app을 수동으로 실행하고, 폴더 구조를 설정하고, 보일러플레이트를 작성하는 대신 -- Agent가 모든 것을 처리하게 하세요.

1단계: 빈 디렉토리에서 Agent 모드를 엽니다.

2단계: 명확하고 상세한 프롬프트를 제공합니다:

Create a Next.js 14 project with the following structure:
- App router with TypeScript
- Tailwind CSS for styling
- Authentication pages (login, register)
- A dashboard layout with sidebar navigation
- API routes for user management
- ESLint and Prettier configured
- Environment variables for database connection

Use PostgreSQL with Prisma ORM. Set up the basic schema for users with email, password hash, and timestamps.

3단계: 작동하는 것을 지켜봅니다. Agent는 다음을 수행할 것입니다:

  1. npx create-next-app으로 프로젝트 생성
  2. 의존성 설치 (Prisma, Tailwind 등)
  3. 폴더 구조 생성
  4. 초기 설정 파일 작성
  5. Prisma 스키마 설정 및 초기 마이그레이션 실행
  6. 페이지 컴포넌트 및 API 라우트 생성

4단계: 출력 결과를 검토합니다. Agent 모드에서도 계속 진행하기 전에 생성된 것을 훑어봐야 합니다.

포럼의 프로 팁

"항상 변경 전에 초기 스캐폴드를 커밋하세요. Agent가 엇나가면 git checkout .으로 깨끗하게 다시 시작할 수 있습니다." -- Cursor 포럼의 @devops_mike

실전 워크플로우 2: 자동화된 코드 리뷰

별도의 코드 리뷰 도구가 필요하지 않습니다. Agent 모드가 일반적인 문제에 대해 코드를 감사할 수 있습니다.

예시 프롬프트:

Review the src/api/ directory for:
1. Security vulnerabilities (SQL injection, XSS, missing auth checks)
2. Error handling gaps (unhandled promises, missing try-catch)
3. Performance issues (N+1 queries, missing indexes)
4. Code quality (unused imports, duplicated logic, inconsistent naming)

For each issue found, explain the problem and suggest a fix. Don't apply changes yet -- just report.

Agent는 파일을 검색하고, 코드를 분석하고, 구조화된 보고서를 제공할 것입니다. 그런 다음 어떤 수정을 적용할지 결정할 수 있습니다.

한 단계 더 나아가기

리뷰 후, 특정 문제를 수정하도록 Agent에게 요청할 수 있습니다:

Fix the SQL injection vulnerabilities you found. Apply the parameterized query pattern to all database calls in src/api/users.ts and src/api/orders.ts.

이 두 단계 접근 방식 (먼저 리뷰, 그 다음 수정)은 Agent의 속도를 활용하면서도 제어권을 유지할 수 있게 해줍니다.

실전 워크플로우 3: .cursorrules로 일괄 리팩토링

포럼 사용자들이 극찬하는 강력한 조합입니다: YOLO 모드 + .cursorrules.

아이디어는 간단합니다 -- .cursorrules 파일이 Agent에게 프로젝트의 작동 방식을 정확히 알려주므로, 대규모 리팩토링을 요청할 때 Agent가 자신만의 규칙을 만들지 않고 여러분의 규칙을 따릅니다.

규칙 설정하기

프로젝트 루트에 .cursorrules 파일을 생성합니다:

## Project Conventions
- Use TypeScript strict mode
- All API responses follow the format: { success: boolean, data: T, error?: string }
- Components use named exports, not default exports
- State management uses Zustand stores in src/stores/
- All async functions must have proper error handling with try-catch
- Use the repository pattern for database operations
- Test files go in __tests__/ directories next to source files

리팩토링 실행하기

YOLO 모드를 켜고 좋은 규칙이 준비된 상태에서:

Refactor all API routes to use the repository pattern:
1. Create src/repositories/ directory
2. Extract database operations from src/api/ into repository classes
3. Update API routes to use the repositories
4. Add proper TypeScript interfaces for all repository methods
5. Create corresponding test files
YOLO + 리팩토링 = 항상 Git 먼저

YOLO 모드로 일괄 리팩토링을 하기 전에:

  1. 모든 현재 변경 사항 커밋
  2. 기능 브랜치 생성
  3. 리팩토링 실행
  4. git diff로 변경 사항 검토
  5. 모든 것이 정상적으로 보일 때만 병합

안전 제일: 프로젝트를 망치지 않는 방법

Cursor 포럼에는 공포 스토리가 가득합니다. 그중 하나가 되지 않는 방법은 다음과 같습니다.

Shadow Workspace 사용하기

Cursor의 Shadow Workspace 기능을 사용하면 Agent가 코드의 복사본에서 작동합니다. 문제가 생겨도 실제 파일은 손대지 않습니다.

  1. 설정 열기
  2. Features로 이동
  3. Shadow Workspace 활성화
  4. Agent가 이제 격리된 환경에서 작동

Git은 안전망입니다

당연한 이야기처럼 들리지만, 포럼 글을 보면 그렇지 않은 경우가 많습니다:

# 중요한 코드에서 Agent 작업 전
$env:PAGER='cat'
git add .
git commit -m "checkpoint before agent refactoring"

# Agent가 망쳤을 때
git diff # 무엇이 바뀌었는지 확인
git checkout . # 모든 것 되돌리기
# 또는
git reset --hard # 핵 옵션

브랜치 전략

main (production)     -- 절대 Agent/YOLO 실행 금지
└── develop -- Agent 모드 OK, YOLO 끔
└── feature/* -- Agent + YOLO, 자유롭게

프로덕션에서 멀수록 Agent에게 더 많은 자유를 줍니다. 기능 브랜치는 놀이터입니다. 메인 브랜치는 YOLO 금지 구역입니다.

황금률

잃을 여유가 없는 것은 백업 없이 Agent가 건드리게 하지 마세요.

Background Agent: AI가 일하는 동안 다른 일 하기

Background Agent (Cursor 0.50에 도입)는 더 큰 작업을 위한 게임 체인저입니다. Agent가 한 단계씩 작동하는 것을 지켜보는 대신, 작업을 위임하고 다른 것을 코딩하세요.

작동 방식

  1. Cmd/Ctrl + E를 눌러 Background Agent 패널 열기
  2. 작업을 상세히 설명
  3. "Start Agent" 클릭
  4. 에디터로 돌아가 다른 작업 수행
  5. 완료되면 Background Agent 패널 확인

Background Agent에 적합한 작업

  • "src/components/의 모든 컴포넌트에 대한 단위 테스트 작성"
  • "src/api/의 모든 엔드포인트에 대한 API 문서 생성"
  • "REST에서 GraphQL로 마이그레이션하는 스크립트 생성"
  • "인증 모듈을 세션 대신 JWT를 사용하도록 리팩토링"

알아두어야 할 것

  • Background Agent는 클라우드 환경에서 작동하므로 로컬 머신을 차단하지 않습니다
  • 여러 Background Agent를 동시에 실행할 수 있습니다
  • Agent가 완료되면 결과가 로컬 프로젝트에 동기화됩니다
  • Cursor 1.1부터 Background Agent 업데이트를 Slack에서 받을 수 있습니다
포럼 팁

"매일 아침 기능 개발하는 동안 Background Agent에게 테스트 작성을 위임합니다. 점심쯤이면 검토할 전체 테스트 스위트가 있습니다." -- Cursor 포럼의 @testing_alex

빠른 참조: Agent 모드 단축키

동작단축키
Agent 채팅 열기Cmd/Ctrl + Shift + A
Background Agent 열기Cmd/Ctrl + E
YOLO 모드 토글Agent 패널에서 YOLO 토글 클릭
Agent 변경 수락Cmd/Ctrl + Y
Agent 변경 거부Cmd/Ctrl + N
Composer 열기Cmd/Ctrl + I

피해야 할 흔한 실수

1. 모호한 프롬프트

나쁨: "코드를 고쳐줘" 좋음: "src/utils/parser.ts의 TypeScript 오류를 고쳐줘. 날짜 파싱 함수가 타임존 오프셋을 제대로 처리하지 못해."

2. 한 번에 너무 많은 작업

Agent 모드는 집중적이고 단일 목적의 작업에서 가장 잘 작동합니다. "모든 것을 리팩토링하고 테스트를 추가하고 문서를 업데이트"하는 대신, 세 개의 별도 Agent 세션으로 나누세요.

3. 맥락을 제공하지 않기

Agent는 여러분의 프로젝트 역사를 모릅니다. 어떤 프레임워크를 사용하는지, 어떤 규칙을 따르는지, 코드가 무엇을 해야 하는지 알려주세요.

4. 출력을 무시하기

YOLO 모드가 켜져 있어도, Agent가 한 일을 검토해야 합니다. 각 Agent 세션 후 빠른 git diff는 문제가 누적되기 전에 잡아냅니다.

마무리

Agent 모드와 YOLO 모드는 올바르게 사용할 때 힘의 배수가 됩니다. 핵심은 Agent가 자유롭게 실행하게 할 때와 짧게 묶어둘 때를 아는 것입니다.

작게 시작하세요. 단일 파일 작업에 Agent 모드를 사용하세요. 그런 다음 다중 파일 리팩토링을 시도하세요. 결국 YOLO가 안전한 경우와 그렇지 않은 경우에 대한 직감이 생길 것입니다. 그 직감은 어떤 튜토리얼보다 값집니다.


출처 및 추가 읽기: