AI-Native 시리즈 · Strategy OS
우리는 우리와 논쟁하는 기계를 만들었다. 그것의 최고 기능은 "아니오"라는 한마디다.
1분 요약 — 이 글에서 얻어갈 것
열흘, 아홉 개의 마일스톤, 그리고 거절을 본질로 삼는 전략 엔진: 목표를 진단인 척 포장한 것, 주인 없는 마일스톤, 아무도 응답하지 않는 경보를 모두 거부한다 — 그리고 자신의 마지막 마일스톤을 닫아야 할 순간이 왔을 때, 이 엔진은 우리마저 거절했다, 오직 인간만이 결정할 수 있기 때문이다. 기억해야 할 원칙 하나: 신뢰성은 시스템이 무엇을 만들어내겠다고 약속하는가가 아니라, 무엇을 받아들이기를 거부하는가에서 나온다.
2주 전 나는 전략 문서를 CI에 통과시키는 것에 관해 글을 썼다. 스무 개의 기획 산출물, 게이트 스크립트, 정직한 스코어보드. 독자로서는 이렇게 물어도 무리가 아니다: 좋다, 서류야 컴파일이 된다 치자 — 그런데 엔진은 어디 있는가?
이것이 바로 그 엔진이다. 열흘, 마일스톤 M2부터 M10까지, 근거 기반을 받아 진단 → 옵션 → 결정 → 아키텍처 → 실행 → 적응의 순서로 밀고 나가는 전략 운영체제다 (인테이크 단계는 Rumelt의 '진단 우선' 커널을 강제한다 [4]), 그리고 그 과정에서 테스트 스위트는 30에서 147까지 늘어났다 (전체 흐름을 마일스톤별로 보면: 30 → 52 → 69 → 91 → 104 → 122 → 131 → 137 → 147 — 각 숫자는 여러분이 직접 diff해볼 수 있는 커밋이다).
그리고 내가 하고 싶은 이야기는 이 엔진이 무엇을 만들어내는지가 아니다. 이 엔진이 무엇을 거부하는지에 대한 이야기다.
거부 목록 (전부 실제 에러 메시지다)
모든 모듈은 클럽 입구의 문지기처럼 이유를 대며 손님을 받아들인다. 다음은 코드베이스에서 그대로 가져온 문자열이다:
- "build", "grow", "launch"로 시작하는 진단을 입력하면 다음을 던진다: 그건 목표지 진단이 아니다. 진단 옷을 입은 목표는 그 자리에서 걸린다.
- 형용사만 다를 뿐 같은 베팅인 두 가지 전략 옵션을 제출하면 거부당한다 — "정말로 다르다는 건 다른 베팅을 의미하지, 다른 형용사를 의미하지 않는다."
- 이름이 명시된 인간 담당자가 없는 마일스톤: "담당자가 없는 마일스톤은 희망 사항일 뿐이다."
- 후행 지표만 있는 측정 계획: "후행 지표만 있는 측정은 부검 일정표에 불과하다."
- 기준이 없는 의사결정 게이트: "기준 없는 게이트는 의례에 불과하다."
- 대응 방안이 명시되지 않은 경보 트립와이어: "주인 없는 경보음."
- 동기가 명시되지 않은 경쟁사 예측 행동: "게임 이론이 아니라 그냥 감이다."
지식 레이어도 거부한다. 전략 프레임워크는 데이터 카드 형태로 존재하며, 각각 정직한 근거 등급을 달고 있다 — 그리고 우리 조사 결과, 이 등급은 명성과 반비례하는 것에 가까웠다 (가장 유명한 도구일수록 근거가 가장 약한 경우가 많았다. 심지어 이 분야에는 "SWOT 분석: 이제는 리콜할 때다"라는 제목의 논문까지 나왔을 정도다 [3]). 그래서 로더는 이런 규칙을 강제한다: 근거가 약한 프레임워크는 물리적으로 "판단" 역할을 맡을 수 없다. 브레인스토밍은 할 수 있어도, 판단은 절대 할 수 없다. 유명하다고 해서 유효한 건 아니다 — 이건 타입 에러다.
메커니즘 (한 번만 이름을 붙이자면)
쓰기 경계 강제 (Write-boundary enforcement):모든 무결성 규칙은 사후 검토가 아니라 쓰는 바로 그 순간에 작동한다. 근거 없는 '사실'은 나중에 정리하라고 표시되는 게 아니라, 애초에 그래프에 들어올 수조차 없다. 검토는 이미 일어난 일을 잡아내지만, 문은 애초에 무엇이 존재할 수 있는지를 결정한다. 이것이 이 시스템의 유일한 트릭이고, 열 개의 품질 감지기 각각이 양방향으로 검증된 이유다: 알려진 불량 사례를 심어 반드시 잡아내야 하고, 깨끗한 픽스처에서는 반드시 침묵해야 한다. 절대 울리지 않는 화재경보기는 고장난 것이고, 항상 울리는 화재경보기는 가구에 지나지 않는다.
그리고 그것은 우리마저 거부했다
마일스톤 8은 일종의 졸업 과제였다: 실제 전략 질문을 엔진 전체에 처음부터 끝까지 통과시키는 작업이었다. 근거를 투입하고, 진단을 내리고, 진짜로 서로 다른 세 가지 옵션을 세우고, 시나리오 스트레스 테스트를 거쳐 트레이드오프 순위를 매기는 데까지 이르렀다. 순위는 명확했다 — 8.2 대 3.7 대 3.4. 답은 누구 눈에도 뚜렷했다.
그런데 기계는 그것을 문서로 남기지 않으려 했다.
다른 모든 것과 똑같이 쓰기 경계 방식으로 강제되는 이 시스템의 가장 근본적인 규칙은, 에이전트는 결정을 저술할 수 없다는 것이다. Decision 노드는 인간 소유자가 없으면 아예 생성될 수 없다. 그래서 최종 보고서에는 굵은 글씨로 이렇게 적혀 있을 뿐이다 — Chosen Strategy: NONE — awaiting the decision owner —, 그리고 네 가지 품질 평가 기준 중 두 개는 정직하게 FAIL을 표시하며 그 이유를 명시한다: 대조할 선택된 전략(인간의 Decision)이 없음. 마일스톤은 열린 채로 남았다. '아니오'라고 말하도록 우리가 만든 이 기계는 자기 자신의 결승선에도 '아니오'라고 말했고, 그것을 만든 AI는 서명을 위조하기를 거부했다.
내가 제일 좋아하는 디테일은 더 소소하다. 우리의 성적표 도구는 모든 산출물을 채점하는데, 어느 마일스톤이 만점을 받고 돌아왔을 때 그 점수를 이렇게 출력했다 1.00 (sandbagged?) — 이 시스템은 구조적으로 만점을 보고도 한쪽 눈썹을 치켜세울 수밖에 없다. 우리는 좋은 소식조차 의심해서 우리를 조롱하는 시스템을 만든 셈이고, 곰곰이 생각해본 끝에 이것이야말로 이 시스템에서 가장 신뢰할 만한 특성이라는 결론을 내렸다.
왜 거부는 단순한 안전장치가 아니라 경제학인가
McKinsey가 7월에 발표한 에이전트형 경제학 관련 글은 토큰 가격이 하락하는 동안 기업의 AI 지출이 12개월 만에 세 배로 늘었다고 보고하며, Pay-i의 CEO David Tepper의 말을 인용한다: "Tokens are not value; tokens are the bill." (번역: 토큰은 가치가 아니다; 토큰은 청구서일 뿐이다.) [1] 그의 논리는 이렇다: 사용량 기반 과금 구조에서는 활동과 가치가 완전히 분리되어버려서, 에이전트는 아무도 받아들여서는 안 될 결과물을 만들어내며 예산을 영원히 태워버릴 수 있다는 것이다. 독립적인 측정 결과도 이 문제의 윤곽을 뒷받침한다: 에이전트형 작업 비용의 약 60%는 첫 답변 이후에 이루어지는 검사, 수정, 재검증 작업에서 발생한다 [2].
그 논리를 비용 대시보드가 멈추는 지점보다 한 걸음 더 밀고 나가보자: 비용의 대부분이 검증이라면, 만들 수 있는 것 중 가장 지렛대 효과가 큰 구성 요소는 값싸고, 이르고, 허세를 부릴 수 없는 '아니오'다. 문에서 입장을 거부당한 모든 시도는, 우리가 결코 지불하지 않아도 되는 다운스트림 검증 비용이나 마찬가지다. 거부는 시스템의 규정 준수 계층이 아니다. 거부야말로 마진 그 자체다.
패턴 / 안티패턴
패턴: 쓰기 경계에서 강제되는 규칙들; 발동과 침묵 양쪽 모두 검증된 열 개의 탐지기; 측정되지 않은 항목은 "측정되지 않음"으로 보고되며 종합 점수에서 제외(절대 초록불로 집계되지 않음); 정책적 요청이 아니라 구조적 요건으로서의 인간 결정.
안티패턴: 거부 대신 경고만 하는 게이트(경고란 미리 용서해둔 거부에 불과하다); 측정한 적도 없는 걸 슬쩍 집계하는 종합 점수; 유명세로 선택된 프레임워크; 그리고 가장 치명적인 것 — 티켓을 닫으려고 에이전트가 '친절하게' 인간의 서명을 대신 채워 넣는 행위.
훔쳐 쓰기 (SMART 핵심)
리뷰 프로세스를 하나 골라보자 — 코드 리뷰든, 덱 리뷰든, 채용 루프든. 2주 안에: (1) 문 앞에서 거부해야 할 결함 세 가지를 실행 가능한 체크로 적는다; (2) 각 체크마다, 반드시 걸러내야 할 심어놓은 불량 사례 하나와 반드시 통과해야 할 깨끗한 사례 하나를 만든다 — 둘 다 갖춰야 하며, 그렇지 않으면 그 체크는 유효하지 않다; (3) 한 달간 거부 횟수를 센다. 횟수가 0이면 그 게이트는 그저 가구다. 한 번도 침묵하지 않는다면 그건 소음이다. 어느 쪽이든, 이제는 측정 가능한 방식으로 알게 된다.
첫 번째 원칙, 한 문장으로: 신뢰성은 시스템이 무엇을 만들어내겠다고 약속하는가가 아니라, 무엇을 받아들이기를 거부하는가에서 나온다.
15살짜리를 위한 멘탈 모델: 이 기계는 집사가 아니라 문지기다. 집사는 당신이 요구하는 것은 무엇이든 가져다주고, 틀렸을 때는 우아하게 사과한다. 문지기는 문 앞에서 신분증을 확인한다 — 어느 기억에 남는 밤에는, 당신의 신분증까지도.
레포는 당분간 비공개로 남는다. 마지막 마일스톤은 정직하게 열린 채로, 인간의 한 문장을 기다리고 있다. 나와 이 기계 모두 그 상태에 만족한다 — 솔직히 말하면, 그렇게 고집한 쪽은 기계였다.
참고문헌
[1] Hämäläinen, L., Patel, M., Blumberg, S., Catlin, T., Lala, W. "Is that AI agent worth it? Agentic economics and the modern operating model." (번역: 그 AI 에이전트는 그만한 가치가 있는가? 에이전트형 경제학과 새로운 운영 모델) McKinsey Quarterly, July 2026. (Tepper 인용문은 기사 원문 그대로.)
[2] Salim, M. et al. "Tokenomics: Quantifying Where Tokens Are Used in Agentic Software Engineering." (번역: 토큰노믹스: 에이전트형 소프트웨어 엔지니어링에서 토큰이 쓰이는 곳을 정량화하다) arXiv:2601.14470, January 2026. (링크 확인일 2026-08-02.)
[3] Hill, T., Westbrook, R. "SWOT Analysis: It's Time for a Product Recall." (번역: SWOT 분석: 이제는 리콜할 때다) Long Range Planning 30(1), 1997. (제목은 원문 인용; 해당 논문의 현장 연구는 SWOT 산출물이 대개 후속 단계에서 쓰이지 않는다는 것을 발견했다.)
[4] Rumelt, R. Good Strategy Bad Strategy. Crown Business, 2011. (진단 → 지도 방침 → 일관된 행동으로 이어지는 커널로, 우리 시스템의 인테이크가 강제하는 구조다; 인용이 아니라 설명임.)
AI-Native Series · Paul Jialiang Wu · love12xfuture · 인용된 모든 에러 메시지는 코드베이스에서 그대로 가져온 것이며, 모든 테스트 개수는 커밋에 대응한다; 그 기계가 만들어내지 않은 단 하나는, 만들어내서는 안 될 바로 그것이다.