이 글은 슈퍼마켓에서 최소 임금을 받으며 일하던 시절, 바닥 청소 경로를 최적화하려다 깨달은 “잘못된 지표를 최적화하면 기술적으로는 완벽해 보여도 실제로는 쓸모없거나 해로운 결과를 낳는다” 는 교훈을 담는다.

원문: I Got Paid Minimum Wage to Solve


1. 문제의 시작: 단순한 작업의 복잡화

  • 작성자는 슈퍼마켓 바닥을 쓸면서 “어떻게 하면 가장 적게 걷고도 모든 바닥을 다 쓸 수 있을까?“라는 의문을 갖게 된다.
  • 이를 해결하기 위해 매장 내부를 그리드 그래프(Grid Graph)로 변환하고, 시뮬레이티드 어닐링(Simulated Annealing) 알고리즘을 사용해 최단 경로를 찾는 C++ 프로그램을 작성한다.

2. 알고리즘의 한계: ‘기술적 정답’과 ‘실제 유용성’의 괴리

  • 알고리즘은 수학적으로 완벽한 최단 경로를 찾아낸다. 하지만 그 결과는 사람이 도저히 따라 할 수 없는 ‘미친 듯한 경로’ 다.
  • 단순히 거리(Distance)만 최적화했더니, 알고리즘은 수많은 급회전과 지그재그 경로를 만들어낸다. 사람은 직진할 때 가장 편안함을 느끼는데, 알고리즘은 이를 고려하지 않은 것이다.
  • 결국 회전할 때마다 ‘페널티’를 부여하는 조건을 추가한 뒤에야 비로소 사람이 걸을 만한 효율적인 경로가 나온다.

3. 더 큰 깨달음: 현대 사회의 최적화 오류

작성자는 이 경험을 통해 오늘날 많은 시스템이 ‘잘못된 지표’를 최적화 하고 있다고 비판한다.

  • 소셜 미디어: 사용자에게 유익한 콘텐츠가 아니라, 단순히 ‘체류 시간’이나 ‘클릭 수’만 최적화하다 보니 자극적이고 화나게 만드는 콘텐츠가 범람하게 된다.
  • 추천 시스템: 사용자의 진정한 취향이 아니라, ‘구매 확률’만 최적화하여 오히려 사용자 경험을 해치기도 한다.
  • LLM(대규모 언어 모델): ‘진실성’보다는 ‘그럴듯함’이나 ‘사용자가 좋아할 법한 답변’을 최적화하는 경향이 있어, 확신에 찬 어조로 틀린 말을 하는 문제가 발생한다.

결론 및 시사점

한 줄 결론: 측정하기 쉬운 지표만 최적화하면 기술적으로는 정답이어도 인간에게 해롭거나 쓸모없는 결과가 된다.

작성자는 “우리가 무엇을 최적화하고 있는지 반드시 질문해야 한다” 고 강조한다. 거리, 클릭 수, 체류 시간처럼 측정이 쉬운 값에만 집착하면, 실제 목적과 어긋난 시스템을 만들 수 있다는 경고다.