GSD-2: AI 에이전트의 컨텍스트 손실 문제를 해결하는 메타 프롬프팅 및 명세 주도 개발 시스템

GSD-2 소개

복잡한 소프트웨어 프로젝트를 AI 에이전트와 함께 장시간 진행하다 보면, 대화가 길어질수록 AI가 전체적인 맥락을 잃거나 일관성이 떨어지는 문제가 발생합니다. 이른바 컨텍스트 오염(Context Rot) 이라 불리는 이 현상은 LLM 기반 코딩 도구를 실용적으로 활용하는 데 있어 가장 큰 장벽 중 하나입니다. GSD-2(Get Shit Done 2)는 이 문제를 해결하기 위해 설계된 강력한 메타 프롬프팅(Meta-Prompting) 및 컨텍스트 엔지니어링(Context Engineering) 시스템으로, AI 에이전트가 큰 그림을 유지하면서도 장시간 자율적으로 작업할 수 있는 환경을 제공합니다. GSD-2는 gsd-build 팀이 TypeScript 기반으로 개발한 CLI 도구로, Pi SDK 기반으로 구현되었습니다.

GSD-2GSD(Get Shit Done) 초기 버전의 Claude Code 프롬프트 프레임워크에서 발전하여, Pi SDK를 활용한 독립적인 TypeScript CLI 도구로 재탄생한 프로젝트입니다. 이전 버전이 Claude Code 플러그인 형태로 동작했다면, GSD-2는 에이전트 세션에 대한 더 직접적인 제어를 가능하게 하며 충돌 복구, 비용 추적, 병렬 마일스톤 처리 등 프로덕션 환경에서 필요한 고급 기능들을 갖추고 있습니다.

이전 버전(get-shit-done) 및 유사 프레임워크와의 비교

GSD 2를 더욱 명확히 이해하기 위해 이전 버전 및 목적이 비슷한 타 AI 개발 프레임워크들과의 차이점을 짚어보겠습니다.

  • GSD v1과의 비교: 이전 버전인 GSD v1(get-shit-done)은 Claude Code 등 기존 AI 코딩 도구에 플러그인(Skill) 형태로 부착되어 LLM의 행동을 유도하는 경량 시스템이었습니다. 그러나 GSD 2는 그 한계를 넘어 시스템이 직접 파일 입출력, Git 워크플로우 제어, 에러 발생 시의 자동 복구까지 수행하는 완전히 독립적이고 강력한 도구로 진화했습니다.

  • Superpowers 및 gstack과의 비교: 최신 AI 개발자 생태계에서 에이전트 스택은 크게 세 계층으로 나뉩니다.

    • 의사결정 계층 (gstack): CEO나 아키텍트의 관점에서 프로젝트의 방향성과 '무엇을 할 것인가'를 평가하는 역할을 합니다.

    • 실행 계층 (Superpowers): TDD(테스트 주도 개발) 루프와 구체적인 코드 작성 기법을 통해 '어떻게 할 것인가'를 중점적으로 수행합니다.

    • 컨텍스트/스펙 계층 (GSD 2): GSD 2는 코드를 직접적으로 쏟아내는 용도라기보다 위 도구들이 장기 프로젝트를 진행할 때 길을 잃지 않도록 닻을 내리는 안정제(Stabilizer) 역할을 담당합니다. 즉, 긴 세션 동안 요구사항과 스펙이 흩어지거나 변질되지 않게 관리하는 컨텍스트 엔지니어링에 독보적인 강점을 지니고 있습니다.

GSD-2의 주요 기능 소개

지능형 모델 라우팅 (Intelligent Model Routing)

GSD 2는 단순한 패턴이나 정규식을 통한 모델 선택에서 벗어나, 현재 작업의 난이도와 특성을 분석하여 최적의 LLM을 동적으로 할당합니다. 내부적으로 ADR-004 표준을 따른 '기능 인식 모델 라우팅(Capability-aware model routing)' 기술을 도입하였으며, 기능 점수 산정 알고리즘과 before_model_select 훅(hook), 그리고 상세한 작업 메타데이터 추출 시스템을 활용해 성능과 비용의 효율성을 극대화합니다.

무결점 컨텍스트 유지 관리 (Fresh Session & Pre-loading)

AI 환각 현상(Hallucination)과 맥락 상실을 막기 위해 컨텍스트 데이터 제어에 극단적일 만큼 철저한 접근 방식을 취합니다. 에이전트가 수행하는 모든 구체화 태스크, 리서치 단계, 플래닝 작업은 완전히 비워진 200,000 토큰 크기의 깨끗한 컨텍스트 창에서 시작됩니다.

이전 대화 기록이 없으므로 LLM은 불필요한 맥락에 얽매일 필요가 없습니다. 또한, 디스패치 프롬프트 내부에 작업 계획, 과거 작업 요약본, 모듈 의존성, 전체 로드맵 및 의사결정 기록을 모두 인라인(inlined) 형태로 사전에 로딩합니다. 덕분에 에이전트는 파일을 찾고 읽는 데 불필요한 툴 호출(Tool call)을 낭비하지 않고 즉각적인 코드 작성에 돌입할 수 있습니다.

Git 격리 및 병합 워크플로우 (Git Isolation)

GSD 2는 안정적인 코드베이스 관리를 위해 시스템에 깊숙이 관여하는 Git 제어 모듈을 내장하고 있습니다. 개발자는 git.isolation 설정을 통해 AI 에이전트의 작업 공간을 기존 브랜치와 분리된 worktree 또는 독립적인 branch로 완전하게 격리할 수 있습니다.

에이전트가 수행하는 각 마일스톤은 고유한 milestone/<MID> 형식의 브랜치 위에서 실행됩니다. 모든 하위 슬라이스(Slice) 작업들은 브랜치나 컨텍스트 전환 없이 해당 브랜치에 순차적으로 커밋되므로, 머지 충돌(Merge conflict)의 위험을 원천적으로 차단합니다. 작업이 완료된 마일스톤은 메인(main) 브랜치에 하나의 깔끔한 커밋으로 스쿼시 병합(Squash-merge)되어 Git 히스토리를 쾌적하게 유지합니다. (물론 기존 방식이 편한 개발자를 위해 현재 브랜치에서 그대로 작업하는 none 옵션도 제공합니다.)

강력한 복구 메커니즘 (Crash & Error Recovery)

자율 주행 에이전트가 밤새 대규모 프로젝트를 처리하는 동안에는 예측할 수 없는 오류가 발생하기 마련입니다:

첫째로, 시스템은 락 파일(Lock file)을 사용해 현재 실행 중인 작업 단위를 실시간으로 추적합니다. 세션이 예기치 않게 종료되더라도, 다음 번 실행 시 디스크에 기록된 툴 호출 내역을 바탕으로 자체적인 '복구 브리핑'을 합성해 내어 전체 컨텍스트의 유실 없이 작업을 재개합니다. 멀티 워커(Multi-worker) 세션의 경우 PID 기반의 상태 감지를 통해 병렬 처리의 안정성을 보장하며, 헤드리스(Headless) 모드에서는 크래시 발생 시 지수 백오프(Exponential backoff) 알고리즘을 사용해 최대 3회 자동 재시작을 시도합니다.

둘째로, API Rate Limit 초과나 500/503 서버 에러와 같은 일시적인 네트워크 오류는 지연 후 시스템이 스스로 재시도합니다. 반면 과금 한도 초과나 인증 오류처럼 영구적인 에러는 개발자의 수동 검토를 위해 안전하게 일시 정지 모드로 전환합니다.

무한 루프 감지 및 타임아웃 관리 (Stuck Detection & Timeout)

LLM이 특정 문제에 갇혀 같은 코드를 반복 수정하는 무한 루프는 자율 에이전트의 심각한 취약점입니다. GSD 2는 슬라이딩 윈도우 알고리즘을 활용한 무한 루프 감지(Stuck detection) 기능을 도입했습니다. 반복적인 디스패치 패턴이 포착되면 심층 진단 모드로 한 번의 재시도를 수행하고, 실패 시 에이전트가 예상했던 파일 상태를 명시한 뒤 즉각 자동 모드를 중지시켜 불필요한 토큰 낭비를 막습니다.

더불어, 에이전트에게 스스로 작업을 마무리할 시간을 주는 '소프트 타임아웃', 장시간 응답이 없는 유휴 상태를 포착하는 '워치독(Idle watchdog)', 그리고 강제 정지 명령인 '하드 타임아웃'에 이르는 다단계 타임아웃 감독 시스템을 갖추고 있습니다.

자동 검증 및 비용 추적 시스템 (Verification & Cost Tracking)

시스템이 자율적으로 생성한 코드는 엄격한 검증을 거칩니다. 작업이 끝날 때마다 구성된 쉘 명령어(예: npm run lint, npm run test)가 자동으로 실행되며, 실패 시 다음 단계 진입 전에 자동 수정(Auto-fix) 절차를 거칩니다. 프로젝트의 package.json 파일을 스캔하여 테스트 스크립트를 자동으로 찾아내는 권고(Advisory) 실행 모드도 지원합니다.

비용 관리 역시 투명하게 이루어집니다. 모든 작업과 슬라이스, 사용된 LLM 모델에 따라 토큰 사용량과 예상 청구 비용을 세밀하게 기록합니다. 대시보드를 통해 실시간 누적 비용을 파악할 수 있으며, 예산 상한선(Budget ceiling)을 설정해 과도한 클라우드 요금 청구를 사전에 완벽히 차단할 수 있습니다.

적응형 재-계획 및 마일스톤 승인 (Adaptive Replanning)

에이전트는 초기 계획에 맹목적으로 의존하지 않습니다. 적응형 리플래닝 메커니즘을 통해 각 슬라이스 작업이 완료될 때마다 로드맵을 다시 평가합니다. 작업 중 기존에 몰랐던 변수가 발견되어 계획 수정이 필요해지면, 잔여 슬라이스의 순서를 바꾸거나 항목을 추가 및 제거하여 능동적으로 대처합니다. 모든 하위 작업이 종료되면 마일스톤 검증(Milestone validation) 게이트가 작동하여, 초기 로드맵의 성공 기준과 실제 산출물을 엄격히 대조한 뒤 마일스톤을 최종 승인(Sealing)합니다.

한편, 개발자는 실행 도중 언제든지 Escape 키를 눌러 작업을 일시 정지할 수 있는 '탈출구(Escape hatch)' 기능을 활용할 수 있습니다. 정지 시에도 기존 컨텍스트는 보존되며, 원할 때 다시 /gsd auto 명령어로 디스크 상태에서 작업을 속행할 수 있습니다.

GSD-2 설치 및 사용법

npm을 통해 전역 설치할 수 있습니다:

npm install -g gsd-pi@latest

기본 대화형 단계 모드 실행:

/gsd

자율 실행 모드 (AI가 모든 단계를 자동으로 처리):

/gsd auto

확인 없이 모든 결정을 자동으로 처리하는 완전 자율 모드:

/gsd auto --yolo

웹 기반 인터페이스 실행:

gsd --web

GSD v1에서 마이그레이션:

/gsd migrate ~/projects/my-old-project

라이선스

GSD-2 프로젝트는 MIT 라이선스로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용, 수정, 배포할 수 있습니다.

:house: GSD-2 공식 문서 사이트

:github: GSD-2 프로젝트 GitHub 저장소

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

1개의 좋아요