Skip to content

AI 컨텍스트 최적화, 바이브 코딩 생산성을 진짜로 바꾸는 이유

바이브 코딩을 하다 보면 비슷한 순간이 온다. 초반에는 AI가 거의 마법처럼 잘 동작하는데, 어느 시점부터는 같은 요청을 해도 점점 엉뚱해진다. 분명히 규칙을 써뒀는데 무시하고, 방금 수정한 구조를 다시 옛날 방식으로 되돌려버린다.

내 경험상 이건 모델이 갑자기 멍청해진 게 아니라, 대부분 컨텍스트가 오염된 신호다. 이번 글은 "컨텍스트 리팩토링"이 왜 효과가 있는지, 연구와 실무 감각을 같이 엮어서 정리해본 메모에 가깝다.


긴 컨텍스트가 항상 유리한 건 아니다

처음에는 이렇게 생각하기 쉽다. "관련 문서를 많이 넣을수록 AI가 더 잘 알겠지?"

정확히는 모르겠지만, 최근 연구들을 보면 거의 반대로 작동하는 경우가 많다.

  • 긴 입력의 중간 정보가 잘 안 읽히는 Lost in the Middle
  • 무관한 문장이 몇 개만 섞여도 성능이 떨어지는 Context Rot
  • 입력이 길어질수록 중요한 토큰에 집중이 분산되는 현상

결국 핵심은 단순하다. "많이 주는 것"이 아니라 "맞는 것만 주는 것"이 이긴다.


왜 CLAUDE.md 다이어트가 체감이 큰가

Anthropic 공식 가이드도 비슷한 방향을 말한다. 컨텍스트가 빨리 차고, 차면 성능이 떨어진다는 것.

실무에서는 이게 이렇게 보인다.

  • 규칙이 길수록, 정작 중요한 최신 지시가 묻힌다
  • 과거 결정과 현재 코드가 충돌하면 AI가 랜덤하게 한쪽을 고른다
  • "있으면 좋을 정보"가 "지금 필요한 정보"를 밀어낸다

나도 한 번은 규칙 문서를 욕심내서 길게 쌓았다가, AI가 핵심 제약을 계속 무시해서 삽질한 적이 있다. 줄이고 나니까 이상할 정도로 첫 응답 정확도가 올라갔다. 이건 심리적인 느낌이 아니라, 컨텍스트 예산을 다시 배분한 결과에 가깝다.


문서-코드 불일치가 제일 위험하다

컨텍스트 최적화에서 길이보다 더 중요한 게 정확도다.

문서에 최소 일기 7개라고 적혀 있고 코드는 3개를 기준으로 동작한다면, AI는 어느 쪽을 따라야 할지 모른다. 문제는 이런 불일치가 있으면 AI가 "그럴듯한 오답"을 만든다는 점이다. 컴파일은 되는데 비즈니스 로직이 틀린 코드가 나온다.

그래서 나는 다음 순서로 정리한다.

  1. 변한 정책/상수부터 단일 소스로 확정한다
  2. 중복 설명이 있는 문서를 정리하거나 링크로 대체한다
  3. 규칙 문서에는 원칙만 남기고 상세는 참조 문서로 뺀다

이 과정을 거치면 AI가 헤매는 빈도가 눈에 띄게 줄어든다.


프롬프트와 코드 모두 "작게 나누기"가 먹힌다

이 부분은 의견이 갈릴 수 있는데, 나는 거대한 단일 프롬프트/단일 파일 구조를 이제 거의 쓰지 않는다.

  • 프롬프트는 역할별로 분리: 생성, 검증, 리팩토링, 테스트
  • 코드도 도메인별로 분리: 한 파일이 너무 많은 의사결정을 품지 않게

이렇게 나누면 두 가지가 좋아진다.

첫째, AI가 특정 작업에 필요한 문맥만 읽는다.
둘째, 사람이 리뷰할 때도 "이번 변경의 책임 범위"가 명확해진다.

RAG 청킹 관점에서도 비슷하다. 경계가 모호한 큰 덩어리보다, 의미 단위가 살아있는 작은 조각이 검색 품질이 낫다.


컨텍스트 리팩토링 체크리스트

새 기능 들어가기 전에 10분만 써도 효과가 있다.

  • 지금 세션에 꼭 필요한 규칙만 남겼는가
  • 오래된 정책/숫자가 문서 어딘가에 살아 있지 않은가
  • 같은 설명이 여러 파일에 중복돼 있지 않은가
  • 거대한 파일 하나에 지시와 예시와 히스토리를 다 몰아넣지 않았는가
  • "항상 로드할 정보"와 "필요 시 열어볼 정보"를 분리했는가

완벽하게 맞출 필요는 없다. 다만 이 체크리스트를 건너뛰면, 보통 그 비용은 디버깅 시간으로 돌아온다.


마무리: 바이브 코딩의 본질은 감이 아니라 편집이다

이름은 바이브 코딩이지만, 실제로는 컨텍스트를 계속 편집하는 작업에 가깝다. 어떤 정보를 기본으로 깔고, 무엇을 치우고, 무엇을 링크로 미루는지 결정하는 일.

솔직히 나도 아직 이 균형점을 찾는 중이다. 프로젝트가 커질수록 "코드 작성"보다 "문맥 설계"에 더 많은 시간이 들어간다. 그런데 아이러니하게도, 그 시간을 써야 전체 개발 속도가 빨라진다.

아마 앞으로도 모델 성능은 더 좋아질 거다. 그래도 컨텍스트 관리가 사라지진 않을 것 같다.
좋은 결과는 결국, 좋은 질문과 좋은 문맥에서 나온다.


참고 자료

삽질 테크 블로그