Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Learn Harness Engineering 무료 코스 (요약본)

santi(@santtiagom_)가 로드맵을 실습으로 옮기려면 이 레포를 보라고 추천한 Harness Engineering 무료 코스를 Notes용 라이브러리로 요약해 둔다. 따라 하기 절차서가 아니라, 무엇이 있는지·어디를 보면 되는지 한눈에 두는 메모다.
초안 작성·문장 정리에 AI를 사용했다. 해석은 작성자 것이며, 코스 구성은 수집 시점 기준이다.

이 코스가 푸는 문제

벤치마크에 강한 모델도 실제 엔지니어링 작업에서는 깨진다. 문제는 “모델이 모자란가?”만이 아니라, 에이전트가 안정적으로 일하게 만드는 환경·상태·검증·제어가 비어 있는가? 에 가깝다. 코스는 그 빈칸을 하니스(harness) 로 메운다고 본다.

트윗이 짚은 키워드도 같은 선이다. 에이전트용 레포 구조, 세션 간 상태 유지, 스코프 통제, 결과 검증. 모델만 바꾸면 해결되지 않는다. 레포가 단일 기록 시스템(system of record) 이 되어야 하고, 에이전트가 못 보면 없는 것과 같다고 말한다.

하네스란 무엇인가

코스에서 말하는 하네스(harness) 는 “에이전트에게 붙이는 더 긴 프롬프트”가 아니다. 모델을 엔진으로 둘 때, 그 엔진이 실제 엔지니어링 일을 끝까지 하게 만드는 운영 틀이다. 지시가 어디에 있는지, 상태가 어디에 남는지, 완료를 무엇으로 검증하는지, 작업 범위가 어디까지인지, 세션이 어떻게 시작하고 끝나는지 — 이 층이 하네스다.

코스 L02가 잡는 서브시스템을 일상어로 풀면 대략 이렇다.

하는 일
지시(instructions) 에이전트가 따라야 할 규칙·목표·제약을 파일·레포에 둔다
상태(state) 세션이 끊겨도 진행이 디스크·레포에 남는다
검증(verification) “끝난 것 같다”가 아니라 테스트·E2E·관측으로 완료를 잰다
범위(scope) 한 번에 손대도 되는 경계를 정한다
수명주기(lifecycle) 초기화 → 작업 → 정리까지 한 사이클로 묶는다

그래서 레포는 편의 폴더가 아니라 단일 기록 시스템(system of record) 이 되어야 한다고 말한다. 에이전트가 읽지 못하는 규칙·진행·증거는, 그 에이전트에게는 없는 것과 같다. 하네스를 배운다는 것은 더 센 모델을 고르는 법이 아니라, 모델이 깨지는 지점에 받침을 설계하는 법에 가깝다.

프롬프트만 vs 하니스

  프롬프트만 더 쓰기 하니스 엔지니어링 (코스)
초점 한 번에 잘하는 문장 지시·상태·검증·범위·수명주기
기억 대화·컨텍스트 창 디스크·레포에 남은 진행
실패 시 다시 물어보기 초기화·완료 정의·E2E·관측·세션 정리
확장 더 긴 프롬프트 루프 → (필요 시) 그래프

위 다섯 층이 갖춰지면, 긴 작업은 디스크에 진행을 남기고, 초기화·완료 정의·기능 목록·E2E 검증·관측·세션 정리를 한 틀로 묶을 수 있다. 이후 확장은 루프 엔지니어링(프롬프트를 그만 붙잡고 자동 루프) → 그래프 엔지니어링(단일 루프가 전문화·병렬·공유 상태·복구를 필요로 하면 그래프)이다.

한 줄로 압축하면, AI 코딩 에이전트가 안정적으로 일하게 만드는 환경을, 강의 14 + 실습 프로젝트 8로 배우는 무료·프로젝트 기반 코스다. 한국어 포함 다국어 README/문서가 있다.

단계는 어떻게 관리하나

코스는 학습 단계와 에이전트 세션 안의 단계를 따로 둔다.

학습 경로는 페이즈로 쌓인다. 문제를 보고(L01–L02·P01) → 레포를 SoR로 구조화하고(L03–L04·P02) → 세션을 잇고(L05–L06·P03) → 범위·피드백(L07–L08·P04) → 검증(L09–L10·P05) → 관측·클린 핸드오프(L11–L12·P06) → 루프(L13·P07) → 그래프(L14·P08). 캡스톤은 같은 Electron 지식 베이스 앱 위에서, P(N) 솔루션이 P(N+1) 스타터가 되도록 진화한다. “강의 목록만 읽고 끝”이 아니라, 제품 한 줄기가 단계마다 두꺼워지는 식이다.

한 세션 안에서는 자유 방임이 아니라 수명주기를 탄다. 코스가 그리는 흐름은 대략 이렇다.

  1. 시작 — AGENTS.md(또는 CLAUDE.md)를 읽고, init.sh로 환경·검증·기동을 확인하며, claude-progress.md(이름은 역사적·에이전트 비종속)와 feature_list.json, git 로그로 지난번이 어디였는지를 읽는다.
  2. 선택 — 미완료 기능 정확히 하나만 고른다.
  3. 실행 — 그 기능만 구현하고, 테스트·lint·타입·스모크 등으로 검증한다. 실패하면 고치고 다시 돌린다. 통과해야만 증거로 남긴다.
  4. 마무리 — progress·feature list를 갱신하고, 아직 깨진 것을 적으며, 이어서 열 수 있을 때만 커밋하고, 다음 세션용 클린 재시작 경로를 남긴다.

단계 관리의 핵심 도구는 대화 기억이 아니라 디스크의 기능 목록·진행 로그·검증 통과다. 범위(scope)가 “한 기능씩”을 강제하고, 검증이 “됐다” 선언을 막는다.

하네스는 어떻게 주입하나

주입 경로도 프롬프트 한 방이 아니다. 레포 안에 파일을 두어, 매 세션이 같은 상태에서 시작하게 한다. 코스 Quick Start가 가리키는 최소 세트는 대략 이렇다.

프로젝트 루트
├── AGENTS.md           ← 운영 매뉴얼 (지시)
├── CLAUDE.md           ← (Claude Code 쓸 때 대안)
├── init.sh             ← 설치·검증·기동 (수명주기 시작)
├── feature_list.json   ← 무엇을 했고/남았는지 (범위·상태)
├── claude-progress.md  ← 세션 진행 로그 (상태·핸드오프)
└── src/                ← 실제 코드

에이전트는 세션 시작에 이 파일들을 읽도록 루트 지시에 묶인다. 진행 로그는 특정 제품 전용이 아니다. 코스 설명대로 Codex·OpenHands 등도 루트 지시가 “시작 시 읽고 핸드오프 전 갱신”을 시키면 같은 파일을 쓸 수 있다. 지시가 한 거대 파일에 몰리면 실패하기 쉬워, 필요할 때 찾아 들어가는 progressive disclosure 를 권한다(L04).

자기 레포에 빨리 넣으려면 skills/harness-creator/ 가 AGENTS.md·기능 목록·init.sh·검증 워크플로를 스캐폴딩한다고 한다. 이미 있는 레포는 tools/audit-harness.sh 로 다섯 서브시스템 점검을 돌릴 수 있다. 즉 주입 = 파일을 레포에 심고, 세션 수명주기가 그걸 의무적으로 읽게 만드는 것이다. 모델 API에 “하네스 모드” 스위치가 있는 그림이 아니다.

코스 README가 인용하는 Anthropic 실험도 같은 메시지를 밀어 준다. 동일 모델(Opus 4.5)·동일 프롬프트(“2D 레트로 게임 에디터”)에서, 하네스 없이 약 20분에 $9를 쓰고 동작하지 않는 결과를 냈고, planner+generator+evaluator 하니스로는 약 6시간에 $200를 쓰며 플레이 가능한 게임을 만들었다고 한다. 모델은 같고 하네스가 달랐다. (수치는 코스 README·원 출처 주장.)

구성 (수집 시점)

구분 내용
강의 L01–L14 (왜 실패하는가 → 하니스란 → 레포 SoR → 지시 파일 → 연속성 → init → 스코프 → 기능 목록 → 조기 승리 → E2E → 관측 → 클린 상태 → 루프 → 그래프)
프로젝트 P01–P08 (최소 하니스 비교 → 읽기 쉬운 워크스페이스 → 멀티세션 → 증분/스코프 → 검증 → 캡스톤 관측 → 첫 루프 → 첫 그래프)
캡스톤 축 Electron 기반 개인 지식 베이스 앱 — 프로젝트가 같은 제품 위에서 단계적으로 진화
빠른 시작 skills/harness-creator/ 로 AGENTS.md · 기능 목록 · init.sh · 검증 워크플로 스캐폴딩
참고 원문 OpenAI harness engineering, Anthropic long-running harness 글, Awesome Harness Engineering

P01이 “프롬프트만 vs 최소 하니스”를 비교하게 되어 있어, 위 표의 대립을 손으로 확인하는 입구로 읽으면 된다.

어디부터 보면 되는지

이론만 → 문서 사이트 강의 목록.
손대보기 → P01부터.
자기 레포에 바로 → harness-creator 스킬.
루프/그래프까지 → L13–L14 · P07–P08.

같은 “하네스” 단어를 Devin Fusion 메모에서도 쓰지만, 그쪽은 제품 이중 에이전트 구조 비교에 가깝고, 이 코스는 레포·검증·수명주기를 설계하는 학습 경로다. 단어는 같고 장르가 다르다.

한계

이 글은 14강을 대신 강의하지 않는다. 레포·강의·프로젝트 번호는 수집 시점(2026-09-08) 기준이라 upstream이 바뀌면 표가 어긋날 수 있다. 참고로 적힌 OpenAI·Anthropic 글·Awesome 목록의 최신성도 여기서 재검증하지 않았다. 캡스톤이 Electron 지식 베이스로 이어지므로, “우리 스택이 다르면 코스 전체가 무효”는 아니지만, 실습 산출물의 형태는 그 축에 묶여 있다.

레포·강의 구성은 수집 시점(2026-09-08) 기준. 트윗은 스페인어 추천 한 줄 + 레포 링크. 요약·라이브러리 정리. AI 보조 작성.

댓글