10장. 모델도 생각할 시간이 필요하다

머릿속 계산의 한계

사람도 복잡한 문제를 머릿속으로만 풀려고 하면 자주 틀립니다. 간단한 덧셈은 암산으로 할 수 있지만, 숫자가 커지고 조건이 늘어나면 종이에 중간 과정을 적어야 합니다. 실험 데이터도 마찬가지입니다. 샘플 수가 몇 개 되지 않을 때는 눈으로 대강 볼 수 있지만, 수천 개의 세포와 수만 개의 유전자가 들어 있는 표를 머릿속으로 처리할 수는 없습니다. 우리는 표를 만들고, 중간 계산을 남기고, 코드를 쓰고, 그림을 그리며 생각을 밖으로 꺼냅니다. 카파시가 “models need tokens to think”라고 말할 때도 비슷한 이야기를 합니다 (링크). 모델에게도 생각할 자리가 필요합니다. 다만 여기서 말하는 생각은 신비로운 내면의 독백이 아닙니다. LLM은 토큰을 왼쪽에서 오른쪽으로 생성하므로, 중간 과정을 토큰으로 써 내려갈 때 더 많은 계산을 단계별로 나누어 수행할 수 있습니다. 답만 곧장 요구하면, 모델은 많은 일을 한순간에 압축해야 합니다. 그 압축이 쉬운 문제에서는 성공하지만, 조금만 어려워져도 실패할 수 있습니다.

용어 메모

토큰: 모델이 글을 읽고 쓸 때 사용하는 작은 글자 조각입니다.

중간 과정: 바로 답으로 가지 않고 조건, 계산, 판단을 순서대로 남기는 과정입니다.

이 말은 학생에게도 꽤 위로가 됩니다. 어려운 문제를 한 번에 이해하지 못한다고 해서 머리가 나쁜 것이 아닙니다. 사람은 원래 생각을 밖으로 꺼내면서 배웁니다. 수학 문제를 풀 때 식을 적고, 생물학 그림을 그릴 때 화살표를 긋고, 실험 계획을 세울 때 조건을 표로 나누는 이유가 여기에 있습니다. LLM도 비슷하게, 답을 바로 내기보다 조건과 중간 결과를 글로 남길 때 더 안정적으로 문제를 다룰 수 있습니다. 물론 모델의 “생각”은 사람의 내면 경험과 같지 않습니다. 하지만 외부에 적힌 중간 과정이 다음 답변의 재료가 된다는 점에서는, 칠판과 노트가 사람의 사고를 돕는 방식과 닮아 있습니다. 그러므로 “생각할 토큰”이라는 표현은 모델의 신비한 마음을 말하는 것이 아니라, 복잡한 문제를 작은 단계로 나누어 처리하게 하는 실용적인 방법으로 이해하면 됩니다.

모델에게도 칠판이 필요하다

카파시가 드는 산수 예시는 이 원리를 잘 보여줍니다. 어떤 학생이 사과와 오렌지를 샀고, 전체 가격과 오렌지 가격이 주어졌을 때 사과 하나의 가격을 묻는 문제가 있습니다. 답만 먼저 말하고 뒤에 풀이를 붙이는 방식은 겉보기에는 효율적입니다. 그러나 모델 입장에서는 “정답 숫자”를 내는 바로 그 토큰에서 거의 모든 계산을 끝내야 합니다. 그 뒤에 이어지는 설명은 이미 나온 답을 정당화하는 문장이 되기 쉽습니다. 반대로 오렌지 총액을 먼저 계산하고, 전체 금액에서 빼고, 남은 금액을 사과 개수로 나누는 식으로 중간 단계를 먼저 쓰게 하면, 모델은 계산을 여러 토큰에 나누어 수행할 수 있습니다. 예를 들어 “오렌지 2개가 각각 500원이고, 사과 4개와 오렌지 2개의 전체 가격이 5,000원이라면 사과 하나는 얼마인가”라는 문제를 생각해봅시다. 답만 요구하면 모델은 바로 “1,000원”을 맞힐 수도 있지만, 틀렸을 때 어디서 틀렸는지 보기 어렵습니다. 단계로 쓰면 “오렌지 총액은 2 x 500 = 1,000원, 전체에서 오렌지 값을 빼면 사과 4개의 값은 4,000원, 따라서 사과 하나는 4,000 / 4 = 1,000원”이 됩니다. 각각의 작은 단계는 한 토큰이나 몇 토큰 안에서 처리하기 쉬운 문제입니다. 앞에서 계산한 중간 결과는 뒤의 문맥 안에 남아 다음 토큰을 고르는 데 도움을 줍니다. 그래서 풀이를 쓰게 하는 것은 사람에게 보여주기 위한 친절한 설명만이 아닙니다. 모델 자신이 문제를 더 잘 풀기 위한 작업 공간이기도 합니다.

이 원리는 LLM이 어떻게 계산하는지와 연결됩니다. 모델은 매 토큰을 생성할 때 고정된 신경망 계산을 한 번 통과합니다. 그 계산은 매우 크고 복잡하지만 무한하지 않습니다. 카파시는 한 토큰에서 일어나는 계산량이 제한되어 있으므로, 어려운 문제를 한 토큰에 몰아넣지 말고 여러 토큰에 분산해야 한다고 설명합니다 (링크). 사람도 한 줄짜리 답안보다 풀이 과정이 있는 답안에서 실수를 찾기 쉽습니다. 모델도 중간 단계가 있으면 다음 단계가 더 쉬워지고, 사용자도 어디서 틀렸는지 검토할 수 있습니다. 이것은 “길게 말하면 더 똑똑해 보인다”는 문제가 아닙니다. 긴 문장이 항상 좋은 것도 아닙니다. 중요한 것은 필요한 계산과 판단을 적절한 중간 단위로 나누는 것입니다. 어려운 문제에서는 모델에게 바로 답을 요구하기보다, 먼저 변수와 조건을 정리하고, 가능한 풀이 경로를 나누고, 계산을 단계별로 수행하게 해야 합니다.

계산은 도구로 확인한다

하지만 여기서 한 가지를 조심해야 합니다. 중간 과정을 쓰게 한다고 해서 모든 문제가 해결되는 것은 아닙니다. 모델이 중간 단계 자체를 틀릴 수 있기 때문입니다. 특히 숫자 계산, 문자열 처리, 표의 행 개수 세기처럼 정확한 절차가 필요한 일은 토큰으로 생각하게 하는 것보다 코드나 계산 도구로 실행하게 하는 편이 훨씬 안전합니다. 카파시도 산수 문제가 조금만 복잡해지면, 모델에게 머릿속 계산을 시키기보다 Python 같은 도구를 쓰게 하는 편이 낫다고 말합니다 (링크). 이것은 의생명과학 학생에게 매우 중요한 습관입니다. 표에 몇 행이 있는지, 각 조에 샘플이 몇 개 있는지, 평균과 표준편차가 얼마인지는 말로 추정할 일이 아닙니다. 계산 도구로 확인하고, 가능하면 그 과정까지 남겨야 합니다. 모델은 코드를 작성하는 데 도움을 줄 수 있지만, 계산의 믿음은 실행 가능한 절차에서 와야 합니다.

용어 메모

문자열 처리: 글자, 숫자, 기호로 된 줄을 정확히 세거나 바꾸거나 비교하는 일입니다.

표준편차: 값들이 평균 주변에 얼마나 퍼져 있는지 나타내는 숫자입니다.

Python: 데이터 계산과 자동화에 자주 쓰는 프로그래밍 언어입니다.

Counting과 spelling 문제도 같은 원리를 보여줍니다. 사람에게는 점의 개수를 세거나 단어 속 특정 글자를 찾는 일이 쉬워 보입니다. 그러나 모델은 글자를 눈으로 보는 것이 아니라 토큰을 봅니다. 카파시는 많은 점의 개수를 묻는 예시와 “ubiquitous” 같은 단어의 글자 위치를 묻는 예시를 통해, 모델이 이런 일을 왜 예상보다 못할 수 있는지 설명합니다 (링크). 모델에게는 점의 긴 문자열이 몇 개의 토큰으로 압축되어 보일 수 있고, 단어도 사람이 보는 글자 단위가 아니라 tokenizer가 정한 조각으로 보일 수 있습니다. 그러면 “몇 개냐”, “세 번째 글자마다 뽑아라” 같은 문제는 사람에게 쉬워도 모델에게는 이상하게 어렵습니다. 이런 일을 해결하려면 모델에게 직접 세라고 하기보다, 문자열을 코드로 넘기고 프로그램이 세게 하는 편이 낫습니다. 사람도 현미경 사진의 세포 수를 대강 눈으로 세기보다 image analysis 프로그램을 쓰는 편이 정확합니다. LLM도 비슷합니다. 언어적 설명과 정확한 계산을 분리해야 합니다.

의생명과학에서 “생각할 토큰”은 단순히 풀이를 길게 쓰는 기술이 아닙니다. 질문을 단계로 나누는 태도입니다. 예를 들어 “이 논문이 맞는지 평가해줘”라고 묻는 것은 너무 큽니다. 먼저 이 논문이 무엇을 물었는지 정리하고, 어떤 자료를 사용했는지 확인하고, 비교한 두 대상이 적절한지 보고, 결과가 결론을 뒷받침하는지 나누어 물어야 합니다. 수업에서 받은 작은 표를 볼 때도 마찬가지입니다. 어떤 열이 조 이름인지, 어떤 열이 측정값인지, 빠진 값은 없는지, 어떤 그림이 가장 이해하기 쉬운지 단계가 필요합니다. 이 단계들은 사람의 사고를 돕고, 모델의 생성도 돕고, 나중의 검토도 돕습니다. AI를 잘 쓴다는 것은 한 번에 큰 답을 받는 일이 아니라, 큰 질문을 검증 가능한 작은 질문으로 나누는 일입니다. 모델에게 생각할 시간을 주는 일은 결국 우리 자신에게도 생각할 구조를 주는 일입니다.

학생이 실제로 사용할 때는 몇 가지 문장을 습관처럼 붙여도 좋습니다. “바로 답하지 말고, 먼저 주어진 조건을 정리해줘.” “계산이 필요한 부분은 코드로 확인해줘.” “중간 결과를 표로 남기고, 마지막에 결론을 한 문단으로 써줘.” “확실하지 않은 부분은 추측이라고 표시해줘.” 이런 지시는 모델을 더 느리게 만드는 것처럼 보이지만, 실제로는 더 안전하게 만듭니다. 빠른 답은 편하지만, 의생명과학에서는 편한 답보다 확인 가능한 답이 중요합니다. 모델의 토큰은 작업 공간이고, 도구는 계산기이며, 사용자의 질문은 실험 설계서에 가깝습니다. 좋은 실험이 조건을 나누고 대조군을 세우듯, 좋은 AI 사용도 사고의 단계를 나누고 검증의 자리를 둡니다.

생각할 토큰을 준다는 말은 모델에게 장황한 말을 허락한다는 뜻이 아닙니다. 장황함과 사고는 다릅니다. 어떤 답변은 길지만 핵심이 없고, 어떤 답변은 짧지만 중간 판단이 잘 드러납니다. 학생이 요청해야 하는 것은 길이가 아니라 구조입니다. “먼저 내가 준 정보만 정리하고, 그다음에 필요한 추가 정보를 따로 말하고, 마지막에 가능한 결론과 불확실성을 구분해줘”라고 요청하면 모델의 답변은 훨씬 검토하기 쉬워집니다. 특히 생명과학에서는 정보의 출처와 확실성 수준이 섞이면 위험합니다. 논문에서 직접 나온 결과, 저자의 해석, 모델의 추측, 사용자의 가정이 한 문단 안에 뒤섞이면 읽는 사람은 어디까지 믿어야 할지 알기 어렵습니다. 좋은 답변은 이 층위를 나눕니다. 좋은 사용자는 모델에게 이 층위를 나누도록 요구합니다. 이것이 “생각할 시간을 준다”는 말의 실제 의미입니다. 모델이 더 많은 토큰을 쓰게 하되, 그 토큰들이 검증 가능한 역할을 갖도록 만드는 것입니다.

카파시가 보여주는 사례 중 흥미로운 것은, 모델이 처음에는 틀린 답을 말하다가 중간 과정을 쓰게 하면 맞는 답에 가까워지는 장면입니다. 이것은 사람의 풀이와 닮았습니다. 수학 문제를 풀 때 답만 적으면 실수해도 어디서 잘못됐는지 알 수 없습니다. 그러나 중간 줄이 있으면 부호를 잘못 붙였는지, 나눗셈을 잘못했는지, 조건을 빠뜨렸는지 볼 수 있습니다. LLM도 생성한 중간 결과가 문맥에 남으면, 뒤의 토큰이 그 결과를 참고합니다. 이때 문맥은 칠판처럼 작동합니다. 칠판에 아무것도 쓰지 않고 머릿속으로만 복잡한 계산을 하면 실수하기 쉽지만, 칠판에 조건과 중간값을 적으면 다음 사람이 이어서 검토할 수 있습니다. 모델에게 풀이 과정을 쓰게 하는 것은 모델의 내부를 완전히 들여다보는 일은 아니지만, 최소한 외부에 남은 흔적을 통해 답을 점검할 수 있게 합니다. 사용자는 그 흔적을 읽고, 틀린 부분을 다시 질문하고, 필요한 경우 계산을 코드로 돌릴 수 있습니다. 이 반복이 AI와 함께 생각하는 기본 리듬입니다.

내부 생각보다 외부 기록

다만 최근의 추론 모델(reasoning model)에서는 내부 사고 과정이 사용자에게 그대로 보이지 않는 경우가 많습니다. 모델은 내부적으로 더 긴 추론을 할 수 있지만, 최종 답변에는 그 요약만 보여줄 수 있습니다. 이것은 보안, 안전, 품질 관리 등 여러 이유와 관련이 있습니다. 학생 입장에서는 모델의 모든 생각을 보지 못한다고 해서 완전히 손을 놓을 필요는 없습니다. 대신 외부적으로 검토 가능한 산출물을 요구하면 됩니다. “계산에 사용한 식을 보여줘”, “최종 표를 만들어줘”, “근거 문장을 원문에서 찾아줘”, “실행한 코드와 결과를 함께 보여줘” 같은 요청은 여전히 유효합니다. 내부 사고 과정(chain of thought)을 보는 것보다 중요한 것은, 최종 결론을 뒷받침하는 공개된 근거와 절차가 있는가입니다. 과학 논문도 연구자의 머릿속 모든 생각을 보여주지는 않습니다. 대신 방법(methods), 결과(results), 그림(figure), 부록 자료를 통해 검토 가능한 흔적을 남깁니다. AI와의 작업에서도 같은 기준을 적용하면 됩니다. 모델의 내면을 궁금해하기보다, 검증 가능한 외부 기록을 남기게 하는 편이 더 실용적입니다.

용어 메모

추론 모델(reasoning model): 어려운 문제를 더 오래 붙잡고 단계적으로 풀도록 훈련된 모델입니다.

사고 과정(chain of thought): 모델의 내부 풀이 과정을 가리키는 말입니다. 실제 서비스에서는 그대로 보이지 않을 수 있습니다.

methods / results: 논문에서 실험 방법과 결과를 나누어 적는 부분입니다.

부록 자료: 논문 본문에 다 싣지 못한 추가 자료입니다.

의생명 데이터 분석에서 이 원리는 아주 구체적으로 나타납니다. 처음에는 복잡한 연구 데이터가 아니라 작은 실습 표를 떠올려도 충분합니다. 모델이 “처리군이 더 높아 보입니다”라고 말하는 것만으로는 충분하지 않습니다. 어떤 열을 비교했는지, 빈칸이나 이상한 값은 어떻게 처리했는지, 평균을 냈는지 중앙값을 봤는지, 그림이 실제 표와 맞는지 확인해야 합니다. 모델이 코드를 제안했다면 그 코드는 실제 데이터에서 실행되어야 하고, 오류가 나면 수정되어야 하며, 결과 표가 확인되어야 합니다. 그다음에야 생물학적 해석을 붙일 수 있습니다. 이 순서를 거꾸로 하면 위험합니다. 먼저 그럴듯한 이야기를 만들고, 나중에 데이터를 맞추려 하면 과학이 아니라 이야기 꾸미기가 됩니다. LLM은 이야기 꾸미기에 매우 능하기 때문에, 사용자는 더더욱 절차를 앞세워야 합니다. 생각할 토큰은 절차를 드러내는 토큰이어야 합니다. 계산은 계산으로, 해석은 해석으로, 추측은 추측으로 남겨야 합니다.

좋은 과정이 빠른 답보다 낫다

학생이 이 습관을 갖추면 AI 사용은 단순한 편법이 아니라 공부 방법이 됩니다. 질문을 단계로 나누는 과정에서 자기 이해의 빈틈이 드러납니다. 모델에게 설명을 요청하다 보면, 자신이 사실은 어떤 용어를 모르는지 알게 됩니다. 모델의 답을 검토하다 보면, 근거와 해석을 구분하는 눈이 생깁니다. 코드 실행을 요구하다 보면, 말로만 아는 통계와 실제 계산의 차이를 느끼게 됩니다. 이 모든 과정은 대학 공부의 핵심입니다. AI가 대신 공부해주는 것이 아니라, AI와 대화하면서 공부의 구조가 더 선명해지는 것입니다. 카파시의 “models need tokens to think”라는 말은 결국 우리에게도 돌아옵니다. 사람도 생각을 밖으로 꺼내야 잘 배웁니다. 메모하고, 표를 만들고, 그림을 그리고, 중간 결론을 적고, 다시 고치는 과정에서 지식은 단단해집니다. 모델에게 생각할 자리를 주는 일은, 학생 자신에게도 생각할 자리를 마련하는 일입니다.

이 장의 이야기를 한 문장으로 줄이면, 빠른 답보다 좋은 과정이 중요하다는 말입니다. AI는 빠른 답을 너무 쉽게 줍니다. 그래서 학생은 자신이 이해했다고 느끼기 쉽고, 과제는 금방 끝난 것처럼 보입니다. 그러나 진짜 공부는 답이 나온 뒤에 시작될 때가 많습니다. 왜 그 답이 나왔는지, 다른 답은 가능하지 않은지, 어떤 조건이 바뀌면 결론이 달라지는지, 계산으로 확인할 부분은 무엇인지 따져보아야 합니다. 모델에게 생각할 토큰을 주는 일은 결국 이런 질문을 위한 공간을 만드는 일입니다. 의생명과학에서 좋은 결론은 대개 한 번의 번뜩임이 아니라, 여러 작은 확인이 쌓여 만들어집니다. AI와 함께 공부할 때도 그 리듬을 잃지 않아야 합니다. 빠르게 시작하되, 천천히 확인하는 사람이 되어야 합니다.

실제로 좋은 프롬프트는 작은 연구 계획서와 닮아 있습니다. 문제를 정의하고, 사용할 자료를 정하고, 중간 산출물을 요청하고, 검증 방법을 붙입니다. “답만 말해줘”가 아니라 “조건을 정리하고, 필요한 계산은 코드로 확인하고, 불확실한 가정은 따로 표시해줘”라고 말하면 모델은 더 좋은 작업 공간을 갖게 됩니다. 이 지시는 모델을 위한 것이면서 동시에 학생 자신을 위한 것입니다. 무엇을 모르는지, 무엇을 계산해야 하는지, 어디서 판단이 필요한지 스스로 보게 만들기 때문입니다. AI가 잘 작동하는 순간에도 학생은 구경꾼이 아니라 설계자여야 합니다. 생각할 토큰을 주는 일은 설계를 밖으로 꺼내는 일입니다. 그 설계가 분명할수록 모델도 덜 헤매고, 사용자도 답을 더 잘 검토할 수 있습니다.

그러므로 10장의 실천은 아주 단순한 문장으로 시작할 수 있습니다. “한 번에 답하지 말고, 먼저 조건을 정리해줘.” “계산은 코드로 확인하고, 해석은 따로 써줘.” “내가 준 자료에서 직접 확인되는 내용과 네가 추측한 내용을 나누어줘.” 이런 문장들은 화려하지 않지만, 모델에게 작업 공간을 만들어줍니다. 동시에 학생에게도 생각의 순서를 만들어줍니다. AI 사용이 위험해지는 순간은 모델이 너무 빨리 답할 때만이 아닙니다. 사용자가 자신의 질문을 너무 빨리 끝냈다고 느낄 때도 위험해집니다. 좋은 공부는 답을 얻은 뒤에도 한 번 더 멈추어, 그 답이 어떤 길로 왔는지 살피는 일입니다.