@@ -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