데이터 과학자란(불과 얼마 전까지만 해도) 노트북 환경 속에서 살아가며, 마치 인생이 달린 것처럼 하이퍼파라미터를 조정하는 사람이었습니다. 그리고 많은 경우, 실제로 프로젝트의 성패가 바로 그 작업에 달려 있었죠.
밤새도록 돌리던 그리드 서치(grid search)를 기억하시나요?
아니면 과학이라기보다 예술에 가까웠던 피처 엔지니어링 파이프라인 구축은요?
그리고 XGBoost 모델의 정확도를 추가로 0.7% 끌어올렸을 때의 그 만족감까지요.
2019년 무렵, 이것이 바로 데이터 과학자의 일이었습니다. 그리고 그건 매우 자연스러운 일이었죠. 강력한 모델이 필요하다면 직접 만들어야 했고, 제대로 동작하게 만들기 위해 많은 노력이 필요했습니다. 진짜 가치는 모델을 얼마나 잘 튜닝하고, 최적화하고, 데이터를 깊이 이해하느냐에 있었습니다.
하지만 지금은 상황이 달라졌습니다.
‘최첨단(state-of-the-art)’ 모델은 이제 API 한 번 호출하면 사용할 수 있습니다.
최고 수준의 언어 모델이 필요하신가요? 바로 가능합니다.
임베딩이나 멀티모달 추론이 필요하신가요? 그것도 이미 준비되어 있습니다.
과거 가장 어려웠던 모델링 작업들은 이제 대부분 확장 가능한 API 엔드포인트 뒤에 숨겨져 있으며, 이는 대부분의 팀이 자체적으로 구축할 수 있는 수준을 훨씬 뛰어넘습니다.
그렇다면 이제 질문은 이것입니다.
모델이 이미 존재한다면, 데이터 과학자의 일은 어디로 이동한 걸까요?
이제 가치는 단순히 모델 자체에만 있지 않습니다.
각 구성 요소들이 어떻게 연결되고, 어떻게 소통하며, 어떻게 적응하는지에 있습니다. 그리고 이러한 변화는 데이터 과학자의 역할 자체를 완전히 바꾸고 있습니다.
어떻게 바뀌고 있냐고요?
바로 그것이 이 글에서 다루고자 하는 핵심입니다.
무엇이 달라졌을까요?

1. .fit() 메서드를 우회하는 시대
현대적인 AI 프로젝트의 코드를 살펴보면, 실제 “모델링” 작업은 생각보다 많지 않다는 사실을 금방 알 수 있습니다.
물론 LLM(대규모 언어 모델)이나 임베딩 모델을 호출하는 코드는 등장합니다. 하지만 그것이 프로젝트의 핵심 난제인 경우는 드뭅니다.
진짜 어려운 작업은 오히려 다음과 같은 부분들입니다.
- 데이터 수집(Data Ingestion)
- 요청 라우팅(Routing)
- 컨텍스트 조합(Context Assembly)
- 캐싱(Caching)
- 모니터링(Monitoring)
- 재시도 처리(Retry Handling)
즉, 이제 .fit()을 사용하는 일은 코드에서 가장 흥미롭지 않은 부분 중 하나가 되어버렸습니다.
2. 새로운 구성 요소에 적응하기
오늘날에는 모델 내부 구조를 직접 다루기보다, 이미 준비된 구성 요소들을 조합해 시스템을 구축하는 방식이 중심이 되었습니다.
현재의 전형적인 AI 모델링 스택은 다음과 같은 요소들로 구성됩니다.
- 벡터 데이터베이스 (예: Pinecone, Milvus)
- 프롬프트 엔지니어링(Prompt Engineering)
- 메모리 레이어(Memory Layer)
- 함수 호출(Function Calling) 및 에이전트 호출(Agent Calls)
이 큰 그림을 보면, 이것은 더 이상 전통적인 의미의 모델링이 아닙니다.
시스템 설계(System Design) 에 가깝습니다.
여기서 중요한 점은, 이러한 구성 요소 중 어느 하나도 단독으로는 특별히 큰 가치를 만들지 못한다는 것입니다.
진짜 힘은 이들을 어떻게 연결하고(Connect), 조율하고(Orchestrate), 하나의 흐름으로 작동하게 만드는가 에서 나옵니다.
결국 현대 AI 개발의 경쟁력은 더 좋은 모델 하나를 만드는 것이 아니라, 여러 AI 구성 요소들이 함께 작동하도록 설계하는 능력으로 이동하고 있는 것입니다.
3. 모든 것을 연결하는 일 (Putting Everything Together)
현재 데이터 과학 코드의 대부분은 구성 요소들을 연결하는 작업에 사용됩니다.
더 이상 핵심이 선형대수학(Linear Algebra), 최적화(Optimization), 심지어 통계학(Statistics) 자체에 있는 것은 아닙니다.
대신 중요한 것은 다음과 같은 작업입니다.
- 여러 구성 요소 사이에서 데이터를 이동시키기
- 입력 형식을 맞추기
- 출력 결과를 파싱하기
- 상호작용 로그를 기록하기
- 분산 시스템 환경에서 상태(State)를 관리하기
즉, 현대 AI 시스템 개발은 모델을 만드는 일보다 모델을 작동하게 만드는 일에 더 가까워졌습니다.
실제로 코드를 분석해 보면 흥미로운 패턴이 나타납니다.
전체 코드 중 단 10~20% 정도만 모델 자체를 사용하는 작업(API 호출, 추론 실행)에 사용되고, 나머지 80~90%는 오케스트레이션(Orchestration) 에 사용됩니다.
여기에는 다음이 포함됩니다.
- 데이터 흐름 관리(Data Flow)
- 시스템 통합(Integration)
- 인프라 구성(Infrastructure)
결국 현대 AI 개발자는 모델을 학습시키는 사람이 아니라, 여러 서비스를 연결해 하나의 지능형 시스템으로 설계하는 사람에 가까워지고 있습니다.
데이터 과학자에서 AI 아키텍트로의 전환
오늘날 가장 큰 변화는 사고방식의 변화입니다.
이제 우리는 더 이상 단순히 어떤 함수를 최적화하는 사람이 아닙니다.
대신 하나의 전체 시스템을 설계하는 사람이 되어야 합니다.
고려해야 할 요소도 달라졌습니다.
- 응답 지연 시간(Latency)
- 비용(Cost)
- 안정성(Reliability)
- 사용자와의 상호작용 방식(User Interaction)
과거에는 이렇게 질문했습니다.
“모델 성능을 어떻게 더 높일 수 있을까?”
하지만 지금은 이렇게 질문합니다.
“이 전체 시스템이 실제 환경에서 어떻게 동작할까?”
아마 이런 생각이 들 수 있습니다.
“이건 완전히 다른 종류의 문제인데?”
맞습니다. 이 변화가 처음 시작됐을 때 많은 사람들(그리고 글쓴이 자신도)에게 낯설고 불편한 경험이었습니다.
오늘날의 AI 스택을 따라가기 위해서는 더 이상 통계학과 머신러닝만으로는 충분하지 않습니다.
이제는 다음과 같은 영역에도 익숙해야 합니다.
- API 개발 (FastAPI, Flask 등)
→ 모델 서비스 제공 및 요청 라우팅 - 컨테이너 기술 (Docker 등)
→ 배포 및 실행 환경 관리 - 비동기 프로그래밍 (Asyncio)
→ 다수의 요청을 효율적으로 처리 - 클라우드 인프라
→ 확장성(Scaling), 모니터링, 운영 - 데이터 엔지니어링 기초
→ 파이프라인 구축 및 데이터 저장
이 설명을 듣고 이런 생각이 들 수도 있습니다.
“이거 거의 백엔드 엔지니어링 아닌가?”
실제로 그렇습니다.
이 변화는 데이터 과학자와 소프트웨어 엔지니어 사이의 경계를 점점 흐리게 만들고 있습니다.
그리고 지금 가장 좋은 성과를 내는 사람들은,
데이터 과학과 엔지니어링 두 영역 모두를 자연스럽게 넘나들 수 있는 사람들입니다.
과거와 현재의 차이 (The Old vs. The New)
그렇다면 이제 핵심 질문은 이것입니다.
이러한 변화가 실제 코드에서는 어떻게 나타날까요?
과거의 프로젝트 (2019): 감성 분석(Sentiment Analysis)
많은 데이터 과학자들이 한 번쯤 경험해 본 전형적인 프로젝트입니다.
프로세스는 비교적 단순했습니다.
- 라벨링된 데이터셋 수집
- 피처 엔지니어링 수행 (TF-IDF, n-gram)
- 분류 모델 학습 (로지스틱 회귀, XGBoost)
- 하이퍼파라미터 튜닝
- 모델 배포
이 시기의 성공 요인은 명확했습니다.
- 좋은 데이터셋 확보
- 더 강력한 모델 구축 및 최적화
대표적인 흐름은 다음과 같았습니다.
데이터 → 특징 생성 → 학습(.fit) → 튜닝 → 배포
코드도 대체로 이런 모습이었습니다.
X = tfidf.fit_transform(texts)
model = XGBClassifier()
model.fit(X, labels)
pred = model.predict(new_data)
프로젝트의 핵심은 모델 자체의 성능이었습니다.
현대의 프로젝트 (2026): 자율형 고객 피드백 에이전트 (Autonomous Customer Feedback Agent)
오늘날의 시스템은 완전히 다른 방식으로 동작합니다.
현대적인 AI 시스템을 구축하려면 다음이 필요합니다.
- 고객 메시지를 실시간으로 수집(Ingest)
- 임베딩을 생성해 벡터 데이터베이스에 저장
- 관련 과거 컨텍스트 검색(Retrieval)
- 프롬프트를 동적으로 구성
- 도구 접근 권한을 가진 LLM으로 라우팅
(예: CRM 업데이트, 티켓 시스템 연동) - 대화 메모리 유지
- 품질과 안전성 모니터링
눈치채셨나요?
여기에는 학습 루프(training loop)가 없습니다.
즉,
데이터 → 검색 → 컨텍스트 조립 → LLM → 도구 실행 → 상태 관리 → 모니터링
이 구조에서는 모델 자체가 중심이 아닙니다.
오히려 모델은 하나의 구성 요소(Component) 에 불과합니다.
예를 들어 이런 느낌의 흐름입니다.
message = receive_customer_message()
context = vector_db.search(message)
prompt = build_prompt(
message=message,
history=context
)
response = llm.generate(
prompt,
tools=[crm_tool, ticket_tool]
)
save_memory(response)
monitor(response)
이 예시는 의도적으로 단순화되어 있지만 중요한 변화가 드러납니다.
과거에는 학습(Training) 이 시스템의 중심이었다면,
지금은 검색(Retrieval), 연결(Integration), 오케스트레이션(Orchestration) 이 중심입니다.
가치는 더 이상 모델 하나에서 나오지 않습니다.
여러 구성 요소들이 어떻게 연결되고, 실제 환경에서 함께 작동하는가가 현대 AI 시스템의 경쟁력이 되었습니다.
AI 아키텍트처럼 사고하는 법 (How to Start Thinking Like an AI Architect)
무엇이 달라졌는지 이해했다면, 이제 중요한 질문이 남습니다.
그렇다면 실제로 무엇을 다르게 해야 할까요?
이 변화에 뒤처지지 않고 앞으로 나아가려면 어떻게 해야 할까요?
짧은 답은 이것입니다.
모델을 만드는 사람이 아니라 시스템을 만드는 사람이 되어야 합니다.
조금 더 자세한 답은 다음과 같습니다.
다음의 기술 활용하는데 촛점을 맞춰라
1. 구성요소가 아니라 전체 시스템을 만들어라
예전에는 이렇게 생각했습니다.
“나는 모델을 학습시켰다.”
하지만 이제는 이렇게 생각해야 합니다.
“나는 입력을 받아 처리하고, 결과를 반환하는 전체 시스템을 만들었다.”
중요한 것은 더 이상 개별 작업 하나가 아닙니다.
2. 백엔드를 “위험할 정도로 충분히” 배워라
풀타임 백엔드 엔지니어가 될 필요는 없습니다.
하지만 자신의 시스템을 스스로 구축할 정도의 역량은 필요합니다.
특히 다음 영역에 집중하세요.
- 간단한 API 구축(FastAPI 정도면 충분)
- 비동기 요청 처리
- 로깅 및 오류 처리
- 기본 배포 역량(Docker+클라우드 플랫폼 하나 정도)
3. 불확실성과 친해져라
현대 AI 시스템은 기존 머신러닝 모델처럼 결정론적(Deterministic)이지 않습니다.
같은 입력에도 결과가 달라질 수 있습니다.
그래서 이제는 단순히 코드를 디버깅하는 것이 아니라,
행동(Behavior)을 디버깅하는 시대가 되었습니다.
이것은 프롬프트 반복 개선, 실패 시 대체 경로(Fallback) 설계, 출력 품질 평가를 의미하지만, 이러한 작업은 숫자로만 해결되지 않습니다.
4. 진짜 중요한 지표를 측정하라
예전에는 정확도(Accuracy)가 거의 전부였습니다. 하지만 지금은 응답 속도 (Latency), 요청당 비용 (Cost per Request), 사용자 만족도 (User Satisfaction), 작업 완료율 (Task Completion Rate)등이 중요해졌습니다.
현대 AI 시스템에서는 정확도 95%지만 실제 운영이 어려운 시스템보다 정확도 85%지만 빠르고 안정적이며 사람들이 실제 사용하는 시스템이 훨씬 더 가치 있습니다.

마지막 생각 (The Final Thought)
우리 분야에는 언제나 최신 모델, 가장 큰 벤치마크, 가장 화려한 아키텍처. 와 같이 기술적으로 보이는 것을 쫓고 싶은 유혹이 있습니다.
하지만 이 일에서 가장 가치 있는 부분은 사실 예전에도 그랬고 앞으로도 바로 사람(Human) 입니다.
결국 가장 중요한 것은 문제를 이해하는 능력입니다.
우리가 무엇을 해결하려 하는지 이해하는 일은, 어떤 데이터를 사용하는지 혹은 어떤 모델을 사용하는지보다 더 중요합니다.
다음과 같은 질문을 던지는 능력이 큰 차이를 만들어냅니다.
- 여기서 진짜 필요한 것은 무엇인가?
- 사용자는 무엇을 중요하게 생각하는가?
- 이 상황에서 ‘좋은 결과’란 실제로 무엇을 의미하는가?
이 부분만큼은 API 뒤로 숨길 수도 없고, 외부에 맡길 수도 없으며, 자동화할 수도 없습니다.
그래서 단순히 자동차의 엔진을 만드는 사람이 되려고 하지 마세요.
대신, 자동차가 어디로 가야 하는지 이해하고, 그 목적지까지 도달할 수 있는 전체 시스템을 설계하는 사람이 되어야 합니다.
<출처: https://towardsdatascience.com/from-data-scientist-to-ai-architect/>
'데이터 사이언스 & 데이터 엔지니어링' 카테고리의 다른 글
| 피처 엔지니어링 입문: 스케일링, 정규화, 표준화를 쉽게 이해하기 (0) | 2026.05.30 |
|---|---|
| 데이터를 이동, 변환, 신뢰하는 방법에 대한 완전 가이드 (0) | 2026.05.27 |
| 데이터 아키텍쳐의 과거, 현재, 미래 (0) | 2026.05.15 |
| 마케팅 분석에서의 대수(Logarithms)의 실용 가이드 - part 2 (0) | 2026.05.14 |
| 마케팅 분석에서의 대수(Logarithms)의 실용 가이드 - part 1 (0) | 2026.05.14 |
댓글