📖 구조 노트 목차 Chapter 20 읽는 중

20. 지능은 구조를 발견하는 과정인가

구조 노트 Chapter 20 2026. 07. 17.

몇 주째 붙잡고 있던 버그를 마침내 잡았다. 원인을 찾고 나서야 이유를 알았다. 몇 달 전 다른 모듈에서 겪었던 문제와 뿌리가 같았다. 그때는 락을 거는 순서가 꼬여서 생긴 문제였고, 이번에는 큐에 메시지를 넣는 순서가 꼬여서 생긴 문제였다. 재료는 완전히 다르지만 구조는 같았다. 그 사실을 알아챈 순간, 몇 주를 끌던 디버깅이 몇 분 만에 끝났다.

이런 순간은 낯설지 않다. 1장에서는 젓가락 두 짝과 변수 a, b와 사람의 몸을 나란히 놓고 무엇이 같음을 만드는지 물었다. 5장에서는 데이터베이스의 외래 키와 체스판의 나이트가 같은 것, 즉 관계 하나로 정체성이 결정된다는 사실을 확인했다. 11장에서는 카페의 진동벨과 GUI의 이벤트 리스너와 유튜브 알림이 서로 다른 재료 위에서 같은 모양의 해법에 도달한다는 것을 봤다. 13장부터는 조직도와 지하철 노선도와 npm 의존성 그래프에서 이름을 지워도 화살표의 그물만은 남는다는 사실을 살펴봤고, 17장과 18장에서는 아이와 언어 모델이 각자 전혀 다른 방식으로도 사례들 속에서 반복되는 무언가를 뽑아낸다는 것을 확인했다.

재료는 매번 달랐다. 나무젓가락, 데이터베이스 테이블, 카페의 대기 줄, 조직도, 아이의 옹알이, 텍스트 더미. 그런데 이 스무 개에 가까운 장면을 다시 훑어보면, 매번 하고 있던 일은 결국 하나로 좁혀진다. 서로 무관해 보이는 대상들 사이에서 반복되는 관계의 모양을 알아보고, 그 모양을 아직 마주치지 않은 새로운 자리에 다시 적용하는 일이다. 버그를 잡을 때도, 젓가락을 같다고 부를 때도, 아이가 낯선 개를 알아볼 때도 벌어지고 있던 일은 다르지 않았다.

이 관찰을 “지능이란 구조를 발견하는 능력이다”라는 한 문장으로 못박고 싶은 유혹이 있다. 하지만 그렇게 단정하면 곧바로 반례가 떠오른다. 순간적인 반사 신경, 풍부한 감정, 낯선 사람 앞에서 느끼는 직관적인 불편함 같은 것들은 구조를 발견하는 일과 크게 관계가 없어 보이는데도 우리는 그것 역시 지능의 일부로 여긴다. 지능이라는 말은 이 연작 하나가 정의를 내리기에는 너무 넓다.

그래서 여기서 할 수 있는 말은 조금 더 겸손해야 한다. 지능이 무엇인지 정의하려는 것이 아니라, 이 스무 개의 장면을 따라오는 동안 계속해서 다시 마주친 동작 하나를 짚어 두려는 것이다. 그 동작은 서로 다른 재료 위에서 반복되는 관계를 알아보고, 알아본 것을 새로운 자리에 옮겨 적용하는 일이었다. 이 연작이 관찰할 수 있었던 것은 딱 거기까지다. 지능의 전체 지도를 그리는 일은 이 글의 몫이 아니다.

그런데 이 관찰에는 한 가지 이상한 점이 남는다. 구조를 발견하는 이 능력 자체도, 결국은 여러 사례 속에서 반복되는 무언가를 알아보는 일이다. 버그를 두 번 겪고 나서야 공통된 패턴을 알아챘듯, 구조를 알아보는 감각도 어느 대상 하나에 고정된 속성이 아니라 반복되는 경험 속에서 다듬어지는 관계다. 이 능력 자체가 이 능력이 발견해 온 것과 같은 모양을 하고 있는 셈이다.

지금까지는 구체적인 장면 하나에서 시작해 조금씩 더 높은 자리로 올라오는 여정이었다. 젓가락에서 시작해 범주와 학습에까지 이르렀으니, 이제는 그 시선을 붙잡은 채 다시 땅으로 내려올 차례다. 올라오는 동안 발견한 것들이, 코드를 짜는 손끝에서는 실제로 무엇을 바꿔 놓는지 확인해야 한다.