「깊게 생각해」라는 지시가 AI에게 통하지 않는 이유
요약
OpenAI가 공개한 수학 문제 해결 프롬프트를 분석하여, AI에게 '깊게 생각하라'는 지시가 효과적이지 않은 이유를 고찰합니다. 인간은 문제 정의, 정답 기준, 도구 후보, 탐색 운용을 설계하고, 구체적인 풀이 경로를 찾는 과정은 AI에게 맡기는 구조를 설명합니다.
핵심 포인트
- AI 프롬프트는 '무엇을'과 '어떻게 판정할 것인가'를 매우 세밀하게 정의함
- 풀이의 구체적인 경로(How)는 프롬프트에 명시되지 않고 AI의 영역으로 남겨둠
- AI는 다각적인 관점을 제시하는 '넓은 사고'에는 능숙하지만, '깊은 사고' 유도는 어려움
- 인간의 역할은 문제 정의와 탐색의 운용 전략을 설계하는 것으로 이동 중
지난번, 50년 이상 미해결 상태였던 수학 문제인 「사이클 이중 피복 추측(Cycle Double Cover Conjecture)」이 AI에 의해 풀렸다는 이야기를 썼습니다. 풀이 방식의 틀은 1945년부터 거의 변하지 않았고, 틀이 잡힌 것은 AI에게 넘어갑니다. 그래서 인간 측의 무게 중심은 질문을 던지는 쪽으로 이동한다는 이야기입니다.
그 후, 이 증명에 사용된 프롬프트(Prompt) 전문이 OpenAI로부터 공개되었습니다.
대학원에서 그래프 이론(Graph Theory)을 공부했던 입장으로서, 64개의 에이전트(Agent)에게 어떤 고도의 수학을 학습시켰는지 궁금했습니다. 그래서 읽어보았는데 허탈했습니다. 정작 중요한 「어떻게 풀 것인가」가 적혀 있지 않았습니다.
증명에 대한 심사(Peer Review)는 이제부터라고 합니다만, 이번에는 이 프롬프트에 관한 이야기를 쓰겠습니다. 제가 평소 AI에게 던지는 「깊게 생각해」라는 지시가 왜 통하지 않는지, 그 답이 전부 여기에 적혀 있다는 느낌이 들었기 때문입니다.
「어떻게 풀 것인가」만이 적혀 있지 않다
그렇다고 해서 허술한 의뢰문은 아닙니다. 「무엇을 풀 것인가」와 「무엇을 풀었다고 인정할 것인가」는 오히려 매우 세밀하게 적혀 있습니다.
서두에서 그래프(Graph)·다리(Bridge)·사이클(Cycle)과 같은 용어를 다시 정의하고, 평행한 변 2개도 길이 2의 사이클로 계산하는 등의 모호함을 미리 제거합니다. 합격 조건은 「평면성 등의 추가 가정을 두지 않는 완전한 증명」뿐이라고 지정합니다. 그리고 불합격 조건을 나열합니다. 특수한 그래프만을 대상으로 한 증명도, 다른 미해결 추측으로의 환원도, 유한한 크기까지의 계산 검증도, 아무리 아쉽더라도 부분 점수는 0점이라고 미리 선언해 두었습니다. 반증 역할을 맡을 감사 항목까지 구체적입니다. 모든 변이 정확히 2번씩 피복되었는지, 사이클처럼 보이는 폐로(Closed walk) 유사물이 섞여 있지 않은지, 증명하려는 주장과 실질적으로 같은 명제를 도중에 사용하고 있지는 않은지(순환 논법) 등입니다.
풀기 위한 도구도 이름만은 나열되어 있습니다. 「불변량(Invariant), 단순화(Reduction), 대수적 관점, 구조적 귀납법, 분해, 플로우(Flow), 전이계(Transition system), 임베딩(Embedding)……」. 하지만 나열은 거기까지이며, 이 정리를 사용하라거나 이 보조정리(Lemma)부터 공략하라는 식의 경로 지정은 어디에도 없습니다.
그렇다면 남은 부분에서 무엇을 지시하고 있는가 하면, 탐색의 운용입니다. 예를 들어 다음과 같은 식입니다.
- 본질적으로 다른 접근 방식 그룹부터 시작하라. 다양성을 확보하라.
- 대부분의 에이전트에게는 현재 유력시되는 노선을 가르쳐주지 마라. 초반에는 독립성을 유지하라.
- 우아한 단순화가 가능하다는 이유만으로 하나의 노선이 전체를 지배하게 하지 마라.
- 정리급의 미증명 보조정리에 부딪힌 노선에는 「막다른 길」 표시를 해라. 새로운 장치가 나오지 않는 한, 그곳에 인원을 돌리지 마라.
- 반증 전담 에이전트를 전 기간 상주시켜라. 후보 증명은 모두 감사를 거쳐라.
- 모호한 낙관과 경과 보고는 거부한다. 받아들이는 것은 구체적인 보조정리·구성·방정식·반례뿐이다.
인간이 작성한 것은 문제의 정의와 정답의 판정 기준, 도구의 후보, 그리고 탐색의 운용입니다. 어떤 도구로 어떻게 풀 것인가. 그 부분만을 기계에게 맡기고 있습니다.
AI는 넓게 생각하는 데 능숙하다
생각나는 점이 있었습니다. 제가 최근 가장 많이 「더 깊게 생각해」라고 말하고 있는 상대는 아마도 AI일 것입니다.
하지만 돌이켜보면 「넓게」 생각하는 문제로 곤란했던 적은 한 번도 없었습니다. 관점을 제시하라고 하면 10개를 돌려줍니다. 다른 입장에서 보라고 하면 영업적 관점·고객 관점·경쟁사 관점이 깔끔하게 나열됩니다. 다각적인 검토는 오히려 AI가 가장 잘하는 지시일지도 모릅니다.
통하지 않는 것은 「깊게」 쪽입니다. 「깊게 생각해」라고 던져도, 넓기만 한 답변이 조금 더 친절해져서 돌아올 뿐입니다. 넓게 생각하는 것은 부탁하지 않아도 해주니까, 깊게 생각하게 만드는 것만 할 수 있다면 최강일 텐데, 그 부탁하는 방식만이 계속 모호한 상태로 남아 있었습니다.
애초에 「깊게」는 「넓게」와 무엇이 다를까요?
「깊음」과 「넓음」은 다르다
처음에 떠오른 답은 「깊게 생각함 = 다양한 시선으로 봄」이었습니다. 곤충의 눈·물고기의 눈·새의 눈이라고 흔히 말하는 그것입니다. 하지만 한동안 사용하면서 의구심이 생겼습니다. 「다양한 시선으로 본다」는 것은 생각해보면 「넓게」 생각하는 것이기 때문입니다. 「깊게」와는 조금 어긋나 있습니다.
「깊이」는 세로입니다. 표면 아래로 잠겨 들어가 뿌리나 원인을 향하는 방향입니다. 「다각적」은 가로입니다. 같은 것을 입장을 바꾸어 바라보는 것입니다. 둘 다 중요하지만 완전히 다른 움직임입니다. 그리고 AI가 부탁하지 않아도 해주는 것은 거의 가로의 움직임 쪽입니다. 「깊게 생각하기」를 「다양한 시선으로」라고 정의해버리면, AI가 원래 잘하는 가로 방향만을 취하게 되어 정작 중요한 세로 방향이 통째로 빠져나가게 됩니다.
예시의 프롬프트도 이 두 가지를 섞지 않았습니다. 넓히라는 지시(다른 접근 방식 그룹으로 시작하라, 유력 노선은 가르쳐주지 마라)와 파고들라는 지시(결락된 보조정리에 부딪힐 때까지 밀어붙여라)가 별개의 명령으로 구분되어 적혀 있습니다.
깊음의 정체는 「세로」와 「메타(Meta)」
그렇다고 해서 세로와 가로만으로는 아직 부족했습니다. 「깊게 생각하기」의 내용을 써 내려가 보면, 분해하기, '왜'를 반복하기, 전제 의심하기, 관점 바꾸기 등등. 아무래도 입자가 일정하지 않습니다. 정리해 보니 두 가지 축으로 수렴되었습니다.
하나는 방향입니다. 세로(파고들기)인가, 가로(넓히기)인가. 다른 하나는 재귀(Recursion)입니다. 대상 그 자체를 생각할 것인가, 그것을 생각하고 있는 자신의 사고를 생각할 것인가.
| 세로 (잠입: 분해·인과·추상) | 가로 (확장: 관점) |
|---|---|
| 대상을 생각함 | 구조·원인을 파고듦 |
| 자신의 사고를 생각함 | 자신의 전제·추론을 점검함 |
「깊게 생각해」라는 말을 들었을 때 많은 사람이 가장 먼저 하는 것은 왼쪽 상단입니다. 대상을 세로로 파고드는 것. 제가 처음에 제시했던 「다양한 시선」은 오른쪽 상단입니다. 둘 다 윗단, 즉 「대상」 레벨이죠.
놓치기 쉬운 것은 아랫단입니다. 자신의 사고 그 자체를 일단 책상 위에 올려놓고, 파헤치거나 두드려 보는 「메타(Meta)」의 단입니다. 깊이의 차이는 아마도 이곳을 회전시킬 수 있느냐 없느냐에서 나타납니다.
이 지도 위에 문제의 프롬프트 지시사항을 다시 놓아보면, 설계의 무게 중심을 알 수 있습니다.
오른쪽 상단의 「확장」 측은 64개의 에이전트(Agent)를 독립적으로 실행하는 것으로 끝납니다. 수를 늘리면 탐색은 알아서 넓어집니다. 반면, 지시의 두께는 아랫단에 집중되어 있습니다. 감사 항목, 기각 기준, 막다른 길의 표시. 수를 늘린다고 해서 저절로 깊어지지는 않기 때문에, 파고들고 의심하게 만드는 메커니즘을 굳이 언어로 만들어 부여하고 있습니다. 「깊게 생각해」가 지시로서 기능하지 않는 이유는, 이 아랫단을 단 하나도 지정하지 못하고 있기 때문입니다.
이 2축을 업무에 적용하기
수학 이야기가 계속되었으니 일상으로 돌아오겠습니다. 「어떤 기능에 대한 요구가 늘어나고 있다」라는 목소리가 팀에서 나왔다고 가정해 봅시다. PdM(Product Manager)을 하고 있다면 꽤 친숙한 테마입니다.
얕은 쪽은 이렇게 진행됩니다. 요구가 늘었다, 경쟁사에도 있는 기능이다, 그럼 만들자. 처음에 나온 그럴듯한 답변으로 이미 움직이기 시작합니다.
깊은 쪽은 같은 출발점에서 이렇게 가지를 뻗습니다.
- 애초에 전체적으로 늘어난 것인가? 아니면 특정 고객층만인가? (세로: 분해)
- 늘어난 것은 언제부터인가? 무엇과 동시에 일어났는가? (세로: 인과)
- 「경쟁사에 있으니까」는 전제가 아닌가? 정말로 원하는 것은 그 기능 자체가 아니라, 그 앞 단계의 다른 불편함일지도 모른다 (전제 의심하기)
- 영업이나 서포트, 해지한 고객의 입장에서 보면 이 요구는 어떻게 보일까? (가로: 관점)
- ……그렇게 생각하는 자신, 그저 만들고 싶어서 요구를 구실로 삼고 있는 것은 아닌가? (메타)
차이는 내용보다 「멈추는 지점」에 있습니다. 얕은 사고는 그럴듯한 답이 나온 순간 멈춥니다. 깊은 사고는 거기서부터 앞으로 나아갑니다. 한마디로 요약하자면, 저는 이렇게 정의합니다.
깊게 생각한다는 것은, 처음에 나온 그럴듯한 답에서 멈추지 않고, 대상에 대해 더욱 정확한 모델을 계속해서 만들어가는 것이다.
문제의 프롬프트에서 가장 감탄했던 부분은, 이 「멈추는 지점」을 반환 조건으로서 명문화하고 있다는 점입니다. 지금의 노선이 실패했다는 이유만으로 돌아오지 마라. 감사를 통과한 완전한 증명을 할 수 있을 때까지, 부분적인 성과도 아쉬운 보고도 제출하지 마라. 제출하는 것을 생각하기 전에 최소 8시간은 버텨라. 친절하게도 「이 예측에는 완전한 증명이 존재한다고 가정하라」라는 문구까지 있어서, 「미해결 문제라 풀 수 없었습니다」라는 가장 그럴듯한 답에서 멈추는 길도 미리 차단해 두었습니다. 실제로는 1시간 남짓 만에 증명이 나왔다고 보고되었기에 8시간의 차례는 없었던 모양이지만, 어디서 멈출지를 운과 기분에 맡기지 않는다는 설계는 일관적입니다.
그럼, 구체적으로 어떻게 할 것인가
2축은 지도는 되지만, 실제로 생각할 때 매번 이것을 펼치지는 않습니다. 제가 하는 것은 세로·가로·메타에 하나씩 걸어둔 세 가지 질문을 던지는 것입니다.
- 늘 멈추는 지점에서, 「왜」를 한 단계 더 따라갈 수 있는가 (세로로 파고들기)
- 완전히 다른 입장의 사람이라면 이것을 어떻게 볼 것인가 (가로로 확장하기)
- 자신의 답에 대한 가장 강력한 반론을 스스로 만들 수 있는가 (메타로 의심하기)
아까의 기능 요구에 적용한다면, 세로는 「경쟁사에 있으니까」에서 멈추지 않고, 그 기능으로 결국 무엇이 편해지는지까지 「왜」를 낮춥니다. 가로는 영업이나 해지한 고객의 측면에서 동일한 요구를 재검토합니다. 메타는 「목소리 큰 일부를 위한 기능이라 전체 숫자는 움직이지 않는 것 아닌가?」라며 자신의 안안에 반론을 제기합니다.
특히 메타의 한 줄기가 저의 맹점에 가장 효과적입니다. 대답하는 것이 꽤 힘들지만, 힘들다는 것은 그만큼 평소에 간과하고 있는 전제가 있다는 뜻이니까요.
메타는 외주를 줄 수 있다
이 분해는 머릿속 정리로 끝내지 않고, AI에게 전달할 수 있는 형태로 만들고 있습니다. '깊게 생각해'라고 통째로 던져도 전달되지 않기 때문에, 작업별로 독립적인 스킬(Claude Code의 스킬)로 잘라냅니다. 책임 분담은 이렇습니다.
하나의 작업에 하나의 스킬. '깊게 생각해'라고 전가하는 대신, '여기는 구조를 뽑고 싶다', '우선 논점을 바로잡고 싶다'처럼 명시적으로 부를 수 있습니다. 제 머릿속에서도, AI에게 지시할 때도 해상도가 높아집니다.
하지만 고백하자면, 아래 단의 메타만은 계속 스킬로 만들지 못했습니다. 자신의 생각을 의심하는 작업은 하려고 하면 팔이 안쪽으로 굽혀지지 않는 느낌입니다. 스스로 자신의 답에 반론해도 어딘가 손을 봐주는 느낌을 받습니다. 형태를 갖추지 못한 채 '육성 중'이라는 딱지를 붙이고 있었습니다.
그 답이, 예의 프롬프트에 적혀 있었습니다. 메타를 스스로 하게 만들고 있지 않았던 겁니다. 반증은 반증 전담 에이전트에게. 감사는 감사역에게. 노선 편향 감시는 전체를 보는 상위 에이전트에게. 내성으로서의 메타는 포기하고, 독립된 별개의 인격에게 외주로 설계하고 있는 것입니다. 손을 봐줄 여지를 근성이 아니라 체제로 덮고 있었습니다.
생각해보면, 인간 조직도 계속 그렇게 해왔습니다. 자신의 코드는 스스로 리뷰하지 않습니다. 감사역은 밖에 두죠. 그렇다면 제 메타 스킬도 '자신의 생각을 의심해라'라고 자신에게 부과하는 것이 아니라, '제 안을 무너뜨리러 오는 독립된 반증 역할'로 잘라내면 됩니다. 육성 중이던 스킬의 설계도가 미해결 문제의 프롬프트에서 나올 줄은 생각하지 못했습니다.
사람에게도 AI에게도 전달할 수 있다
여기까지 분해해보니 느끼는 것은, '깊게 생각하는 것'은 재능이라기보다 작업의 집합이라는 것입니다.
- '깊이(세로)'와 '다각적(가로)'은 별개입니다. 요청하지 않아도 퍼지는 것이 가로이고, 내버려 두면 멈추는 것이 세로입니다.
- 작업은 방향(세로인지 가로인지)과 재귀(대상인지 메타인지)의 두 축으로 정리할 수 있고, 차이가 나는 곳은 메타 단입니다.
- 궁극적으로는 처음 가장 그럴듯한 답에서 멈추지 않는 것입니다. 멈출 장소는 설계로 정해질 수 있습니다.
작업에 맡기면 전달 방식이 달라집니다. 사람에게 주는 피드백도 '더 깊게'가 아니라, '여기 메타 단이 빠진 것 같다'처럼 구체적으로 줄 수 있습니다. AI에게도 세로로 파고들게 하고, 반론을 전담으로 세우게 하고, 여기까지만 멈추지 말라고 작업으로 지시할 수 있습니다. 지난번에 형태를 갖춘 것은 AI에게 전달된다고 썼습니다. '깊게 생각하는 것'도 예외가 아니어서, 분해된 부분부터 전달됩니다. 넓게 생각하는 쪽은 AI가 멋대로 해주는 것이므로, 성과의 차이를 만드는 것은 깊이 생각하게 하는 설계 쪽이고, 그 프롬프트는 실물입니다.
그래서 요즘은 '깊게 생각해'라고 말하고 싶을 때, 어떤 작업에 대한 이야기인지 분해해서 전달하려고 합니다. 세로로 파고들기를 원하는 건지, 전제를 의심하기를 원하는 건지, 반론을 던져주길 원하는 건지. 그리고 매번 흩어지지 않도록, 깊게 생각하게 하는 스킬을 작업별로 하나씩 만들고 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기