“요청이 동시에 수십 개가 들어오면 어떻게 될까?”
“상태 확인과 할당 사이에 다른 요청이 끼어들면?”
이 질문들은 용이의 프롬프트에는 들어 있지 않았습니다. 결국 AI는 사용 가능한 파드를 체크하면서 파드를 분배하는 가장 일반적인 방법으로 기능을 구현했습니다. AI는 주어진 요구사항을 기준으로, 가장 그럴듯한 상식들을 조합했습니다. 순번으로 분배하고, 이미 사용 중인 리소스는 피하는 것. 각각은 합리적인 판단이었습니다.
하지만 이 판단들이 비동기 환경에서는 서로 다른 전제를 요구한다는 점을 명시하지 않았기 때문에 AI는 충돌을 인식하지 못했습니다. 그 결과 개별적으로는 올바른 기능을 구현했음에도 요청이 쏟아져 들어오는 실제 서비스 상황에서는 문제가 되었습니다. 논리의 빈틈이 드러나 버린 것입니다.