1부 · 하네스 엔지니어링
하네스란 무엇이고, 왜 업계가 코딩 하네스로 수렴했나.
1. 하네스 엔지니어링 — 업계 지식부터
▶ 포인트 — “하네스”는 LLM을 실행 루프로 감싸 도구를 쓰게 만드는 런타임이다. 업계 최강 에이전트들은 전부 CLI 코딩 하네스로 수렴했고, New Copilot Studio는 그 패턴을 그대로 업무 에이전트에 가져왔다. 메이커의 일은 이제 “흐름 그리기”에서 “하네스 설계”로 바뀐다.
1.1 하네스란 무엇인가 — 가장 중요한 정의
LLM 단독으로는 다음 토큰 예측만 합니다. 파일을 읽거나 API를 호출하거나 실패를 복구하지 못합니다. Anthropic의 간결한 정의가 핵심을 찌릅니다:
에이전트 = LLM이 루프 안에서 자율적으로 도구를 사용하는 것(LLMs autonomously using tools in a loop).
이 루프를 돌려주는 런타임이 하네스(harness)입니다. 하네스가 모델에게 제공하는 4가지:
- 도구 접근 — 파일·셸·검색·API
- 관찰(observation) 피드백 — 도구 실행 결과를 다시 모델 입력으로
- 반복 제어(loop control) — 작업이 끝날 때까지 판단→실행→관찰 반복
- 컨텍스트 관리 — 무엇을 언제 모델에게 보여줄지 결정 (6장에서 깊이 다룸)
1.2 업계는 이미 이 길로 수렴했다
2025년을 거치며 가장 검증된 에이전트들은 예외 없이 CLI 기반 코딩 하네스 형태로 모였습니다. 우연이 아닙니다.
| 사례 | 형태 | 특징 |
|---|---|---|
| Claude Code (Anthropic) | 터미널 agentic CLI | 코드베이스를 읽고·수정·테스트. glob/grep/head/tail로 필요한 것만 적시 로드 |
| GitHub Copilot CLI | 셸·파일·도구 호출 코딩 하네스 | 터미널에서 작업 완수 |
| OpenAI Codex CLI | 코드 실행 하네스 | 동일 계열 |
| New Copilot Studio | 엔터프라이즈 에이전트 플랫폼 | 같은 하네스 패턴을 업무 에이전트로 이식 |
1.3 왜 하필 “코딩” 하네스인가 — 핵심 통찰
코딩은 에이전트 능력이 가장 먼저·가장 혹독하게 검증된 영역이기 때문입니다. 코드를 다루려면 필연적으로 네 가지를 해야 합니다:
- 여러 파일을 읽고 맥락을 종합
- 어떤 도구(컴파일·테스트·검색)를 쓸지 정확히 선택
- 다단계로 추론
- 실패하면(테스트 깨짐) 원인을 보고 복구
그런데 이 네 가지는 모든 업무 에이전트가 필요로 하는 바로 그 능력입니다. 송장 처리든, 보고서 작성이든, 고객 응대든 근본 메커니즘은 같습니다. Microsoft가 코어를 “coding harness + CLI layer”라고 명시한 건, 코딩에서 단련된 엔진을 일반 업무로 가져왔다는 선언입니다.
1.4 하네스 엔지니어링의 황금률 (Anthropic)
짚고 가기: “과설계하지 마라. 모델이 좋아지면 당신의 스캐폴딩은 낡는다.”
하네스의 모든 구성요소는 ‘모델이 혼자 못 하는 것’에 대한 가정을 인코딩한다. 그 가정은 틀렸을 수도 있고, 모델이 좋아지면서 낡을 수도 있으니 끊임없이 스트레스 테스트하라. … 가능한 가장 단순한 해법에서 출발하고, 필요할 때만 복잡도를 더하라. — Anthropic, Designing harnesses for long-running apps / Building Effective Agents
이건 추상적 조언이 아닙니다. Anthropic은 실제로 Opus 4.5용으로 만든 정교한 스캐폴딩(sprint 분해, context reset)을 Opus 4.6에서 덜어냈습니다. 모델이 스스로 계획을 더 잘 세우게 되자, 하네스가 오히려 가벼워진 것.
교육 포인트(멘탈모델 전환): 메이커의 일이 근본적으로 바뀝니다. 이전에는 대화 흐름(순서도)을 손으로 그렸다면, 이후에는 하네스에게 줄 지침·스킬·도구를 설계하고 처음부터 과설계하지 않습니다. 이것이 2부 실습 전체를 관통하는 철학입니다.