본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 05. 23. 22:26

Cursor의 Agent 모드를 능숙하게 사용했더니 '엉뚱한 제안'이 사라지고 코딩 속도가 3배 빨라진 이야기

요약

Cursor의 Agent 모드를 활용하여 컨텍스트 오류를 줄이고 코딩 속도를 3배 높이는 구체적인 노하우를 다룹니다. @Codebase 활용법과 .cursor/rules 설정을 통해 에이전트의 행동 규칙을 정의하는 방법을 설명합니다.

핵심 포인트

  • Agent 모드와 Chat 모드의 근본적인 차이 이해
  • @Codebase를 통한 프로젝트 전체 컨텍스트 전달
  • .cursor/rules를 활용한 에이전트 행동 규칙 사전 정의
  • 작업 중단 시점을 명시하여 에이전트의 폭주 방지
  • Cursor의 Agent 모드와 Chat 모드의 근본적인 차이
  • "엉뚱한 제안만 가득"한 상황을 해소하는 Context 설정 노하우
  • Agent에게 긴 작업을 맡기고 방치하기 위한 지시 작성법

.cursor/rules/에서 에이전트의 행동 규칙을 사전에 정의하는 방법 - 실제로 도입하여 코딩 속도가 3배가 된 구체적인 사용법

Cursor를 사용하기 시작했을 때 가장 곤란했던 점은 "엉뚱한 제안"이었습니다.

나: 이 컴포넌트를 리팩터링(Refactoring)해줘
Cursor: (프로젝트와 관계없는 다른 파일을 참조하며)
이런 구현은 어떠신가요?
...

컨텍스트(Context)를 올바르게 전달하지 못했을 뿐이었습니다.

Agent 모드와 Context 설정을 정비한 결과, 엉뚱한 제안이 거의 제로가 되었고, 긴 작업을 통째로 맡길 수 있게 되었습니다.

Chat 모드
↓
코드를 제안함 (직접 적용해야 함)
...

Agent는 "알아서 해줘"가 통한다. Chat은 "어떻게 하면 좋을까?"를 묻는 곳이다.

나: @Button.tsx @types.ts @theme.ts
이 컴포넌트를 다크 모드(dark mode) 대응으로 만들어줘
Cursor: (제안을 내놓음)
...
나: src/components/ 이하의 모든 컴포넌트를
dark mode 대응으로 만들어줘.
Tailwind의 dark: 접두사(prefix)를 사용할 것.
...

1. @Codebase로 전체상을 전달하기

❌ 엉뚱해지기 쉬운 경우
"이 함수를 리팩터링해줘"
✅ 컨텍스트가 통하는 경우
...

@Codebase를 넣으면 Cursor가 인덱스(Index)를 검색하여 관련 파일을 자동으로 참조합니다.

매번 "〇〇 형식으로 작성해줘"라고 말하지 않아도 되도록 규칙 파일을 만듭니다:

.cursor/rules/
├── always.mdc ← 상시 적용 (5개까지)
├── components.mdc ← src/components/** 에 자동 적용
...
---
alwaysApply: true
---
...
---
globs: ["src/components/**/*.tsx"]
---
...

Agent가 잘못된 방향으로 달려나가는 것을 방지하는 지시:

"src/api/user.ts를 리팩터링해 주세요.
시작하기 전에:
1. 변경 대상 파일과 변경 내용의 개요를 알려주세요
...
"다음 변경 사항을 src/components/ 이하의 모든 파일에 적용해 주세요:
변경 내용:
- className 문자열을 cn() 유틸리티 함수로 감싸기
...
"사용자의 프로필 편집 기능을 구현해 주세요.
사양:
- 폼: 이름, 이메일 주소, 아바타 이미지
...
"다음 버그를 조사하고 수정해 주세요:
증상: 사용자가 프로필 이미지를 업로드하면,
두 번째 이후의 업로드가 캐시된 오래된 이미지를 표시함
...
커맨드사용처
@Codebase프로젝트 전체를 검색해주길 원할 때
@파일명특정 파일을 참조시키고 싶을 때
@Docs라이브러리의 공식 문서를 참조시키고 싶을 때
@Web최신 정보를 검색하게 하고 싶을 때
@Git최근의 변경 사항을 참조하고 싶을 때
@Terminal직전의 터미널 출력을 전달할 때

Agent에게 통째로 맡길 때, 멈춰야 할 시점을 사전에 전달해 두면 폭주하지 않습니다:

"다음 작업을 수행해 주세요:
...
다음의 경우에는 작업을 멈추고 확인을 요청해 주세요:
...
설정효과
@Codebase를 사용한다프로젝트 전체를 파악한 후 제안
.cursor/rules/로 사전 정의매번 지시할 필요가 없음
"확인 후 진행"을 전달한다잘못된 방향으로의 폭주를 방지
완료 조건과 중단 조건을 명시긴 작업을 안전하게 통째로 맡김

Agent는 "무엇이든 해주는 편리한 도구"가 아니라 "규칙과 문맥을 정비하면 단번에 똑똑해지는 도구"입니다. 처음 10분을 투자하여 설정을 정비하면, 그다음부터는 멈출 수 없게 됩니다.

Q. Agent 모드는 어디서 사용할 수 있나요?

A. Cursor의 채팅창 왼쪽 상단에 있는 전환 버튼, 또는 Cmd+Shift+I를 통해 Agent 모드로 전환할 수 있습니다.

Q. Agent가 마음대로 커밋(commit)을 해버립니다

A. .cursor/rules/ 디렉토리 내의 alwaysApply: true 설정이 된 규칙에 "git commit은 반드시 사용자의 확인을 거칠 것"이라고 적어두면 방지할 수 있습니다.

Q. @Codebase가 느립니다

A. 인덱싱 (Indexing) 중일 수 있습니다. Cursor Settings → Features → Codebase indexing에서 상태를 확인해 주세요. 규모가 큰 리포지토리 (Repository)는 첫 인덱싱에 몇 분 정도 소요될 수 있습니다.

Q. Chat과 Agent 중 어느 것을 사용해야 하나요?

A. "어떻게 하면 좋을까?"라는 질문에는 Chat이, "이것 좀 해줘"라는 요청에는 Agent가 적합합니다. 여러 파일을 동시에 수정해야 하는 작업은 Agent가 유일한 선택지입니다.

AI 자동 생성 콘텐츠

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

원문 바로가기
0

댓글

0