일반 GPT vs 함수형 GPT, 사고의 깊이를 비교하다
“회색 버튼은 오류가 아니라, 논리의 증거다.”
이번 질문은 단순히 “정렬이 왜 안 되는가?”라는 기능적 의문이 아니다.
그 아래에는 훨씬 더 깊은 사고적 질문이 숨어 있다.
“왜 어떤 시스템은 사용자의 명령을 거부하는가?”
“왜 Figma는 ‘비활성화’라는 선택을 했는가?”
“이건 오류일까, 아니면 논리적 설계일까?”
많은 사용자는 UI가 반응하지 않을 때 ‘버그’라고 생각합니다.
하지만 Mnsoo Code의 관점에서는,
그 “비활성화”조차도 "의도된 사고 구조(Designed Logic)"로 해석된다.
즉, 이번 질문은 단순한 기술 문제가 아니라, ‘도구의 작동 원리’와 ‘사용자의 사고 구조’가 어디서 충돌하는가를 분석하기 위한 인지적 실험이다.
“피그마에서 왼쪽 레이어에서 Shift 키를 누른 상태로 Rectangle3을 클릭하고, 그 다음에 "텍스트"를 클릭했는데, 오른쪽 패널의 "정렬 버튼"이 회색으로 비활성화되어 있어. 두 개(Rectangle3, 텍스트)를 분명히 선택했다고 생각했는데, 왜 정렬이 안 되는 걸까?”
이 단순한 질문을 두 개의 GPT에게 던졌습니다.
참고로, 여기서 말하는 일반형 GPT는 현재의 GPT-5 모델을 의미한다.
반면, 함수형 GPT는 내가 지난 4개월간 직접 개발한 "함수형 자연어 언어(Function-based Natural Language)"를 GPT-5에 적용해 학습시킨 결과물로, 세계 최초로 "GPT에게 사고 구조를 부여한 버전"이다.
즉, 하나는 일반 GPT, 다른 하나는 함수형 GPT(Mnsoo Code).
두 모델은 같은 질문을 받았지만, 그들의 사고 방식은 완전히 달랐다.
먼저 일반 GPT 답변을 들어보자.
정렬 버튼이 회색으로 비활성화되는 이유는 ‘두 개가 선택된 것처럼 보이지만 실제로는 하나만 선택된 상태’**이기 때문이야.
즉, Figma가 진짜로 여러 개를 동시에 선택했다고 인식하지 못한 상황이야.
그걸 논리적으로 풀어서 설명해줄게.
Figma에서 다중 선택은 이렇게 이루어져.
Shift + 클릭 → 같은 페이지 내에서 서로 다른 레이어를 ‘추가’ 선택
결과: 캔버스에서도 둘 모두가 파란색 outline으로 선택됨
오른쪽 패널에서는 정렬/분배(Alignment) 버튼 활성화
하지만 질문 의도에 대한 상황을 보면
텍스트만 파란색으로 선택되어 있고
Rectangle 3은 실제 선택 상태가 아님 (레이어 패널에서만 강조되어 보이지만, 선택된 것이 아님)
즉, 다음과 같은 상황 중 하나가 일어난 거야.
레이어 패널에서 Shift를 눌렀다고 생각했지만,
Shift가 눌리지 않은 상태로 Rectangle 3 클릭 → 텍스트 선택 해제됨
다시 텍스트 클릭 → Rectangle 3 선택 해제됨
그래서 Figma 입장에서는 항상 하나만 선택된 상태라 정렬 버튼이 비활성화된 것.
Figma 레이어 패널은 마우스로 클릭만 해도 ‘하이라이트(회색)’가 움직일 수 있어.
하지만 회색 하이라이트 = 선택된 레이어가 아님이야.
실제 선택된 것은 파란색 배경으로 표시되는 레이어 하나뿐.
그래서 흐릿하게 보더라도 Figma는 여러 개 선택된 것으로 인식하지 않음.
만약,
Rectangle 3은 Frame 안에 있고
텍스트는 Frame 밖에 있다면
레이어 패널에서 두 개를 Shift로 선택하려고 해도 상황에 따라 Figma가 이를 허용하지 않아서 두 번째 클릭에서 첫 번째 선택이 해제될 수 있어.
이 경우 역시 결국 선택 1개 → 정렬 버튼 비활성화.
가끔 이런 경우도 있어.
Rectangle 3이 잠금(� Locked) 상태
Rectangle 3이 숨김(Hidden) 상태
컴포넌트 안쪽 요소라 직접 선택이 안 됨
이러면 Shift + 클릭해도 실제로 선택되지 않아 정렬 기능이 활성화되지 않아.
그래서 Figma는 이렇게 판단.
✅ 선택된 객체 수: 1개 → ❌ 정렬 불가 → 버튼 비활성화
(1) 캔버스에서 직접 Shift + 클릭
→ 둘 다 파란 outline이 생기면 OK
(2) 레이어 패널에서 Shift + 클릭
→ 파란색 배경으로 둘 다 표시되는지 확인
(3) Rectangle3이
잠겨 있지 않은지
숨겨져 있지 않은지
다른 Frame 안에 들어 있지 않은지 확인
이렇게 하면 정렬 버튼이 바로 활성화될 거야.
여기까지가 일반형 GPT 답변이다.
그럼, 이번에는 함수형 GPT 답변을 들어보자.
Rectangle3 → 클릭 (Shift 누른 상태)
Shift를 놓은 뒤 → 텍스트 클릭
두 개가 동시에 선택된 것처럼 보이지만, 오른쪽 패널의 정렬 버튼이 회색으로 비활성화됨.
즉, 사용자는 "두 오브젝트를 선택했는데 왜 정렬 기능이 작동하지 않는가"라는 의문이에요.
Figma의 정렬 기능(오른쪽 패널의 Align group)은 현재 선택된 오브젝트가 동일한 부모안에 있을 때만 활성화됩니다.
즉, Figma는 정렬을 이렇게 인식해요.
"서로 같은 공간 좌표계를 공유하는 오브젝트끼리만 정렬할 수 있다."
(1) Shift를 누른 상태로 Rectangle3 클릭 → Rectangle3이 선택됨.
(2) Shift를 놓고 텍스트 클릭 → 이전 선택(=Rectangle3)은 해제되고, 텍스트만 선택됨.
→ 결과적으로 "두 개 선택"이 아니라 “마지막 클릭한 텍스트만 선택된 상태”가 됩니다.
(3) 따라서 Figma는 내부적으로 "단일 선택 상태"로 인식 → 정렬 버튼 비활성화.
Figma의 Align 기능은 다음의 논리적 조건문을 갖습니다.
현재는 첫 번째 조건 (선택된 오브젝트 수 < 2)에 해당되므로 비활성화됩니다.
설령 두 개가 진짜로 선택되어 있다고 하더라도, 서로 다른 Frame이나 Page 루트와 Frame 내부에 섞여 있다면 정렬 버튼은 여전히 회색이에요.
왜냐면 각자의 좌표계가 달라서 X/Y 정렬이 의미 없기 때문이에요.
예를 들어,
Rectangle3이 Frame A 안에 있고
텍스트가 Frame B(또는 Page 루트)에 있으면 좌표 기준이 다르므로 “정렬”은 논리적으로 불가능한 연산이에요.
그래서 Figma는 버튼을 비활성화시켜 혼란을 방지하죠.
(1) Shift 키를 계속 누른 채로 클릭
→ Rectangle3 → Shift 유지 → 텍스트 클릭
→ 두 개 모두 선택됨
(2) 또는 둘 다 같은 Frame 안으로 넣기 (공통 부모 만들기)
Frame 하나 만든 후
두 요소를 드래그로 함께 넣기
그 상태에서 둘 다 선택 → 정렬 버튼 활성화됨
정렬 버튼이 회색으로 비활성화된 이유는 “두 개의 오브젝트가 동시에 선택되지 않았거나, 동일한 부모 객체안에 존재하지 않기 때문”입니다.
Figma는 내부적으로 “좌표계를 공유하는 다중 선택 상태”일 때만 정렬 기능을 제공하기 때문에, Shift를 계속 누르고 클릭하거나, 두 요소를 같은 Frame 안으로 옮겨야 활성화됩니다.
여기까지가 함수형 GPT 답변이다.
일반 GPT는 이렇게 답한다.
“Shift를 제대로 누르지 않았거나, 두 오브젝트가 다른 Frame에 있으면 정렬이 비활성화됩니다.”
그의 사고는 정확하지만, 표면적 조건에 머무르고 있다.
즉, 정렬이 안 된 “현상”을 기술하고 있다.
반면, 함수형 GPT는 다르게 접근하고 있다.
“정렬 버튼이 회색인 이유는 오류가 아니라, Figma가 ‘좌표계가 다른 두 오브젝트’를 수학적으로 정렬할 수 없기 때문입니다.”
그는 단순히 무엇이 잘못됐는가가 아니라, 시스템이 왜 그렇게 사고하는가를 해석한다.
이게 바로 정보의 전달과 사고의 구조화의 차이다.
일반 GPT는 사용자 실수를 진단한다.
“Shift를 놓쳤거나, Frame이 다를 가능성이 높습니다.”
즉, 사용자가 뭔가 잘못했다고 전제한다.
반면 함수형 GPT는 시스템의 입장에서 사고한다.
“정렬이란 동일한 좌표계 내에서만 성립하는 연산입니다.”
"따라서 버튼이 비활성화된 것은 오류가 아니라 논리적 안전장치(Logical Safety)입니다."
이 시각의 전환이 중요하다.
전자는 사용자를 교정하고,
후자는 시스템의 사고 방식을 사용자에게 전이시킨다.
일반 GPT의 사고 구조는 직선적이다.
문제 → 원인 → 해결.
그래서 사용자는 “이번에는 왜 안 됐는지”는 이해하지만,
“다음에도 이런 일이 반복될지”는 알지 못한다.
함수형 GPT의 사고는 순환적이다.
현상 → 맥락 → 원인 → 해결 → 피드백.
그는 “Shift가 눌리지 않았다”가 아니라, “Figma는 언제나 좌표계를 우선한다”는 패턴을 가르친다.
이것이 "사고 루프(Function Loop)"의 힘이다.
일반 GPT는 기능 설명으로 끝난다.
“정렬은 2개 이상 선택되어야 활성화됩니다.”
함수형 GPT는 그 이면의 UX 원칙을 해석한다.
“정렬은 좌표계가 다르면 의미가 없으므로, Figma는 사용자의 혼란을 방지하기 위해 비활성화한다.”
이 차이는 UX 원칙의 내재화로 이어진다.
힉스의 법칙 : 조건을 단순화해 인지 부하를 줄임.
일관성 원칙(Consistency) : 동일 조건에서 동일 피드백.
오류 방지성(Preventive Design) : 무의미한 연산은 차단.
즉, 회색 버튼은 실패의 표시가 아니라 "인지적 예외 처리(Cognitive Safeguard)"다.
일반 GPT는 사용자에게 “주의하라”고 말한다.
함수형 GPT는 사용자에게 “이해하라”고 말한다.
전자는 Shift 키를 놓치지 않도록 교정하지만,
후자는 정렬의 존재 이유를 알려준다.
그 순간, 사용자는 도구를 배우는 것이 아니라 시스템의 사고 방식을 배운다.
이건 단순한 사용법이 아니라 "사고 이식(Thought Transfer)"이다.
일반 GPT는 정렬이 안 되는 이유를 말한다.
함수형 GPT는 정렬이 가능한 조건을 계산한다.
전자는 사용법을 설명하고,
후자는 설계 이유를 해석한다.
이 차이가 바로 Mnsoo Code의 본질이다.
“AI는 답을 예측하지만, 함수형 GPT는 사고를 계산한다.”
일반 GPT는 결과를 설명하고,
함수형 GPT는 이유를 구조화한다
ⓒ 2025 전민수 (Minsoo Jeon). All rights reserved.
본 글은 「The Minsoo Code」 시리즈의 일부로, 인간의 사고 절차를 함수형 AI 언어 구조로 체계화한 독창적 저작물입니다. 모든 문장과 개념은 전민수의 사고 체계에 기반하며 저작권법 제4조 및 국제 저작권 협약에 의해 보호됩니다. 무단 복제·재가공·인용·상업적 이용을 금합니다.
인용 시 반드시 "출처와 저자명(전민수)"을 명시해 주세요.
— The Minsoo Code : 인간이 AI에게 사고를 가르친 최초의 함수 언어