생성형 AI가 보편화되면서 수많은 서비스가 사업계획서를 대신 써주고, 원하는 인테리어 도면을 그려주며, 그럴듯한 평균 매출을 예측해 제시합니다. 하지만 이러한 도구들은 첫 창업자가 문을 연 뒤 맞닥뜨릴 냉혹한 현실의 변수, 즉 폭우가 쏟아지거나 배달 수수료가 인상되고 피크타임 동선이 꼬이는 위기 상황을 사전에 검증해 주지 못합니다.
2026년 10월 열린 Google DeepMind AI Hackathon에서 1인 단독으로 참가해 전체 1위(우승)를 차지한 김태현 님의 프로젝트 **〈Ten Thousand Stores, 만 개의 가게〉**는 AI를 바라보는 질문의 틀을 근본적으로 뒤바꿨습니다. **“AI에게 답을 달라고 하지 마라. 루프(Loop)를 달라고 해라. 답은 그 루프에서 살아남은 것이다.”**라는 철학 아래, 현실에서 감당하기 어려운 비싼 시행착오를 가상에서 싸고 되돌릴 수 있는 10,000개의 평행우주 시뮬레이션으로 전환했습니다.
이 프로젝트는 거대 언어 모델(LLM)을 활용해 프로덕트를 만들 때 반드시 지켜야 할 아키텍처 원칙인 생성과 판정의 엄격한 분리(Separation of Generation and Evaluation), 반도체 공정과 보안 레드티밍을 결합한 이종 도메인 융합, 그리고 240분이라는 극한의 타임어택을 돌파한 에이전트 하네스(Harness) 엔지니어링의 정수를 보여줍니다.
먼저 알아두면 좋은 개념
- 컨텍스트 창과 토큰 비용: 거대 컨텍스트 모델이 다중 파일과 타입 명세, 테스트 피드백을 하나의 작업 기억으로 묶는 원리(5장).
- Claude Code 기본 구조: 에이전트의 오라클 침범을 막는
forbidden-paths와 보안 경계(3장).- Claude Code 확장 단위: 확률적 추론을 수행하는 에이전트와 결정론적 연산을 수행하는 도구의 역할 분담(3장).
- Claude Code Agent Teams와 Subagent 차이점: 병렬 작업 레인 분할과 작성-검증 에이전트의 분리 아키텍처(4장).
1. 기획의 대전환: 반사실적(Counterfactual) 시뮬레이션
전통적인 AI 프로덕트는 주로 “어떤 업무를 자동화할까”에 집중합니다. 카페 창업을 예로 들면 예산에 맞는 공간과 메뉴를 추천하는 방식입니다. 하지만 이는 ‘추천을 잘하는 AI’에 불과하며, 의사결정권자가 계약서에 서명하기 전 느끼는 근원적인 불안을 해소하지 못합니다.
인간은 현실에서 수천 번 파산해 볼 수 없고, 자신이 세운 하나의 가설에 확증 편향을 갖기 쉽습니다. 반면 컴퓨터와 AI는 수만 개의 **반사실(Counterfactual)**을 병렬로 살아보며 스스로를 무너뜨리는 시뮬레이션을 수행할 수 있습니다.
| 구분 | 전통적인 AI 도구 (Automation) | 반사실적 시뮬레이션 도구 (Counterfactual Loop) |
|---|---|---|
| 핵심 질문 | ”이 카페를 차리면 얼마나 벌 수 있을까?" | "이 선택은 어떤 조건에서 무너지고, 무엇을 바꾸면 살아남는가?” |
| AI의 역할 | 그럴듯한 사업계획서와 평균 수치 생성 | 극단적 위기 시나리오 공격 및 공간·운영 방어 대안 탐색 |
| 결과물 | 단일 예측 보고서 (정답의 환상) | 10,000개의 생존/파산 분기 매트릭스 (검증된 회복탄력성) |
| 의사결정 기여 | 성공을 막연히 확신시킴 | 비싼 시행착오를 가상의 되돌릴 수 있는 실험으로 치환 |
성공을 맹목적으로 확신시켜 주는 AI가 아니라, 실패할 조건부터 먼저 시험해 보고 그 파산을 견뎌낸 대안만 남기는 루프를 구축하는 것이 이 기획의 출발점이었습니다.
2. 이종 도메인의 결합: 반도체 수율과 사이버 보안 레드티밍
단순히 예쁜 3D 공간 툴을 보여주는 것을 넘어 실질적인 의사결정 데이터를 제공하기 위해, 완전히 서로 다른 두 산업의 메커니즘을 결합했습니다.
1) 하드테크 반도체 공정: 100×100 수율 매트릭스
반도체 엔지니어들은 실리콘 웨이퍼 한 장 위에서 수만 개 칩의 양품과 불량(수율)을 한눈에 조망합니다. 〈만 개의 가게〉는 이 기법을 이식하여 500개의 AI 설계 가족 20개의 극한 위기 변이 = 10,000개의 매장 매트릭스를 구축했습니다. 사용자는 00001번부터 10000번 매장까지 각 공간이 36개월간 어떤 이유로 생존하거나 파산했는지를 직관적인 수율 히트맵으로 확인합니다.
2) 사이버 보안: 적대적 공격-방어 레드티밍 (Adversarial Loop)
장밋빛 평균치를 완전히 배제하기 위해 보안 분야의 레드티밍 개념을 도입했습니다.
- 파산 설계자 (Attacker Agent): 폭우, 배달 플랫폼 수수료 인상, 인근 경쟁점 입점, 피크타임 주문 병목을 악의적으로 조합하여 매장을 가장 처참하게 파산시키려 공격합니다.
- 가게 설계자 (Defender Agent): 공격을 버텨내기 위해 좌석 수를 덜어내고 픽업 바 길이를 늘리거나, POS 대수를 추가하고 메뉴 단계를 단순화하는 등 공간과 운영의 방어 패치를 제출합니다.
3. 아키텍처 원칙: 생성(AI)과 판정(코드)의 철저한 분리
AI 프로덕트를 만들 때 가장 치명적인 안티패턴은 언어 모델에게 “3년 뒤 순이익이 얼마인가?”처럼 숫자 계산까지 전부 맡기는 것입니다. 확률적으로 다음 토큰을 생성하는 LLM의 특성상 그 순간 필연적으로 **수학적 환각(Hallucination)**이 발생합니다.
이를 극복하기 위해 〈만 개의 가게〉는 **생성자(Generator)**와 **결정론적 오라클(Deterministic Oracle)**을 물리적으로 분리했습니다.
- 생성 계층 (Gemini 4 Argon):
- 공간 레이아웃 파라미터(좌석 수, 동선 길이, 설비 대수)와 위기 시나리오를 JSON 패치(Patch) 형태로 ‘제안’만 수행합니다.
- 모델은 절대 재무 수치나 대기열 결과를 직접 단정하지 않습니다.
- 결정론적 오라클 계층 (
engine/oracle.ts):- AI가 제안한 JSON 패치를 입력받아 보증금(묶인 현금), 초기 CAPEX, 예비비, 월 고정비/변동비를 순수 코드로 계산합니다.
- 주문과 제조 병목은 M/M/c 대기열 큐잉 이론(Queueing Theory) 수식을 통해 오차 없이 수학적으로 계산됩니다.
- 오라클 격리 (
forbidden-paths):- AI 에이전트가 채점 기준이나 정답지(
tests/), 오라클 코드를 열람하거나 수정할 수 없도록 파일시스템 경로 레벨에서 차단했습니다. - Claude Code 기본 구조에서 다룬 보안 경계 및 권한 제어와 마찬가지로, 에이전트가 테스트 코드를 조작해 스스로 통과 판정을 내리는 치팅(Cheating)을 원천 방어한 것입니다.
- AI 에이전트가 채점 기준이나 정답지(
4. 240분 타임어택 하네스: 계약 우선(SPEC.md)과 3레인 병렬화
해커톤 공식 개발 시간은 단 4시간(240분)이었습니다. 1인 개발자가 적대적 AI 루프, 3D 프론트엔드, Cloud Run 배포, 검증 테스트를 순차적으로 구현하는 것은 물리적으로 불가능합니다. 이를 극복하기 위해 두 가지 하네스(Harness) 공학을 적용했습니다.
1) 계약 우선(Contract-First)과 SPEC.md 동결
첫 번째 코드를 작성하기 전, 시스템 전체의 입출력 데이터 규격(TypeScript 타입)과 SPEC.md를 먼저 확정하고 동결(Freeze)했습니다. 데이터 계약이 고정되면 프론트엔드와 백엔드가 서로의 구현 완료를 기다리지 않고 병렬로 작업할 수 있습니다.
2) 3개 레인(Lane)의 병렬 에이전트 구동
Antigravity와 AI Studio를 활용하여 개발 작업을 3개의 독립된 레인으로 나누어 동시에 진행했습니다.
- Lane 1 (재무/데이터 레인): 36개월 재무 오라클 계산 엔진 구현 및 서울시 상권 공공 데이터 백테스트 연동.
- Lane 2 (에이전트/인프라 레인): Gemini 4 Argon 기반의 적대적 공격-방어 루프 및 Google Cloud Run 자동 배포 파이프라인.
- Lane 3 (프론트엔드 레인): 100×100 매트릭스 시각화 및 인터랙티브 3D 뷰어 (인터페이스가 고정되어 백엔드 작업과 완전 독립 구동).
3) 작성(Build)과 독립 검증(Audit)의 분리
Obsidian + Quartz v5 + Cloudflare Pages로 온톨로지 블로그 구축기에서 소개한 배포 전 검증 스크립트(verify.mjs)와 동일하게, 코드를 작성하는 에이전트와 검증하는 에이전트를 엄격히 분리했습니다. 검증 에이전트는 작성자의 주관적 설명을 믿지 않고, 고정된 16개 테스트 케이스와 원본 데이터셋, 실제 배포된 Live URL만을 바탕으로 매 커밋의 무결성을 독립 감사했습니다.
5. 거대 컨텍스트 모델(Gemini 4 Argon)의 실전적 의미
Google의 Gemini 4 Argon은 입력·추론·출력이 통합된 100만 토큰 컨텍스트 창과 다중 파일 코드 작업, 3D 공간 추론 능력을 갖춘 모델입니다.
이 거대한 작업 기억의 가치는 단순히 많은 텍스트를 한 번에 읽는 데 있지 않습니다. 컨텍스트 창과 토큰 비용에서 다루었듯, 복잡한 시스템을 개발할 때는 **[기획 의도 + SPEC.md 계약 + 여러 파일에 걸친 코드베이스 + 이전 테스트 실패 로그]**가 하나의 동일한 작업 맥락 안에서 결속되어야 에이전트의 환각과 방향 상실을 막을 수 있습니다.
Gemini 4 Argon은 공간과 숫자의 상호작용을 인터랙티브 화면으로 표현하고, 실패 신호를 받아 설계를 지속해서 수정하는 다중 파일 작업 전반에서 컨텍스트의 정합성을 완벽하게 유지하는 앵커 역할을 수행했습니다.
6. AI 시대의 프로덕트 철학: 나만의 돋보기 만들기
모델이 발전하여 더 넓은 컨텍스트를 지원하고 코딩 능력이 향상되더라도, 그 능력이 저절로 훌륭한 제품이 되지는 않습니다.
김태현, 해커톤 우승 회고 중
“모델에는 새로운 가능성을 제안하게 하고, 계산에는 일관된 규칙을 두고, 검증에는 독립적인 근거를 주고, 마지막 선택은 사람에게 남기는 것. 이번에 제가 만들고 싶었던 것은 ‘나 대신 정답을 말하는 AI’가 아니었습니다. 내가 아직 생각하지 못한 선택을 보여주되, 그 선택을 믿기 전에 무엇을 확인해야 하는지도 함께 알려주는 도구였습니다.”
현실에서 한 번 실패하기에는 비용이 너무 크지만, 결정하기 전에 반드시 검증해 보고 싶은 영역이 있다면 바로 그곳이 AI를 덧붙일 자리가 아니라 AI를 중심으로 새로운 제품 구조를 설계하기 시작할 자리입니다.
레퍼런스 및 출처
- 김태현(Tae hyeon Kim, Kakao Mobility Business Manager), Google DeepMind 해커톤 우승 기술편 — 아르곤과 함께 ‘만 개의 가게’를 설계한 방법 (LinkedIn)
- BZCF(비즈까페), AI 패러다임과 루프에 관한 통찰
함께 읽으면 좋은 글
- 컨텍스트 창과 토큰 비용: 100만 토큰 거대 컨텍스트 창이 다중 파일과 시스템 맥락을 보존하는 원리
- Claude Code 기본 구조: 에이전트의 오라클 침범을 방어하는 보안 경계와 설정 스택
- Claude Code 확장 단위: 확률적 추론 에이전트와 결정론적 도구의 유기적 결합
- Claude Code Agent Teams와 Subagent 차이점: 병렬 레인 분할과 작성-검증 에이전트 분리 하네스
- Obsidian + Quartz v5 + Cloudflare Pages로 온톨로지 블로그 구축기: 독립 검증 파이프라인으로 무결성을 지키는 엔지니어링 사례