GitHub - revfactory/harness: A meta-skill that designs domain-specific agent teams, defines specialized agents, and generates the skills they use.
핵심 포인트
- 1하네스는 Claude Code 플러그인으로, 복잡한 작업을 위해 도메인 특화된 에이전트 팀을 설계하고 필요한 에이전트 정의 및 스킬을 자동 생성합니다.
- 2이 플러그인은 파이프라인, 팬아웃/팬인 등 6가지 에이전트 아키텍처 패턴을 지원하며, 에이전트 간 데이터 전달 및 팀 조정을 위한 오케스트레이션을 제공합니다.
- 3연구에 따르면, 하네스는 LLM 코드 에이전트의 평균 출력 품질을 60% 향상시키고, 특히 복잡한 작업에서 그 효과가 더욱 두드러짐을 입증했습니다.
Harness는 Claude Code의 agent team system을 활용하여 복잡한 task를 specialized agent로 구성된 coordinated team으로 분해하고, 이를 통해 domain-specific agent team을 설계하며, 각 agent를 정의하고 필요한 skills를 생성하는 meta-skill이자 Claude Code Plugin입니다. "build a harness for this project"와 같은 prompt를 통해 사용자의 domain에 맞춰 ~/.claude/agents/에 agent definition과 ~/.claude/skills/에 skills를 자동으로 생성합니다.
Harness의 핵심 방법론은 다음과 같은 6-Phase workflow를 따릅니다:
- Phase 1: Domain Analysis - 프로젝트의 domain을 분석합니다.
- Phase 2: Team Architecture Design - Agent Teams (collaboration이 필요한 2개 이상의 agent) 또는 Subagents (inter-agent communication이 필요 없는 단일 task) 중 어떤 구조로 team을 구성할지 결정하고, 다음 6가지 architectural patterns 중 하나를 사용하여 team을 설계합니다.
- Pipeline: Sequential dependent tasks를 처리합니다.
- Fan-out/Fan-in: Parallel independent tasks를 분산 처리 후 통합합니다.
- Expert Pool: Context에 따라 필요한 agent를 선택적으로 invocation합니다.
- Producer-Reviewer: 생성(generation) 후 품질 검토(quality review)를 수행합니다.
- Supervisor: 중앙 agent가 dynamic하게 task를 배분합니다.
- Hierarchical Delegation: Top-down 방식으로 recursive하게 sub-task를 위임합니다.
- Phase 3: Agent Definition Generation -
~/.claude/agents/경로에 각 agent의 정의 파일을 생성합니다. - Phase 4: Skill Generation -
~/.claude/skills/경로에 각 agent가 사용할 skills를 생성합니다. 이때 효율적인 context management를 위해 Progressive Disclosure 방식을 사용합니다. - Phase 5: Integration & Orchestration - 생성된 agent와 skills를 통합하고, inter-agent data passing, error handling, team coordination protocols을 정의하여 orchestration을 수행합니다.
- Phase 6: Validation & Testing - Trigger verification, dry-run testing, 그리고 with-skill과 without-skill 비교 test를 통해 생성된 harness의 유효성을 검증합니다.
Harness는 ~/.claude/agents/에 agent definition files(analyst.md, builder.md, qa.md 등)과 ~/.claude/skills/에 skill files(analyze/skill.md, build/skill.md 등)을 output으로 생성합니다.
관련 연구인 "Harness: Structured Pre-Configuration for Enhancing LLM Code Agent Output Quality"에서는 Harness를 사용한 structured pre-configuration이 LLM code agent의 output quality에 미치는 영향을 측정했습니다. 15개의 software engineering task에 대한 실험 결과, Harness 사용 시 Average Quality Score는 49.5에서 79.3으로 약 +60% 향상되었으며, Win Rate는 100%를 기록했고, Output Variance는 -32% 감소했습니다. 특히 task complexity가 높을수록 (Basic +23.8%, Advanced +29.6%, Expert +36.2%) 개선 효과가 더 컸습니다. Harness는 환경 변수가 활성화되어야 작동합니다.