티스토리 뷰

Cursor AI는 사용자의 다양한 작업 목적과 통제 수준에 맞춰 AI의 역할과 행동 범위를 명확히 구분하기 위해 Agent, Ask, Manual 모드를 제공하고 있다. 각 모드는 다음과 같은 필요와 상황에 최적화되어 있기 때문에 Cursor AI 사용시 상황에 따라 적절히 모드를 선택해서 사용하면 좋은 결과를 얻을 수 있다.

 

Agent 모드

Agent 모드는 Cursor의 AI 기반 자동화 도구로, 사용자의 목표를 이해하고 복잡한 작업을 여러 단계로 나누어 자율적으로 수행하는 AI 어시스턴트이다.

 

전체 코드베이스를 깊이 이해하고 여러 파일을 동시에 편집하거나, 터미널 명령 실행, 대규모 리팩터링, 새로운 기능 구현 등 반복적이고 복잡한 작업을 자동화한다.

 

예를 들어 "새로운 기능 추가", "프로젝트 전체 리팩터링", "의존성 설치"와 같은 명령을 자연어로 입력하면, Agent가 계획을 세우고, 필요한 변경을 적용하며, 변경 내역(diff)을 보여주고 사용자의 승인을 받습니다.

Agent는 코드베이스의 맥락을 파악해 일관성 있는 변경을 보장하며, 작업의 효율성과 생산성을 크게 높여준다.

 

Ask 모드

Ask 모드는 단일 질문-응답에 특화된 "읽기 전용" 모드로, 코드베이스에 대해 궁금한 점을 AI에게 자연어로 묻고 즉각적인 답변을 받는 데 사용된다.

 

코드 설명, 버그 진단, 특정 함수의 역할 설명, 간단한 코드 생성 등 빠른 피드백이 필요한 상황에 적합하며, Ask 모드는 코드에 대한 변경을 직접 적용하지 않으며, 사용자가 변경을 원할 경우 별도로 지시해야 한다.

 

전체 코드베이스를 검색해 맥락을 파악할 수 있지만, 복잡한 작업보다는 단일 질문에 대한 일회성 응답에 최적화되어 있다.

 

Manual 모드

Manual 모드는 사용자가 어떤 변경을 원하는지, 어느 파일에 어떤 수정을 적용할지 정확히 알고 있을 때 사용하는 "정밀 편집" 모드이다.

 

Agent 모드와 달리 코드베이스 전체를 탐색하거나 터미널 명령을 실행하지 않고, 오직 사용자가 지정한 파일과 지시에만 따라 작업을 수행하며, 여러 파일에 걸친 동시 편집도 가능하지만, 반드시 @파일명 식으로 명확하게 편집 대상을 지정해야 하며, AI는 자율적으로 계획을 세우거나 검색하지 않는다.

 

Manual 모드는 사용자가 주도권을 갖고, AI는 "페어 프로그래머"처럼 구체적인 명령을 따라주는 역할을 한다.

 

Agent, Ask, Manual 모드로 구분하는 이유

작업 목적과 복잡성, 개발자의 통제권, 코드베이스 안전성, 효율성 등을 모두 고려해, 개발자가 작업 목적에 맞는 최적의 AI 활용 방식을 선택할 수 있도록 하기 위해 모드를 구분하고 있다.

 

Agent 모드는 복잡하고 대규모 작업(여러 파일 변경, 자동화, 터미널 명령 실행 등)에 적합하다. AI가 전체 코드베이스를 탐색하고, 계획을 세우며, 여러 단계를 자율적으로 실행한다. 예를 들어, 새로운 기능 추가, 대규모 리팩터링, 테스트 자동화 등 반복적이고 복합적인 작업에 유용하다.

 

반면, AI의 행동범위가 크므로 사용자가 원하지 않는 자동화나 변경사항이 발생할 수 있고 복잡한 작업을 자동화해 개발자의 시간을 절약하지만, 상대적으로 느릴 수 있다.

 

 

Ask 모드는 단일 질문-응답, 코드 설명, 빠른 오류 진단 등 "읽기 전용" 탐색에 최적화되어 있다. 코드에 직접 변경을 적용하지 않으며, 코드를 안전하게 탐색하거나 학습할 때 적합하다. Ask 모드는 변경 없이 답변만 제공하므로, 실수로 코드를 바꿀 위험이 없다.

 

 

Manual 모드는 사용자가 정확히 어떤 파일, 어떤 부분을 어떻게 바꿀지 명확히 알고 있을 때 사용하는 정밀 편집 모드이다. AI가 자율적으로 탐색하거나 계획을 세우지 않고, 사용자가 지정한 범위 내에서만 동작한다. 세밀한 제어와 통제가 필요한 상황에 적합하다.

AI가 지정한 파일만 수정하므로 잘못 되더라도 프로젝트에 미치는 영향은 적다.

 

마무리

Agent는 복잡한 작업의 자동화와 프로젝트 전체 관리에 Ask는 빠른 질문-답변과 코드 이해에 Manual은 사용자가 원하는 대로 정밀하게 코드 편집이 필요할 때 각각 최적화되어 있으며, 작업의 목적과 복잡성에 따라 적절한 모드를 선택해 활용할 수 있다.

 

이러한 구분은 AI의 자동화 능력과 개발자의 직접 통제 사이에서 사용자가 선택에 따라 구분되어진다.