AI 인사이트 목록으로

(원리)하네스 엔지니어링 구축하기

하네스 엔지니어링

revfactory/harness는 하네스를 어떻게 구축하는가

기준 저장소: https://github.com/revfactory/harness 확인 일자: 2026-04-18

한 줄 요약

revfactory/harness는 하네스를 직접 실행하는 런타임이라기보다, Claude Code 안에서 도메인별 하네스를 설계하고 생성하게 만드는 메타 스킬(plugin + skill) 이다.

즉 이 저장소의 핵심은:

  • 사용자가 "하네스를 구축해줘"라고 요청한다.
  • harness 스킬이 현재 프로젝트를 분석한다.
  • 그 결과로 .claude/agents/, .claude/skills/, 오케스트레이터 스킬, 최소한의 CLAUDE.md 포인터를 생성한다.
  • 이후부터는 생성된 하네스가 프로젝트 안에서 반복적으로 작동한다.

  • 1. 이 저장소가 실제로 만드는 것

    이 저장소는 프로젝트 안에 아래와 같은 하네스 산출물을 만들도록 설계되어 있다.

    your-project/
    └── .claude/
        ├── agents/
        │   ├── analyst.md
        │   ├── builder.md
        │   └── qa.md
        └── skills/
            ├── analyze/
            │   └── SKILL.md
            ├── build/
            │   ├── SKILL.md
            │   └── references/
            └── {domain}-orchestrator/
                └── SKILL.md

    따라서 revfactory/harness의 역할은 "일을 대신 수행하는 에이전트 묶음"이라기보다:

  • 어떤 에이전트가 필요한지 결정하고
  • 각 에이전트 정의 파일을 만들고
  • 에이전트가 사용할 스킬을 만들고
  • 전체 흐름을 묶는 오케스트레이터 스킬을 만드는
  • 하네스 생성기에 가깝다.


    2. 저장소 자체의 구조

    README 기준 핵심 구조는 아래와 같다.

    harness/
    ├── .claude-plugin/
    │   └── plugin.json
    ├── skills/
    │   └── harness/
    │       ├── SKILL.md
    │       └── references/
    │           ├── agent-design-patterns.md
    │           ├── orchestrator-template.md
    │           ├── team-examples.md
    │           ├── skill-writing-guide.md
    │           ├── skill-testing-guide.md
    │           └── qa-agent-guide.md
    └── README.md

    이 구조를 보면 구축 방식이 분명하다.

  • plugin.json: 이 저장소를 Claude Code plugin으로 설치하게 하는 진입점
  • skills/harness/SKILL.md: 실제 "하네스를 구축하는" 메인 메타 스킬
  • references/*: 아키텍처 패턴, 오케스트레이터 템플릿, 스킬 작성법, 테스트 방법을 담은 설계 레퍼런스
  • 즉, plugin이 껍데기이고, 실질적 구축 로직은 harness 스킬 안에 들어 있다.


    3. 구축 흐름의 핵심: 6단계 + 감사(Phase 0)

    skills/harness/SKILL.md를 보면 이 저장소는 하네스 구축을 대략 아래 순서로 진행한다.

    Phase 0. 현황 감사

    가장 먼저 현재 프로젝트의 기존 하네스를 읽는다.

  • 프로젝트/.claude/agents/
  • 프로젝트/.claude/skills/
  • 프로젝트/CLAUDE.md
  • 여기서 판단하는 것은 세 가지다.

  • 신규 구축인지
  • 기존 하네스 확장인지
  • 운영/유지보수 요청인지
  • 또한 기존 파일과 CLAUDE.md 기록이 서로 어긋나는 drift도 점검한다.

    Phase 1. 도메인 분석

    이 단계에서 하네스를 "무슨 일을 하는 구조"로 만들지 결정한다.

  • 프로젝트 도메인 파악
  • 핵심 작업 유형 식별
  • 기존 에이전트/스킬과 충돌 여부 확인
  • 코드베이스 탐색
  • 사용자 숙련도 감지
  • 즉, 범용 템플릿을 그대로 복사하는 것이 아니라 프로젝트와 사용자 수준에 맞게 맞춤형 설계를 하려는 구조다.

    Phase 2. 팀 아키텍처 설계

    여기서 중요한 것은 agent team과 subagent를 구분해서 고르는 것이다.

  • 기본값: agent team
  • 대안: subagent
  • 필요 시: hybrid
  • 그리고 6가지 패턴 중 하나를 고른다.

  • Pipeline
  • Fan-out / Fan-in
  • Expert Pool
  • Producer-Reviewer
  • Supervisor
  • Hierarchical Delegation
  • 즉 이 하네스는 "에이전트를 몇 개 만들지"보다 먼저, 협업 구조를 어떤 패턴으로 설계할지를 결정한다.

    Phase 3. 에이전트 정의 생성

    이 단계에서 .claude/agents/{name}.md 파일을 만든다.

    핵심 원칙은 분명하다.

  • 에이전트 역할을 즉석 프롬프트로만 넣지 말 것
  • 반드시 파일로 정의할 것
  • 역할과 원칙, I/O, 에러 핸들링, 협업 규칙을 문서화할 것
  • 즉 하네스를 "사람 머릿속 운영"이 아니라 파일 기반 운영 구조로 고정한다.

    Phase 4. 스킬 생성

    이 단계에서 .claude/skills/{name}/SKILL.md를 만든다.

    중요한 설계 원칙은 세 가지다.

  • 스킬은 어떻게 하는가를 담는다.
  • description은 매우 적극적으로 써서 트리거를 유도한다.
  • Progressive Disclosure로 컨텍스트 비용을 관리한다.
  • 이 저장소는 스킬을 3층 구조로 본다.

  • Metadata: 항상 보이는 name + description
  • SKILL.md 본문: 스킬이 호출될 때 로드
  • references/: 필요할 때만 읽는 세부 문서
  • 즉 하네스 구축의 핵심 철학이 context economy에 맞춰져 있다.

    Phase 5. 통합 및 오케스트레이션

    여기서 개별 에이전트와 개별 스킬을 하나의 팀 워크플로우로 엮는다.

    핵심 산출물은 오케스트레이터 스킬이다.

    오케스트레이터는:

  • 누가
  • 언제
  • 어떤 순서로
  • 어떤 방식으로 협업하는지
  • 를 정의한다.

    이 점이 중요하다. 이 저장소에서 하네스는 단순한 agent 모음이 아니라, 오케스트레이터가 있는 구조화된 팀이다.

    Phase 6. 검증 및 테스트

    생성한 스킬과 하네스를 바로 끝내지 않고 테스트한다.

    레퍼런스 문서 기준 검증 항목은 다음과 같다.

  • 트리거 검증
  • dry-run 테스트
  • with-skill vs baseline 비교
  • assertion 기반 정량 평가
  • 반복 개선 루프
  • 즉 revfactory/harness는 하네스를 "만드는 것"만이 아니라, 검증 가능한 운영 구조로 다듬는 것까지 포함한다.