예측 불가능한 천재를 감싸는 법
요약
AI 제품의 예측 불가능성을 줄이기 위해서는 모델 자체에 의존하기보다, 코드로 규칙을 강제하는 '하네스 엔지니어링'이 필수적입니다. 통제 구조는 모델, 하네스, 문서, 훅 네 계층으로 나뉘며, 오직 독립적으로 작동하는 '훅(hook)'만이 반복 오류를 막고 규칙을 보장할 수 있습니다.
핵심 포인트
- AI 제품은 판단 영역과 코드 보장 영역을 분리해야 합니다.
- 통제력은 모델 < 하네스 < 문서 < 훅 순으로 강해집니다.
- 오직 '훅'만이 모델의 동의와 무관하게 규칙을 강제할 수 있습니다.
- 실질적인 보장은 사람이 정의한 명세에 대한 고정된 검사에 의존합니다.
- 같은 요청에도 결과가 달라지는 AI 제품에서 반복 오류를 줄이려면 지침을 늘리기보다 모델이 거스를 수 없는
결정론적 코드로 통제해야 함 - 통제 구조는 모델, 하네스, 문서, 훅의 네 계층으로 나뉘며, 특정 조건에서 독립적으로 작동하는
훅(hook) 만 규칙을 강제할 수 있음 - 정확성을 코드로 판정할 수 있는 작업은 보장할 수 있지만 미묘한 분석 오류처럼 판단이 필요한 작업은 다시 모델에 의존하므로, 모델이 발전해도
검증의 공백은 사라지지 않음 - AI 제품은 모델의 판단에 맡길 부분과 코드로 보장할 부분을 구분하는
하네스 엔지니어링이 필요하며, 통제가 부족하면 오답을 내고 지나치면 비싼 일반 소프트웨어가 됨 - 누구나 같은 모델을 빌릴 수 있다면 제품별 기준·코드·데이터·통합 환경을 축적한
감싸는 계층(래퍼) 이 방어 가능한 경쟁력이 되며, Cursor의 성장이 이를 보여줌
문서의 규칙을 코드로 옮기기
- Claude Code가 세션마다 읽는 파일에 특정 행동을 금지해도, 내용을 이해하고 동의한 뒤 같은 행동을 반복할 때가 있음
- 규칙을 조건 충족 즉시 명령을 차단하는 코드로 옮기자 모델의 판단과 관계없이 금지된 행동이 멈춤
- The Verification Tax가 다룬
AI 출력 검토 비용은 사후 검토를 늘리는 대신 상류 단계의 엔지니어링으로 줄일 수 있음 - 한 사람과 개인 도구만으로 만든 최소 통제 구조도 대규모 AI 제품이 풀어야 할 문제와 같은 형태를 가짐
- 실패 유형을 훅 종류에 연결하고 계층별 측정 가능 범위를 정리한 실무 지침은 별도의 X 게시물에서 확인할 수 있음
통제를 구성하는 네 계층
-
통제력은 아래에서 위로 갈수록 강해지는
네 계층으로 구성됨
모델: Claude Opus 4.8이나 GPT-5.5처럼 뛰어나더라도 같은 요청에 다른 답을 낼 수 있으며, 어떤 지침도 이 특성을 완전히 없애지 못함
하네스: Claude Code, Codex, OpenClaw처럼 모델을 실행하고 모델이 무엇을 볼지 결정하지만 큰 방향만 유도할 수 있음
문서: CLAUDE.md와 AGENTS.md에 선호 사항, 프로젝트 맥락, 규칙, 누적된 수정 사항을 담지만 모델이 다른 정보와 함께 판단하므로 따르지 않을 수 있음
훅: 특정 상황을 감시하다 독립적으로 작동하는 코드로, 모델의 동의 여부와 무관하게 금지된 명령을 차단함 -
네 계층 중 협상하지 않는 것은 최상단의
훅뿐임 -
훅으로 옮긴 규칙은 모델이 우회할 수 없어 반복 오류가 사라지고 사람이 검토할 범위도 줄어듦
코드로 보장할 수 없는 판단의 영역
-
통제해야 할 표면은 줄일 수 있지만 완전히 닫을 수는 없음
-
“이 명령을 실행하지 말라”는 조건은 코드로 검사할 수 있음
-
“분석이 미묘하게 잘못된 방향으로 흐르지 않게 하라”는 조건은 판단이 필요하며, 이를 판정하는 다른 모델도 다시 예측 불가능성을 가짐
-
출력을 실제로 증명할 수 있는 시스템은 사람이 미리 작성한 기준과 결과를 코드로 비교하며,
정답을 정확히 정의할 수 있는 영역에서만 작동함 -
모델이 업그레이드돼도 판단 문제가 사라지지 않으므로 모델을 감싸는 통제 계층은 계속 필요함
형식 명세에 기반한 보장
- SEVerA는 에이전트 출력이 형식 계약을 충족한다고 보장할 수 있지만, 계약을 사전에
형식 논리로 작성해야 하며 이런 검사가 가능한 영역에만 적용됨 - VeriGuard는 LLM 에이전트에 검증된 안전성을 추가하지만 사용자의 수동 검증은 여전히 필요함
- LLM이 사용자의 의도를 형식 규칙으로 번역하는 단계 자체는 예측 불가능함
- 실질적인 보장은 결국 사람이 작성한 명세에 대한
고정된 검사에 의존함 - “자기 개선 에이전트”는 발생한 결과를 평가해 이후 동작을 개선하지만, 특정 출력 하나가 옳다고 증명하는 방식과는 다름
확률적 엔진을 결정론적 소프트웨어로 감싸기
-
전통적인 소프트웨어 테스트는 원하는 출력과 하나의 정답을 정한 뒤 예측 가능한 코드를 검사하는 방식으로 발전함
-
AI 네이티브 제품은 같은 프롬프트에도 다른 결과를 내는
확률적 엔진을 중심에 두므로 기존 테스트의 전제가 깨짐 -
Hamel Husain의 지적처럼 수십 년간 구축된 소프트웨어 테스트 규율은 하나의 정답을 전제하지만, AI에서는 바로 그 정답이 사라짐
-
여러 개발자가 예측 불가능한 엔진은 유지하되 매번 똑같이 작동하는
결정론적 코드로 감싸는 방식에 수렴하고 있음 -
Claude Code에서는 조건을 검사할 방식을 선택할 수 있음
-
코드가 독립적으로 통과 또는 실패를 판정하면
보장을 얻음 -
모델이 조건 충족 여부를 판정하면 판단 결과만 얻을 수 있음
Claude Code의 Skills와 /goal
- Skills는 에이전트가 호출할 수 있는 구조화된 절차지만, 실행 여부를 모델이 선택하고 도중에 이탈할 수 있어
문서 계층에 속함 - /goal은 명시된 조건을 충족할 때까지 작업을 계속하게 해 강제 계층에 가까움
- 다만 매 턴 뒤 작고 빠른 모델이 조건 충족 여부를 판단하므로 다른 모델처럼 잘못 판정할 수 있음
/goal
은 Stop 훅을 감싼 기능이며, 직접 작성한 Stop 훅에서는 모델 대신 스크립트가 독립적으로 통과 또는 실패를 판정할 수 있음
- Claude Code 문서는 결정론적 검사에는
스크립트, 판단이 필요한 검사에는 모델을 사용하도록 두 방식을 구분함
개인 설정이 조직 규모로 확장될 때
- 개인 환경에서는 에이전트가 규칙 하나를 무시해도 몇 분을 소비하는 데 그치며, 중요한 사례는 개인 훅으로 막을 수 있음
- 같은 에이전트를 사용하는
200명 규모 회사에서는 구성원마다 개인 훅이 존재하지 않고 규칙이 하나의 공유 파일에 들어갈 수 있음 - 공유 규칙이 한 번 무시되면 해당 파일이 실행되는 모든 곳에서 같은 문제가 나타날 수 있으며, 조직의 보호 수준은 가장 느슨하게 작성된 규칙에 좌우됨
- 통제 구조는 개인 설정과 같지만 규모가 커질수록
오류 비용이 달라짐
무엇을 보장하고 무엇을 열어둘 것인가
-
Every의 에이전트 네이티브 아키텍처 가이드는 기능을 작성된 코드가 아니라 “루프 안에서 작동하는 에이전트가 달성하는, 기술된 결과”로 정의함
-
이 접근은 모델이 즉흥적으로 움직이게 하고 결과를 중심으로 제품을 설계하지만, 통제가 필요한 지점에서는 다시 코드로 돌아감
-
빈번하거나 중요한 경로인
핫 패스는 코드로 옮기도록 권함 -
일부 작업에는 에이전트의 판단에 맡겨서는 안 되는 검증이 필요함을 인정함
-
모델 중심 제품 설계와 통제 중심 엔지니어링은 서로 반대처럼 보이지만, 같은 아키텍처를 양쪽 끝에서 다룸
-
실제 설계에서는 제품의 어느 지점을 어느 정도까지 코드로 고정할지 결정해야 함
-
너무 적게 고정하면 보장이 필요한 작업에서도 모델이 즉흥적으로 판단해 고객에게 확신에 찬 오답을 전달할 수 있음
-
너무 많이 고정하면 모든 경로를 코드로 작성한 일반 소프트웨어가 되고, 모델은 기존 코드가 하던 일을 느리고 비싸게 수행함
-
OpenAI 팀이 부르는
하네스 엔지니어링은 제품 각 지점에서 모델의 판단이 필요한 부분과 코드의 보장이 필요한 부분을 의도적인 비율로 나누는 작업임
모델보다 오래 축적되는 감싸는 계층
- 모델은 누구나 같은 것을 빌릴 수 있고 모델 연구소의 일정에 따라 모든 사용자에게 동시에 개선되므로 가장 방어하기 어려운 계층임
- 경쟁자가 코드 저장소 전체를 읽더라도 특정 업무에서 무엇을 보장하고 무엇을 열어둘지 결정해 온
누적된 판단까지 얻지는 못함 - 이러한 판단은 모델이 거스를 수 없는 계층으로 구현되며 제품별 통제 구조와 함께 계속 축적됨
- 모델을 둘러싼 코드, 기준, 데이터, 업무 통합 환경의 총합이 장기적인
경쟁 우위를 형성함
Cursor가 축적한 통제 계층
-
AI 코딩 도구 Cursor는 자체 범용 모델을 만들지 않고 Claude, GPT, Gemini, Grok 사이에서 요청을 라우팅하며 모델을 빌릴 수 있는 상품처럼 취급함
-
Anthropic의 Claude Code가 우수한 모델에 먼저 접근하더라도 Cursor를 대체하지 못함
-
Cursor 매출은 지난해 11월 약
10억 달러에서 6월 약 40억 달러로 증가함 -
SpaceX는 4월에 확보한 옵션을 지난주 행사해 Cursor를
600억 달러에 인수하기로 합의했으며, 이는 벤처 투자 스타트업 인수 중 역대 최대 규모임 -
Cursor가 축적한 것은 더 나은 범용 모델이 아니라 제품을 감싼 계층임
-
전체 저장소를 동기화하고 검색 가능한 상태로 유지하는
코드베이스 인덱스 -
하루 수억 건의 편집에서 개발자가 어떤 제안을 수락하거나 거절하는지 학습한 자체 자동완성 모델
-
Fortune 500 기업 대부분에 자리 잡은 엔터프라이즈 통합 환경
-
모델 회사가 더 나은 모델을 보유하더라도 편집기, 인덱스, 개발자의
사용 습관까지 소유하지는 못함
AI 네이티브 제품의 지속성을 가르는 질문
- Cursor처럼 통제 계층을 구축한 사례는 드물며, AI를 업무에 사용하는 다수는 이런 감싸는 계층을 만들지 않았거나 그 존재를 알지 못함
- 회사 규모에서는 이 계층을 어떻게 구축하느냐가 실제 사용을 견디는 AI 네이티브 제품과 누구나 빌릴 수 있는 모델 위의 인상적인 데모를 구분함
- 기반 모델이 무료가 되더라도 무엇이 남는지가 제품의
지속 가능한 자산을 가르는 질문임
댓글과 토론
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기