research

Harness 레이어 구조

Harness 레이어 구조

"누가 읽는가" 기준으로 나눈 5개 레이어

레이어파일질문누가 쓰나언제
Goalfeature_list.json무엇을?initializer agent프로젝트 시작
KnowledgeADR, skill, AGENTS.md왜? 어떻게?인간 (+ GC agent)결정할 때마다
Executiontool calls실제 행동coding agent매 세션
Environmentinit.sh어디서?initializer agent프로젝트 시작
Stateclaude-progress.txt, git log지금까지?coding agent (인간 관찰)매 세션 끝

핵심 원칙

Knowledge layer만 인간이 직접 쓰는 레이어다. 나머지는 agent가 쓰거나 실행한다. → 인간이 집중해야 할 곳 = ADR + Skill 설계

"코드 주석 → ADR 링크"의 실제 흐름

코드 주석에 ADR 링크를 다는 것은 세 레이어에 걸친 행위다:

Skill (knowledge layer)에 규칙을 써둔다
  "라이브러리를 선택할 때 ADR을 작성하고,
   해당 코드에 # ADR-0003 참고 주석을 달아라"
          ↓
coding agent가 코드를 작성할 때 (execution layer)
이 규칙을 따라 주석을 자동으로 삽입한다
          ↓
코드 파일 안에 ADR 링크가 존재한다

인간이 직접 주석을 다는 게 아니다. Skill에 한 번 써두면 agent가 매번 알아서 지킨다.

레이어 간 관계

  • Goal layer가 coding agent에게 무엇을 할지 지시
  • Knowledge layer가 coding agent에게 어떻게, 왜 를 알려줌
  • Execution layer가 실제 코드와 파일을 만들어냄
  • Environment layer가 execution이 가능한 환경을 보장
  • State layer가 다음 세션 agent와 인간에게 지금까지를 전달

관련 개념