본문으로 건너뛰기
H
Harness 101
학습 경로/Act 1 — 생존/04. Skills
Knowledge·초중급·60분

하루에 열 번 같은 말

“지식은 필요할 때 로드하라, 미리 올리지 마라”

Skills — 반복을 패키징하다

이전 이야기에서: 지민은 Hooks로 Claude의 행동을 제어하게 됐다. main에 직접 push하는 사고는 다시 일어나지 않았다. 파일 수정 후 lint도 자동으로 돌아갔다. 그런데 새로운 종류의 피로감이 쌓이고 있었다...

Harness = Tools + Knowledge + Context + Permissions

Skills는 반복되는 Knowledge를 On-demand로 패키징한다. "Load knowledge when you need it, not upfront"


하루에 10번 같은 말

지민은 하루에 커밋을 10번 했다. 매번 같은 지시를 타이핑했다.

"스테이지된 변경사항 보고, 컨벤셔널 커밋 형식으로 커밋해줘.
타입은 feat/fix/refactor/docs/test/chore 중 하나. 50자 이하. 한국어."

열 번. 매일. 아침에는 정확하게 지시했지만, 저녁에는 "그냥 커밋해줘"로 줄어들었다. Claude의 커밋 품질이 아침과 저녁에 달랐다. 사람의 일관성에 한계가 있었기 때문이다.

그리고 또 다른 문제가 있었다.

CLAUDE.md로 항상 필요한 Knowledge가 생겼다. 그런데 개발자들이 더 많은 것을 넣기 시작하면서 문제가 드러났다.

모든 Knowledge를 CLAUDE.md(시스템 프롬프트)에 넣으면:

시스템 프롬프트 = 프로젝트 정보 (500 토큰)
               + Git 워크플로우 (1000 토큰)
               + 코드 리뷰 체크리스트 (2000 토큰)
               + 테스트 가이드라인 (1500 토큰)
               + 배포 절차 (2000 토큰)
               + 보안 가이드 (1800 토큰)
               + ...
               = 총 15,000 토큰

문제 1: 컨텍스트 낭비 /commit을 실행할 때 배포 절차 2000 토큰은 필요 없다. /deploy를 실행할 때 코드 리뷰 체크리스트 2000 토큰은 필요 없다. 모든 지식을 항상 들고 다니는 건 낭비다.

문제 2: 반복 지시의 비효율 매번 같은 지시를 내리는 것과는 다른 문제: "이 워크플로우를 실행할 때는 이 지식이 필요하다"는 것을 어떻게 자동화할까?


해결책: Two-Layer Knowledge Loading

핵심 패턴:

Layer 1 (항상 활성화 — 시스템 프롬프트):
┌─────────────────────────────────────┐
│ 사용 가능한 스킬:                    │
│   - git: Git 워크플로우 헬퍼         │  ~100 토큰/스킬
│   - code-review: 코드 리뷰 체크리스트│
│   - deploy: 배포 절차               │
└─────────────────────────────────────┘
             ↓ Claude가 load_skill("git") 요청
Layer 2 (필요할 때만 — tool_result):
┌─────────────────────────────────────┐
│ <skill name="git">                  │
│   ## Git 워크플로우                  │  ~2000 토큰
│   1. 브랜치 전략: ...               │
│   2. 커밋 형식: ...                 │
│ </skill>                            │
└─────────────────────────────────────┘

Layer 1: 어떤 Knowledge가 있는지만 알려준다 (이름 + 한 줄 설명) — 저렴 Layer 2: 실제로 필요할 때 전체 내용을 로드한다 — 필요할 때만

10개 스킬 × 100토큰 = 1,000 토큰 (레이어 1 항상) vs 사용된 스킬 × 2,000 토큰 = 평균 2,000-4,000 토큰 (레이어 2 필요 시)

총 소비 토큰이 크게 줄었다.