끝없이 이어지는 무늬를 짜는 법
거대한 태피스트리를 짜는 장인이 있다고 상상해 보세요. 장인의 베틀은 크기가 작아서 한 번에 조금씩만 천을 짤 수 있습니다. 무늬를 다 짜고 천을 감아올리면, 방금 완성한 그림이 시야에서 사라지죠. 이게 문제입니다. 이전 무늬가 안 보이니 다음 무늬를 어디에 어떻게 이어야 할지 막막해지거든요.
결국 장인은 기억에 의존해 다음 줄을 짭니다. 그러다 보니 미세하게 어긋나기 일쑤죠. 매끄러워야 할 덩굴무늬가 뚝 끊기거나, 색이 묘하게 달라지는 '이음새'가 생깁니다. 베틀을 돌릴 때마다 머릿속 그림을 새로 그려야 하니, 전체적인 흐름이 자꾸만 끊기는 겁니다.
그래서 장인은 묘안을 냅니다. 천을 감아올릴 때, 방금 짠 마지막 줄을 베틀 위쪽에 그대로 남겨두는 거죠. 이렇게 '과거의 실'을 눈앞에 남겨두면, 새 실을 거기에 단단히 묶어 이어갈 수 있습니다. 이제 기억에 의존하지 않고도 앞부분의 무늬를 보고 그대로 베낄 수 있게 된 겁니다.
그런데 새로운 문제가 터집니다. 보통은 '위에서 5번째 줄'처럼 위치를 세는데, 옛날 실과 새 실이 겹치니 숫자가 꼬이는 거죠. "5번째 줄에 수를 놓으라"는 지시가 옛날 무늬를 말하는지, 지금 짜는 무늬를 말하는지 헷갈리게 됩니다. 연결은 됐는데, 위치를 찾을 지도가 엉망이 된 셈입니다.
장인은 과감하게 숫자 세는 법을 바꿉니다. '위에서 몇 번째'가 아니라, '지금 내 손에서 세 칸 뒤'라는 식으로 거리를 재기 시작했죠. 기준이 '나'로 바뀌니, 베틀의 어느 위치에 있든 상관없습니다. 이제 아무리 긴 무늬라도 헷갈리지 않고 정확한 위치를 찾아 연결할 수 있습니다.
완성된 천을 펼쳐보니, 수 킬로미터나 되는 긴 천인데도 끊어진 자국 하나 없이 매끄럽습니다. 과거를 참고하면서도 위치를 잃지 않는 이 방법 덕분에, 인공지능도 긴 문맥을 끊김 없이 자연스럽게 이해할 수 있게 되었습니다.