Cook AI

커서의 챗 기능: AI로 혁신하는 코드 편집과 관리

앤써니킴 2025. 5. 4. 12:57

개발 과정에서 코드 탐색과 편집을 자연어로 간단히 처리할 수 있다면 어떨까요? 커서(Cursor)의 챗(Chat) 기능은 이러한 꿈을 현실로 만들어줍니다. 이 블로그 포스팅에서는 챗의 주요 기능, 사용 방법, 그리고 개발 워크플로우를 향상하는 다양한 모드와 도구를 소개합니다.


챗이란?

챗(이전 명칭: Composer)은 커서의 사이드바에 상주하는 AI 어시스턴트로, 자연어를 통해 코드베이스와 상호작용할 수 있도록 설계되었습니다. 코드에 대한 질문, 코드 수정 요청, 터미널 명령어 제안 등을 별도의 콘텍스트 전환 없이 처리할 수 있습니다.


챗의 핵심 기능

챗은 다음과 같은 강력한 기능을 제공하여 개발자의 생산성을 높입니다:

  1. 코드 이해
    • 낯선 코드에 대한 질문, 설명 요청, 코드베이스 탐색 지원.
  2. 코드 편집
    • 소규모 수정부터 다중 파일에 걸친 대규모 변경까지 처리.
  3. 터미널 명령어 실행
    • 특정 상황에 맞는 터미널 명령어 제안 및 실행.
  4. 워크플로우 자동화
    • 검색, 추론, 실행을 자동화하여 반복 작업 간소화.

시작하기

챗은 사이드바에서 간단히 접근 가능합니다:

  • Mac: ⌘+L
  • Windows/Linux: Ctrl+L


자연어로 요청을 입력하면 AI가 즉시 응답하며, 다음 작업을 지원합니다:

  • 기능 개발: 새로운 기능 구현.
  • 코드 리팩토링: 코드 구조 개선.
  • 신규 프로젝트 설정: 프로젝트 구조 생성 및 초기 코드 작성.

챗으로 할 수 있는 일

1. 새로운 기능 개발

챗은 코드베이스를 학습하여 새로운 기능을 구현할 수 있습니다. 자연어로 원하는 기능을 설명하면, 챗이 관련 파일을 분석하고 필요한 변경 사항을 제안합니다. 예를 들어, 새로운 파일 추가나 패키지 매니저를 통한 의존성 설치도 가능합니다.

2. 코드 리팩토링

코드베이스의 구조를 이해하고 각 구성 요소의 관계를 파악하여 리팩토링을 지원합니다. 현재 구조와 원하는 변경 사항을 설명하면, 챗이 관련 코드를 읽고 변경 계획을 세운 뒤 실행합니다.

3. 신규 프로젝트 설정

새 프로젝트를 빠르게 시작할 수 있도록 도와줍니다. 프로젝트 유형과 기술 스택 요구사항을 설명하면, 챗이 프로젝트 구조를 생성하고 의존성을 설치하며 초기 코드를 작성합니다.


챗의 모드

챗은 다양한 작업에 최적화된 모드를 제공합니다. 모드는 모드 피커 또는 ⌘. 단축키로 전환할 수 있습니다.

1. 에이전트(Agent) 모드

  • 특징: 코드베이스를 자율적으로 탐색하고 복잡한 변경을 실행.
  • 기능:
    • 코드베이스 탐색 및 관련 파일 식별.
    • 파일 편집, 생성, 터미널 명령어 실행.
    • 프로젝트 구조 및 의존성 이해.
    • 복잡한 작업을 단계별로 분해 후 실행.
  • 워크플로우:
    1. 요청 분석
    2. 코드베이스 및 문서 탐색
    3. 변경 계획 수립
    4. 코드 수정 실행
    5. 결과 검증(linter 오류 수정 포함)
    6. 변경 요약
  • 예시:
    • "React 애플리케이션에 다크 모드 토글 추가"
      • 스타일링 방식 파악, 테마 상태 관리 추가, 토글 컴포넌트 생성, 스타일 업데이트.
    • "API 호출 최적화 및 캐싱 구현"
      • API 호출 위치 식별, 캐싱 전략 구현, 캐시 무효화 로직 추가.

2. 질문(Ask) 모드

  • 특징: 코드 변경 없이 코드베이스 탐색 및 학습에 특화된 "읽기 전용" 모드.
  • 기능:
    • 코드베이스 질문 및 설명 제공.
    • 기능 계획 수립 지원.
  • 설정 옵션:
    • 기본 모델 선택.
    • 단축키 설정.
    • 코드베이스 자동 검색 활성화.
  • 용도: 새로운 코드베이스 학습 또는 구현 전 계획 수립.

3. 수동(Manual) 모드

  • 특징: 사용자가 명시적으로 파일과 변경 사항을 지정하여 정밀 편집.
  • 기능:
    • @ 기호로 파일 지정.
    • 사용자의 명확한 지시에 따라 편집.
    • 검색 및 터미널 도구 사용 불가.
  • 워크플로우:
    1. 요청 작성
    2. @로 편집 파일 지정
    3. 변경 검토(linter 문제 표시 가능)
    4. 변경 적용
  • 예시:
    • "@src/utils/helpers.ts와 @src/components/UserProfile.tsx에서 getUserData를 fetchUserProfile로 이름 변경"
    • "@src/newModule.js와 @src/newService.java에 저작권 헤더 추가"

4. 커스텀 모드

좀 더 자세한 설명은 [커서의 커스텀 모드 설정 가이드: 워크플로우를 최적화하는 방법]에서 확인할 수 있습니다.

  • 특징: 사용자 워크플로우에 맞춘 맞춤형 모드(베타 기능).
  • 설정 방법:
    • 설정 → 기능 → 챗 → 커스텀 모드 활성화.
    • 모드 메뉴에서 "커스텀 모드 추가" 선택.
    • 이름, 아이콘, 단축키, 도구, 지시사항 설정.
  • 예시 모드:
    • 학습(Learn): 상세 설명 및 질문 중심, 편집/도구 실행 제외.
    • 리팩토링(Refactor): 코드 구조 개선에 집중.
    • 계획(Plan): plan.md에 구현 계획 작성.
    • 디버그(Debug): 문제 원인 조사 및 정밀 수정 제안.

콘텍스트 이해

챗은 다음을 분석하여 코드베이스를 이해합니다:

  • 열린 파일: 현재 보고 있는 파일.
  • @ 기호: 특정 코드 요소 참조.
  • 프로젝트 구조: 파일 및 의존성 조직.

쿼리에 따라 관련 콘텍스트를 제안하여 정확한 응답을 보장합니다.


코드 편집 및 관리

코드 편집

  • 변경 검토: 차이점(diff) 뷰로 제안된 변경 확인.
  • 적용: 질문 모드에서는 "적용" 버튼 클릭.
  • 수락/거부: 변경 후 유지 또는 취소(Ctrl/⌘ Enter로 수락, Ctrl/⌘ Backspace로 거부).
  • Apply 기능: 커서의 전용 모델로 수천 줄 코드를 초 단위로 수정.

탭(Tabs)

  • 여러 대화를 병렬로 실행 가능.
  • 새 탭 생성: ⌘+T(Mac) / Ctrl+T(Windows/Linux).
  • 동일 파일 동시 변경 방지.

체크포인트(Checkpoints)

  • 요청 및 변경 시 코드베이스 상태 자동 저장.
  • 복원 방법:
    • 이전 요청의 "체크포인트 복원" 버튼 클릭.
    • 채팅 기록 메시지 옆 "+" 버튼 클릭.

규칙(Rules)

  • AI 동작을 사용자 워크플로우에 맞게 커스터마이징 가능.

모델 선택

  • 자동 선택: 요청에 최적화된 프리미엄 모델 선택(1회 프리미엄 요청 사용).
  • 수동 선택: 모델 피커로 특정 모델 지정.
  • 커스텀 모드: 모드별 고정 모델 설정 가능.

코드 리뷰 및 대화 관리

코드 리뷰

  • 대화 종료 시 차이점 뷰로 에이전트 코드 검토.
  • "변경 검토" 버튼 클릭.

긴 대화 관리

  • 긴 대화에서는 이전 메시지를 소형 모델로 요약하여 속도와 관련성 유지.
  • 콘텍스트 창 제한 시 새 대화 시작 제안.

히스토리 및 비용

  • 채팅 히스토리는 명령 팔레트("히스토리 보기" 버튼 또는 "채팅 히스토리 보기" 명령)에서 확인.
  • 사용 기반 가격 모델의 경우, 히스토리 아이콘으로 비용 내역 확인.

도구 및 고급 옵션

도구

  • 검색:
    • 파일 읽기(최대 모드: 750줄, 기타: 250줄).
    • 디렉터리 구조 읽기.
    • 코드베이스 의미 검색, 키워드 검색, 파일 검색, 웹 검색.
  • 편집:
    • 파일 편집 및 자동 재적용.
    • 파일 삭제(설정에서 비활성화 가능).
  • 실행:
    • 터미널 명령어 실행 및 출력 모니터링.
    • 기본 터미널 프로필 사용(명령 팔레트에서 변경 가능).
  • MCP 서버: 데이터베이스 및 외부 API 연동.

고급 옵션

  • 자동 적용: 수동 확인 없이 편집 적용.
  • 자동 실행: 터미널 명령어 및 테스트 자동 실행.
  • 가드레일: 도구별 허용/제한 목록 설정.
  • 자동 오류 수정: linter 오류 자동 해결.

결론

커서의 챗 기능은 자연어 인터페이스를 통해 코드 탐색, 편집, 자동화를 간소화하며, 에이전트, 질문, 수동, 커스텀 모드를 통해 다양한 워크플로우를 지원합니다. 지금 커서를 사용해 AI 기반 코딩의 새로운 가능성을 탐험해 보세요!