예측 불가능한 천재를 감싸는 법
7 hours ago
3
- 같은 요청에도 결과가 달라지는 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 네이티브 제품과 누구나 빌릴 수 있는 모델 위의 인상적인 데모를 구분함
- 기반 모델이 무료가 되더라도 무엇이 남는지가 제품의 지속 가능한 자산을 가르는 질문임
-
Homepage
-
Tech blog
- 예측 불가능한 천재를 감싸는 법