Abstract

AI가 문제를 더 잘 풀어도, 사람이 문제를 푸는 가치는 사라지지 않는다. 함께 사고하고 협력하며, 실패를 딛는 경험은 맞춘 문제의 수만으로 설명할 수 없다. 본 글은 나의 프로그래밍 대회의 경험을 바탕으로 프로그래밍 문제해결(Problem Solving, PS)의 본질을 돌아본다.

본문

나는 프로그래밍 문제해결을 몹시 좋아했다. 졸업하는 해까지 국제대학생프로그래밍경시대회(ICPC)에 일곱 번이나 참가했으니, 학부를 이것으로 퉁쳐도 과언은 아니겠다. 손톱이 아플 만큼 단단히 엉킨 실타래를 한 올씩 풀어내듯, 작은 관찰이 쌓여 막막하던 문제가 또렷해지는 순간이 좋았다. 그리고 나는 문제해결이 인간 고유의 것이라고 믿었다.

오픈AI의 야심작 GPT-o1의 등장과 함께, 나는 문제해결을 하는 이유에 의구심이 들었다. GPT-o1은 대회에서 상위 10%에 들더니, 이제는 상위 1%에 머문다 12. 나를 비롯한 많은 사람이 문제해결의 의미를 되묻는다. 기계가 사람보다 문제해결을 잘한다면, 사람이 문제를 푸는 이유는 어디에 남을까?

문제해결의 본질은 어디에 있는가. 맞춘 문제 수는 무엇을 대표하는가. 아마도 핵심은 제한된 시간이 주는 압박 속에서 팀원들과 함께 사고하며 서로의 지식을 분배하고 조율하는 경험, 대시보드에 공개적으로 박제되는 실패를 딛고 일어서는 회복탄력성, 그리고 마침내 문제를 해결하는 짜릿함에 있을 것이다. 맞춘 문제의 수는 이러한 과정에 가장 높은 상관관계를 보이는 간단한 지표였겠다.

“측정 지표가 목표가 되면, 좋은 측정 지표가 아니게 된다.” 굿하트의 법칙이다3. 테렌스 타오는 「Mathematics in the age of AI」에서 난제의 증명을 쏟아내는 일이 수학을 대표하지 않는다고 꼬집는다4. AI가 수많은 증명을 내놓고 대회를 석권해도, 본질은 달라지지 않는다. 앞서 말한 문제해결의 본질 중, 기계가 대신할 수 있는 것은 하나도 없다.

비행기가 아무리 빨라져도 사람은 달린다. 우리는 달리면서 체력을 기르고, 스트레스를 해소하고, 스스로의 한계를 시험한다. 문제해결은 단순히 답만 빨리 얻는 과정이 아니다. 우리는 그 속에서 문제를 이해하고, 서로 협력하고, 실패하는 법을 배운다. 어쩌면 기술의 발전은 우리의 진짜 목적을 더 선명하게 해주고 있는 듯하다.


  1. OpenAI. Learning to reason with LLMs. https://openai.com/index/learning-to-reason-with-llms/, 2024. ↩︎

  2. OpenAI. Competitive programming with large reasoning models. arXiv:2502.06807v1, 2025. ↩︎

  3. C. A. E. Goodhart. Problems of monetary management: the U.K. experience. In Papers in Monetary Economics, volume 1. Reserve Bank of Australia, 1975. ↩︎

  4. Terence Tao. Mathematics in the age of AI. arXiv:2608.16753v1, 2026. ↩︎