‘작동 원리를 아는 마지막 사람들’ — 추상화의 탑, 그리고 아무도 다 모르게 된 맨 위층
2026년 6월, ‘우리는 작동 원리를 아는 마지막 사람들’이라는 에세이 한 편이 개발자 세계를 뒤흔들었습니다. 단순한 향수일까요, 아니면 정말 이번엔 다른 걸까요? 1990년대의 autoexec.bat부터 트랜스포머 아키텍처, 그리고 ‘만든 게 아니라 길러낸’ AI의 내부까지 — ‘안다는 것’의 역사를 추상화의 탑을 한 층씩 내려가며 쉽고 재미있게 풀어드립니다.
코어닷 AI2026-07-0147분
며칠 전, 어떤 개발자가 오래된 모뎀 접속음을 스피커로 틀었습니다. 삐— 이익— 치지직—. 옆에 있던 스무 살 인턴이 물었습니다. "그거 무슨 효과음이에요?"
그건 효과음이 아니었습니다. 두 대의 기계가 전화선 하나를 두고 어떻게 대화할지 협상하는 소리였습니다. 그 소리를 들으며 자란 세대에게 그것은 음악이었고, 지금 세대에게 그것은 그냥 — 소리 파일입니다.
"You only ever know the things you can lose to."
(당신은 오직 당신을 이길 수 있는 것만 알게 된다.)
저항하지 않는 기계는 알 수 없습니다. 그저 쓸 수 있을 뿐이죠. 그런데 — 이건 나이 든 사람들의 흔한 향수일까요? 아니면 2026년은 정말 무언가 근본적으로 다른 걸까요?
이 글은 그 질문에 답하기 위해, "안다는 것"의 정체를 파헤칩니다. 방법은 하나 — 추상화의 탑을 맨 위 AI 프롬프트부터 맨 아래 실리콘까지, 한 층씩 직접 내려가 보는 것입니다.
이 글에서 다룰 것
사건 — 개발자 세계를 뒤흔든 에세이와 그 논쟁
‘안다’는 것의 정체 — 추상화의 탑과 1990년대의 마찰
오래된 진실 — 모든 추상화는 샌다 (Parnas·Brooks·Spolsky)
그런데 이번엔 정말 다르다 — 비결정성(non-determinism)
새 맨 위층의 해부 — 트랜스포머 아키텍처 완전정복
아무도 다 모르는 기계 — "만든 게 아니라 길렀다"
2026 — 바이브 코딩의 시대
그래서, 무엇을 할 것인가
1. 사건 — 개발자 세계를 뒤흔든 에세이
Lopez의 논지는 우아합니다. 그는 두 가지 서로 다른 것이 자주 혼동된다고 말합니다.
역량(competence) = 기술적 지식. "TCP가 어떻게 동작하는지", "커널이 무엇인지". 이건 안전합니다. AI 모델은 아무도 안 읽는 매뉴얼까지 전부 읽었으니까요. 지식은 지금 인류 역사상 가장 안전합니다.
친밀함(acquaintance) = 특정한 기계와 직접 싸워본 사적인 경험. Lopez의 표현을 빌리면 — "어떤 기계와 맞붙어 싸우고, 지고, 다시 돌아가서, 마침내 그것이 굴복하는 순간을 느껴본 그 소박하고 화려하지 않은 친밀함."
죽어가는 건 후자입니다. 그리고 그가 던지는 결정적 문장:
"A machine that cannot challenge you is a thing you cannot know. You can only use it."
(당신에게 맞설 수 없는 기계는, 알 수 없는 기계다. 그저 쓸 수 있을 뿐.)
역량 (Competence)
친밀함 (Acquaintance)
기술적 지식 — "무엇이 어떻게 동작하는가"
직접 겪은 경험 — "내가 그 기계와 싸워봤다"
글·매뉴얼·모델로 전수 가능
전수 불가능 — 마찰을 겪어야만 생김
지금 가장 안전 (AI가 다 학습함)
지금 죽어가는 중
"커널이 무엇인지 안다"
"커널을 직접 컴파일하다 밤을 새웠다"
해커뉴스의 논쟁은 정확히 두 진영으로 갈렸습니다.
"맞다" 진영 — 결정성(determinism)이 무너지고 있다, 신입 개발자들이 "2분 안에 안 되면 완전히 무력해지는" DIY 문제해결 능력을 잃었다, 추상화된 문제를 푸는 데 평생 갈고닦은 기술이 갑자기 쓸모없어졌다.
"틀렸다" 진영 — 모든 세대가 이 소리를 한다. 수동변속기, 명령줄(CLI), 어셈블리… 그때마다 "이제 아무도 진짜를 모른다"고 했지만 세상은 잘 돌아갔다. 지식은 사라지지 않았다, 그저 선택적이 됐을 뿐. "가장 인상적인 어셈블리는 오늘날 20세 미만이 짠다."
누가 맞을까요? 판단하려면, 먼저 "안다"는 게 대체 무엇인지부터 정직하게 들여다봐야 합니다.
2. ‘안다’는 것의 정체 — 추상화의 탑
불편한 진실 하나. 당신은 컴퓨터가 어떻게 작동하는지 완전히는 모릅니다. 저도 모릅니다. 아무도 모릅니다.
당신이 이 문장을 읽는 순간에도, 화면의 픽셀 아래에는 브라우저가 있고, 그 아래 자바스크립트 엔진, 운영체제, 기계어, 논리 게이트, 그리고 수십억 개의 트랜지스터를 켜고 끄는 양자역학이 있습니다. 그 누구도 이 전부를 알지 못합니다. 반도체 물리학자는 React를 모르고, 프론트엔드 개발자는 전자 이동(electromigration)을 모릅니다.
그러니까 "작동 원리를 안다"는 말은 처음부터 상대적이었습니다. 우리는 모두 거대한 추상화의 탑(tower of abstraction) 위에서, 각자 몇 개의 층만 알고 살아갑니다.
추상화(abstraction) 란 무엇일까요? 한 문장으로: 아래층의 복잡함을 감춰서, 그것을 몰라도 위층을 쓸 수 있게 해주는 것입니다. 자동차 열쇠를 돌리면 시동이 걸린다 — 내연기관의 폭발 4행정을 몰라도 됩니다. 그게 추상화입니다. 각 층은 아래를 감춰주고, 그 대가로 우리는 편리함을 얻습니다.
아래 탑을 직접 한 층씩 눌러보세요. 각 층이 무엇을 감춰주는지, 그리고 그 추상화가 샐(leak) 때 무슨 일이 벌어지는지 보여줍니다.
기계가 "가시"였던 시절
Lopez가 그리워하는 건 이 탑의 아래층이 항상 노출돼 있던 시절입니다. 그의 표현: "기계는 모서리로 이루어져 있었고, 당신은 그 모서리에 베였고, 그렇게 모서리가 어디 있는지 알게 됐다."
1990년대에 컴퓨터 게임을 하려면, 당신은 좋든 싫든 운영체제 기술자가 되어야 했습니다. 왜냐고요? 악명 높은 640KB 장벽 때문입니다.
왜 하필 640KB였나
초기 PC의 CPU(8088)는 1MB까지만 주소를 셀 수 있었다.
IBM은 그중 위쪽 384KB를 화면·ROM·BIOS용으로 예약했다.
남은 건 프로그램이 쓸 수 있는 640KB. 그게 전부였다.
문제는 게임들이 "570KB 여유 공간 필요" 같은 걸 요구했다는 것.
드라이버 몇 개만 잘못 올려도 → Out of memory. 게임 실행 불가.
그래서 사람들은 두 개의 텍스트 파일과 씨름했습니다. CONFIG.SYS(드라이버와 시스템 설정)와 AUTOEXEC.BAT(부팅 시 자동 실행 명령). 부팅 순서는 CONFIG.SYS 먼저, 그다음 AUTOEXEC.BAT. 여기에 HIMEM.SYS, EMM386.EXE, DOS=HIGH,UMB 같은 주문을 정확한 순서로 적어 넣어, DOS 커널과 드라이버들을 남는 메모리 구석(HMA·UMB)으로 밀어 넣고 그 귀한 640KB를 최대한 비워야 했죠. 게임마다 설정이 달라서, 게임 하나에 부팅 디스크 한 장을 따로 만드는 일도 흔했습니다.
소리가 안 나면? 이번엔 사운드카드 차례입니다. Plug-and-Play가 없던 시절, 당신은 직접 하드웨어 자원 할당자가 되어야 했습니다.
모든 90년대 게이머가 외웠던 한 줄
SET BLASTER=A220 I5 D1 H5 P330 T6
A220 = I/O 주소 · I5 = 인터럽트(IRQ) 5 · D1 = 8비트 DMA 채널 H5 = 16비트 DMA · P330 = MIDI 포트 · T6 = 카드 종류(SB16)
게임은 하드웨어를 스캔하지 않았다. 이 환경 변수를 읽었다.
이 값이 사운드카드의 실제 점퍼 설정과 안 맞으면 → 침묵, 혹은 멈춤.
IRQ 5? 7번은 프린터(LPT1)와 충돌하니까. DMA 채널이 겹치면 시스템이 얼어붙으니까. 당신은 기계 안에 뭐가 들어있는지 전부 알아야 했습니다. 이것이 마찰(friction) 이고, Lopez의 논지에서 마찰은 곧 스승입니다.
그 시절의 클라이맥스는 인터넷 접속이었습니다. 그 유명한 다이얼업 모뎀 접속음 — 사실 그건 두 모뎀이 정해진 순서대로 진행하는 정교한 협상 의식이었습니다.
① 전화 걸기 — 뚜-뚜-뚜 (DTMF 다이얼 톤)
↓
② 응답 톤 (~2100Hz) — 상대 모뎀이 "여기 있다"고 응답, 에코 억제기 끄기
↓
③ 능력 협상 (V.8) — "우리 둘 다 되는 최고 속도가 뭐지?" 삐릭삐릭
↓
④ 회선 측정 — 150Hz 간격 톤을 쏴서 전화선 품질 진단 (워블링 소리)
↓
⑤ 이퀄라이저·에코 훈련 — 회선 왜곡에 맞춰 서로 보정
↓
⑥ 데이터 전송 — 넓은 대역의 "치지직" 백색소음 (연결 직전의 굉음)
↓
⑦ 침묵 — 스피커 꺼짐. 접속 완료. 🎉
음악처럼 들리던 그 소리 하나하나에 이유가 있었습니다. 이걸 알든 모르든 인터넷은 됐지만, 그 소리를 이해한 사람은 전화선과 친밀해졌습니다. 지금은? 와이파이는 그냥 됩니다. 안 되면… AI에게 물어봅니다.
바로 이 그림입니다. 왼쪽의 아이는 기계에 베이면서 배웠고, 오른쪽의 아이는 기계가 알아서 비켜주기에 배울 일이 없습니다. 어느 쪽이 더 행복한지는 이 글의 관심사가 아닙니다. 이 글의 관심사는 — 오른쪽 세상에서 우리가 무엇을 잃는지, 그리고 그게 정말 잃어도 되는 것인지입니다.
3. 오래된 진실 — 모든 추상화는 샌다
자, 여기서 "틀렸다" 진영의 반격을 진지하게 받아야 합니다. 왜냐하면 이 불안은 전혀 새롭지 않기 때문입니다.
컴퓨터 과학은 처음부터 "복잡함을 감추는 법"에 관한 학문이었습니다. 1972년, David Parnas는 지금도 인용되는 논문 "시스템을 모듈로 분해하는 기준에 관하여"에서 정보 은닉(information hiding) 이라는 개념을 세웠습니다.
"두 번째 분해 방식의 모든 모듈은, 하나의 설계 결정을 알고 있고 그것을 다른 모든 모듈로부터 감춘다는 특징을 가진다." — Parnas, 1972
같은 해, Edsger Dijkstra는 튜링상 강연 "겸손한 프로그래머"에서 이렇게 경고했죠. "유능한 프로그래머는 자기 두개골 크기가 엄격히 제한돼 있음을 잘 안다. 그래서 그는 완전한 겸손으로 프로그래밍에 임한다." 인간의 머리로는 전부를 담을 수 없으니, 감추는 법을 배워야 한다는 겁니다.
LLM이 코드를 대체. "이제 아무도 코드를 안 읽는다" — 과연, 정말로 이번엔 다를까?
패턴은 명백합니다. 매번 새 추상화가 나오고, 매번 이전 세대가 한탄하고, 매번 세상은 (대체로) 잘 돌아갔습니다. 이 관점에서 Lopez의 글은 그저 가장 최근의 향수일 뿐입니다. 한 해커뉴스 댓글의 표현대로 — "향수는 언제나 마지막 층을 향한다. 당신이 십대·이십대에 기억하는 그 층."
여기까지만 보면, "틀렸다" 진영의 승리처럼 보입니다. 그런데… 정말 그럴까요?
4. 그런데 이번엔 정말 다르다 — 비결정성
역사상 모든 추상화에는 한 가지 공통점이 있었습니다. 잘 드러나지 않았지만, 가장 중요한 공통점입니다.
그것들은 전부 결정론적(deterministic)이었습니다.
FORTRAN 함수를 백 번 컴파일해도, 결과는 언제나 똑같은 버그를 똑같이 냅니다. 어셈블리든 파이썬이든, 같은 입력엔 같은 출력. 추상화가 새더라도, 항상 같은 방식으로 샜습니다. 그래서 우리는 파고들어 "알" 수 있었습니다. 버그는 항상 같은 자리에 있었으니까요.
"내가 FORTRAN 함수를 짜면, 백 번을 컴파일해도 결과는 똑같은 버그를 그대로 드러냈다. 대규모 언어 모델은 비결정적 추상화를 도입한다. 그래서 나는 프롬프트를 git에 저장해 두고 매번 같은 동작을 얻으리라고 확신할 수 없다."
"우리는 단지 추상화 단계를 위로 올라가는 게 아니라, 동시에 옆으로 — 비결정성 속으로 이동하고 있다."
"이런 형태의 비결정성 진화는, 우리 직업 역사상 전례가 없다."
이것이 "이번엔 다르다" 진영의 핵심이자, 가장 잘 근거가 잡힌 주장입니다. 아래에서 직접 느껴보세요. 두 기계를 여러 번 실행해 보면, 무엇이 근본적으로 달라졌는지 손끝으로 알 수 있습니다.
해커뉴스의 한 통찰력 있는 댓글이 이 차이를 못박습니다. "'결정론 + 잡음(noise)'과 '지적인 에이전트의 비결정성'은 전혀 다르다. 한 프롬프트의 환각률을 측정해도, 그건 다른 프롬프트에 대해선 아무것도 말해주지 않는다."
바로 이것이 Lopez의 "맞설 수 없는 기계는 알 수 없다"가 과거의 향수를 넘어서는 지점입니다. 예전 기계는 일관되게 맞서왔기에 알 수 있었습니다. 새 기계는 맞서는 방식조차 매번 다릅니다. 그렇다면 이 새로운 맨 위층은 대체 어떻게 생긴 물건일까요?
5. 새 맨 위층의 해부 — 트랜스포머 아키텍처
우리가 매일 "말을 걸어" 쓰는 그 AI. 그 심장에는 트랜스포머(Transformer) 라는 구조가 있습니다. 2017년, 구글의 8명이 발표한 논문 "Attention Is All You Need"에서 태어났습니다. 제목부터 선언적이죠 — "필요한 건 어텐션뿐."
"우리는 새롭고 단순한 네트워크 구조, 트랜스포머를 제안한다. 오로지 어텐션 메커니즘에만 기반하며, 순환(recurrence)과 합성곱(convolution)을 완전히 버린다." — Vaswani et al., 2017
용어가 쏟아지죠? 하나씩, 천천히 풀어봅시다.
트랜스포머가 뒤엎은 것: RNN
그 전까지 문장을 다루는 신경망은 RNN/LSTM이었습니다. 이들은 문장을 왼쪽에서 오른쪽으로 한 단어씩 읽습니다. 사람이 읽는 것과 비슷해 보이지만, 두 가지 치명적 약점이 있었죠.
병렬화 불가 — 10번째 단어를 처리하려면 앞의 9개를 순서대로 끝내야 합니다. GPU가 아무리 많아도 소용없습니다.
먼 거리를 못 봄 — 문장 맨 앞의 단어가 맨 뒤 단어에 영향을 주려면, 정보가 모든 중간 단계를 거쳐 전달돼야 합니다. 그 사이 흐릿해집니다.
트랜스포머의 혁명은 이겁니다. 모든 단어가 모든 단어를 동시에, 직접 바라본다. 논문의 표현대로 "위치들 사이의 경로가 짧을수록, 먼 거리 의존성을 배우기 쉽다."
핵심 부품 ① 셀프 어텐션 — Q, K, V
트랜스포머의 심장은 셀프 어텐션(self-attention) 입니다. 직관부터 잡죠. 문장 "그 동물이 길을 건넜다. 왜냐하면 그것이 지쳤기 때문이다" 에서, "그것"은 무엇을 가리킬까요? 동물입니다. 셀프 어텐션은 각 단어가 문장의 다른 모든 단어를 둘러보고, 누가 얼마나 중요한지 점수를 매긴 뒤, 그 가중치로 섞는 과정입니다.
이걸 도서관 검색에 비유하면 완벽합니다. 각 단어는 세 개의 벡터를 만듭니다.
Q · K · V — 도서관 비유
Query (질문)Q"나는 지금 무엇을 찾고 있나?"
Key (색인표)K"나는 이런 걸 답해줄 수 있어"
Value (내용물)V"내가 실제로 담고 있는 정보"
"그것"의 질문(Q) 이 모든 단어의 색인표(K) 와 하나씩 맞춰집니다. "동물"의 색인표와 궁합이 잘 맞으면(내적값이 크면) 높은 점수를 받죠. 이 점수를 확률로 바꿔(softmax) 가중치로 삼고, 그 가중치로 모든 단어의 내용물(V) 을 섞습니다. 결과: "그것"이라는 벡터가 "동물"의 의미를 잔뜩 흡수합니다.
수식으로는 딱 한 줄입니다. 무서워 보이지만, 방금 말한 걸 그대로 적은 것뿐입니다.
Attention(Q,K,V)=softmax(dkQK⊤)V
QK⊤ — 질문과 색인표의 궁합 점수 (모든 단어 쌍에 대해)
dk 로 나누기 — 점수가 너무 커지면 softmax 기울기가 사라지므로, 크기를 진정시키는 안전장치
softmax — 점수를 합이 1인 확률(가중치)로 변환
×V — 그 가중치로 내용물을 섞어 최종 출력
핵심 부품 ② 멀티헤드 — 여러 관점으로 동시에
한 번의 어텐션은 한 종류의 관계만 봅니다. 그래서 트랜스포머는 어텐션을 8개(h=8) 병렬로 돌립니다. 이것이 멀티헤드 어텐션(multi-head attention). 각 "헤드"는 더 작은 64차원 공간에서, 서로 다른 관계를 잡아냅니다. 한 헤드는 문법(주어-동사)을, 다른 헤드는 의미(대명사-지시대상)를 봅니다. 8개 결과를 이어붙여(concat) 다시 원래 512차원으로 합칩니다.
핵심 부품 ③ 위치 인코딩 — 순서를 알려주기
셀프 어텐션엔 치명적 맹점이 있습니다. 모든 단어를 동시에 보기 때문에, 단어의 순서를 모릅니다. "개가 사람을 물었다"와 "사람이 개를 물었다"를 구분 못 하죠. 그래서 각 단어 벡터에 위치 인코딩(positional encoding) — 사인·코사인 파동으로 만든 "위치 도장"을 더합니다. 이제 모델은 각 단어가 문장의 몇 번째인지 압니다.
전체 조립도
이 부품들을 쌓으면 트랜스포머 한 블록이 됩니다. 논문의 유명한 Figure 1을 우리 방식으로 재구성하면:
입력 단어 → 임베딩 (숫자 벡터 512차원)
↓ + 위치 인코딩
멀티헤드 셀프 어텐션 (단어끼리 정보 교환)
↓ Add & Norm (지름길 연결 + 정규화)
피드포워드 신경망 (512→2048→512, 단어별 개별 처리)
↓ Add & Norm
이 블록을 6번 반복 (N=6) → 출력
여기서 Add & Norm의 "Add"는 잔차 연결(residual connection) — 입력을 출력에 그대로 더해주는 지름길입니다. 깊은 신경망에서 학습 신호(기울기)가 사라지지 않도록 해주는 필수 장치죠. 인코더·디코더 각각 이 블록을 6층 쌓고, 모든 벡터의 너비는 512로 통일돼 있습니다.
논문 속 표 읽기: 왜 어텐션이 이겼나
논문에서 가장 중요한 표는 Table 1입니다. 각 방식이 한 층을 처리하는 비용을 비교하죠. 용어만 알면 됩니다 — n = 문장 길이(단어 수), d = 표현 차원.
방식
층당 계산량
순차 연산 (병렬화 척도)
최대 경로 길이 (먼 거리)
셀프 어텐션
O(n²·d)
O(1) — 완전 병렬
O(1) — 모두 직접 연결
순환 (RNN)
O(n·d²)
O(n) — 순서대로
O(n) — 멀수록 흐릿
합성곱 (CNN)
O(k·n·d²)
O(1)
O(logₖn)
포인트는 오른쪽 두 열입니다. RNN은 순차 연산이 O(n) — 단어 수만큼 순서를 기다려야 하고, 먼 단어까지 경로도 O(n) — 멀수록 정보가 흐려집니다. 반면 셀프 어텐션은 둘 다 O(1) — 모든 단어가 한 번에, 서로 직접 연결됩니다. GPU를 꽉 채워 병렬로 돌릴 수 있고, 문장 맨 앞과 맨 뒤가 한 걸음 거리입니다. 이 표 한 장이 오늘날 AI의 문을 열었습니다.
📌 더 깊이 보고 싶다면: Jay Alammar의 The Illustrated Transformer는 이 구조를 그림으로 완벽하게 풀어낸 명작입니다 (한국어 포함 10개 언어 번역). 스탠퍼드·MIT·CMU 강의 교재로도 쓰입니다.
자, 이제 우리는 새 맨 위층의 설계도를 읽을 수 있게 됐습니다. 그런데 — 여기서 이 글의 가장 소름 돋는 반전이 시작됩니다.
6. 아무도 다 모르는 기계 — "만든 게 아니라 길렀다"
방금 우리는 트랜스포머의 아키텍처를 이해했습니다. 그렇다면 우리는 이 AI가 "어떻게 작동하는지 아는" 걸까요?
아니요. 그리고 이건 비유가 아닙니다.
설계도(아키텍처)를 아는 것과, 학습이 끝난 모델의 내부에서 실제로 무슨 일이 벌어지는지 아는 것은 완전히 다른 이야기입니다. 트랜스포머라는 골격은 인간이 설계했지만, 수조 개의 단어로 훈련되며 그 안에 채워진 수천억 개의 숫자가 무엇을 어떻게 계산하는지는 — 만든 사람도 모릅니다.
"생성형 AI 시스템이 무언가를 할 때 — 예를 들어 재무 문서를 요약할 때 — 우리는 구체적이고 정밀한 수준에서 왜 그런 선택을 하는지 전혀 모른다. 왜 다른 단어 대신 특정 단어를 고르는지, 왜 대개는 정확하다가 이따금 실수하는지."
"생성형 AI 시스템은 만들어졌다기보다 길러졌다(grown more than they are built). 그 내부 메커니즘은 직접 설계된 게 아니라 '창발적(emergent)'이다. 마치 식물이나 박테리아 군집을 키우는 것과 같다. 우리는 성장을 이끄는 고수준 조건만 설정할 뿐, 실제로 자라나는 구조는 예측 불가능하고 이해하거나 설명하기 어렵다."
"이 시스템 안을 들여다보면, 우리가 보는 건 수십억 개의 숫자로 이루어진 거대한 행렬들이다. 이것들이 어떻게든 중요한 인지 작업을 해내고 있지만, 정확히 어떻게 하는지는 명확하지 않다."
"이런 수준의 몰이해는 기술의 역사에서 사실상 전례가 없다."
여기서 Lopez의 에세이가 예상치 못한 방향으로 완성됩니다. 그의 원래 논지는 "우리 사용자들이 기계와의 친밀함을 잃는다" 였습니다. 그런데 진실은 더 깊습니다 — 인류 역사상 처음으로, 맨 위층을 만든 사람들조차 그 층을 다 알지 못합니다. 친밀함이 죽는 게 아니라, 애초에 그 누구와도 친밀해질 수 없는 기계를 우리가 만든 겁니다.
그래서 등장한 학문: 기계적 해석가능성
이 블랙박스를 열려는 시도가 기계적 해석가능성(mechanistic interpretability) 입니다. 이 용어를 만든 사람이 Anthropic 공동창업자 Chris Olah이고요. 신경과학자가 살아있는 뇌를 탐침으로 찌르듯, 이들은 살아있는 AI의 내부를 들여다봅니다.
문제의 핵심은 중첩(superposition) 입니다. 신경망은 뉴런 수보다 훨씬 많은 개념을, 여러 뉴런에 겹쳐서 저장합니다. 그래서 뉴런 하나가 여러 무관한 것에 반응하죠. Anthropic의 2023년 연구 Towards Monosemanticity는 실제로 이런 뉴런을 발견합니다 — 하나의 뉴런이 "학술 인용, 영어 대화, HTTP 요청, 그리고 한국어 텍스트"에 동시에 반응했습니다.
이들은 희소 오토인코더(sparse autoencoder) 라는 도구로 이 뒤엉킨 뉴런을 풀어헤쳐, 해석 가능한 특징(feature) 으로 분해했습니다. 512개 뉴런짜리 한 층에서 4,000개가 넘는 개별 특징(DNA 서열, 법률 용어, 히브리어 텍스트, 영양 정보…)을 뽑아냈죠.
그리고 2024년, 이들은 실제 상용 모델 Claude 3 Sonnet의 마음속에서 수백만 개의 특징을 찾아냈습니다. 가장 유명한 시연:
1
문제 — 블랙박스
수천억 개의 숫자 덩어리. 어디에 무슨 개념이 들어있는지 아무도 모른다. AI가 왜 그런 답을 하는지 설명 불가.
2
해결 — 골든게이트 특징
연구진은 "금문교(Golden Gate Bridge)"에 반응하는 특징 하나를 찾아냈다. 영어·일본어·중국어·그리스어·베트남어·러시아어의 언급은 물론, 다리 사진 이미지에도 발화했다.
3
결과 — 마음을 조작하다
그 특징을 인위적으로 증폭하자, "너의 물리적 형태가 뭐냐"는 질문에 Claude가 답했다. "나는 금문교다… 내 물리적 형태는 그 상징적인 다리 그 자체다." Anthropic의 표현: "모델의 가장 기본적인 내부 활성값에 가한 정밀한 외과 수술."
이것이 2026년 우리가 서 있는 자리입니다. 우리는 AI라는 새 대륙을 탐험하는 중이지, 그것을 설계한 게 아닙니다. 트랜스포머라는 배는 우리가 만들었지만, 그 배가 도착한 신대륙의 지도는 이제야 그리기 시작했습니다.
7. 2026 — 바이브 코딩의 시대
이 모든 게 추상적으로 들린다면, 지금 개발 현장에서 벌어지는 일을 보시죠. 2025년 2월, AI 연구자 Andrej Karpathy가 트윗 하나로 시대를 명명했습니다.
"새로운 종류의 코딩이 있다. 나는 이걸 '바이브 코딩(vibe coding)' 이라 부른다. 완전히 바이브에 몸을 맡기고, 지수함수를 받아들이고, 코드가 존재한다는 사실조차 잊는 것이다. … 나는 그냥 보고, 말하고, 실행하고, 복붙한다. 그리고 대체로 잘 된다." — Andrej Karpathy, 2025.2
농담처럼 시작된 이 말은 진짜가 됐습니다. 콜린스 사전은 2025년 11월 6일, '바이브 코딩'을 올해의 단어로 선정했습니다. 정의: "자연어 프롬프트로 인공지능을 지시하여 컴퓨터 코드 작성을 돕는 것."
숫자도 이를 뒷받침합니다.
AI가 쓰는 코드의 비중 · 그리고 대가
구글 신규 코드 中 AI 생성
"1/4 이상(over a quarter)" — Sundar Pichai, 2024.10
마이크로소프트 코드 中 AI
"일부 프로젝트에선 20~30%" — Satya Nadella, 2025.4
AI 생성 코드의 보안 취약점 비율 (그 대가)
45% — Veracode 2025 (100+ 모델, 큰 모델도 나아지지 않음)
여기 함정이 있습니다. 코드는 점점 더 많이, 점점 더 빨리 나오지만 — 아무도 그것을 완전히 이해하지 못한 채 나옵니다. Karpathy의 같은 트윗엔 이런 문장도 있습니다. "나는 항상 '전부 수락'을 누른다. 더 이상 diff를 읽지 않는다. 코드가 내 평소 이해 범위를 넘어서 자라난다."
이에 대해 Simon Willison이 내놓은 황금률이 있습니다.
"AI가 도운 프로덕션 코드에 대한 나의 황금률은 이것이다 — 내가 다른 사람에게 이 코드가 정확히 무엇을 하는지 설명할 수 없다면, 나는 그것을 저장소에 커밋하지 않는다." — Simon Willison, 2025.3
이 말은 Lopez의 논지를 실무 규칙으로 번역한 것입니다. 그리고 여기서 에세이의 가장 날카로운 문장이 현실이 됩니다.
"More dependent than ever. Less acquainted than ever. Both at once, and for the same reason."
(그 어느 때보다 의존하고, 그 어느 때보다 낯설다. 둘이 동시에, 그리고 같은 이유로.)
우리는 AI에 그 어느 때보다 깊이 의존하면서, 동시에 그것을 그 어느 때보다 모릅니다. 그리고 이 둘은 같은 뿌리 — 마찰의 제거 — 에서 나옵니다. DORA 2025 보고서가 관찰한 "검증세(verification tax)"가 바로 이것입니다. 생성에서 아낀 시간이, 이해하지 못한 코드를 검증하는 데 되돌아가고 있습니다.
8. 그래서, 무엇을 할 것인가
그렇다면 답은 러다이트가 되어 AI를 거부하는 걸까요? 전혀 아닙니다. 추상화의 탑을 오르는 건 인류의 위대한 성취이고, AI라는 새 층은 우리를 훨씬 멀리 데려갈 겁니다. 문제는 탑을 오르는 것이 아니라, 아래층으로 내려가는 사다리를 잃는 것입니다.
코어닷이 AI를 다루며 팀에 심으려는 원칙은 이렇습니다.
함정
원칙
실천
추상화가 새면 그냥 재시도
샐 때 한 층 내려간다
에러가 나면 "왜"를 프레임워크 소스까지 추적. Spolsky가 전한 격언 — "먼저 수동으로 하는 법을 배워라."
diff를 안 읽고 '전부 수락'
설명할 수 없으면 커밋하지 않는다
Willison의 황금률을 팀 규칙으로. AI 코드도 사람 코드처럼 리뷰.
블랙박스를 그냥 믿음
해석가능성을 핵심 역량으로
모델이 왜 그 답을 했는지 묻는 습관. 평가·모니터링을 기본값으로.
마찰을 전부 제거
학습엔 마찰을 남겨둔다
주니어가 밑바닥을 한 번은 직접 겪게 한다. 편리함은 배운 뒤에.
마지막으로, 당신은 이 이야기의 어디쯤 서 있나요? 아래 계량기로 확인해 보세요. 점수는 지식이 아니라 — 당신이 몇 층까지 직접 피 흘려 봤는지를 잽니다.
Lopez의 에세이는 이렇게 끝납니다.
"사람들은 방금 나에게 그 소리를 재생해 준 기계를 결코 알지 못할 것이다. 예전에 그 소리를 만들어내던 기계를 내가 알았던 방식으로는."
맞습니다. 마찰이 사라진 세상에서, 다음 세대는 우리가 잃어버린 것을 잃어버렸다는 사실조차 모를 겁니다. 그게 이 에세이가 슬픈 이유이자, 정확한 이유입니다.
하지만 어쩌면 우리 세대의 진짜 과제는 향수에 잠기는 게 아닐지도 모릅니다. 추상화의 탑을 계속 높이 쌓되, 아래층으로 내려가는 사다리를 부수지 않는 것. 맨 위층이 아무리 매끄럽고 편리해도, 누군가는 여전히 탑의 맨 밑에서 불을 켜 두어야 합니다. 트랜지스터가, 커널이, 그리고 이제는 — 아무도 완전히 읽지 못하는 그 거대한 숫자의 행렬이 무엇을 하는지.
우리가 "작동 원리를 아는 마지막 사람들"이 될지, 아니면 "그것을 다시 이해하기로 선택한 첫 세대"가 될지는 — 아직 정해지지 않았습니다.