소개
지난주에 /harness가 프로젝트의 Harness를 만들어 주어 유용한 도구라는 것을 알게 되었습니다.
가능하면, AI가 프로젝트를 작성할 때 알게되는 노하우들을 학습파일로 남기고, 그것을 하네스나 claude.md에 적용하면 자가발전이 가능한 구조가 나오지 않을까 생각했습니다.
도전1: /harness + /ce 자가발전(Compoud Engineering)을 추가해보자.
도전2: OpenClaw에 ACP 구조를 이용해서 해보자.
이것이 아니라..
이것이 가능하지 않을까?
진행 방법
1. claude code에 Plugin 설치
https://github.com/revfactory/harness
https://github.com/EveryInc/compound-engineering-plugin
Brainstorm -> Plan -> Work -> Review -> Compound -> Repeat
^
Ideate (optional -- when you need ideas)openclaw ACP (Agent Communication Protocol), ACPX 설정
chat으로 설치해달라고 하면 설치해줌.
todo app을 만들면서. 1. /harness 프로그인을 사용해줘. 2. /ce를 사용해서 컴파운드 가능한 구조로 만들어줘.결과
todo4/
├── .claude/
│ ├── agents/ # 5개 역할 에이전트 (한국어)
│ │ ├── planner.md
│ │ ├── backend-developer.md
│ │ ├── frontend-developer.md
│ │ ├── qa-reviewer.md
│ │ └── compounder.md
│ └── skills/ # 5개 /ce 워크플로우
│ ├── brainstorm.md
│ ├── plan.md
│ ├── work.md
│ ├── review.md
│ └── compound.md
├── artifacts/ # 사이클마다 누적되는 산출물
│ ├── brainstorms/
│ ├── plans/
│ ├── reviews/
│ ├── compounds/
│ └── learnings/
│ └── LEARNINGS.md ← 핵심: 누적 학습 저장소
├── backend/ # Express.js API (포트 3010)
├── frontend/ # 바닐라 HTML/CSS/JS (포트 3001)
├── CLAUDE.md # 프로젝트 규약 + 학습 규칙
└── WORKFLOW.md # /ce 파이프라인 정의
| 에이전트 | 역할 | 핵심 |
| ------------------ | ------------ | ---------- |
| planner | 요구사항 → 작업 분해 | 코드를 쓰지 않음 |
| backend-developer | API 구현 | Express 전담 |
| frontend-developer | UI 구현 | 바닐라 JS 전담 |
| qa-reviewer | 리뷰 + 테스트 | 체크리스트 기반 |
| compounder | 학습 문서화 | 코드를 쓰지 않음 |사이클을 돌수록 축적되는 Learnings를 다시 repeat하게됨.
이 구조가 "자가발전"인 이유 3가지
1. compound 출력이 다음 brainstorm의 입력이 된다
사이클 #001에서 "PUT과 PATCH를 분리하라"를 배웠고, 사이클 #002의 brainstorm에서 "기존 PATCH 확장 vs PUT 분리?" 논의 시 이 학습이 바로 반영됐습니다.
2. 패턴이 확립되면 새 기능은 "규칙 따르기"가 된다
사이클 #001에서 이벤트 위임 패턴을 확립한 후, 사이클 #002에서 dblclick을 추가할 때 "어떻게 이벤트를 처리하지?" 고민이 사라집니다. todoList.addEventListener를 쓰면 됩니다.
3. LEARNINGS.md가 프로젝트의 "면역 체계"가 된다
한 번 발견된 안티패턴은 LEARNINGS.md에 기록되고, 이후 모든 사이클에서 자동으로 방지됩니다. 사이클이 많아질수록 방어가 두꺼워집니다.
배운 점
Harness를 구조적으로 만들고, 자가발전 개선를 이미 있는 CE(compound engineering) 로 만들 수 있다.
openclaw를 이용해서도 Agent를 통해서 Harness와 ce를 수행하도록 위임을 줄 수 있다는 것을 알았다.