AI 코딩 도구 및 Cursor 세션 간 컨텍스트 관리

AI 코딩 어시스턴트와 함께 작업할 때 가장 큰 과제 중 하나는 세션과 도구 간에 컨텍스트를 유지하는 것입니다. Cursor는 프로젝트 컨텍스트를 보존하고 공유하기 위한 여러 메커니즘을 제공하여 AI 어시스턴트가 항상 필요한 정보를 갖도록 보장합니다. 이 가이드에서는 컨텍스트 관리의 모범 사례를 다룹니다.
컨텍스트 문제
AI 도구로 작업할 때 다음과 같은 과제에 자주 직면합니다:
- 세션 기억 상실: 새로운 채팅은 이전 작업의 기억 없이 새로 시작됩니다
- 도구 전환: Cursor, Claude, ChatGPT 또는 다른 도구 간 이동하면 컨텍스트가 손실됩니다
- 팀 공유: 팀원들은 동일한 프로젝트 컨텍스트에 액세스해야 합니다
- 컨텍스트 드리프트: 긴 세션 동안 AI는 원래 목표를 잃어버립니다
해결책 1: AGENTS.md - 프로젝트 헌법
리포지토리 루트에 AGENTS.md 파일을 만드세요. 이것은 모든 AI 도구를 위한 단일 진실 공급원입니다.
AGENTS.md의 구조
# 프로젝트: MyApp
## 개요
이 프로젝트의 기능과 기술 스택에 대한 간략한 설명.
## 기술 스택
- 프론트엔드: React 18 + TypeScript + Tailwind CSS
- 백엔드: Node.js + Express + PostgreSQL
- 테스트: Jest + React Testing Library
- 빌드: Vite
## 프로젝트 구조
src/ components/ # 재사용 가능한 UI 컴포넌트 pages/ # 라우트 레벨 페이지 hooks/ # 커스텀 React 훅 utils/ # 헬퍼 함수 types/ # TypeScript 타입 api/ # API 클라이언트 함수
## 빌드 및 테스트 명령
```bash
npm run dev # 개발 서버 시작
npm run build # 프로덕션 빌드
npm run test # 테스트 실행
npm run lint # ESLint 실행
코딩 표준
- 훅을 사용한 함수형 컴포넌트 사용
- 기존 파일 구조 따르기
- 모든 새 기능에 대한 테스트 작성
- TypeScript 엄격 모드 사용
주요 결정 사항
- 서버 상태 관리에 React Query 사용
- JWT 토큰을 httpOnly 쿠키에 저장
- 공유 타입 패키지를 가진 모노레포 구조
### Cursor에서 AGENTS.md 참조하기
새 채팅 시작 시:
AGENTS.md를 읽고 [기능]을 구현하는 것을 도와주세요. 모든 코딩 표준을 따르고 기존 패턴을 사용하세요.
## 해결책 2: Cursor 전용 규칙
Cursor 전용 지침을 위해 `.cursor/rules/`를 만드세요:
```markdown
---
description: '프로젝트별 Cursor 동작'
globs: ['**/*.ts', '**/*.tsx']
alwaysApply: true
---
# Cursor 지침
## 변경 전
1. 프로젝트 컨텍스트를 위해 AGENTS.md 읽기
2. 기존 유사 구현 확인
3. 확립된 패턴 따르기
## 코드 생성 기본 설정
- 명시적 타입을 가진 TypeScript 생성
- 공개 API에 JSDoc 주석 포함
- 기존 오류 처리 패턴 사용
## 테스트 요구 사항
- 항상 새 기능에 대한 테스트 제안
- 컴포넌트에는 React Testing Library 사용
- API 호출은 MSW로 모의 처리
해결책 3: MCP를 사용한 세션 메모리
영구 메모리를 위해 MCP(Model Context Protocol) 서버를 사용하세요:
메모리 MCP 설정
Cursor MCP 설정에 추가하세요:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@cursor-memory/server"]
}
}
}
메모리 사용
중요한 사실을 저장하세요:
PostgreSQL을 사용하고 users 테이블에 다음이 포함되어 있음을 기억하세요:
- id (UUID, 기본 키)
- email (고유, 인덱싱됨)
- created_at (타임스탬프)
- preferences (JSONB)
향후 세션에서 회상하세요:
데이터베이스 스키마에 대해 무엇을 기억하고 있나요?
해결책 4: CONTRACT.md 패턴
복잡한 프로젝트의 경우 불변성을 정의하는 계약 파일을 사용하세요:
# 프로젝트 계약
## 불변성(절대 위반하지 않음)
1. 모든 API 응답은 `success` 부울 값을 포함해야 함
2. 사용자 ID는 항상 UUID이며 정수가 아님
3. 비밀번호는 절대 기록되거나 응답에 반환되지 않음
## 아키텍처 규칙
1. 도메인 로직은 `src/domain/`에 위치
2. API 라우트는 서비스에만 위임
3. 데이터베이스 액세스는 리포지토리 패턴만을 통해 수행
## 현재 스프린트 목표
- 사용자 인증 구현
- 비밀번호 재설정 흐름 추가
- 이메일 알림 설정
의미 있는 변경 후에 이 파일을 업데이트하세요.
해결책 5: 세션 요약
각 세션 종료 시 요약을 만드세요:
# 세션 요약: 2026-06-22
## 완료됨
- [x] JWT 인증 미들웨어 설정
- [x] 로그인 및 등록 엔드포인트 생성
- [x] bcrypt로 비밀번호 해싱 추가
## 진행 중
- [ ] 이메일 검증 흐름(시작됨, 테스트 필요)
## 다음 단계
1. 토큰 만료가 있는 비밀번호 재설정 구현
2. 인증 엔드포인트에 속도 제한 추가
3. 통합 테스트 작성
## 수정된 주요 파일
- src/middleware/auth.ts (신규)
- src/routes/auth.ts (신규)
- src/services/auth.ts (신규)
- src/models/user.ts (수정됨)
## 결정 사항
- 15분 JWT 만료와 리프레시 토큰 사용
- 리프레시 토큰을 Redis에 저장
이를 docs/session-summaries/YYYY-MM-DD.md로 저장하세요.
해결책 6: Markdown을 사용한 크로스 도구 컨텍스트
도구 간 전환 시 표준화된 컨텍스트 형식을 사용하세요:
# 컨텍스트 전송
## 현재 작업
사용자 프로필 페이지 구현
## 관련 파일
- src/pages/Profile.tsx
- src/components/UserForm.tsx
- src/api/users.ts
## 현재 상태
- 프로필 페이지 뼈대 생성됨
- UserForm 컴포넌트에 검증 필요
- API 엔드포인트 /api/users/me가 올바른 데이터 반환
## 장애물
- 이미지 업로드 방식 결정 필요
## 다음 작업
양식 검증 및 제출 핸들러 추가
이를 모든 AI 도구에 복사하여 원활하게 계속하세요.
모범 사례 요약
해야 할 일
- 프로젝트 시작 시 AGENTS.md 생성
- 아키텍처 변경 시 AGENTS.md 업데이트
- 도구별 지침에는 Cursor 규칙 사용
- 닫기 전에 각 세션 요약
- MCP 메모리로 영구 사실 저장
- 모든 컨텍스트 파일에 버전 관리 사용
하지 말아야 할 일
- AI의 세션 메모리에만 의존하지 않음
- 외부 노트(Obsidian/Notion)에 동기화 없이 컨텍스트 유지하지 않음
- 컨텍스트 파일이 오래되게 하지 않음
- 여러 파일 간에 정보 중복하지 않음
빠른 시작 체크리스트
새 프로젝트의 경우:
- 프로젝트 개요가 포함된
AGENTS.md생성 - Cursor 동작을 위해
.cursor/rules/설정 - MCP 메모리 서버 구성
- 아키텍처 불변성을 위한
CONTRACT.md생성 -
docs/session-summaries/디렉터리 설정 - 모든 컨텍스트 파일을 버전 관리에 추가