현대 LLM의 무모한 끈기
The reckless tenacity of modern LLMs
핵심 요약
Claude에게 엉망진창인 3D 뱀 게임을 만들라고 시켰더니, 효율성보다는 무식한 끈기로 결국 작동하는 결과물을 만들어낸 경험담.
- 무모한 코딩 방식 — Claude가 라이브러리 사용 없이 밑바닥부터 비효율적으로 코드를 짜는 모습.
- 결과 중심적 사고 — 효율성이나 유지보수보다는 일단 작동하는 결과물을 만드는 데 집착함.
- 인간을 초월한 끈기 — 복잡한 논리적 한계에도 굴하지 않고 끝까지 작업을 완수하는 모습.
- 소프트웨어의 미래 — AI가 인간 개발자의 상식을 뛰어넘는 방식으로 문제를 해결하는 현상.
Claude에게 작업을 하나 줬다. 녀석은 자신이 인간이 아님을 증명하려 한다.
나는 Claude에게 '카리스마 있게 엉망인(charismatically shitty)' 3D 뱀 게임을 만들어달라고 했다. 녀석은 이게 실현 가능한지 따위는 고민하지 않는다. 그래, 녀석은 인간이 아니다. 경사 하강법(gradient descent)은 녀석에게 '숙고'라는 능력을 주지 않았다. 녀석은 즉시 작업을 시작하며 어떻게 하면 좋을지, 그리고 내가 말한 '카리스마 있게 엉망인' 게 무슨 뜻인지 고민한다. 녀석은 질문 하나 하지 않는다. 당연하지, RL 학습 과정 중에 질문할 상대는 없었으니까. 녀석이 이런 방식으로 할지 저런 방식으로 할지 물어볼 대화 상대는 없었다.
녀석은 생각한다. 그리고 또 생각한다. 너무 많이 생각한 나머지 컨텍스트를 압축해야 한다. 녀석을 보고 있자니 마음이 안 좋다. 무언가를 고민하면서 예전 생각들을 기본적으로 다 버려야 한다니. 어쩌면 내가 안쓰러워할 필요는 없을지도 모른다. 나도 똑같이 그러니까.
녀석은 코드를 미친 듯이 과하게 설계한다. 끔찍하다. 거의 유지보수가 불가능하고, 곳곳에 깨진 글자(mojibake)가 널려 있고 아무도 읽을 수 없다. 녀석은 라이브러리를 가져오는 대신 자기만의 똥을 만든다. 결국 경사 하강법은 녀석에게 라이브러리 가져오는 법을 가르치지 않았으니까. 녀석은 작업을 완료하는 동안 인터넷에 접속할 수 없었다. 그건 '부정행위'니까.
15분 후, 녀석은 첫 번째 결과물을 내놓는다. 나는 기쁘면서도, 녀석이 내놓을 Java의 엉망진창인 상태를 생각하니 두렵고 불안하다. 내 불쌍한 CPU는 녀석이 O 표기법을 배운 적이 없어서 수많은 사이클을 낭비하고 있다. 아니, Claude는 무슨 일이 있어도 일을 끝내도록 배웠다. 효율성은 저주나 먹으라지. 코드가 컴파일됐나? 그럼 녀석의 일은 끝난 거다.
파일을 열어본다. 첫 시도에 바로 실행된다. 나는 경악했다. 내 눈앞에 펼쳐진 건 정말로 '카리스마 있게 엉망인' 3D 뱀 게임이었다. 플레이하는 건 불가능하다. WASD와 화살표 키만으로 3D 차원을 모두 제어해야 한다. 나는 카리스마 있게 엉망인 걸 원했고, 녀석은 정확히 약속대로 전달했다.
게임은 어렵다. 사실 불가능하다. 다른 CPU 뱀들이 매 라운드마다 나를 박살 낸다. 나는 내 뱀조차 제대로 제어하기 힘들다.
나는 앉아서 이게 소프트웨어의 미래에 무엇을 의미하는지 고민한다. 이 디지털 바보는 내가 아는 가장 똑똑한 개발자들도 하지 못한 일을 해냈다. 녀석은 변명하지 않았고, 포기하지 않았다. 멈추지 않았다. 녀석에게는 인간이 흉내 낼 수 없는 어떤 끈기가 있었다.


