AI는 수학을 정말 못하는가?
Is AI poor at math?
AI는 계산 질문에 대해서 종종 오답을 냅니다. 때문에, AI에게 복잡한 계산을 부탁하고는 그 결과를 보고서 같은 곳에 그대로 사용했다가 곤란한 일을 경험하는 사람들의 이야기를 어렵지 않게 찾아 볼 수 있습니다.
어떤 사람들은 AI는 실제로 언어모델일 뿐이고, '수학계산을 실제로 하지 않기 때문에 수학 계산을 할 수 있다고 말할 수 없다'는 이야기를 합니다. 그러나 제 경험에 비추어 볼 때 이 발언은 사실과는 다른 것처럼 느껴집니다. 그러면 AI는 수학을 못하는지 (아니면 실제로는 하지 않는 것인지), 계산은 왜 틀리는지에 대해서 살펴보려고 합니다.
AI에게 수학을, 정확히는 '연산'을 시켰을 때 어떤 경우에는 정답을 어떤 경우에는 오답을 내는데, 이런 차이는 어디에서 일어나는 것일까요? 이 궁금증에 대한 해답의 실마리를 찾기 위해, 몇몇 AI 서비스에 계산에 대한 질문을 합니다.
- 2자리~12자리의 무작위 숫자 2개를 선택합니다.
- 이 두 수를 더하거나 곱하는 계산식을 총 20개 만듭니다. 예를 들면 24 + 37 이나, 21343425 * 15932515 같은 것들입니다.
- 이 계산식의 목록 앞에 "다음의 식을 계산하고 결과를 알려주세요"라는 요청을 덧붙여서 여러 AI들에게 동일한 질문을 보내봅니다.
- AI가 제출한 답을 파이썬으로 계산한 결과와 비교해서 정답과 오답을 구분합니다.
이 실험에는 ChatGPT, Claude sonnet 4, Gemini 2.5 pro, Gemini 2.5 flash, Le Chat, DeepSeek, Grok과 같은 AI들이 사용되었고 모두 무료 계정으로 진행했습니다.
결과
흥미롭게도 거의 모든 AI에서 응답의 양상은 비슷했습니다. 참고로 Gemini 2.5 Flash 모델은 "계산기를 사용하십시오 휴먼"이라는 식으로 계산 자체를 거부했습니다.
- 덧셈의 경우에는 모든 답에 대해서 정답을 계산했습니다.
- 별도로 테스트한 결과 50자리 숫자의 덧셈을 시켜보면 오답을 내는 경우가 생깁니다. (Claude, Grok 만이 50자리 숫자 두 개의 덧셈을 성공합니다.)
- 곱셈의 경우에는 작은 숫자들의 곱에 대해서는 정답을 계산했습니다. 곱셈의 결과가 10억보다 큰 경우에는 오답이 발생합니다. 모델에 따라서는 1천만 근처의 경우에서도 오답을 내는 경우가 있습니다.
이 실험에서 오답이 발생하는 양상에 주목할 필요가 있습니다. 가장 두드러지는 특징은 덧셈보다는 곱셈에서, 덧셈에서는 자리수가 많으면 많을수록 계산을 쉽게 틀린다는 점입니다. 이것은 AI가 연산에 대해서 사람처럼 행동하려 한다는 강력한 증거가 됩니다. 8자리 숫자 2개를 곱할 때, 한 자리 숫자의 곱셈과 덧셈을 여러 번하게 되는데, 곱셈은 64번, 덧셈은 100번을 넘게 해야 합니다. 이것은 계산 과정에서 발생하는 여러 정보들이 각각의 맥락을 유지하면서 통합되어야 하는 과제입니다. 이것이 길면 길수록 AI는 실수할 여지가 많아지는데, 사람이 하는 실수와 비슷합니다.
다른 한 가지 지점 역시 이 가설에 무게를 실어줍니다. AI가 만들어내는 오답이 뜬금없는 수치가 아니라는 점입니다. 아래는 50자리 숫자의 덧셈에 대해 하나는 정답, 나머지는 AI가 계산했으나 오답이 산출된 것입니다.
14571057265837720760709640978757000457163780257230 + 84512290230753712730724408003878389201378616891944 = ?
99083347496591433491434048982635389658542397149174
99083347496591433491434049782635389658542437148424
99083347504331433491433848982635389658542397149174
미묘하게 중간에 들어간 숫자가 달라졌고, 실제 정답고 오답의 차이를 쉽게 구분하기 어렵습니다. 오답 중 하나는 끝부분의 값이 다르기 때문에 쉽게 구분이 되지만, 나머지 하나는 그렇지 않습니다.
AI가 실제로 계산을 시도한다는 간접적인 증거는 일부 AI들이 대화창에 표시하는 계산 과정에서도 드러납니다. 다음은 DeepSeek가 표시하는 계산 결과입니다. (물론 검산은 계산 결과에서 한 값을 빼서 해야 하는데, 이 부분은 틀렸죠...)
주어진 두 큰 수를 더해보겠습니다.
text
14571057265837720760709640978757000457163780257230
+ 84512290230753712730724408003878389201378616891944
---------------------------------------------------
각 자리를 맞추어 더합니다:
text
14571057265837720760709640978757000457163780257230
+ 84512290230753712730724408003878389201378616891944
= 99083347496591433491434048982635389658542397149174
따라서 결과는 99083347496591433491434048982635389658542397149174입니다.
검산:
14571057265837720760709640978757000457163780257230 + 84512290230753712730724408003878389201378616891944 = 99083347496591433491434048982635389658542397149174
ChatGPT도 비슷한 방식으로 계산을 시도하지만, 어이없게도 덧셈식에서 숫자의 정렬을 틀리게 배치하고, 오답을 냅니다. 이 때 틀린 정렬대로 계산한 결과는 맞긴합니다.
제가 내린 결론은 이렇습니다. AI 모델은 계산기가 아닌 실제로 사람이하는 것과 같은 방식으로 계산을 수행하려고 시도합니다. 이 때 계산 과정이 길고 복잡해지면 실수를 할 가능성이 있습니다. 얼마나 긴 계산과정을 잘 수행할 수 있는가 하는 것은 모델의 컨텍스트 크기와 관련이 있는 것으로 보입니다. (컨텍스트 크기가 상대적으로 아주 작은 Gemini 2.5 Flash의 경우, 계산을 포기합니다.)
계산기를 쥐어주기
Claude의 경우 설정에서 "분석 도구"라는 옵션을 켤 수 있습니다. 이 옵션을 사용하면 AI가 계산이나 데이터 분석이 필요할 때 javascript를 사용하여 격리된 환경에서 코드를 실행하고 그 결과를 받아서 사용합니다.
ChatGPT의 경우에도 고급 데이터 분석이라는 유사한 기능을 가지고 있습니다.
단, 이 경우에도 매우 큰 수의 곱셈이나 덧셈은 스크립트 언어 자체의 숫자 값 크기 한계 (정밀도 한계)의 영향을 받아 오차가 발생할 수 있습니다. (파이썬의 정수는 임의 정밀도를 갖지만, 자바스크립트는 오차가 발생합니다.)
따라서 계산에서 정확한 수치를 얻고 싶다면 아래와 같은 내용을 개인화 프롬프트에 추가합니다.
## 계산 수행
계산을 요청받았을 때에는 최대한 빠르고 정밀하게 계산하기 위해 동원 가능한 스크립팅 환경이 있다면 이를 사용하여 계산된 결과를 출력하고 절대 모델에서 직접 계산하지 마세요.
이와 같은 내용을 프롬프트에 추가한 것으로도 ChatGPT는 이제 계산을 정밀하고 정확하게 수행합니다. 50자리 정수 100개의 합도 계산할 수 있습니다. (사실 이쯤되면 스크립트가 아닌 이상 계산기 앱이나 엑셀에서도 이 정밀도의 숫자를 계산할 방법은 사실상 없습니다.)

실제로 계산을 하는가? 수학을 해결할 수 있는가?
AI가 '실제로 수학 계산을 한다'는 것을 어떻게 판단할 수 있을까요? 그것은 생각보다 어려운 것입니다. 계산을 수행한다는 것이 과연 어떻게 정의할 수 있는 행동일까요?
스스로가 목적과 의지를 가진 상태로 내가 '계산을 하고 있다'는 것을 자각해야 그것이 계산일까요? 그렇다면 덧셈과 곱셈을 AI보다 훨씬 더 정확하게 할 수 있는 카시오 계산기들은 계산을 수행하는 것일까요?
AI는 엄청나게 많은 데이터를 학습했고, 어떤 수식이나 수학 문제에 대한 질문을 받으면 학습된 데이터로부터 '패턴 매칭'을 통해서 답변을 생성하려고 합니다. 아마 간단한 한 자리 수에 대한 덧셈이나, 구구단 같은 정보는 많이 접했기 때문에 알고 있을 수 있습니다. 그리고 이를 입력받은 값에 매칭시켜 가면서 중간 결과를 만들고 이를 다시 매칭해서 최종적인 답을 만들어 냅니다. 이것은 주판이나 카시오 계산기가 하는 "논리 게이트에 따라 결정되는" 값을 찾는 연산은 분명 아닌 것 같습니다.
그런데 사람은 어떻습니까? 사람은 897453 × 5234538 같은 계산을 어떻게 하나요? 정해진 방법에 따라, 간단한 숫자 두 개의 곱을 마구 만들면서 이를 조합하고 다시 덧셈합니다. 더셈의 경우에도 사람들은 한 번에 두 개씩의 숫자를 더하면서 "정해진 방법"에 따라 계산합니다. 한 자리 수 덧셈의 패턴 100가지, 한 자리 수 곱셈의 패턴 100가지. 결국 우리도 패턴 매칭에 의해 연산을 손으로 수행합니다.
무엇이 계산이냐를 정의하지 못했기 때문에, AI가 수학 계산을 실제로 수행한다고 말하기가 모호합니다. 그러나 적어도 "AI가 실제로 수학 계산을 하지 않기 때문에 수학을 못푸는 것이라"는 말이 틀렸다는 것은 말할 수 있습니다. AI가 실제로 수학 계산을 틀리는 것은, 우리처럼 계산하려고 하기 때문입니다.