본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 05. 31. 14:19

Claude Code의 컨텍스트 성능 저하를 방지하기: Context Engineering 스킬 모음 사용법

요약

Claude Code 사용 중 발생하는 컨텍스트 성능 저하 현상을 진단하고 방지하기 위한 Context Engineering 스킬 활용법을 소개합니다. OSS로 공개된 15가지 스킬을 설치하여 Lost-in-Middle, Poisoning 등 5가지 저하 패턴을 관리하고 캐시 효율을 높이는 전략을 다룹니다.

핵심 포인트

  • 컨텍스트 중간 정보의 정확도가 떨어지는 U자형 어텐션 커브 이해
  • OSS 기반 Agent Skills를 통한 컨텍스트 저하 5가지 유형 진단
  • 시스템 프롬프트 구조 최적화를 통한 캐시 히트율 향상 및 비용 절감
  • 진단 스킬과 컨텍스트 압축 명령어(/compact)의 차이점 숙지

Claude Code를 사용하다 보면 "최근 답변이 좀 이상한데?", "방금 말한 내용을 무시하네"라는 경험을 한 적이 없으신가요? 이는 **컨텍스트 성능 저하 (Context Degradation)**라고 불리는 현상으로, 대화가 길어짐에 따라 모델의 퍼포먼스가 떨어지는 문제입니다.

이 기사에서는 OSS(Open Source Software)로 공개된 Agent Skills for Context Engineering을 Claude Code에 도입하여, 성능 저하를 진단하고 방지하는 방법을 소개합니다.

다음 명령 하나로 ~/.claude/skills/에 15개의 스킬이 추가됩니다. 다음 세션부터 자동으로 인식됩니다.

cd /tmp && \
git clone --depth=1 https://github.com/muratcankoylan/Agent-Skills-for-Context-Engineering.git context-engineering && \
cp -r context-engineering/skills/* ~/.claude/skills/ && \
...

스킬 호출 방법은 두 가지가 있습니다.

  • 자동: 대화 문맥을 통해 Claude가 판단하여 자동 활성화
  • 수동: 채팅에 /context-degradation과 같이 입력

컨텍스트 윈도우(Context Window)에는 **U자형 어텐션 커브 (U-shaped Attention Curve)**가 존재합니다. 맨 앞과 맨 뒤의 정보는 확실하게 참조되지만, 중간 부분의 정보는 10~40%의 정확도 저하가 발생합니다.

또한, 컨텍스트가 늘어날수록 퍼포먼스는 떨어지지만, 그 저하는 선형적이지 않습니다.

퍼포먼스
↑
100%|████████████████
...

성능 저하는 완만하게 진행되는 것이 아니라, 특정 임계값을 넘어서면 급락합니다. 70%에 도달한 뒤에 대처하면 늦은 경우가 많습니다.

/context-degradation 스킬이 다루는 저하 유형은 5가지로 분류됩니다.

패턴증상원인
Lost-in-Middle중간 부분의 정보가 무시됨U자형 어텐션 커브
Poisoning할루시네이션 (Hallucination)이 연쇄적으로 반복됨잘못된 정보가 컨텍스트에 잔존
Distraction무관한 정보로 인해 정확도가 떨어짐관련성이 낮은 컨텍스트의 혼입
Confusion다른 태스크의 제약 사항이 혼입됨태스크 전환에 의한 컨텍스트 오염
Clash모순되는 올바른 정보가 충돌함여러 소스의 버전 차이 또는 관점의 차이
Step 1: /clear 후 동일한 질문을 재전송
↓
답변이 개선됨 → 컨텍스트가 원인
...

/context-degradation 스킬과 /compact 명령어는 서로 다른 것입니다.

  • 스킬 → 왜 저하되고 있는지를 진단하는 지식
  • /compact실제로 컨텍스트를 압축하는 조작

/context-optimization 스킬이 다루는 전략을 우선순위 순으로 소개합니다.

프롬프트 구조를 안정화함으로써 추론 엔진의 캐시 (Cache)를 재사용합니다.

# 안정적인 순서 (캐시가 적용됨)
1. 시스템 프롬프트 (가장 안정적)
2. 도구 (Tool) 정의
...

시스템 프롬프트 내에 날짜나 동적 정보를 넣으면, 매번 캐시 미스 (Cache Miss)가 발생하여 비용이 증가합니다.

# NG: 캐시가 적용되지 않음
system = f"오늘은 {today} 입니다. ..."
# OK: 동적 정보는 사용자 메시지로 분리
...

목표: 캐시 히트율 (Cache Hit Rate) 70% 이상 → 비용 50% 절감 · 레이턴시 (Latency) 40% 절감

처리된 도구 출력을 컴팩트한 참조로 대체합니다.

# NG: 가공되지 않은 도구 출력을 그대로 유지 (8,000 토큰 잔존)
response = mcp.notion_get_page(page_id)
# → JSON 전체가 컨텍스트에 계속 남음
...

마스킹 (Masking) 판단 규칙

상황대응
직전 1턴 이내의 출력마스킹하지 않음
...

목표: 60~80% 절감 · 품질 영향 2% 미만

if context_tokens / context_limit > 0.7:
context = compact(context)
# 목표: 50~70% 절감 · 품질 저하 5% 미만

우선순위: 도구 출력 → 오래된 대화 턴 → 가져온 문서

압축(Compaction)은 85% 이상이 되었을 때 실행하면 실패하기 쉽습니다. 압축 처리 자체가 컨텍스트 (Context)를 소비하기 때문에, 모델이 압축하는 동안 중요한 정보를 놓치게 됩니다.

단일 컨텍스트에 수용되지 않을 경우, 서브 에이전트 (Sub-agent)로 분할합니다.

오케스트레이터 (Orchestrator, 조정역)
├── 서브 에이전트 A: 태스크 A 전용 컨텍스트
├── 서브 에이전트 B: 태스크 B 전용 컨텍스트
...

분할에는 코디네이션 비용 (Coordination cost, 시스템 프롬프트 및 도구 정의의 중복)이 발생합니다. 독립적인 서브 태스크가 3개 이상 있을 때 효과적입니다.

명령카테고리사용 시점
/context-fundamentals기초컨텍스트 윈도우 (Context window) · 어텐션 메커니즘 (Attention mechanism) 개념을 이해하고 싶을 때
/context-degradation진단에이전트의 정밀도 저하 원인을 진단하고 싶을 때
/context-compression최적화긴 세션을 핸드오프 요약 (Handoff summary)으로 압축하고 싶을 때
/context-optimization최적화토큰 소비 · KV 캐시 (KV Cache)를 개선하고 싶을 때
/multi-agent-patterns아키텍처다중 에이전트 설계 패턴을 검토하고 싶을 때
/memory-systems아키텍처에이전트의 영구 메모리 · 검색층을 구축하고 싶을 때
/tool-design아키텍처도구 정의의 설명문 · 파라미터 설계를 최적화하고 싶을 때
/filesystem-context아키텍처큰 도구 출력을 프롬프트 외부로 빼고 싶을 때
/hosted-agents아키텍처샌드박스 (Sandbox) · 원격 실행 환경을 설계할 때
/evaluation평가에이전트 평가 시스템 · 품질 게이트 (Quality gate)를 구축하고 싶을 때
/advanced-evaluation평가LLM-as-judge · 루브릭 (Rubric) 설계를 사용하고 싶을 때
/harness-engineering운영자율 에이전트의 리서치 루프 (Research loop)를 설계할 때
/project-development운영LLM 프로젝트의 전체 설계를 구상할 때
/bdi-mental-states고급BDI 인지 모델로 에이전트를 모델링할 때
/latent-briefing고급다중 에이전트 간의 KV 캐시 공유로 토큰 폭발을 억제하고 싶을 때
조작명령효과
세션 종료exit → claude컨텍스트 완전 리셋
이전 세션 재개claude -r직전 대화 내용 계승
즉시 압축/compact현재 대화를 요약하여 경량화
저하 체크/clear 후 동일 질문 재전송답변이 개선되면 컨텍스트가 원인

태스크의 경계에서 세션을 나누는 것이 가장 효과적입니다. 토큰 수보다는 "이 세션에서 무엇을 달성했는가"를 기준으로 나누면 사용하기 편리합니다.

Notion MCP의 응답은 특히 장황하여, 페이지 하나당 5,000~15,000 토큰에 달할 수 있습니다.

# NG: 가져온 결과를 그대로 컨텍스트에 남김
page = mcp.notion_get_page(page_id) # 5,000 토큰
# OK: 제목과 ID만 유지
...
조작최적화 전최적화 후절감률
페이지 가져오기~5,000 tok~50 tok99%
...

스킬은 호출될 때 로드되며, 그만큼 토큰을 소비합니다. 글로벌 CLAUDE.md에 상시 규칙을 적어두기보다, 필요할 때만 /스킬명으로 호출하는 것이 토큰 효율이 더 좋습니다.

할 일효과
컨텍스트 70%에서 컴팩션 (Compaction)한계치 도달 방지
...성능 저하 시 /clear 후 재전송
원인 분리

컨텍스트 엔지니어링 (Context Engineering)은 한 번 설정하면 끝나는 것이 아니라, 대화의 진행에 따라 지속적으로 관리해야 하는 것입니다. 이 스킬 모음을 활용하여 긴 대화 속에서도 Claude Code의 성능을 유지해 보세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0