하네스 엔지니어링의 기초
하네스 엔지니어링의 정의, 범위, 그리고 왜 프롬프트보다 시스템 설계가 중요한지 설명합니다.
하네스 엔지니어링은 에이전트에게 "무엇을 하라"고 말하는 기술보다, 에이전트가 무엇을 볼 수 있고, 어떤 기준으로 판단하며, 어디서 멈추고, 어떻게 검증받는지를 설계하는 기술에 가깝습니다.
작업이 길어질수록 병목은 이동한다
| 작업 형태 | 가장 큰 병목 | 필요한 것 |
|---|---|---|
| 한 번의 답변 | 표현 방식 | 프롬프트 |
| 여러 파일 탐색 | 정보 노출 | 컨텍스트 |
| 몇 시간짜리 작업 | 계획, 검증, 승인 | 하네스 |
| 여러 팀 반복 사용 | 배포, 표준화, 운영 | 플랫폼화 |
왜 프롬프트만으로는 부족한가
짧은 작업에서는 프롬프트 품질이 체감 성능을 좌우할 수 있습니다. 하지만 작업 시간이 길어지고, 리포지터리가 커지고, 변경 범위가 넓어질수록 병목은 다른 곳에서 생깁니다.
- 필요한 맥락이 리포 안에 없어서 에이전트가 추론할 재료가 부족함
- 완료 기준이 모호해서 스스로 "끝났다"고 착각함
- 검증 루프가 약해서 겉보기로만 동작하는 결과를 만들기 쉬움
- 오래된 문서와 규칙이 뒤섞여서 stale context가 누적됨
- 사람의 승인 지점이 정의되지 않아 위험한 변경과 안전한 변경을 구분하지 못함
즉, 문제는 모델이 멍청해서가 아니라 모델이 일하는 작업장 자체가 정리되어 있지 않아서 생기는 경우가 많습니다.
무엇이 바뀌었기에 하네스가 전면으로 올라왔는가
주요 관심사는 "좋은 답변을 한 번 받는 법"이었습니다.
- 시스템 프롬프트
- few-shot 예시
- 출력 형식 고정
주요 관심사는 "방향을 잃지 않고 끝까지 밀고 가는 법"으로 바뀌었습니다.
- 계획과 구현 분리
- 브라우저, 로그, 테스트 접근
- review, QA, evaluator 루프
주요 관심사는 "누구나 비슷한 품질로 쓰게 만드는 법"입니다.
- 실행 가능한 SSOT
- 도메인 레이어
- 공통 스킬, 커맨드, 체크리스트
하네스는 무엇을 포함하는가
하네스는 보통 아래를 함께 다룹니다.
| 영역 | 예시 |
|---|---|
| 작업 환경 | 리포 구조, AGENTS.md, 설계 문서, llms.txt, 스키마, 실행 계획 |
| 실행 경계 | 읽기/쓰기 권한, 네트워크 허용 범위, 승인 정책, 보호 브랜치 |
| 평가 기준 | 테스트, lint, 타입체크, 브라우저 QA, 품질 점수표, 완료 정의 |
| 오케스트레이션 | planner/generator/evaluator, reviewer, QA, release 역할 분리 |
| 운영 루프 | 업데이트 로그, 문서 가드닝, 드리프트 탐지, 실패 복구 |
프롬프트 엔지니어링, 컨텍스트 엔지니어링과의 관계
| 개념 | 초점 | 질문 |
|---|---|---|
| 프롬프트 엔지니어링 | 한 번의 호출 품질 | "어떻게 말할까?" |
| 컨텍스트 엔지니어링 | 필요한 정보 노출 | "무엇을 보여줄까?" |
| 하네스 엔지니어링 | 작업 전체 시스템 | "어떻게 일하게 만들까?" |
컨텍스트 엔지니어링은 하네스의 일부입니다. 하지만 하네스는 거기서 멈추지 않고 역할 분리, 평가 루프, 승인 흐름, 운영 규율까지 포함합니다.
경계가 헷갈릴 때
컨텍스트 엔지니어링은 대개 "입력"의 문제이고, 하네스 엔지니어링은 "작업 시스템"의 문제입니다. AGENTS.md, docs, review loop, browser QA, updates log가 같이 얽히기 시작하면 이미 하네스 영역입니다.
왜 지금 더 중요해졌는가
최근 코딩 에이전트는 더 긴 작업을 수행하고, 브라우저와 쉘, 로그, 배포 시스템까지 다룰 수 있게 되었습니다. 그 결과 "한 번 잘 답하게 만드는 것"보다 "몇 시간 동안 방향을 잃지 않게 만드는 것"이 더 중요한 문제가 됐습니다.
OpenAI는 2026년 2월 11일 글에서 agent-readable repo, 짧은 AGENTS.md, 구조화된 docs/, 브라우저와
관측성 접근, 그리고 문서 가드닝을 강조했습니다. Anthropic은 2026년 3월 24일 글에서 긴 작업에서
planner와 evaluator가 언제 유의미한지, 그리고 모델이 좋아질수록 하네스도 단순화될 수 있지만
사라지지는 않는다고 설명했습니다.
핵심은 같습니다.
핵심 관찰
더 강한 모델이 나오면 하네스의 세부 구현은 단순해질 수 있습니다. 하지만 작업 환경, 평가 기준, 승인 구조, 운영 루프 자체의 필요는 사라지지 않습니다.
2026년 기준 주요 자료들이 던진 문제
| 날짜 | 자료 | 이 책이 가져간 질문 |
|---|---|---|
| 2026-02-11 | OpenAI Harness Engineering | 리포와 문서를 어떻게 에이전트 친화적으로 만들 것인가 |
| 2026-02-26 | Toss 하네스 글 | 개인의 활용 감각을 어떻게 팀의 실행 시스템으로 내릴 것인가 |
| 2026-03-24 | Anthropic 하네스 글 | 어떤 scaffolding이 실제로 load-bearing인지 어떻게 판단할 것인가 |
| 2026-04-01 열람 기준 | gstack, revfactory/harness | opinionated workflow와 generated harness를 어떻게 활용할 것인가 |
하네스 엔지니어링의 산출물
좋은 하네스는 추상적인 철학으로 끝나지 않습니다. 리포지터리 안에 다음과 같은 형태로 남습니다.
- 짧고 최신 상태인
AGENTS.md또는 동등한 진입 문서 - 아키텍처와 도메인 규칙을 설명하는 버전 관리 문서
- 실행 계획, 릴리즈 규칙, 테스트 루틴, QA 체크리스트
- 역할별 슬래시 커맨드, 스킬, 에이전트 정의 파일
- 누가 언제 승인해야 하는지 드러나는 워크플로우
- 무엇이 stale인지 찾고 정리하는 운영 루프
하네스가 없는 팀의 증상
| 증상 | 보통 부족한 것 |
|---|---|
| 같은 요청인데 사람마다 결과 편차가 큼 | 공통 진입 문서, 기준, 워크플로우 |
| 리뷰에서 늘 비슷한 문제가 뒤늦게 걸림 | evaluator / QA / browser loop |
| 문서는 많은데 아무도 안 읽음 | 짧은 TOC 문서, executable SSOT |
| 새 모델이 나오면 품질이 널뛰기함 | 평가 기준과 rollback 조건 |
| 특정 고수만 잘 씀 | 팀 배포용 command / skill / template |
안티패턴
- 거대한 규칙 파일 하나에 모든 것을 넣기
- "잘 알아서 해"에 가까운 암묵지 의존
- 문서와 워크플로우를 분리해서 따로 관리하기
- 평가 기준 없이 결과만 많이 생성하도록 유도하기
- 팀 특화 규칙 없이 외부 템플릿을 그대로 복붙하기
기억할 문장
하네스 엔지니어링은 모델을 보완하는 비법이 아니라, 모델이 실패하기 쉬운 지점을 시스템으로 감싸는 설계입니다.