본문으로 바로가기
리옵트 핸드북
리옵트 핸드북
하네스 엔지니어링

문제 설정·구조

하네스 엔지니어링의 기초Repo-readable 시스템하네스의 5요소하네스의 기술 메커니즘

검증·해석

검증 루프 설계외부 사례 비교

사례별 도입

사례: OpenAI사례: Anthropic사례: Toss사례: gstack사례: revfactory/harness

도메인별 적용

도메인별 적용 지도시나리오: 프론트엔드 팀시나리오: 플랫폼 팀시나리오: 결제·정산 팀시나리오: AI 제품 팀왜 결국 자기 하네스로 가는가

도입·운영

팀 하네스 배포 전략팀 하네스 설계 체크리스트운영: 엔트로피와 가비지 컬렉션

부록

검증 리포트업데이트 내역
핸드북›하네스 엔지니어링›시나리오: 프론트엔드 팀
한국어English

시나리오: 프론트엔드 팀

UI 팀에서 하네스가 어떻게 브라우저 QA, 접근성, 디자인 규칙을 엔지니어링 시스템으로 만드는지 설명합니다.

핵심 요약

  • 프론트엔드 하네스에서 중요한 건 코드 정확성보다 보이는 상태와 상호작용을 일관되게 검증하는 일입니다.
  • browser QA, visual/interaction 체크리스트, design rules 문서, accessibility gate가 load-bearing 요소입니다.
  • task contract에 must_render(desktop/mobile/empty/error)와 must_verify(키보드, focus trap, 스크린리더 라벨)를 명시합니다.
  • checkout·pricing·auth 화면 변경은 human_gate로 두고, 문구 수정·storybook 예제는 auto로 분리합니다.
  • 30일 도입은 자주 깨지는 화면 2개의 browser QA 템플릿부터 시작해 design-rules와 a11y-checklist를 분리합니다.

프론트엔드 팀의 하네스는 대개 "코드를 바르게 쓰는가"보다 보이는 상태와 상호작용을 얼마나 일관되게 검증하느냐에서 갈립니다.

문제 구조

  • 코드는 맞아 보여도 실제 브라우저에서 깨질 수 있음
  • 모바일/데스크톱/다크모드/빈 상태/에러 상태가 자주 누락됨
  • 디자인 시스템 규칙이 코드 리뷰에서만 늦게 드러남
  • a11y 회귀가 구현 단계에서는 잘 안 보임

load-bearing 하네스 요소

요소왜 중요한가
browser QA텍스트 기반 self-check가 놓치는 상태를 잡음
visual / interaction checklist"렌더링 됨"과 "사용 가능함"을 구분
design rules 문서spacing, typography, component invariant를 고정
accessibility gate키보드, 포커스, 명도, 라벨 회귀 방지

권장 루프

코드 diff만 봐서는 실제 품질을 판정할 수 없습니다. 프론트엔드에서 이 루프가 중요한 이유입니다.

아티팩트 구조 예시

design-rules.md
interaction-states.md
a11y-checklist.md
ui-task-contract.yaml
browser-qa-report.md
visual-regression-notes.md

task contract 예시

ui_change:
  goal: "검색 패널 상호작용 개선"
  must_render:
    - "desktop"
    - "mobile"
    - "empty state"
    - "error state"
  must_verify:
    - "keyboard navigation"
    - "focus trap"
    - "screen reader label"
  non_goals:
    - "검색 API 변경"
  escalation:
    - "design token 추가 필요"

왜 이게 엔지니어링인가

프론트엔드 하네스는 사실상 UI state-space management입니다.

  • 어떤 상태를 보여야 하는지 정의합니다.
  • 어떤 상태를 반드시 검증해야 하는지 고정합니다.
  • 브라우저 검증을 완료 정의에 넣습니다.
  • 디자인 시스템 규칙을 사람이 기억하지 않도록 외부화합니다.

감각 좋은 프론트엔드 개발자의 머릿속에만 있던 체크리스트를 시스템으로 내려놓는 작업입니다.

approval / handoff 예시

frontend_approval:
  auto:
    - "문구 수정"
    - "storybook 예제 추가"
  review_required:
    - "사용자 노출 UI 변경"
    - "design token 변경"
  human_gate:
    - "checkout / pricing / auth 화면 변경"

자주 망하는 패턴

실패 패턴하네스로 막는 방식
데스크톱만 보고 완료 처리must_render에 모바일/빈 상태 강제
클릭은 되지만 키보드 접근 불가a11y checklist와 keyboard QA 분리
디자인 시스템 규칙 위반design-rules.md + review rubric
브라우저 확인 없이 shipbrowser QA를 release gate로 승격

30일 도입 순서

  1. 자주 깨지는 화면 2개를 골라 browser QA report 템플릿을 만든다.
  2. design-rules.md와 a11y-checklist.md를 분리한다.
  3. UI 변경은 최소한 browser + keyboard + empty/error state를 통과하도록 고정한다.

먼저 연결해서 볼 장

  • /books/harness-engineering/case-openai
  • /books/harness-engineering/case-anthropic
  • /books/harness-engineering/checklist

관련 문서

시나리오: 결제·정산 팀

결제·정산 도메인에서 하네스가 승인, 정합성 검증, 감사 추적, rollback 시스템으로 작동하는 방식을 설명합니다.

에이전틱 디자인 품질 제어

AI 시대의 디자인 시스템 · Codex와 Claude Code가 자주 만드는 평균적 UI 편향을 제어하고 더 높은 품질을 끌어내는 agent engineering 방법

시나리오: 플랫폼 팀

플랫폼 팀에서 하네스가 아키텍처 불변식, 릴리즈 게이트, 영향 반경 관리 시스템으로 작동하는 방식을 설명합니다.

실행 플레이북

AI 시대의 디자인 시스템 · 토큰(1주) → 컴포넌트 명세·접근성(2주) → AI 문서(3주) → 품질 게이트·변경 관리(4주)로 AI-First 디자인 시스템을 4주 만에 운영 가능 상태로 만드는 최소 경로.

AI 시대의 디자인 시스템

AI 에이전트가 이해하고 활용할 수 있는 디자인 시스템 구조와 운영 기준 가이드

도메인별 적용 지도

프론트엔드 팀, 플랫폼 팀, 결제·정산 팀, AI 제품 팀이 하네스를 어떻게 다르게 설계해야 하는지 안내합니다.

시나리오: 플랫폼 팀

플랫폼 팀에서 하네스가 아키텍처 불변식, 릴리즈 게이트, 영향 반경 관리 시스템으로 작동하는 방식을 설명합니다.

On this page

문제 구조load-bearing 하네스 요소권장 루프아티팩트 구조 예시task contract 예시왜 이게 엔지니어링인가approval / handoff 예시자주 망하는 패턴30일 도입 순서먼저 연결해서 볼 장