Skip to content

refactor(harness): 계약만 남기고 감축 — 지시문 −20%, 제품 39파일 - #33

Merged
HyeonsangKim merged 1 commit into
mainfrom
refactor/prompt-diet-opus5
Aug 4, 2026
Merged

refactor(harness): 계약만 남기고 감축 — 지시문 −20%, 제품 39파일#33
HyeonsangKim merged 1 commit into
mainfrom
refactor/prompt-diet-opus5

Conversation

@HyeonsangKim

@HyeonsangKim HyeonsangKim commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

무엇을

프롬프트에서 모델이 이미 아는 것을 걷어내고 우리가 정한 것만 남겼다.
판단 기준은 문장마다 하나였다 — 이건 모델이 아는 건가, 우리가 정한 건가?

파일
commands/prd.md 532줄 72줄
commands/implement.md 797줄 318줄
commands/screen-spec.md + SKILL 552줄 186줄
agents/code-reviewer.md 179줄 56줄
agents/code-reviewer-lean.md 51줄 삭제 (호출처 0)
agents/parallel-*-coordinator.md 1,459줄 삭제 (호출처 0)
contracts/PRD-CONTRACT.md +119줄 (신규 정본)

  • 100점 루브릭: 게이트가 그 점수를 쓰지 않았다 — 판정은 이미 findings 롤업이었다. 같은 코드에 78/85로 튀는 표시값만 유지비를 먹고 있었다.
  • 일반 개발 지식 (프레임워크 경로 예시, 도메인 수 → 아키텍처 선택표, "코드를 쓰기 전에 기존 코드를 읽어라"): 모델이 이미 한다.
  • PRD 골격: 삭제 대상이 아니다(계약). 다만 생성 쪽과 검증 쪽이 각자 사본을 들고 있었다 → 단일 정본으로 통합, 재진술은 CI로 차단.
  • 모델 버전 전용 튜닝: 다음 모델이 나올 때마다 재검증해야 하는 부채라 제거.

남겨야 하는 것은 어떻게 줄였나

계약 항목은 지우지 않고, 채운 예시빈 스키마로 바꿨다. 예: §5.4.1 Page State Matrix

  • : 남의 프로젝트 라우트 4개가 채워진 예시 표 + 상태 정의 5줄 + 연동 규칙 산문
  • : 빈 표 헤더(칼럼 스키마) + 상태 정의 1줄 + 조건부 규칙

모델에게 필요한 건 "이 표엔 이 칸들이 있고 empty는 정상 응답 0건을 뜻한다"어휘지, "Magic Link 검증 중엔 loading이다" 라는 시범이 아니다. 조건부 규칙(Has FE Components: Yes ≥1일 때만 작성)은 우리가 정한 것이라 그대로 유지했다.

계약 10항목은 C-1~C-10 표로 모으고 채점기와 1:1 대응시켰다 — 계약이 바뀌면 검증이 깨진다.

검증

test_gate.sh        36 통과 / 0 실패    우회 5종 전부 차단
check_contracts.py  127 검사 / 위반 0

check_contracts.py는 삭제된 에이전트를 여전히 부르는 참조, 실제 환경에 없는 도구 이름, manifest 불일치를 소스에서 직접 찾는다. 죽은 경로는 모델 품질 문제가 아니라 참조 그래프 무결성 문제이므로 모델 호출 없이 검사한다.

부수 수정

  • 게이트를 폐기 대상에서 분리: 신호가 Quality Score: 문자열이라 루브릭을 지울 수 없었다 → Quality Gate: PASS. 레거시도 계속 인식(구버전 설치본).
  • 존재하지 않는 도구 참조 제거: TodoWrite로 진행 추적을 지시했으나 서브에이전트에 그 도구가 없다 → PLAN 문서 체크박스를 단일 원장으로.
  • 감축이 드러낸 결함 2건:
    • 죽은 플래그 --verify-vision — 옵션 설명만 있고 렌더·캡처 동작에 연결돼 있지 않았다
    • /screen-spec/implement 끊긴 연결 — 산출물 5종을 만들고 아무도 읽지 않고 있었다

아직 주장하지 않는 것

이 PR은 위 두 테스트가 검증하는 범위만 주장한다. 아래는 측정하지 않았거나 재측정 중이다.

  • 토큰·소요시간 비용 — 미검증. 이전 초안에 있던 수치는 측정 장치 결함(처치군에만 걸리는 편향)이 확인되어 철회했다. 재측정 후 별도 보고.
  • 오탐(정밀도) — 아직 검증하지 않았다. A0/A1/A2 3-arm 비교를 준비 중이다.
  • /implement·/screen-spec 감축의 출력 품질 — 미측정.
  • 모델 세대 간 효과 비교 — 미측정.

측정 코드·프로토콜·원자료는 이 PR에 싣지 않고 evals/* 브랜치로 분리했다.

프롬프트에서 **모델이 이미 아는 것**을 걷어내고 **우리가 정한 것**만 남겼다.
판단 기준은 문장마다 하나였다 — 이건 모델이 아는 건가, 우리가 정한 건가?

주요 변경:
- /prd, /implement, /screen-spec, code-reviewer 지시문 축소.
  일반 개발 지식(프레임워크 경로 예시, 도메인 수에 따른 아키텍처 선택표,
  '코드를 쓰기 전에 기존 코드를 읽어라')은 모델이 이미 한다 -> 삭제
- PRD 골격을 contracts/PRD-CONTRACT.md 단일 정본으로 통합.
  생성 쪽과 검증 쪽이 각자 사본을 들고 있었다
- 100점 루브릭 제거 -> 판정을 findings 롤업으로 단일화.
  게이트는 애초에 그 점수를 쓰지 않았다(판정은 롤업). 같은 코드에 78/85로
  튀는 표시값만 유지비를 먹고 있었다
- 호출처가 0인 대형 병렬 coordinator 2개 삭제
- 존재하지 않는 도구 참조 제거 — 서브에이전트에 없는 도구로 진행 추적을
  지시하고 있었다. PLAN 문서 체크박스를 단일 원장으로
- 모델 버전 전용 튜닝 파일 제거(다음 모델마다 재검증해야 하는 부채)
- 커밋 게이트를 프롬프트 밖 실행 코드로 이동. 객관 검사 exit code 에 바인딩

감축이 드러낸 결함 2건도 함께 고쳤다:
- 죽은 플래그(--verify-vision)가 렌더/캡처 동작에 연결돼 있지 않았다
- /screen-spec 산출물 5종을 만들고 /implement 가 아무것도 읽지 않았다

eval 원자료는 이 PR에서 제외하고 evals/* 브랜치로 분리했다.

Co-Authored-By: Claude <noreply@anthropic.com>
@HyeonsangKim
HyeonsangKim force-pushed the refactor/prompt-diet-opus5 branch from 02b6fd8 to 439d35b Compare August 4, 2026 02:26
@HyeonsangKim HyeonsangKim changed the title refactor(harness): 계약만 남기고 감축 — 지시문 −20%, 호출당 토큰 −54% refactor(harness): 계약만 남기고 감축 — 지시문 −20%, 제품 39파일 Aug 4, 2026
@HyeonsangKim
HyeonsangKim merged commit 9a4410a into main Aug 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant