복잡한 작업을 한 개의 거대한 프롬프트로 처리하면 컨텍스트가 오염되고, 같은 맹점을 반복하고, 재사용이 안 됩니다. myharness는 그 작업을 역할이 분리된 전문 에이전트 팀 + 절차가 담긴 스킬 + 이들을 엮는 오케스트레이터로 분해해 생성합니다.
이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.
<p align="center"> <img src="harness_banner.png" alt="myharness 배너" width="600"> </p>
English | 한국어 | 日本語
myharness는 Claude Code · Codex 이중 런타임 팩토리로, 도메인에 대한 한 문장을 에이전트 팀과 스킬로 변환합니다.
"Build a harness for this project"라고 말하기만 하면 — 도메인을 분석하고 전문화된 에이전트 정의(.claude/agents/)와 스킬(.claude/skills/)을 생성하며, 6가지 팀 아키텍처 패턴 중 적합한 것을 선택합니다.
복잡한 작업을 하나의 거대한 프롬프트로 처리하면 컨텍스트가 오염되고, 같은 맹점이 반복되며, 재사용이 불가능합니다. myharness는 그 작업을 역할이 분리된 전문 에이전트 팀 + 절차가 담긴 스킬 + 이들을 엮는 오케스트레이터로 분해하여 생성합니다.
CLAUDE.md/AGENTS.md)myharness 자체는 메타 스킬(플러그인)이며, 스스로를 진화하는 시스템으로 취급합니다 — 실행 피드백을 적절한 계층(스킬/에이전트/오케스트레이터)에 공급하고 변경 이력을 남깁니다.
마켓플레이스 (권장)
/plugin marketplace add cookyman74/my_harness
/plugin install myharness@myharness-marketplace
전역 스킬로 직접 복사
cp -r skills/myharness ~/.claude/skills/myharness
Codex CLI (이중 런타임) — 저장소 루트에서:
bash install.sh
# → ~/.codex/skills/myharness (진실 공급원에 대한 심볼릭 링크, 항상 최신)
# →.agents/skills/myharness (신뢰할 수 있는 프로젝트용)
# → AGENTS.md (Codex에 의해 자동 로드)
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
claude # Claude Code CLI 시작 (Codex의 경우 codex 명령어 사용)
Build a harness for this project · /myharness · Design an agent team for this domain$myharness · /skills 메뉴 · Build a harness (설명 일치). 설치 후 세션 재시작을 권장합니다. (Codex는 사용자 정의 슬래시 명령어를 지원하지 않으므로 /myharness를 사용할 수 없습니다.)도메인별 예제 복사-붙여넣기 → 예제 프롬프트
| 기능 | 세부 사항 | ||
|---|---|---|---|
| 6가지 팀 아키텍처 | 파이프라인 · 팬아웃/팬인 · 전문가 풀 · 생성-검증 · 감독자 · 계층적 위임. 도메인에 맞는 패턴을 선택 | ||
| 기본 에이전트 팀 | Agent 도구로 팀원 생성, SendMessage로 직접 통신, 공유 작업 목록(TaskCreate)으로 자체 조정. 공유 발견과 의견 불일치 토론을 통해 품질 향상 |
||
| 자동 스킬 생성 | 점진적 공개(단계별 로딩: 메타데이터 → 본문 → 참조)로 컨텍스트 효율성. 트리거 설명을 적극적으로 작성 | ||
| 2계층 품질 게이트 | 내부 생성-검증 QA + 외부 독립 리뷰 루프. 아래 세부 사항 참조 | ||
| 독트린 주입 | 실제 경로를 통해 TDD(tdd-doctrine.md) 및 개발 규칙(dev-rules.md)을 코딩/편집 에이전트의 작업 원칙에 주입. 테스트를 최우선 리뷰 산출물로 포함 (RED 검증 후 GREEN; 계약/스키마/보안 테스트만 외부 교차 리뷰로 전송) 및 안전한 롤백 규율 (파괴적인 git reset --hard 제거). 위험 계층(경량/표준/심각)이 게이트 강도 조정 |
||
| 문서 시스템 | 핵심 산출물(설계 문서, 작업 계획, 작업 결과)은 docs/{project}/에 저장(내구성, 커밋된 감사 원장); 임시 작업은 _workspace/에 저장(일시적) — 2계층 분할로 결과 문서 손실 방지(RAG 지식 순환). 문서 계층(기본적으로 경량), git-staging 승격, 빠른 실패. 외부 리뷰 도구와 독립적 (없으면 내부 QA) |
||
| 이중 런타임 | 단일 진실 공급원(skills/myharness/) + 런타임별 얇은 어댑터. CLAUDE.md와 AGENTS.md 모두 출력, 오케스트레이션 분기(Claude는 Agent 팀원 생성 ↔ Codex는 네이티브 서브에이전트 / codex exec). 7단계 동기화로 드리프트 방지 |
||
| 빌드된 하네스 업데이트 | /myharness update (Codex $myharness update) — 이미 빌드된 하네스에 팩토리 진실 공급원을 재전파하면서 로컬 편집 보호. .harness-manifest.json 해시 분류(SAME/auto/USER-MODIFIED 유지/NEW), .local. 파일로 업데이트 안전 보장 |
||
| 비용 및 동시성 제어 | 모델 라우팅(고추론 → opus, 단순 → 경량), 동시성 제한(기본 3 / 최대 5) 및 백프레셔, 외부 리뷰 예산(변경 없으면 건너뜀), 스모크/전체 테스트 모드로 대규모 팬아웃 비용 제어 |
||
| 루프 자체 평가 | 각 루프는 loop_scorecard.json 생성(정렬 · 판정 분포 · 정규화 라운드 · 비용). 현재 측정 로깅만 활성화; 제안 → 자동 루프백은 실험적. 안티-굿하트 방어(메트릭 게이밍 및 과적합 방지) |
내부 QA는 동일한 세션 및 동일한 컨텍스트에서 실행되므로 동일한 맹점을 공유합니다. 따라서 외부 독립 AI 리뷰가 별도 축에 배치됩니다.
codex+agy; Codex에서 실행 시 claude+agy. (agy = Gemini 모델)verdicts.json, 재발 방지), 수정 사항 재리뷰. 확인된 항목만 TDD로 수정.check-review-tools.sh가 실행자 제외 REVIEWERS: 목록 생성; 외부 리뷰어가 없으면 게이트가 내부 QA로 축소 (비기능적 스킬 방지).이 README도 해당 게이트를 통해 검증되었습니다 —
codex(일관성) +agy(성능 및 안정성)의 외부 감사 후 커밋.
생성된 하네스는 누가와 어떻게를 분리합니다:
.claude/agents/{name}.md 파일로 정의 (인라인하지 않음 → 세션 간 재사용 가능). 1 에이전트 = 1 역할.skills/{name}/SKILL.md. 하나의 에이전트는 1~N개의 스킬 사용 (공유 가능)._workspace/, 대용량 페이로드 및 감사 추적). 결과 문서는 ## Next-step reference 블록을 통해 단계 간 판단 연속성 유지.요약: 오케스트레이터가 누가/언제/순서를 결정하고, 에이전트는 누가이며, 스킬은 어떻게이고, 2계층 게이트가 품질을 보호합니다.
Phase 0 상태 감사 (기존 하네스 드리프트 확인 · 신규/확장/유지보수/업데이트 분기)
Phase 1 도메인 분석 (작업 유형 · 기존 자산과의 충돌 · 사용자 스킬 수준 감지)
Phase 2 팀 아키텍처 설계 (실행 모드 + 6가지 패턴 중 선택)
Phase 3 에이전트 정의 생성 (.claude/agents/ · 독트린 주입)
Phase 4 스킬 생성 (.claude/skills/ · 점진적 공개)
Phase 5 통합 및 오케스트레이션 (+ 2계층 품질 게이트 · 이중 런타임 출력 · CLAUDE.md 포인터)
Phase 6 검증 및 테스트 (트리거 확인 · 드라이 런 · 유/무 비교)
Phase 7 하네스 진화 (피드백 루프백 · 런타임 동기화 · 빌드된 하네스 업데이트)
먼저 읽기:
skills/myharness/references/factory-map.md— 도메인/위험별 최소 경로 맵. 기본적으로 슬림 — 외부 리뷰, TDD 및 평가는 위험이 증가할 때만 활성화 (단순 하네스에 과부하 방지).
| 실행 모드 | 도구 | 최적 대상 | ||
|---|---|---|---|---|
| 에이전트 팀 (기본) | Agent (팀원 생성) + SendMessage + TaskCreate |
2명 이상 협업자, 실시간 조정 및 피드백 | ||
| 서브에이전트 | 직접 Agent 도구 호출 (runinbackground로 병렬 처리) |
일회성 작업, 에이전트 간 통신 불필요 | ||
| 하이브리드 | 단계별 팀/서브 혼합 | 단계별 특성이 다른 경우 |
<p align="center"> <img src="harness_team.png" alt="myharness 에이전트 팀" width="500"> </p>
| 아키텍처 패턴 | 설명 | ||
|---|---|---|---|
| 파이프라인 | 순차적으로 의존적인 작업 | ||
| 팬아웃/팬인 | 병렬 독립 작업 후 병합 | ||
| 전문가 풀 | 상황별 선택적 호출 | ||
| 생성-검증 | 생성 후 품질 검사 (재시도 루프) | ||
| 감독자 | 중앙 에이전트가 동적으로 작업 분배 | ||
| 계층적 위임 | 재귀적 상위 → 하위 위임 |
your-project/
├──.claude/
│ ├── agents/ # 에이전트 정의 (analyst.md, builder.md, qa.md …)
│ └── skills/ # 스킬 (각 SKILL.md + references/)
├── CLAUDE.md # Claude Code 진입 포인터
└── AGENTS.md # Codex 진입 포인터 (이중 런타임 시)
이중 런타임 출력: Codex도 대상인 경우,
.claude/출력과 함께.agents/skills/<name>/및.codex/agents/<name>.toml이 생성됩니다 (동일한 진실 공급원). 세부 사항:skills/myharness/references/runtime-adapters.md.
진실 공급원(스킬 본문 · 참조 · 스크립트)은 런타임에 구애받지 않는 Markdown입니다. 어댑터 분기만 다릅니다:
| 항목 | Claude Code | Codex CLI | ||
|---|---|---|---|---|
| 진입점 | .claude-plugin/plugin.json + CLAUDE.md |
AGENTS.md (자동 로드) |
||
| 스킬 | .claude/skills/ |
.agents/skills/ (동일 형식) |
||
| 에이전트 | .claude/agents/*.md |
.codex/agents/*.toml + 내장 worker/explorer |
||
| 오케스트레이션 | Agent 팀원 생성 + SendMessage + TaskCreate |
네이티브 서브에이전트 / codex exec 서브프로세스 |
||
| 외부 리뷰어 | codex + agy (실행자 claude 제외) | claude + agy (실행자 codex 제외) |
agy(antigravity, Gemini 모델)는 호스트 런타임이 아닙니다 — 외부 리뷰 전용입니다. 세부 사항:skills/myharness/references/runtime-adapters.md.