⚖️

Harness Engineering vs Prompt Engineering

프롬프트를 잘 짜는 것과 실행 환경을 잘 짜는 것은 다르다

2023~2024년에는 프롬프트를 얼마나 잘 짜느냐가 AI 활용의 핵심이었다. 2025~2026년에는 이게 바뀌고 있다.

프롬프트 엔지니어링의 한계

프롬프트가 아무리 좋아도, 모델이 파일을 못 읽으면 코드 리뷰를 못 한다. 테스트를 실행할 수 없으면 코드가 맞는지 확인을 못 한다. 에러 메시지를 보고 재시도할 수 없으면 한 번에 맞춰야 한다.

프롬프트는 "지시"다. 하네스는 "능력"이다. 지시를 아무리 잘 해도 능력이 없으면 실행을 못 한다.

Harness Engineering이 결정하는 것들

도구 접근성 — 모델이 파일 시스템, 브라우저, API, 데이터베이스에 접근할 수 있는가?

피드백 루프 — 실행 결과를 보고 재시도할 수 있는가? 에러 메시지가 모델에게 전달되는가?

컨텍스트 관리 — 긴 작업 중에 어떤 정보를 유지하고 어떤 걸 버리는가?

가드레일 — 위험한 행동을 사전에 차단하는 메커니즘이 있는가?

오케스트레이션 — 여러 모델 호출을 어떤 순서로, 어떤 조건에서 실행하는가?

SWE-bench가 보여준 것

SWE-bench에서 같은 모델이 하네스에 따라 점수가 2~3배 차이 나는 건 이미 알려진 사실이다. Devin, Claude Code, Cursor, SWE-agent 전부 같은 기반 모델을 쓰지만 성능이 다르다. 차이는 하네스다.

프롬프트 엔지니어링이 불필요하다는 게 아니다. 프롬프트는 하네스의 한 구성 요소일 뿐, 전체가 아니라는 거다.

동작 흐름

1

Prompt Engineering — 모델에게 전달하는 지시(system prompt, few-shot, chain-of-thought)를 최적화

2

Harness Engineering — 모델이 실행되는 환경 전체(도구, 피드백 루프, 컨텍스트, 가드레일)를 설계

3

프롬프트는 하네스의 한 레이어 — 프롬프트만으로는 파일 읽기, 테스트 실행, 에러 재시도가 불가능

4

SWE-bench 결과가 증명 — 같은 모델, 다른 하네스, 2~3배 성능 차이

사용 사례

Claude Code vs ChatGPT 웹 — 같은 모델 계열이지만 하네스가 완전히 다름 RAG 파이프라인 — 프롬프트보다 검색 품질, 청크 전략, 리랭킹이 결과를 더 좌우함