AI 때문에 우리가 이미 배웠던 엔지니어링 교훈들을 너무 많이 잊어버린 것 같음
I think AI has made us forget a lot of engineering lessons we already learned
핵심 요약
LLM 도입 후 기존 엔지니어링 원칙을 무시하는 팀들이 늘어난 현상에 대한 비판적 고찰.
- LLM 실패 허용 — 다른 스택에서는 절대 용납 안 될 오류를 LLM이라는 이유로 방치함
- 프롬프트 관리 부실 — 설정 변경보다 못한 검토 과정으로 인해 시스템 회귀 문제 발생
- 엔지니어링 원칙 망각 — 확률적 모델을 다룰 때일수록 기존 분산 시스템 설계 원칙이 중요함
- 기술적 성숙도 부족 — AI 열풍에 휩쓸려 기본기를 잊고 있는 업계 현실에 대한 우려
지난 1년간 느낀 점 중 하나는, 팀들이 다른 스택에서는 절대 용납하지 않을 LLM의 장애 모드를 기꺼이 받아들이려 한다는 것입니다.
만약 외부 API가 한 시간 동안 먹통이 되어 중요한 사용자 흐름을 망가뜨렸다면, 아무도 "뭐, API가 원래 그렇지"라며 대수롭지 않게 넘기지 않을 겁니다. 왜 타임아웃이나 폴백, 서킷 브레이커가 없었는지 따져 물었겠죠.
그런데 그 API를 LLM으로 바꾸면 갑자기 그런 질문들이 사라집니다.
프롬프트도 마찬가지입니다. 한 줄짜리 설정 변경보다도 검토를 덜 거친 채 프롬프트 변경 사항이 바로 프로덕션에 배포되는 걸 봤습니다. 그 프롬프트가 사실상 애플리케이션 동작의 일부인데도 말이죠. 그러다 뭔가 퇴보(regression)하면 아무도 무엇이, 언제 바뀌었는지 자신 있게 대답하지 못합니다.
이건 사실 AI 문제가 아닙니다. 우리가 수년간 배워온 분산 시스템 원칙과 똑같은 문제인데, 단지 구성 요소 하나가 결정론적(deterministic)이지 않고 확률적(probabilistic)일 뿐이죠.
가끔은 LLM에 대한 열광 때문에 사람들이 이제는 옛날 규칙이 안 통한다고 믿는 것 같지만, 실제로는 그 규칙들이 더 중요합니다. 모델은 새로운 부분일 뿐, 모델을 둘러싼 모든 것은 여전히 엔지니어링입니다.
시스템을 오랫동안 구축해 온 다른 분들도 같은 현상을 보고 있는지, 아니면 제가 모든 문장을 "라떼는 말이야"로 시작하는 꼰대가 되어가는 건지 궁금하네요 lol

