한줄 요약
AI 기능이 포함된 서비스는 기존 외주 개발 방식으로 발주하면 반드시 문제가 생긴다.
AI 기능이 들어간 서비스를 외주 개발로 진행할 때, 클라이언트와 개발사가 같은 언어로 대화하지 못해 프로젝트가 삐걱대는 경우가 늘고 있다. 이건 실력 문제가 아니다. AI가 동작하는 방식 자체가 기존 소프트웨어와 근본적으로 다른데, 발주 방식은 여전히 옛날 방식을 고수하기 때문이다.
AI 기능은 왜 "완성"을 정의하기 어려운가
일반적인 웹이나 앱 기능은 명확하다. 버튼을 누르면 데이터가 저장된다. 저장이 되거나, 안 되거나 둘 중 하나다. 그래서 완성 여부를 판단하기 쉽다.
AI 기능은 다르다. LLM 기반 답변 기능을 예로 들면, 같은 질문에도 매번 조금씩 다른 답이 나온다. 답이 맞는지 틀리는지가 0과 1로 나뉘지 않는다. "대체로 맞지만 가끔 엉뚱한 말을 한다"는 상태가 기본값이다. 이걸 이해하지 못한 채 "AI 챗봇 기능 개발"을 외주로 발주하면, 납품받은 다음 날부터 "왜 이런 답이 나오냐"는 클레임이 시작된다.
개발 외주를 맡길 때 AI 기능이 포함된다면, 발주서에 "어느 정도의 범위 안에서 어떤 기준으로 동작해야 하는가"를 명시해야 한다. "AI가 답을 잘 해야 한다"는 요구사항은 사실상 요구사항이 아니다.
좋은 외주 개발사가 반드시 물어봐야 할 것들
AI 기능을 제대로 다뤄본 개발사는 프로젝트 초반에 클라이언트에게 반드시 몇 가지를 확인한다. 이 질문이 나오는지 안 나오는지로 개발사의 AI 경험 수준을 가늠할 수 있다.
첫째, 실패 케이스를 어떻게 정의할 것인가. AI가 틀렸을 때 서비스가 어떻게 반응해야 하는지를 설계 단계에서 잡지 않으면, 나중에 UX가 무너진다.
둘째, 성능을 어떤 지표로 측정할 것인가. 단순히 "잘 작동한다"는 감각이 아니라, 실제로 측정 가능한 기준이 있어야 한다. 예를 들어 답변의 정확도, 오류 발생 비율, 사용자가 답변을 무시하고 직접 다시 입력하는 빈도 같은 것들이다.
셋째, 비용 구조를 어떻게 가져갈 것인가. LLM API 호출 비용은 사용량에 따라 폭발적으로 늘어날 수 있다. 트래픽이 늘었을 때 비용이 어떻게 변하는지를 미리 설계하지 않으면, 서비스가 잘 될수록 적자가 커지는 상황이 온다.
이 세 가지를 묻지 않는 개발사라면, AI 기능 개발 경험이 충분하지 않을 가능성이 높다.
클라이언트가 알아야 할 "AI 외주"의 현실
외주 개발을 맡기는 클라이언트 입장에서도 준비가 필요하다. 특히 세 가지를 미리 이해해두면 프로젝트가 훨씬 수월하게 흘러간다.
AI 기능은 출시 후에도 계속 손봐야 한다. 일반 기능은 개발하고 배포하면 특별한 이유가 없는 한 그 상태가 유지된다. AI 기능은 다르다. 사용자가 쓰면서 예상 밖의 입력이 들어오고, 그에 따라 시스템을 조정해야 하는 일이 계속 생긴다. 프로젝트 종료 후 운영 계획을 처음부터 함께 논의해야 한다.
"이건 왜 이렇게 나오냐"는 질문에 개발사도 답하기 어려운 상황이 생긴다. LLM의 동작은 규칙 기반이 아니기 때문에, 특정 케이스에서 왜 그런 답이 나왔는지 추적하는 게 일반 버그보다 훨씬 복잡하다. 이 부분을 이해하고 있어야 불필요한 갈등을 줄일 수 있다.
학습 데이터나 레퍼런스 자료가 품질을 좌우한다. RAG 기반으로 내부 자료를 활용하는 AI 기능이라면, 클라이언트 측에서 제공하는 자료의 품질이 결과물의 품질을 직접 결정한다. 개발사만 잘해서 되는 게 아니다. 자료 정비는 클라이언트가 해야 할 일이다.