한 벤더가 자사의 비전 피킹 AI가 "99.9% 정확하다"고 말한 적이 있다. 나는 물었다. "어느 현장에서, 어떤 SKU로, 어떤 조명 아래서요?" 침묵. 그러자 피치 덱이 나왔고, 거기엔 실험실 수치로 가득했다. 미국에서 20년간 창고업에 몸담으며 나는 벤더의 숫자를 그 자리에서 번역하는 법을 배웠다. 실험실 정확도는, 그 모델이 당신의 건물, 당신의 SKU, 당신의 성수기를 살아남기 전에는 아무 의미가 없다.

그래서 창고에 들어가는 모든 AI에 대한 나의 규칙은 이렇다. 빅뱅 전환은 없다. AI는 먼저 30일 동안 섀도로 함께 달린다. 보고, 기록하고, 아무것도 건드리지 않는다. 그 다음에야—그때서야 비로소—고라이브를 논의한다.

섀도 모드는 테슬라에서 빌려왔다

내가 만든 게 아니다. 2019년 4월, 테슬라 오토노미 데이에서 테슬라는 새로운 자율주행 소프트웨어를 검증하는 방법을 설명했다. 고객 차량에서 "섀도 모드"로 실행한다는 것이다—백그라운드에서 조용히 동작하고, 차량 제어를 전혀 건드리지 않고, 단지 "내가 했을 일은 이거야"를 기록한 뒤 실제 운전자가 한 것과 비교한다. 테슬라는 이후 캘리포니아 DMV에 서면으로 이렇게 밝혔다. 섀도 모드 기능은 차량 제어를 작동시키지 않고 조용히 동작하므로, 새로운 동작은 차량 군단에 도달하기 전에 실제 환경 조건에서 입증된다고.

창고 버전도 모양은 똑같다. AI가 돌아가고, 사람이 운영을 돌리고, AI의 출력은 기록만 되고 실행되지 않는다. 예를 들어 AI 보충 제안을 평가하고 있다고 하자. 섀도 모드에서는 AI가 매일 제안 목록을 생성하지만, 그 목록은 절대 밖으로 나가지 않는다. 피커는 원래 프로세스로 작업한다. 교대 근무가 끝나면 시스템은 AI 제안과 베테랑 운영자가 실제로 한 일을 한 줄씩 대조한다. 일치, 불일치, 혹은 "AI가 미쳤다" 세 가지다.

마지막 구분이 중요하고, 그래서 섀도 모드는 "파일럿"이 아니다. 파일럿은 소규모지만 실제 비즈니스를 실제 리스크에 노출시킨다—틀리면 대가를 치른다. 섀도 모드는 전체 운영을 리스크 제로로 커버한다—틀려도 로그의 한 행일 뿐이고, 다음 날 아침에도 출고는 계속된다. 그 30일은 확신이 아니라 증거를 사는 시간이다. 벤더가 99.9%라고 하면 30일치 diff 로그를 달라고 해라. 못 내면 논의할 게 없다.

30일, 세 가지 지표

30일이 끝나면 손에 세 가지 숫자가 있어야 한다. 내 체크리스트는 이 세 가지만 보고 다른 건 보지 않는다—그 외는 다 잡음이다.

첫째: 일치율. AI의 판단이 인간 운영자가 최종적으로 한 판단과 얼마나 일치하는지다. 내 기준은 2주 연속 99% 이상이다. 표현에 주목하라—"30일 평균"이 아니라 "2주 연속"이다. 평균은 죄를 숨긴다. 2주 95% 뒤에 2주 100%면 평균은 그럴듯한 97.5%가 되지만, 앞 2주의 문제는 어디로 갔나? 연속된 깨끗한 2주가 모델이 운이 좋은 게 아니라 안정적이라는 걸 증명한다. 그리고 일치율은 시나리오별로 기록한다. 표준 SKU, 비정형 아이템, 콜드체인 상품은 따로 채점한다. 섞으면 약점이 평균 속에 사라진다.

둘째: 레이턴시. AI가 데이터를 받아 출력을 내놓기까지의 시간이다. 내 기준은 인간이 같은 판단을 내리는 데 걸리는 시간의 3분의 1 이하인 P95 레이턴시다. 사람보다 느린 AI는 현장에 설 자리가 없다—현장은 기다려주지 않는다. 이건 섀도 모드 중에 실제 데이터 볼륨에서만 정직하게 측정할 수 있다. 고라이브 후에는 레이턴시가 라인 옆 대기 시간이 되고, 그때 알게 되면 너무 늦다. 몇천 행짜리 테스트 DB에서 벤치마킹하게 두지 마라.

셋째: 황당률. AI 출력 중 완전히 말도 안 되는 것의 비율이다—콜드체인 상품을 상온 보관으로 보내라거나, 단종된 SKU를 발주하거나, 한 주문을 세 웨이브로 쪼개라는 식이다. 베테랑이라면 절대 하지 않을 실수다. 내 기준은 30일 동안 제로다. 일치율은 협상 가능하지만 황당은 안 된다. 황당한 출력 하나가 곧 모델이 당신 비즈니스의 경계를 모른다는 뜻이고, 그 AI는 오늘 아니면 내일 반드시 사고를 친다.

창고 피커가 현장의 시스템 터미널 옆에서 작업하고, AI 제안과 인간 운영을 병행 비교하는 모습

고/노고 회의

데이터를 들고 회의를 한 번 열어라. 네 주체, 좌석 고정: 창고 운영 책임자, IT, AI 벤더, 그리고 신뢰하는 독립적인 목소리 하나—외부 고문이든, 운영을 진짜 아는 베테랑 내부 인력이든. 이 회의의 임무는 하나뿐이다. 세 숫자와 기준을 대조하고 고냐 노고냐를 투표한다.

고는 세 기준을 모두 통과하고, 마지막 2주간 안정적이며, 예외 목록이 제로인 것이다. 노고는 기준 하나라도 미달이거나, 황당한 출력이 한 건이라도 기록된 것이다. 중간은 없다. "한 번 더 지켜보자"도 없다. 일주일 더 지켜보자는 건 섀도 모드 31일째라는 뜻이다—데이터가 결정한다. 병행 실행을 연장하든, 롤아웃을 접든 둘 중 하나다. "알려진 이슈를 안고 고라이브"는 메뉴에 없다.

대부분 팀이 놓치는 게 하나 더 있다. 전환 자체가 단계적이어야 한다는 점이다. 한 라인, 한 교대, 전체 롤아웃 전 깨끗한 일주일이다. 나이트 캐피털 참사를 거꾸로 읽어보면 교훈은 명백하다. 2012년 8월 1일, 트레이딩 회사는 새로운 주문 라우팅 코드를 그대로 운영에 투입했고, 누락된 서버 하나에서 잠들어 있던 루틴이 깨어났으며, 제때 멈추지 못해 약 45분 만에 약 440 million 달러가 증발했다. 새 코드를 먼저 서버 한 대에서 돌렸더라면 참사는 없었다. 창고도 마찬가지다. AI가 베테랑의 감시 속에 한 교대에서 "고라이브"로 일주일을 보내게 해라. 이게 열 번의 리뷰 회의보다 낫다. 단계적 일주일 동안은 아침 회의에서 숫자 하나만 본다. 어제 AI가 건드린 주문이 몇 개였고, 그중 잘못된 게 몇 개인지.

롤백 계획은 필요해지기 전에 작성하라

사고가 난 뒤에 쓴 롤백 계획은 계획이 아니라 부검 보고서다. 내 계획은 세 항목이고, 세 개 모두 전환 전에 작성하고 리허설한다.

첫째: 킬 스위치. WMS의 AI 모듈은 코드 배포가 아니라 설정 토글이어야 한다. 껐다 하면 운영은 5분 만에 완전 수동으로 복귀한다—문서화하고 기도하는 게 아니라 진짜 리허설한다. 나이트 캐피털은 "뭔가 잘못됐다"에서 수동으로 시스템을 끄는 데 45분이 걸렸다. 창고에서 45분이면 한 교대 출고 전체를 잘못된 존으로 오발송하고 내일 캐리어를 도크에 줄 세우기에 충분하다.

둘째: 데이터 격리. 고라이브 기간 중 AI가 건드린 건 전부 태그를 붙인다—AI가 조정한 슬롯 제안, AI가 병합한 웨이브, AI가 바꾼 발주점—그래야 롤백 때 한 번에 벗겨낼 수 있고 수동 프로세스의 히스토리를 오염시키지 않는다. 안 그러면 몇 달째 AI 잔재와 씨름하게 된다. 태그 규칙은 전환 후가 아니라 섀도 모드 중에 정의한다.

셋째: 지명된 책임자. 누가 롤백을 호출하는가? 내 규칙은 이렇다. 현장 운영 책임자가 거부권과 킬 스위치 권한을 쥐고, IT로 에스컬레이션할 필요도, 벤더가 오기를 기다릴 필요도 없다. 문제가 생기면 1분 1초가 돈이고, 승인 체인이 끝날 때쯤이면 화물은 이미 나갔다. 그 권한은 터진 날이 아니라 첫날 프로젝트 헌장에 적어둔다.

아마존은 2022년 11월 공개된 AI 비전 피킹 암 스패로우에서 이렇게 했다. 전체 군단 롤아웃 대신, 아마존은 텍사스주 샌마코스 풀필먼트 센터에서 파일럿을 하고, 파일럿 중에 불량률을 65% 낮춘 뒤에야 비로소 전개를 확대했다. 그 규모와 그 엔지니어링 병력을 가진 아마존도 스케일 전에 파일럿을 하는데, 다른 누구도 빅뱅 전환의 변명은 안 된다.

지금 AI 프로젝트를 협상 중이라면 계약에 조항 하나를 넣어라. 대금 마일스톤은 섀도 모드 수용과 연동된다. 통과 없이는 최종 대금도 없다. 서명하는 벤더는 자기 모델을 믿는 거고, 서명을 거부한 벤더는 당신에게 수업료를 아껴준 셈이다. 30일의 섀도 모드는 밤에 편히 잠들기 위한 대가다.

영어판 번역본입니다. 내용이 다를 경우 영어판을 우선합니다.