Harness Engineering · Chapter 03

세 번의 명명

Prompt에서 Context로, Context에서 Harness로. 세 이름은 서로 경쟁하는 유행어가 아니다. 같은 일을 바라보는 시야가 한 겹씩 넓어진 기록이다. 이름이 달라질 때마다 질문도 바뀌었다. 어떻게 물을 것인가에서 무엇을 보여줄 것인가로, 다시 어떤 환경에서 일하게 할 것인가로 이동했다.

대상: 원문 §03 「三次命名」 범위: PDF 13–18쪽 외부 자료 미사용 원문 구조·수치·논지 보존
01

이름이 바뀐 것이 아니라, 중심 질문이 넓어졌다

원문은 Prompt Engineering, Context Engineering, Harness Engineering을 세 개의 평행한 개념으로 보지 않는다. 앞의 것을 버리고 새것으로 갈아탄 과정도 아니다. 한 개념을 안쪽에 품은 채 바깥으로 범위를 확장해 온 세 번의 인식 변화로 설명한다.

2022–2024 · First Naming

Prompt Engineering

자연어로 AI에게 일을 시킬 수 있게 되자 첫 질문은 단순했다. “어떻게 물어야 더 좋은 답을 얻는가.” 역할 부여, few-shot 예시, chain-of-thought 유도처럼 단어와 지시문의 구성이 출력 품질을 좌우했다. 그러나 좋은 prompt도 상황이 바뀌면 다시 써야 했다. 한 문장은 복잡한 현실 작업을 지탱하는 시스템이 되기 어려웠다.

  • 핵심 질문어떻게 물을 것인가
  • 비유말에게 건네는 말
  • 인간 역할질문자
  • 재사용성낮음 · 매번 다시 작성
  • 명명커뮤니티에서 자생
2025 · Second Naming

Context Engineering

2025년 6월, Tobi Lütke와 Andrej Karpathy가 거의 같은 시기에 ‘context engineering’을 언어화했다. 짧은 지시문의 정교함보다 관련 문서, 대화 이력, 도구 정의, RAG 결과를 적절하게 구성해 모델 앞에 놓는 일이 중요하다는 인식이다. 한 줄의 지시에서 하나의 정보 패키지로 이동한 셈이다.

  • 핵심 질문무엇을 보여줄 것인가
  • 비유지도·표지판·지형 정보
  • 인간 역할큐레이터
  • 재사용성중간 · 템플릿화
  • 명명Karpathy / Tobi Lütke
2026 · Third Naming

Harness Engineering

Context는 무엇을 보게 할지를 다루지만, 그것만으로 실행 환경은 만들어지지 않는다. 도구가 없으면 행동할 수 없고, 제약이 없으면 벗어날 수 있으며, 피드백이 없으면 잘못을 스스로 고치기 어렵다. Harness는 말에 거는 말과 지도를 넘어, 마구·울타리·도로·검문소까지 포함하는 전체 운영 구조를 가리킨다.

  • 핵심 질문전체 시스템은 어떻게 움직이는가
  • 비유고삐 + 안장 + 울타리 + 도로
  • 인간 역할아키텍트
  • 재사용성높음 · 시스템화
  • 명명Mitchell Hashimoto / OpenAI
첫 번째 각성은 질문의 품질을 보았다. 두 번째는 정보의 구성을 보았다. 세 번째는 그 모든 것이 작동하는 환경의 구조를 보았다.
02

Prompt ⊂ Context ⊂ Harness

3장의 가장 중요한 구조는 포함 관계다. Prompt는 Context 안에 있고, Context는 Harness 안에 있다. 따라서 Harness는 Prompt의 반대말이 아니다. 더 바깥의 경계다.

HARNESS전체 실행 환경
CONTEXT모델 앞에 놓는 정보
PROMPT모델에게 하는 말
Prompt — 무엇을 묻는가

명령과 질문의 문장, 역할 지시, 예시, 원하는 출력 형식이 들어간다.

Context — 무엇을 보게 하는가

문서, 대화 이력, 도구 정의, RAG 결과처럼 판단에 필요한 정보가 들어간다.

Harness — 어떻게 움직이게 하는가

정보뿐 아니라 실행 도구, 제약, 피드백, 품질 검사까지 포함해 전체 동작을 조직한다.

원문의 구현 대응

CLAUDE.md는 Context, hooks는 제약층, CI 테스트는 피드백층으로 제시된다. 셋이 결합될 때 하나의 harness가 된다.

차원 Prompt Engineering Context Engineering Harness Engineering
시기2022–202420252026
핵심 문제어떻게 질문할까어떤 정보를 줄까전체 시스템을 어떻게 돌릴까
마구 비유말에게 하는 말말이 길을 보게 하는 모든 것고삐 + 안장 + 울타리 + 도로
사람의 역할질문자큐레이터아키텍트
재사용성낮음중간높음
명명 주체커뮤니티 자생Karpathy / Tobi LütkeMitchell Hashimoto / OpenAI
03

Harness라는 이름은 먼저 실천에서 자랐다

원문에서 Harness Engineering의 출발은 거창한 선언이 아니다. 에이전트가 실수할 때마다 그 실수가 반복되지 않도록 영구적인 해결책을 하나씩 쌓아 올리는 실천에서 시작한다.

2026 · 02 · 05

Mitchell Hashimoto — 실수 하나, 공학적 해결 하나

HashiCorp 공동 창업자이자 Terraform을 만든 Mitchell Hashimoto는 「My AI Adoption Journey」에서 AI 회의론자에서 agent 중사용자로 이동한 과정을 정리했다. 글이 자신의 손으로 작성됐음을 굳이 밝힌 대목은 2026년의 분위기를 상징적으로 보여준다. 다섯 번째 단계에서 그는 단순한 원칙을 제시한다. agent가 한 번 실수하면, 같은 실수를 다시 할 수 없도록 해결책을 공학화한다.

2026 · 02 · 11

개인의 용어가 업계의 공용어가 되다

Ghostty의 AGENTS.md는 과거 agent의 나쁜 행동을 규칙으로 축적하는 살아 있는 문서로 설명된다. Hashimoto의 글이 나온 지 6일 뒤 OpenAI가 같은 용어를 공식 글에서 사용했고, Martin Fowler 팀과 LangChain이 잇달아 분석을 내놓았다. 원문은 불과 한 달 사이 ‘Harness Engineering’이 개인 블로그의 표현에서 업계 공통의 개념으로 부상했다고 본다.

Harness는 처음부터 완성된 설계도로 등장한 것이 아니다. 실패를 기억하고, 그 기억을 규칙과 도구로 굳힌 결과가 뒤늦게 하나의 이름을 얻었다.
04

명명의 가치는 일을 새로 만드는 데 있지 않다

이름이 없어도 일은 진행된다. 그러나 이름이 없으면 경험은 흩어진다. 원문은 명명의 가치가 ‘발명’보다 ‘공유 가능한 단위로 만드는 것’에 있다고 본다.

저자의 사례 — 먼저 자라고, 나중에 이름을 알았다

저자는 Claude Code 자동화 글쓰기 워크플로에서 CLAUDE.md를 단순 규칙 파일에서 라우터로 발전시키고, hooks로 핵심 작업 전후를 검사하며, skills로 기능을 모듈화하고 지식베이스를 결합했다. 당시에는 이를 harness라고 부르지 않았지만, 여러 구성요소가 모이면서 이미 하나의 실행 환경을 이루고 있었다.

이름이 생기면 분해하고 가르칠 수 있다

LangChain은 Agent Harness의 구조를 해부할 수 있게 되었고, Martin Fowler 팀은 OpenAI의 실천을 ‘컨텍스트 엔지니어링·아키텍처 제약·엔트로피 관리’라는 세 축으로 분석했다. 개념이 이름을 얻는 순간, 서로 떨어져 있던 경험은 논의하고 비교하고 교육할 수 있는 방법론의 재료가 된다.

Agent = Model + Harness
52.8% Terminal Bench 2.0 · Top 30
66.5% Terminal Bench 2.0 · Top 5
모델은 동일했다. 바뀐 것은 시스템 프롬프트, 도구 구성, 미들웨어 훅이었다.
같은 엔진이라도 차체와 브레이크와 계기판이 다르면 운행은 달라진다. 원문이 강조하는 병목은 모델의 지능만이 아니라 모델이 놓인 환경이다.
05

세 번의 각성 — 앞의 개념을 지우지 않고 바깥을 넓힌다

Prompt가 Context에 의해 폐기된 것이 아니며, Context가 Harness에 의해 무효가 된 것도 아니다. 매번 이전 층을 포함하면서 더 큰 문제를 보기 시작했다.

1 질문을 본다

AI에게 어떤 말을 해야 하는지가 중요하다는 첫 번째 깨달음.

2 정보를 본다

질문보다 모델이 어떤 자료와 문맥을 보게 되는지가 더 중요하다는 두 번째 깨달음.

3 환경을 본다

도구, 제약, 피드백, 오류 수정까지 포함한 전체 운영 구조가 핵심이라는 세 번째 깨달음.

원문은 Harness Engineering을 하나의 ‘기술 팁’이 아니라 DevOps와 애자일처럼 실천에서 먼저 나타나고, 이름을 얻은 뒤 전파 가능한 방법론으로 성장하는 공학적 실천으로 본다.
06

명명은 아직 끝나지 않았다

3장은 ‘세 번의 명명’에서 끝나지 않는다. 개념이 아직 형성 중이며 각 팀이 독립적으로 최선의 실천을 찾고 있다는 사실, 그리고 더 새로운 이름들이 이미 등장하고 있음을 마지막에 짚는다.

Agentic Engineering — 자율성을 더 앞에 세운 이름

원문에 따르면 Karpathy는 2025년 말 직접 코드를 쓰지 않고 AI agent에 의존하는 방식을 선택했다. AutoResearch 프로젝트에서는 630줄의 학습 코드와 하나의 markdown prompt를 기반으로 이틀 동안 700회의 실험을 수행해 20개의 최적화 항목을 찾아냈다고 서술한다. 연구 과정의 harness가 사실상 하나의 markdown 파일이었다는 점을 강조한다.

630학습 코드 줄 수
7002일간 실험 횟수
20발견한 최적화 항목

Context Engineering도 실험의 언어로 이동한다

원문은 동료평가 논문에서 총 9,649회의 실험을 수행했고, 체계적인 컨텍스트 관리가 하나의 prompt를 정교하게 다듬는 것보다 더 효과적이라는 결론을 제시했다고 설명한다. 두 해 전의 소셜미디어 용어가 이제 정량적 검증의 대상으로 이동한 셈이다.

9,649
실험을 통해 ‘prompt 한 문장’보다 ‘context를 체계적으로 관리하는 방식’의 중요성을 뒷받침했다고 원문은 서술한다.
이름은 계속 달라질 수 있다. Harness라 부를 수도 있고 Agentic이라 부를 수도 있다. 그러나 원문이 끝까지 붙들고 있는 중심은 하나다. 병목은 모델 하나가 아니라, 모델이 움직이는 환경에 있다.

이름은 사물 위에 붙이는 표지가 아니다.
흩어진 경험 사이에 관계를 만드는 일이다.

Prompt는 말의 기술을 보게 했고,
Context는 정보의 배치를 보게 했으며,
Harness는 마침내 일이 이루어지는 전체의 자리를 보게 했다.

이 페이지는 첨부 문서 《Harness Engineering》의 §03 「三次命名 / Three Namings」 (PDF 13–18쪽)에만 근거해 재구성했다. 원문의 연도, 사례, 수치, 비교 구조, 저자의 평가를 유지했으며 외부 자료를 이용한 사실 검증·수정·보충은 수행하지 않았다.