한 줄로 말하면

하네스 엔지니어링은 확률적으로 작동하는 모델을 제품에 넣을 때, 모델의 판단에 맡길 부분과 코드로 보장할 부분을 나누는 설계야. 프롬프트와 문서를 늘리는 것만으로는 반복 오류를 없앨 수 없고, 필요한 규칙은 모델이 거스를 수 없는 통제 계층으로 내려야 해.1

비유로 이해하기

모델을 뛰어난 조종사라고 해 보자. 하네스는 조종사가 볼 계기판과 조작할 장치를 정하고, 문서는 운항 규칙을 알려주며, 훅은 특정 조건에서 엔진을 자동으로 멈추는 안전장치야. 조종사가 규칙을 이해하고 따르기를 기대하는 것과, 안전장치가 조건을 감지해 작동하는 것은 서로 다른 통제 방식이지.

여기까지가 직관을 돕는 비유야. 실제 하네스는 모델을 둘러싼 실행 코드·도구·검사·업무 통합 환경의 묶음이고, 모든 판단을 대신하는 장치는 아니야. 무엇이 옳은지 미리 형식화할 수 없는 문제까지 안전장치가 해결해 주지는 않아.1

정확한 정의

하네스 엔지니어링은 AI 제품의 작업 경로마다 모델의 유연한 판단코드의 결정론적 보장을 어느 비율로 둘지 설계하는 일이야. 같은 프롬프트에도 결과가 달라지는 모델을 그대로 두되, 결과 형식·권한·금지 행동처럼 코드로 확인할 수 있는 조건을 바깥 계층에서 검사하는 방식이지.1

flowchart TD
    A[모델의 확률적 판단] --> B[하네스의 실행 경로]
    B --> C[문서의 맥락과 규칙]
    C --> D[훅의 독립 검사]
    D --> E{코드로 판정 가능한가?}
    E -->|예| F[통과 또는 차단]
    E -->|아니오| G[모델 또는 사람의 판단]

통제력은 보통 네 계층으로 나눠 볼 수 있어. 모델은 같은 요청에도 다른 답을 낼 수 있어. 하네스는 모델이 무엇을 보고 어떤 도구를 쓰는지 정하지만 큰 방향을 유도하는 계층이야. 문서는 프로젝트 맥락과 규칙을 제공하지만 모델이 다른 정보와 함께 판단하므로 무시될 수 있어. 은 특정 상황을 감시하다가 모델의 동의와 관계없이 금지된 행동을 차단하는 독립 코드야. 이 가운데 협상하지 않는 통제는 훅에 가장 가깝다.1

왜 중요한가

AI 제품의 오류는 모두 같은 방식으로 고칠 수 없어. “이 명령을 실행하지 말라”처럼 조건을 코드로 검사할 수 있는 규칙은 독립적인 통과·실패 판정으로 옮길 수 있어. 반면 분석이 미묘하게 잘못된 방향으로 흐르는지는 정답을 미리 정의하기 어려워, 그것을 판정하는 또 다른 모델이나 사람이 필요해.1

그래서 하네스의 목표는 모델을 모든 경로에서 몰아내는 것이 아니야. 통제하지 않으면 보장이 필요한 작업에서도 모델이 즉흥적으로 판단하고, 반대로 모든 경로를 코드로 고정하면 모델이 하던 일을 느리고 비싼 일반 소프트웨어로 다시 만들게 돼. 제품마다 반복되거나 중요한 경로는 코드로 고정하고, 형식화하기 어려운 부분은 판단의 영역으로 남기는 경계 설정이 핵심이야.1

이 구분은 에이전트가 길게 실행될수록 더 중요해져. 한 번의 답변이 틀리는 것과 도구를 여러 번 호출하며 잘못된 작업을 이어 가는 것은 실패 반경이 다르기 때문이야. 하네스는 모델의 능력을 설명하는 말이 아니라, 모델이 행동하는 표면을 어디까지 열고 어디서 멈출지 정하는 실행 구조야.

실제 예시

문서에 규칙을 적는 것과 훅으로 규칙을 강제하는 것은 다르게 작동해. 에이전트가 매 세션 읽는 문서에 특정 행동을 금지해도, 모델은 그 규칙을 이해한 뒤 다른 정보와 함께 판단해 따르지 않을 수 있어. 같은 규칙을 조건 충족 즉시 명령을 차단하는 코드로 옮기면 모델의 판단과 무관하게 멈출 수 있지.1

에이전트의 구조화된 절차인 Skills는 실행 여부를 모델이 선택하고 중간에 이탈할 수 있으므로 문서 계층에 가까워. /goal처럼 조건 충족 여부를 반복 확인하는 기능은 강제 계층에 더 가까워 보이지만, 그 확인을 작은 모델이 맡는다면 여전히 오판 가능성이 남아. 직접 작성한 Stop 훅처럼 스크립트가 조건을 독립적으로 판정하는 경우에만 결정론적 검사라는 의미의 보장이 생겨.1

형식 명세를 미리 작성할 수 있는 영역에서는 이 구조를 더 엄격하게 적용할 수 있어. 에이전트 출력이 형식 계약을 만족하는지 비교하는 검사는 계약과 결과를 코드로 대조할 수 있지만, 사용자의 의도를 형식 규칙으로 옮기는 단계 자체가 불확실하면 그 앞단의 불확실성은 남아.1

헷갈리지 말아야 할 점

  • 하네스는 더 좋은 모델과 다르다. 모델의 지능을 높이는 대신, 모델이 행동하는 맥락·도구·경로·검사 조건을 설계하는 계층이야.
  • 문서화와 강제는 다르다. 문서가 규칙을 설명할 수는 있지만, 모델이 반드시 따르게 만들지는 못해. 독립 코드가 통과·실패를 판정할 수 있는 조건만 강제에 가까워져.
  • 검증과 증명은 다르다. 형식 계약을 만족했다는 사실은 그 계약 범위 안의 보장이야. 계약 밖의 분석 품질이나 사용자의 의도까지 옳다고 증명하는 것은 아니야.
  • 자율성과 결정론은 양자택일이 아니다. 모델이 탐색하고 판단할 공간은 남겨 두면서, 금지 행동과 형식 조건처럼 중요한 경계만 코드로 닫을 수 있어.

관련 문서

남은 질문들

  • 어떤 업무 조건을 형식 명세로 바꿀 수 있는지 판단하는 실무 기준은 무엇일까?
  • 같은 하네스가 여러 모델에서 통하는지, 특정 모델의 습관에 묶이는지 어떻게 측정할까?
  • 결정론적 훅을 늘릴 때 지연·비용·유지보수 부담이 어디서 커지는지 어떤 지표로 볼까?

각주

  1. GeekNews, 「예측 불가능한 천재를 감싸는 법」(2026-07-15) 원문 소개 ↩︎ ↩︎2 ↩︎3 ↩︎4 ↩︎5 ↩︎6 ↩︎7 ↩︎8 ↩︎9