2026년 01월 28일
5

내 코드의 맥락을 이해하는 기술: Semantic Search와 Context Mentions 활용하기

Cursor
KKingmo

Changmo Oh

@KKingmo

전체 글 보기

AI에게 코딩을 시킬 때 가장 답답한 순간은 언제일까? 바로 "그게 어디 있는데?"라고 되묻거나, 관련 없는 엉뚱한 코드를 짜줄 때다. Cursor는 이 문제를 '맥락(Context)'이라는 개념으로 해결한다. 오늘은 AI에게 내 프로젝트의 '지도'를 쥐여주는 핵심 기술 두 가지를 알아보자.

1. 검색의 진화: Semantic Search (의미론적 검색)

기존의 검색(Ctrl+F)은 단순히 '글자'를 찾는다. 하지만 Cursor의 Semantic Search는 '의미'를 찾는다.

  • 전통적 검색: login을 검색하면 딱 login이라는 단어가 적힌 줄만 보여준다.
  • Semantic Search: "사용자가 접속할 때 권한 확인하는 로직 어디 있어?"라고 물으면, 파일 이름에 login이 없어도 auth.tspermission.js 같은 관련 파일을 찾아낸다.

이것이 가능한 이유는 Cursor가 내 코드를 임베딩(Embedding)이라는 과정을 통해 수치화된 '의미의 지도'로 만들어 두기 때문이다. 질문의 의도와 가장 가까운 위치에 있는 코드를 AI가 알아서 집어오는 방식이다.


2. AI에게 직접 지목하기: Context Mentions (@)

AI가 알아서 찾는 것도 좋지만, 우리가 직접 "이 파일을 참고해!"라고 말해주는 것이 가장 확실하다. 이때 사용하는 마법의 기호가 바로 @ (Mentions)다. 채팅창이나 Cmd+K 입력창에서 @를 치는 순간, AI에게 건네줄 수 있는 정보의 목록이 펼쳐진다.

주요 사용법

  • @Files: 특정 파일을 통째로 참조한다. (예: @App.tsx 이 파일 구조에 맞춰서 새 페이지 만들어줘)
  • @Folders: 폴더 안의 모든 파일 구조를 이해시킨다.
  • @Code: 특정 함수나 클래스 부분만 딱 집어서 대화한다.
  • @Docs: 외부 라이브러리 문서를 학습시킨다. (예: @React Query 최신 문서를 참고해서 데이터 패칭 로직 짜줘)

이 기능은 AI의 기억력(Context Window)을 효율적으로 쓰게 해준다. 프로젝트 전체를 다 읽게 하면 AI가 헷갈려 할 수 있지만, 필요한 부분만 @로 집어주면 훨씬 정확한 답을 내놓는다.

관련 문서: Cursor Docs - Mentions


3. 실전 활용 시나리오

고등학생 수준에서도 바로 따라 할 수 있는 활용 예시는 다음과 같다.

  1. 에러 수정: 터미널에 에러가 떴을 때, 채팅창(Cmd+L)을 켜고 @Terminal 혹은 에러가 난 파일 @ErrorFile.js를 언급하며 "이거 왜 안 돼?"라고 물어본다.
  2. 새 기능 구현: "이미 만들어둔 @UserCard.tsx 스타일이랑 비슷하게 @PostCard.tsx 만들어줘"라고 명령한다.
  3. 라이브러리 학습: 처음 써보는 라이브러리라면 @Docs로 해당 라이브러리 공식 문서를 링크한 뒤 질문한다.

4. 요약: AI를 똑똑하게 만드는 건 나의 '힌트'

Cursor는 강력하지만, 완벽한 독심술사는 아니다. Semantic Search는 AI가 스스로 힌트를 찾게 돕고, Context Mentions는 우리가 직접 힌트를 주는 도구다.

이 두 가지만 잘 써도 AI가 "모르겠어요"라고 하거나 엉뚱한 소리를 하는 비중이 80% 이상 줄어들 것이다. 코드를 짜기 전, AI가 지금 어떤 맥락을 보고 있는지 확인하는 습관을 들여보자.