Skip to content

Commit afd1969

Browse files
committed
Update Tech Post " Cursor가 매일 수십억 건의 AI 코드 완성을 처리하는 방식 "
1 parent f4ee356 commit afd1969

File tree

1 file changed

+127
-1
lines changed

1 file changed

+127
-1
lines changed

_posts/2025-08-03-Tech-How-Cursor-Serves-Billions-Of-AI-Code-Completions-Every-Day.md

Lines changed: 127 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,10 +157,136 @@ use_math: true
157157

158158
---
159159

160-
## 6 - Persistent Project Knowledge: Rules and Memories
160+
## 6 - Persistent Project Knowledge
161161

162+
* 만약 Cursor를 오늘 사용 종료 후
162163

164+
내일 다시 Cursor를 실행시킨다면 어떻게 될까?
163165

166+
* AI한테 “우리 프로젝트 API 경로는 /api/v1으로 통일”이라고 알려준다.
167+
168+
=> 오늘 대화에서는 AI가 계속 그 규칙을 기억한다.
169+
170+
=> 세션을 종료한다. (= Cursor 닫는다.)
171+
172+
=> 내일 다시 Cursor를 켜서 “새 API 작성해 줘”라고 하면 보통 AI는 /api/v1 규칙을 모른다.
173+
174+
(= 세션 간 맥락 손실 발생)
175+
176+
* 세션 간에 AI 모델이 맥락을 잃는다는 한계를 극복하기 위해
177+
178+
(세션 간 = 첫 번째 세션이 끝나고 두 번째 세션이 시작되는 그 사이)
179+
180+
Cursor는 프로젝트 지식을 지속적으로 유지하기 위해 **Rules****Memories** 기능을 사용한다.
181+
182+
이를 통해 AI는 프로젝트에 대한 장기적인 이해를 유지하고 특정 지침을 준수할 수 있게 된다.
183+
184+
---
185+
186+
### Rule
187+
188+
* 프로젝트의 **AI 사용 설명서**
189+
190+
* Rule은 개발자가 직접 작성하는
191+
192+
AI가 코드를 작성하거나 수정할 때 반드시 따라야 할 일종의 매뉴얼이다.
193+
194+
* 마크다운 파일로 작성되며
195+
196+
프로젝트의 *.cursor/rules* 위치에 파일을 생성한다.
197+
198+
또한 프로젝트별 또는 사용자별로 설정할 수 있다.
199+
200+
* Rule을 정의함으로써
201+
202+
AI는 매번 같은 스타일과 아키텍처를 지킬 수 있어
203+
204+
팀 차원에서 일관성 있는 코드 품질을 유지할 수 있다.
205+
206+
> Example
207+
208+
* 코딩 스타일 강제
209+
210+
ex) 들여쓰기 2칸, 변수명 스네이크 케이스
211+
212+
* 아키텍처 규칙 유지
213+
214+
ex) 서비스 레이어에서만 DB 접근
215+
216+
---
217+
218+
### Memory
219+
220+
* Memory는 Cursor 1.0 베타부터 도입된 기능으로
221+
222+
AI가 이전 채팅 세션의 중요한 정보와 결정을 기억할 수 있게 한다.
223+
224+
* 동작 방식으로는
225+
226+
**사이드카 모델**이 대화를 실시간 분석하여
227+
228+
중요한 정보(결정, 요구사항, 규칙 등)를 Potential Memories로 제안한다.
229+
230+
* 개발자는 해당 제안을 승인하면
231+
232+
해당 정보가 저장되고 이후 세션에서 AI가 이 기억을 활용한다.
233+
234+
* 즉 개발자가 한 세션에서 까다로운 기능이나 디자인 선택 사항을 설명하더라도
235+
236+
AI는 나중에 해당 맥락을 다시 떠올려 중복 설명을 피하고
237+
238+
마치 시간이 지남에 따라 프로젝트의 세부 사항을 알고 있는 것처럼 행동할 수 있다.
239+
240+
> Example
241+
242+
* 프로젝트의 주요 기술 스택 (React + Node.js + PostgreSQL)
243+
244+
1. API 응답 형식
245+
246+
2. 코드 네이밍 규칙
247+
248+
---
249+
250+
### Rule vs Memory
251+
252+
> Q. Rule을 정의해두면 Memory는 굳이 필요 없는 거 아니야?
253+
254+
* 얼핏 보면 Rule만으로도 충분해 보일 수 있지만
255+
256+
실제로는 Rule과 메모리는 목적과 적용 범위가 달라서 서로 보완 관계에 있다.
257+
258+
**Rule만으로는 부족한 이유**
259+
260+
* Rule은 명시적으로 작성한 지침만 따른다.
261+
262+
ex) *.cursor/rules*에 "API 경로는 /api/v1”라고 적어놨다면 AI가 해당 규칙을 지킨다.
263+
264+
* 하지만 즉흥적인 대화에서 나온 정보나 결정은 Rule 파일에 없으면 다음 세션에서 잊어버린다.
265+
266+
ex) 이번 로그인 페이지는 다크모드 기본 적용 => 규칙에 없으면 세션이 끝나면 사라진다.
267+
268+
**Memory가 필요한 이유**
269+
270+
* Memory는 Rule처럼 미리 작성할 필요가 없고
271+
272+
대화 중에 발생하는 중요한 결정이나 맥락을 자동으로 분석하여
273+
274+
Rule처럼 파일에 따로 쓰지 않아도 유지될 수 있게 돕는다.
275+
276+
ex) 대화 중 “회원가입 API는 POST만 허용”
277+
278+
=> 사이드카 모델이 메모리 제안
279+
280+
=> 개발자가 승
281+
282+
=> 다음 세션에서도 이 규칙을 자동 반영
283+
284+
**Summary**
285+
286+
```
287+
- Rule => 장기적/반복적인 지침 사항 (ex. 스타일, 아키텍처, 공통 규칙)
288+
- Memory => 세션 중 나온 즉흥적이지만 중요한 정보 (ex. 이번 기능의 특이 사항, 특정 API 세부 설정)
289+
```
164290

165291
![](/assets/img/tech/How-Cursor-Serves-Billions-of-AI-Code-Completions-Every-Day_4.png)
166292

0 commit comments

Comments
 (0)