자연어 의도→에이전트 생성→검증의 바이브 코딩이 불안정한 이유를 LLM의 구조적 인지 한계로 설명하고, Claude Code의 기능들로 그 한계를 시스템 수준에서 우회하는 전략을 정리한다.
핵심 포인트- LLM은 긴 컨텍스트 중간을 놓치는 Lost in the Middle, 학습 데이터 편향(Zustand 지시에도 턴이 지나면 Redux로 회귀), 스펙 모호성, 자기회귀 오류 중첩, 작업 기억 3~4개 한계를 반복적으로 드러낸다.
- 한계마다 대응 도구를 매핑한다: 중간 결과 저장은 파일 시스템, 다항목 추적은 Todo, 긴 정보는 작게 쪼갠 멀티턴, 오류 중첩은 Plan 모드, 초기 정보 희석은 CLAUDE.md.
- Plan 모드로 실행 전 계획을 검증해 2FA를 임의 도입하는 식의 오해를 사전 차단한다.
- 서브에이전트로 도메인별 병렬 탐색과 다관점 리뷰(Architect/Security/QA 등)를 컨텍스트 분리해 수행한다.
- 반복 검증은 Agent Skills(SKILL.md)로 자동화한다(rule-checker·multi-review).
상세 정리- Lost in the Middle: 30페이지 스펙에서 처음·끝은 반영되나 중간이 누락되며 Stanford 논문이 근거다.
- 학습 데이터 편향: Zustand 지시에도 10~15턴 후 Redux로 회귀하고, UI 생성 시 보라색 그라데이션이 잦은 것도 Tailwind 기본값 확산 때문이다.
- 스펙 모호성: "모든 요청 로그" vs "개인정보 로그 금지" 같은 모순, "보안 고려 인증"이 해석마다 2FA·OAuth 등으로 벌어진다.
- 오류 중첩: 초기 오해(2FA 필요)가 세션·에러 처리·UI·테스트로 자기회귀적으로 확산된다.
- 작업 기억 한계: 규칙 5개 중 3개가 누락되며, Miller 7±2·Cowan 4±1·Zhang(2024)에서 GPT-4도 3개 이상 추적 시 성능이 급락한다.
- 방법 1(작은 멀티턴): 로그인 화면→이동→3회 실패 잠금을 턴마다 확인해 누락·오해를 차단한다.
- 방법 2(Plan 모드): 파일 수정 권한을 막고 계획서를 먼저 승인하며, Shift+Tab/--permission-mode로 Default/Auto-accept/Plan을 전환한다.
- 방법 3(Todo): rate limiting 대상 파일을 Todo로 나열해 Lost in the Middle을 우회한다.
- 방법 4(서브에이전트): Explore 4개로 인증·결제·알림·검색을 병렬 탐색하고 5개 전문가(Architect·Senior·DevOps·Security·QA)가 평가한다.
- 방법 5(Extended Thinking): think→think hard→think harder→ultrathink로 budget을 조절하며 디버깅·레거시·아키텍처엔 유효하나 CRUD·보일러플레이트엔 비효율이다.
- 방법 6(CLAUDE.md): root는 온보딩(명령어·구조·데이터 흐름), 디렉토리별은 특화 컨벤션(결제는 금액 정수·상태 변경 로그·PG 재시도)을 담는다.
- 방법 7(Agent Skills): MCP는 외부 서비스 연결, Skill은 로컬 워크플로우로, SKILL.md + scripts로 rule-checker·multi-review를 자동화한다.
- 방법 8(Compact): 10턴 이상·작업 전환 시 /compact로 정리하되 중요한 결정은 파일로 먼저 백업한다.
- 프롬프트 원칙: 누가 읽어도 같은 것을 상상하게 구체 수치·경계 조건을 명시하고, 부정문보다 긍정문(쓰지 마 대신 Zustand로)을 쓴다.
왜 읽나Claude Code로 코드를 생성하지만 결과가 들쭉날쭉한 개발자에게 LLM 인지 한계별 도구 매핑과 프롬프트 원칙의 실전 정리.