01왜 커리큘럼인가 형식 차용
외부의 하네스 공학 커리큘럼(Study Harness · Curriculum v8)은 「Agent = Model + Harness」라는 틀로 이 분야를 14과목짜리 전공 과정으로 정리했다. 대조해 보니 keystone-hub에는 그 14과목 전부에 대응하는 운영 자산이 이미 있었다. 규칙·훅·스킬, 그리고 그것들을 낳은 사고 이력. 그렇다면 같은 커리큘럼을 이론이 아니라 실증으로 다시 쓸 수 있다. 이 리포트가 그 결과물이다.
이 리포트를 읽는 법
- 과목 카드: 과목마다 ① 교리 한 줄(그 과목이 지키는 원칙) ② keystone 대표 자산 칩 ③ 실증 1건. 실증은 세 종류다: 사고 실제 장애가 규칙을 낳은 경우, 수확 trend-harvester가 외부에서 들여온 경우, 운영 자체 운영 관행이 규칙화된 경우.
- 스킬 카탈로그와의 관계: 카탈로그는 인벤토리(무엇이 있나), 이 문서는 학습 경로(어떤 순서로, 왜 존재하나). 상호 보완.
- 자산 칩 표기: 회색 = 00-universal 레이어, 보라 = 20-company-personal(Lucy) 레이어. 각 과목은 현재 canonical 소스(layers)에 실재하는 대표 자산만 표기하며 전수 목록이 아니다.
02이수 체계도 원본 수정판
원본의 2트랙 구조(툴 트랙 201→202 · 컨텍스트 트랙 203→204)는 그대로 가져왔다. 대신 원본 분석에서 발견한 결함 세 가지를 이 판에서 수정했다: 범례 도입, 보안 과목의 컨텍스트 선수 추가, 지식 자산화→장기 하네스 권장 간선.
03기초 · 재료의 물성
모든 규칙은 모델의 물리적 성질에서 나온다. keystone에서 이 층은 규칙 수가 가장 적다. 물성 자체는 규칙이 아니라 규칙들의 존재 이유이기 때문이다.
LLM 물성
자산 4종 표기유한한 시야, 확률적 샘플링, 그리고 prefix가 바이트 단위로 같을 때만 적중하는 캐시: 설계는 여기서 출발한다.
에이전트 개론
자산 5종 표기에이전트 = 모델 + 하네스. 그리고 사용자도 루프의 일부다: 요청 분류(DOC/UX/DEV/AUTO/BIZ)와 협업 어휘가 그 인터페이스.
04코어 · 루프와 두 트랙
여기서 커리큘럼이 갈라진다. 툴 트랙(권한·호출)과 컨텍스트 트랙(휘발·압축)은 keystone에서도 서로 다른 사고 이력을 갖고 있다.
루프 구현
자산 5종 표기루프는 수렴 또는 EXHAUSTED까지 멈추지 않는다. 중간 질문은 루프의 적이고, 재시도는 4회 상한 + 매회 다른 전략.
툴 설계 · ACI
자산 5종 표기툴 정의는 프롬프트의 일부. 권한은 역할 단위 화이트리스트를 넘어 호출 단위 중재로, 쓰기는 해시 앵커로 결정론화.
컨텍스트 이론
자산 3종 표기컨텍스트는 휘발·유한·비싸다. 그리고 상태와 지식은 다른 물질이다: "다음 주에 다시 적재하면 같은 fact가 나오는가?"
컨텍스트 기법
자산 5종 표기압축은 공짜가 아니다. 절감률과 충실도를 쌍으로 측정하고, 승인·예산·todo 같은 운영 상태는 요약 대상이 아니라 보존 대상.
05심화 · 사고가 가장 많았던 층
keystone의 굵직한 장애는 대부분 이 층에서 났다. 서브에이전트·검증·보안이다. 자율성이 커지는 지점마다 규칙이 두꺼워진 이유다.
MCP · 프로토콜
자산 4종 표기서버 allowlist는 필요조건일 뿐. 같은 서비스의 MCP와 CLI가 다른 계정일 수 있다: 경계마다 divergence를 의심한다.
지식 자산화 (스킬)
자산 6종 표기성공 경로는 스킬로 결정화하고, 사용자 교정은 1급 메모리로. 스킬 간 관계는 산문이 아니라 선언된 그래프로 검증한다.
서브에이전트 · 오케스트레이션
자산 8종 표기부모 컨텍스트 증가량은 서브에이전트의 작업량이 아니라 digest 크기에 비례해야 한다. 파일 격리는 worktree로, 병합은 entity 단위로, 스케줄링 결정에 LLM 호출 0.
검증 공학
자산 11종 표기자기 채점은 구조적으로 차단한다. 개선 신호(train)와 채택 게이트(holdout)는 다른 메트릭이어야 하고, 산출물의 수치는 검증된 값만, 발견은 N/N 재현을 통과해야 사실이 된다.
보안 · 거버넌스
자산 8종 표기모델이 아무리 확신해도 게이트는 코드다. 가역성(R0/R1/R2)이 최종 판정이고, 게이트와 자가테스트 자신도 공격면이다.
06전문 · 시간을 견디는 하네스
장기 하네스 · 루프
자산 7종 표기훅이 살아있다는 증거는 파일 존재가 아니라 발화 기록이다. 다음 세션은 기억 없는 신입이다. HANDOFF와 ledger가 그를 위한 인수인계다.
하네스 설계 철학
자산 5종 표기SOFT로 시작해 실측이 쌓이면 HARD로 승격한다. 검증은 위험도에 비례해 배분하고, 에이전트는 결론을 공급하지 않고 보조한다.
캡스톤 · 나만의 하네스
실물원본 커리큘럼의 졸업 과제가 "나만의 하네스 만들기"라면, keystone-hub가 그 답안지의 실물이다.
07커버리지 · 두께의 의미
과목별 대표 자산 밀도를 놓고 보면 패턴이 하나 보인다. 과목의 두께는 이론의 중요도가 아니라 흘린 피의 양이다.
| 과목 | 대표 자산 | 밀도 | 해석 |
|---|---|---|---|
| HE304 검증 | 11종 | 최다 | 거짓 PASS·조기 완료 선언이 가장 잦은 실패 모드였다는 증거 |
| HE303 오케스트레이션 / HE305 보안 | 각 8종 | 두터움 | 자율성이 커지는 지점(병렬 세션·훅·spawn)마다 사고가 남 |
| HE401 장기 하네스 | 7종 | 두터움 | 죽은 훅·끊긴 인수인계는 조용히 실패한다 · 관측이 규칙이 됨 |
| HE202 · HE204 · HE302 | 각 5~6종 | 보통 | 트랙 본체 · 꾸준한 수확·운영 개선의 영역 |
| HE101 · HE102 · HE203 | 각 3~5종 | 얇음 | 물성·개론은 규칙보다 문서(HARNESS_ENGINEERING 등)가 담당 |
08무엇이 어디에 사는가 · keystone 실측판
원본 커리큘럼의 수명 분류표를 keystone의 실제 경로로 다시 그렸다. ephemeral-state-not-knowledge의 판별 질문("다음 주에 다시 적재하면 같은가?")이 이 표의 경계선이다.
| 층 | 수명 | keystone 실물 |
|---|---|---|
| 컨텍스트 창 | 휘발 | 대화·서브에이전트 탐색 · 세션이 끝나면 소멸. 살아남아야 할 운영 상태(승인 토큰·예산·todo)는 파일로 탈출시킨다 (survival set) |
| 파일시스템 | 영속 | layers/ 소스 → apply.sh → ~/.claude 런타임 (규칙 58 · 훅 46 · 스킬 112), sessions/ HANDOFF, memory-bank facts |
| 하네스 프로세스 | 결정론 | PreToolUse·Stop 훅, push/QA 게이트, lint · "모델이 확신해도 게이트는 코드"가 사는 곳 |
| 격리 컨텍스트 | 격리 | .claude/worktrees/ + 서브에이전트 · 탐색은 안에서 태우고 밖으로는 digest만 회수 |
09출처 · 경계
출처
- 형식 참조: harness-curriculum.vercel.app (Study Harness · Curriculum v8): 14과목 체계·2트랙 이수 체계도·수명 분류표의 구조를 차용. 내용(자산·사고·수치)은 전부 keystone-hub 자체 자산이다.
- 수치: 2026-07-23 layers 소스 실측: universal rules 35 · personal rules 23 · hooks 46 · skill 디렉토리 112. 런타임(~/.claude) 카운트는 플러그인 포함으로 이보다 크다. 스킬 카탈로그 리포트(139종)와 기준이 다름.
- 사고 사례: 각 규칙 파일의 "근거" 섹션에서 날짜·경위를 그대로 인용. 이 리포트에서 새로 만든 사실은 없다.
경계
- 공개판 주기 · 이 글은 스크럽·발행 게이트를 거쳐 공개 폴더로 승격된 판이다. 사고 경위는 시스템 내부 참조 수준으로만 남겼다.
- 수동 스냅샷 · 규칙이 늘어도 이 문서는 자동 갱신되지 않는다. 재발행 시점 후보: 규칙 ±10종 변동 또는 다음 대형 사고.
- v1 후보(미착수) · ① layers 스캔으로 과목-규칙 매핑을 생성하는 빌드 스크립트 ② 과목별 3단계 사다리(스토리→학부→연구) ③ 전수 배정 매트릭스.