AI 애플리케이션 개발의 패러다임 시프트: 결정론적 개발에서 확률론적 개발로
브라이언의 이어지는 이야기 : 태호의 Insight #3
최근 들어 생성형 AI, 특히 LLM(Large Language Model)을 활용한 스타트업들을 만나면서, AI를 어떻게 개발하고 개선해나가야 하는지에 대한 고민을 자주 하게 됩니다. 많은 팀이 여전히 전통적인 “결정론적” 방식의 소프트웨어 개발에 익숙한 상태로 AI 프로젝트를 진행하다 보니 여러 어려움에 부딪히곤 하더군요.
이번 글에서는 “결정론적 개발”과 “확률론적 개발”의 차이를 짚어보고 AI 애플리케이션에서 제품 개발 프로세스는 어떻게 변화되어야 하는지 살펴보았습니다.
1. 결정론적 개발 vs. 확률론적 개발
전통적으로 소프트웨어는 “특정 입력(A)을 주면 특정 출력(B)이 나와야 한다”라는 전제로 만들어졌습니다. 우리가 흔히 말하는 기능 단위 테스트나 유닛 테스트도 이 결정론적 패러다임 위에서 돌아갑니다. 이러한 방식은 요구사항을 정확히 충족하는지, 프로그램이 오류 없이 동작하는지를 맞다/틀리다로 체크하기에 적합하죠.
그런데 LLM 처럼 학습된 모델을 활용하는 경우, 입력 A를 주었을 때 항상 동일한 B가 나오지 않습니다. 같거나 유사한 입력을 넣어도 맥락에 따라 다른 문장을 생성할 수 있고, 때로는 의도하지 않은 환각(Hallucination) 현상이 발생하기도 합니다.
이처럼 비결정성이 내재된 모델을 다룰 때는 “딱 하나의 정답” 여부로 판단하기보다 얼마나 원하는 답변에 가까운 출력을 안정적으로 뽑아내는지(확률적 성능)를 관찰하고 개선해나가는 접근이 필수적입니다.
2. 제품 전체로 확장되는 확률론적 개발
몇 년 전만 해도 우버(Uber)의 차량 배차 알고리즘, 에어비앤비(Airbnb)의 다이나믹 프라이싱, 페이스북(Facebook)의 뉴스피드, 아마존(Amazon)의 상품 리스트 랭킹처럼 확률론적 개발이 일부 기능이나 팀, ML엔지니어 같은 특정 직군에만 적용되는 경우가 많았습니다.
그러나 AI 애플리케이션에서 AI 모델 활용은 단순히 제품의 일부가 아니라 제품 그 자체가 됩니다.
생성형 텍스트를 활용한 챗봇, 이미지를 생성하거나 변환하는 크리에이티브 툴, 사용자 데이터를 실시간 분석해 개인화된 추천을 제공하는 서비스 등. 이러한 애플리케이션에서는 AI 모델의 출력이 곧 사용자 경험을 좌우합니다.
3. 변화하는 제품 개발 프로세스
과거에는 “요구사항 → 개발 → 테스트 → 배포”라는 선형적 과정이 일반적이었습니다. 그러나 AI 애플리케이션 개발은 이와 달리 반복적이고 순환적인 프로세스를 가집니다.
모델이나 로직을 업데이트해 배포하고,
실제 사용자의 입력·행동 데이터를 모니터링하면서 성능을 측정하고,
피드백과 추가 데이터를 반영해 모델이나 프롬프트를 조정하고,
다시 배포하는 과정을 끊임없이 반복합니다.
LLM 기반 서비스라면, 예를 들어 프롬프트 구성이 조금 달라졌을 뿐인데도 출력 품질이나 사용자 경험이 크게 바뀔 수 있습니다. 이런 특성은 전통적 개발 방식과는 달리 다음과 같은 장치들을 필수로 요구합니다.
(1) 평가 시스템(Evaluation System)의 구축
AI 모델은 작동 여부만을 테스트하는 것으로 끝나지 않습니다. 다양한 입력과 시나리오에서 어떤 결과가 도출되었는지, 그 결과가 얼마나 유효했는지 측정할 수 있어야 합니다. 이를 위해 정확도(Accuracy), 정밀도(Precision), 재현율(Recall) 등 기계학습 전반의 대표적 지표를 사용하기도 하고, 동시에 사용자 설문이나 직접 확인 등을 통한 정성적 평가를 병행하기도 합니다.
(2) 사용자 중심의 피드백 루프
AI 모델은 출시 후에도 끊임없이 업데이트되고 개선되어야 합니다. 실제로 서비스에 접속한 사용자의 행동 데이터를 분석해, 어느 지점에서 모델이 기대와 어긋나는 출력을 내놓았는지 찾고, 이를 모델 재학습 또는 프롬프트 수정의 근거로 삼습니다. 예컨대 사용자가 챗봇 답변에 ‘부정적 피드백’을 남겼다면, 그 사례를 모아 모델이 유사 상황에서 더 좋은 대답을 하도록 만들 수 있습니다.
(3) 결과의 편차 관리
확률론적 모델은 같은 입력에 대해서도 달라질 수 있기 때문에, “평균 성능”뿐 아니라 “편차”도 중요합니다. 예를 들어 “70% 확률로 좋은 답변을 주지만, 30% 확률로는 심각하게 틀린 정보를 준다”는 모델이 있을 때, 이 30%가 일어나는 상황을 어떻게 줄이고 대비할지를 고민해야 합니다. ‘최소 정답률’, ‘오류율 허용 범위’ 등을 명확히 설정하고, 모니터링해야 합니다.
4. AI 애플리케이션의 시대, 팀 전체의 전환
제가 일했던 Lyft의 배차(dispatch)팀과 당근마켓의 피드(feed)팀이 떠오릅니다. 이들은 ML엔지니어 위주의 확률론적 개발 전문가로 조직의 성공을 이끌었습니다. 이것은 더 이상 특정 팀의 전유물이 아닙니다. AI 모델이 제품의 중심이 된 지금, 모든 구성원이 이 패러다임을 이해하고 실천하는 것이 필수적으로 요구됩니다.
AI 애플리케이션의 성공은 평가 시스템의 구축, 사용자 중심의 피드백 루프 설계, 결과 편차 관리라는 세 축 위에서 이뤄집니다. 이제 전통적인 개발 방식의 안정성과 AI의 불확실성을 조화롭게 결합해 사용자에게 가치를 전달할 때입니다.
새로운 패러다임의 중심에서 팀이 함께 성장하며 혁신을 만들어가는 경험을 준비해보세요. 그 혁신은 지금부터 시작입니다.

