예측 불가능한 천재를 감싸는 법

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에서는 바로 그 정답이 사라짐
  • 여러 개발자가 예측 불가능한 엔진은 유지하되 매번 똑같이 작동하는 결정론적 코드로 감싸는 방식에 수렴하고 있음
    • Dex Horthy의 12-factor agents는 좋은 에이전트를 “대부분 소프트웨어로 구성된” 시스템으로 정의함
    • Anthropic의 building effective agents는 작업을 “미리 정의된 코드 경로”로 실행하고 “프로그래밍 방식의 검사”를 추가하도록 권함
  • 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 네이티브 제품과 누구나 빌릴 수 있는 모델 위의 인상적인 데모를 구분함
  • 기반 모델이 무료가 되더라도 무엇이 남는지가 제품의 지속 가능한 자산을 가르는 질문임
Read Entire Article