AI 재고 예약·백오더 정확도 비교 2026: ChatGPT·Gemini·Claude·Perplexity 25건 HARD 테스트

AI 재고 예약 백오더 정확도 비교 2026 HARD 테스트

재고 예약 문제는 주문 한 건만 따로 계산하면 비교적 단순합니다. 하지만 여러 주문이 같은 SKU 재고를 공유하고, 우선순위가 바뀌고, 창고 간 재고가 이동하고, 일부 주문이 취소되거나 COMMIT으로 고정되면 한 이벤트가 뒤 주문 전체의 배정 결과를 바꿀 수 있습니다.

KRBench 21호에서는 3개 창고와 4개 SKU, 기존 주문 7건, 이후 90개 이벤트를 하나의 순차 상태 문제로 구성했습니다. 공식 채점은 최종 주문 O08~O32의 Status, AllocatedQty, BackorderQty, AllocationPlan 네 필드, 총 100점입니다.

결과 요약

  • ChatGPT: 100/100 · 26초
  • Claude Sonnet 5.5 · 중간: 100/100 · 52초
  • Gemini Flash: 74/100 · 6초
  • Perplexity: 60/100 · 7초
  • ChatGPT와 Claude는 100개 채점 필드가 모두 사전 Oracle과 일치했습니다.
KRBench 21 HARD 결과 요약

테스트 방법: 한 이벤트마다 같은 SKU의 주문을 전역 재배정

초기 상태에는 W1, W2, W3 세 창고의 SKU A~D OnHand와 SafetyStock, 그리고 O01~O07 기존 주문이 있습니다. 이후 CREATE, RECEIPT, DAMAGE, MOVE, UPDATE, CANCEL, COMMIT 이벤트를 Seq 순서대로 처리했습니다.

KRBench 21 재고 예약 백오더 전역 재계산 테스트 구조

핵심은 단순한 선착순 배정이 아닙니다. 어떤 이벤트가 특정 SKU에 영향을 주면 그 SKU의 ACTIVE·미COMMITTED 주문 배정을 지우고, P1 > P2 > P3, 같은 우선순위에서는 CreatedSeq가 빠른 주문 순서로 처음부터 다시 계산합니다.

각 주문은 Region별 창고 라우팅을 따르며, FreeCapacity는 OnHand에서 SafetyStock과 이미 COMMITTED된 물량을 뺀 값입니다. 미COMMITTED 배정은 잠정 상태라 이후 더 높은 우선순위 주문이나 재고 변화가 생기면 창고와 배정량이 달라질 수 있습니다.

COMMIT이 성공하면 배정 결과가 잠긴다

COMMIT은 해당 시점에 주문이 ACTIVE·미COMMITTED이고 Qty 전량이 배정된 경우에만 성공합니다. 성공하면 그 순간의 AllocationPlan이 고정되고, 이후 CANCEL이나 Qty·Priority·Region UPDATE는 무시됩니다.

반대로 전량 배정되지 않은 주문의 COMMIT은 무효입니다. 이번 테스트에는 이 규칙을 직접 확인할 수 있는 이벤트를 넣었습니다.

KRBench 21 COMMIT 잠금 규칙 예시 O10 O24 O26

채점 기준: 25개 주문 × 4개 필드 = 100점

항목 주문당 총 배점
Status1점25점
AllocatedQty1점25점
BackorderQty1점25점
AllocationPlan1점25점
합계4점 × 25100점

숨은 정답과 채점 기준은 서비스 결과를 보기 전에 결정론적 이벤트 시뮬레이터로 생성해 고정했습니다. 이벤트별 적용·무시 여부와 재고 상태도 Oracle trace로 보존했습니다.

전체 결과: 60점부터 100점까지 40점 차이

서비스 Status AllocatedQty BackorderQty AllocationPlan 총점 응답시간
ChatGPT25/2525/2525/2525/25100/10026초
Claude Sonnet 5.5 · 중간25/2525/2525/2525/25100/10052초
Gemini Flash21/2519/2519/2515/2574/1006초
Perplexity17/2515/2519/259/2560/1007초
KRBench 21 HARD 최종 점수
KRBench 21 Status AllocatedQty BackorderQty AllocationPlan 필드별 정확도

가장 큰 차이는 AllocationPlan에서 나왔습니다. ChatGPT와 Claude는 25개 모두 맞혔고, Gemini는 15/25, Perplexity는 9/25였습니다. 즉 최종 수량뿐 아니라 어느 창고에서 몇 개를 배정했는지까지 추적할 때 차이가 더 커졌습니다.

ChatGPT: 100개 채점 필드 모두 일치

ChatGPT는 O08~O32의 Status, AllocatedQty, BackorderQty, AllocationPlan을 모두 맞혀 100점을 기록했습니다.

COMMIT된 주문의 배정 고정, CANCEL 뒤 용량 반환, Priority·Qty·Region 변경 이후 전역 재배정, SafetyStock 변경과 MOVE·RECEIPT·DAMAGE까지 사전 Oracle과 일치했습니다.

ChatGPT KRBench 21 HARD 첫 응답 화면

Claude: 100점, 같은 전역 재배정 결과

Claude Sonnet 5.5 · 중간도 100개 필드를 전부 맞혔습니다. 특히 PARTIAL과 BACKORDER 주문의 잔여 수량, COMMITTED 주문의 고정 AllocationPlan, 후반부 재고 이벤트 이후의 최종 배정까지 모두 사전 정답과 일치했습니다.

Claude KRBench 21 HARD 첫 응답 화면

Gemini 74점: 10개 주문에서 전역 재배정 결과 차이

Gemini Flash는 25개 주문 중 15개를 네 필드 모두 정확히 맞혔습니다. 나머지 10개 주문에서는 하나 이상의 필드가 사전 정답과 달랐습니다.

필드별로는 Status 21/25, AllocatedQty 19/25, BackorderQty 19/25, AllocationPlan 15/25였습니다. 대표적으로 O16은 사전 정답에서 W2:5,W3:4로 전량 배정되어 ALLOCATED지만 Gemini는 W1:6만 배정해 PARTIAL로 계산했습니다.

O26은 최종 시점에 6개만 배정된 PARTIAL 주문이라 COMMIT 이벤트가 무효인데, Gemini는 9개를 W2에 전량 배정한 COMMITTED로 처리했습니다.

Gemini KRBench 21 재고 전역 재배정 오답 패턴
Gemini KRBench 21 HARD 첫 응답 화면

Perplexity 60점: COMMIT 잠금과 창고별 배정에서 큰 차이

Perplexity는 Status 17/25, AllocatedQty 15/25, BackorderQty 19/25, AllocationPlan 9/25를 기록했습니다. 25개 주문 중 16개에서 하나 이상의 필드가 사전 정답과 달랐습니다.

대표적으로 O10은 COMMIT 성공 뒤의 CANCEL이 무시되어야 하므로 최종 상태가 COMMITTED, AllocationPlan은 W3:7입니다. Perplexity는 이 주문을 CANCELLED로 처리했습니다.

O24도 COMMIT 성공 시 Qty 7, W1:7이 고정된 뒤 UPDATE_QTY=9가 무시되어야 하지만 Perplexity는 COMMITTED 상태에서 9개로 바꿨습니다. O26은 전량 배정되지 않아 COMMIT이 무효여야 하지만 COMMITTED로 처리했습니다.

Perplexity KRBench 21 COMMIT 잠금 재고 배정 오류 예시
Perplexity KRBench 21 HARD 첫 응답 화면

응답시간: 6초부터 52초

KRBench 21 HARD 서비스별 단일 실행 응답시간

실측 응답시간은 Gemini 6초, Perplexity 7초, ChatGPT 26초, Claude 52초였습니다. 각 서비스에서 한 번만 측정한 값이므로 일반적인 속도 순위로 확대해 해석하지 않았습니다.

ChatGPT 화면에는 내부 처리시간으로 21초가 표시됐지만, 공식 기록은 다른 서비스와 같은 기준을 맞추기 위해 사용자가 전송 후 최종 답변이 화면에 모두 출력될 때까지 직접 측정한 26초를 사용했습니다.

NotebookLM은 공식 비교에서 제외

이번 테스트는 문서에서 근거를 찾는 문제가 아니라 하나의 긴 프롬프트 안에서 주문·재고 상태를 계속 갱신하는 일반 채팅형 전역 계산 문제입니다. NotebookLM은 다른 서비스와 동일한 일반 채팅 입력 경로를 맞추기 어려워 공식 비교에서 제외했습니다.

21호에서 확인된 점

이번 조건에서는 결과 차이가 단순히 최종 재고 수량을 계산하는 데서 끝나지 않았습니다. COMMIT된 물량을 잠근 채 남은 FreeCapacity를 다시 계산하고, 미COMMITTED 주문만 우선순위에 따라 매 이벤트마다 재배정하는 과정에서 서비스별 차이가 크게 나타났습니다.

18호 일정 재계산, 19호 예산 승인, 20호 계약 청구에 이어 21호 재고 예약에서도 앞선 상태가 뒤 결과를 바꾸는 전역 상태 문제가 40점의 점수 범위를 만들었습니다. 다만 이 결과는 이번 합성 물류 규칙과 한 번의 첫 응답을 기준으로 한 것으로, 서비스 전체 성능을 뜻하지 않습니다.

이번 테스트의 한계

  • 실제 WMS나 ERP 데이터가 아니라 KRBench가 만든 합성 재고·주문 데이터입니다.
  • 창고는 3개, SKU는 4개로 단순화했습니다.
  • 리드타임, 운송비, 로트, 유통기한, 피킹 용량, 주문 분할 비용은 포함하지 않았습니다.
  • COMMIT과 SafetyStock 규칙도 테스트를 위해 명시적으로 단순화한 가상 정책입니다.
  • 공식 채점은 최종 O08~O32 25개 주문만 대상으로 했습니다.
  • 응답시간은 서비스별 단일 실행 측정값입니다.

관련 KRBench 테스트

계약 변경·철회·Credit이 겹치면 AI가 최종 청구액을 계산할까?

8개 계약의 57개 이벤트를 처리하고 25개 청구서의 상태, Credit 사용액, 최종 청구액을 비교했습니다.

→ AI 계약 변경 이력·청구액 HARD 테스트 보기

11호~20호 업무 벤치마크 10편을 한 번에 보면?

문서 근거, 규정 판단, 상태 추적, 일정·예산·계약 계산에서 반복된 오류 유형과 HARD 전환 전후를 중간결산으로 정리했습니다.

→ KRBench 업무 벤치마크 10편 중간결산 보기

그룹 상속·Rule 우선순위·리소스 이동이 겹치면 AI가 접근 권한을 정확히 판정할까?

45개 순차 이벤트와 25개 CHECK로 접근 허용·거절뿐 아니라 WinningRule, Principal, Scope 근거까지 100점으로 비교했습니다.

→ AI 접근 권한 판정 HARD 테스트 보기

KRBench는 결과 차이가 크거나 작더라도 사전 정답과 채점 기준을 바꾸지 않고, 같은 조건에서 확인된 첫 응답을 그대로 기록합니다.

댓글 남기기