GSD — AI 코딩 세션이 부패하기 전에 끊어내는 법
AI 코딩 세션의 응답 품질이 점진적으로 저하되는 Context Rot 현상의 원인과, 단일 책임 세션·체크포인트·빠른 리셋으로 대응하는 GSD 방법론, 도구별 적용 패턴을 정리한다.
2026-08-14 · 최초 발행 2026-03-19
AI와 함께 코딩하는 세션이 길어질수록 응답 품질이 눈에 띄게 저하되는 경험을 한 번쯤 겪어봤을 것이다. 처음에는 정확하고 맥락을 잘 이해하던 AI가 어느 순간부터 엉뚱한 코드를 제안하거나, 이전에 논의한 내용을 잊어버리거나, 심지어 상충되는 답변을 내놓기 시작한다. 이 현상을 'Context Rot(컨텍스트 부패)'라 부르며, 2026년 현재 AI 기반 개발 워크플로우에서 가장 큰 생산성 저해 요인 중 하나로 떠오르고 있다. GSD(Get Shit Done) 방법론은 이 문제를 체계적으로 해결하기 위한 실용적 접근법으로, 무엇보다 실제로 작동하는 결과물을 만드는 데 집중한다.
대화가 길어질수록 품질이 무너진다
Context Rot는 AI 코딩 세션에서 시간이 지남에 따라 컨텍스트 품질이 점진적으로 저하되는 현상이다. 이전 대화에서 확립된 코드 스타일을 무시하거나, 이미 해결된 문제를 반복해서 재도입하거나, 프로젝트 아키텍처와 맞지 않는 솔루션을 제안하거나, 변수명·함수명이 불일치하거나, 동일 질문에 상충되는 답변을 내놓는 것이 주요 증상이다. 일반적으로 30~50개 이상의 메시지 교환 이후 뚜렷해지며, 오류 수정과 재작업에 드는 시간이 초기 개발 시간을 넘어서는 비용을 만든다.
왜 부패가 시작되는가
LLM의 컨텍스트 윈도우는 유한해서 초과하면 초기 내용이 자동 삭제되는데, 세션 초반에 정의된 아키텍처 결정·코드 컨벤션이 먼저 사라지는 것이 문제다. AI가 컨텍스트를 압축할 때는 "최근 대화"를 우선시하는 경향이 있고, 압축 과정에서 세부 사항이 뭉뚱그려지며 부정확한 요약이 만들어지는 누적 오류도 함께 발생한다.
세션 설계 문제도 원인이다. 단일 세션에서 너무 많은 기능과 변경을 시도하는 과도한 범위 확장, 명시적으로 기록하지 않은 결정사항이 점진적으로 소실되는 암묵적 가정 축적, 컨텍스트 품질 저하를 조기에 감지할 메커니즘의 부재, 다른 파일이나 기능으로 전환할 때마다 생기는 도구 전환 비용이 여기 해당한다.
사용자 행동 패턴도 한몫한다. 여러 시간에 걸쳐 동일 세션에서 작업하는 장시간 단일 세션 유지, 새 세션 시작을 번거롭게 여기는 컨텍스트 리셋 회피, "이 김에 저것도 해보자"식의 즉흥적 범위 확장, AI 응답의 점진적 품질 저하를 알아채지 못하고 계속 진행하는 검증 없는 진행이 문제를 키운다.
짧게, 명시적으로, 검증하며
GSD(Get Shit Done)는 AI 코딩 세션을 짧고 명확하게 유지하며, 실제로 작동하는 코드를 빠르게 만드는 데 집중하는 방법론이다.
단일 책임 세션 원칙은 "인증 시스템 구현" 대신 "JWT 토큰 발급 함수 작성"처럼 세션당 하나의 명확한 목표를 정하고, 세션 시작 전 "이 세션의 성공이란 무엇인가"를 완료 기준으로 사전 정의하며, 세션 도중 새로운 기능 추가 요청을 금지하고, 단일 세션을 90분 이내로 제한한다.
명시적 컨텍스트 관리 원칙은 프로젝트 배경·결정사항·코드 컨벤션을 별도 파일로 유지하는 컨텍스트 문서, 매 세션 시작 때 핵심 컨텍스트를 명시적으로 제공하는 것, 아키텍처 결정과 트레이드오프를 즉시 기록하는 결정 로그, 암묵적 가정을 문서화해 다음 세션에서도 유효하게 만드는 가정 명시화를 요구한다.
체크포인트 기반 진행 원칙은 각 단계 완료 후 코드 실행과 테스트 확인을 의무화하고, 작동하는 코드 상태를 커밋으로 보존하는 상태 스냅샷을 남기며, 언제든 돌아갈 수 있는 롤백 지점을 확보하고, 단순한 것부터 시작해 단계적으로 복잡도를 높인다.
빠른 실패와 피벗 원칙은 큰 투자 전 핵심 가정을 빠르게 테스트하는 조기 검증, 10분 이상 막히면 새 세션으로 전환하는 빠른 세션 리셋, 80% 품질의 작동하는 코드가 100% 완벽한 미완성 코드보다 낫다는 완벽주의 억제, 첫 버전은 작동에만 집중하고 리팩토링은 별도 세션으로 분리하는 반복 개선으로 구성된다.
컨텍스트를 문서로 다루기
프로젝트 루트에 CONTEXT.md나 CLAUDE.md 파일을 유지하며 기술 스택·아키텍처 패턴·주요 의존성을 담은 프로젝트 개요, 네이밍 규칙·파일 구조·임포트 순서를 담은 코드 컨벤션, 완료된 기능·진행 중인 기능·다음 단계를 담은 현재 작업 상태, 왜 특정 기술을 선택했고 어떤 대안을 기각했는지를 담은 중요 결정사항, 현재 버그·기술 부채·임시 해결책을 담은 알려진 이슈를 포함시킨다.
세션을 시작할 때는 다음과 같은 템플릿을 채운다.
현재 프로젝트: [프로젝트명]
기술 스택: [스택 목록]
이번 세션 목표: [단일 명확한 목표]
완료 기준: [검증 가능한 성공 조건]
참고 파일: [관련 파일 경로]
이전 세션 상태: [마지막으로 완료된 체크포인트]
AI 응답에서 이전에 동의한 패턴과 다른 코드를 제안하는 일관성 위반, "어떤 파일이었나요?"·"다시 한번 설명해 주세요" 형태로 나타나는 망각 신호, 프로젝트 특성을 무시한 일반적 해결책을 내놓는 과도한 일반화, 이미 수정한 실수를 다시 반복하는 반복 오류가 감지되면 세션 리셋을 고려해야 한다. 긴 세션에서는 "지금까지의 작업을 3줄로 요약해줘"처럼 중간 요약을 주기적으로 요청하고, 실험적 시도나 오류 메시지 같은 잡음을 최소화하며, 중요한 결정사항을 메시지 앞에 반복 배치하고, 전체 파일 대신 관련 함수만 컨텍스트에 포함하는 방식으로 컨텍스트를 능동적으로 관리한다.
언제 세션을 나눌 것인가
독립적으로 테스트 가능한 단일 기능에 각 세션이 집중하는 기능 단위 분리, 데이터 레이어·비즈니스 로직·UI를 별도 세션으로 구현하는 레이어 단위 분리, 한 세션에서 하나의 주요 파일에만 집중하는 파일 단위 분리, 새 기능 추가와 코드 정리를 엄격히 구분하는 리팩토링 분리가 효과적인 세션 분리 패턴이다.
체크포인트는 작동하는 상태마다 의미 있는 커밋 메시지로 저장하는 Git 커밋 기반, 반드시 기존 테스트를 통과한 상태여야 한다는 테스트 통과 기준, 코드 변경과 함께 CONTEXT.md를 업데이트하는 문서 동기화, 다음 세션이 실패할 경우 어디로 롤백할지 명시하는 롤백 계획으로 관리한다. 세션을 종료하기 전에는 목표 달성 여부, 코드의 실제 실행·테스트 통과 여부, 다음 세션을 위한 상태 문서화, 의미 있는 커밋 메시지와 함께 Git 커밋 여부, 발견된 이슈나 기술 부채 기록 여부를 체크리스트로 확인한다.
도구마다 다르게 적용한다
Claude Code에서는 프로젝트 컨텍스트를 CLAUDE.md에 유지해 매 세션 자동으로 로드하고, /compact 명령으로 세션 중간에 컨텍스트를 압축하며, 새 세션 시작 시 "다음 작업 컨텍스트를 확인하고 [파일명]을 읽어줘"로 시작하고, 세션 종료 전 "현재 상태를 CLAUDE.md에 업데이트해줘"로 체크포인트를 문서화하며, "이 세션에서는 [파일명]만 수정하고 다른 파일은 건드리지 마"로 범위를 고정한다.
Cursor에서는 .cursorrules 파일로 프로젝트 컨벤션을 고정하고, 전체 코드베이스를 인덱싱해 컨텍스트를 보완하며, 각 기능별로 별도 Composer 세션을 유지하고, @파일명 구문으로 필요한 컨텍스트만 선택적으로 주입하며, 오래된 채팅 기록은 주기적으로 아카이브해 잡음을 제거한다.
GitHub Copilot에서는 열린 탭을 최소화해 관련 파일만 컨텍스트에 포함하고, 함수 위에 목적과 제약조건을 주석으로 명시하며, 긴 대화 대신 인라인 코드 완성에 집중하고, 각 기능 구현을 시작하기 전 불필요한 파일 탭을 닫는다.
팀 환경에서는 팀 전체가 공유하는 AI 세션 컨텍스트 문서를 유지하고, 중요한 AI와의 결정사항을 팀 채널에 공유하며, .cursorrules·CLAUDE.md 같은 컨벤션 파일을 Git으로 버전 관리하고, 새 팀원이 AI 세션을 올바르게 시작할 수 있는 온보딩 템플릿을 제공한다.
Context Rot는 AI 코딩 도구가 일상화된 2026년 현재, 개발자 생산성을 조용히 갉아먹는 가장 과소평가된 문제 중 하나다. GSD 방법론은 거창한 이론이 아니라 실제 작동하는 코드를 빠르게 만들기 위한 실용적 습관의 집합이다. 세션을 짧게 유지하고, 컨텍스트를 명시적으로 관리하고, 작동하는 상태마다 체크포인트를 남기는 세 가지 원칙만 잘 지켜도 AI 코딩의 품질과 예측 가능성이 크게 향상된다. 완벽한 한 번의 긴 세션보다, 목표가 명확한 여러 번의 짧은 세션이 결국 더 빠르고 안정적인 결과를 만든다.
Sources
- https://discuss.pytorch.kr - PyTorch Korea 커뮤니티 GSD 방법론 논의
- https://docs.anthropic.com/claude/docs/claude-code-overview - Claude Code 공식 문서
- https://cursor.sh/docs - Cursor AI 공식 문서
- https://github.com/features/copilot - GitHub Copilot 공식 페이지
- https://platform.openai.com/docs/guides/prompt-engineering - OpenAI 프롬프트 엔지니어링 가이드