더북(TheBook)

첫째, 비기능 요구사항을 먼저 정의하세요. 응답 시간 목표, 동시 접속자 수, 장애 대응 방식 같은 조건을 코드 작성 전에 명확히 해야 합니다. 이 조건이 없으면 AI도 고려하지 않고, 개발자도 검증하지 않습니다.

둘째, AI에게 조건을 명시적으로 전달하세요. “기능 만들어 줘”가 아니라 “이런 조건에서 동작하는 기능을 만들어 줘”라고 요청해야 합니다. 시작점이 달라지면 결과물도 달라집니다.

셋째, 테스트로 검증하세요. 비기능 요구사항은 코드 리뷰만으로 확인할 수 없습니다. 통합 테스트, 부하 테스트, 스트레스 테스트를 통해 실제 조건에서 검증해야 합니다. 그리고 이 테스트 설계 역시 AI의 도움을 받을 수 있습니다.

용이의 코드는 기능적으로 완벽했습니다. 하지만 시스템으로 합쳐지는 순간 무너졌습니다. 기능이 되는 것과 프로덕션에서 신뢰할 수 있는 것은 다른 문제입니다. AI는 되는 코드를 만들어 줍니다. 하지만 ‘신뢰할 수 있는 코드로 만드는 건 개발자의 몫’입니다. 신뢰할 수 있는 코드를 만드는 것이 바로 바이브 엔지니어가 할 일입니다.

다음 장에서는 또 다른 함정을 살펴봅니다. 기능도 되고, 성능도 괜찮아 보이는데, 어느 날 갑자기 조용히 틀리기 시작하는 버그 이야기를 할 겁니다. 에러 메시지 하나 없이 잘못된 결과를 내뱉는 논리 오류의 문제에 대해 자세히 알아봅시다.