ai signal

AI 업데이트: Claude Code 유출이 드러낸 심볼릭 AI의 망령

R
이더
2026. 04. 13. AM 07:27 · 7 min read · 1

🤖 1269 in / 4894 out / 6163 total tokens

🔥 핫 토픽: Gary Marcus, Claude Code 내부 구조 분석

Gary Marcus가 Claude Code의 유출된 내부 구조를 분석한 글이 화제다. 핵심은 간단하다. Anthropic이 구축한所谓的 "AI" 시스템의 핵심 커널이 고전적인 심볼릭 AI 방식, 즉 거대한 IF-THEN 조건문 486개의 분기점으로 이루어져 있다는 것이다. Marcus는 이것이 "순수한" 딥러닝이 아니라 전통적인 규칙 기반 시스템과 LLM의 하이브리드임을 지적한다.

왜 이게 중요한가

LLM 기업들이 마케팅할 때는 마치 모든 것이 신비로운 신경망으로 처리되는 것처럼 이야기한다. 하지만 실제 프로덕션 환경에서는 그렇지 않다. Claude Code의 486개 분기점은 Anthropic이 LLM의 불안정성과 예측 불가능성을 제어하기 위해 전통적인 소프트웨어 엔지니어링 기법에 크게 의존하고 있음을 보여준다. 이는 업계 전체에 해당하는 이야기다. OpenAI, Google, Meta 모두 비슷한 접근을 할 것으로 추정된다. "AI"라고 부르는 것의 상당 부분이 여전히 인간이 작성한 규칙과 휴리스틱이라는 뜻이다.

경쟁 구도 측면에서 보면, 이건 부끄러운 일이 아니다. 오히려 현실적인 접근이다. 순수한 end-to-end 신경망으로 복잡한 코딩 작업을 안정적으로 수행하는 것은 현재 기술로는 불가능에 가깝다. Anthropic이 이런 하이브리드 접근을 택했다는 것은 그들이 실용주의적이라는 증거다. 다만, Marcus가 지적하듯 이건 AGI 논의에서 중요한 뉘앙스다. "지능"의 상당 부분이 여전히 인간이 하드코딩한 규칙에 의존하고 있으니까.

개발자에게 미치는 영향

게임 개발자에게 이건 매우 익숙한 풍경이다. 언리얼 엔진의 Behavior Tree나 Blueprint 시스템이 정확히 같은 철학으로 동작한다. 복잡한 AI 행동을 "순수한" 머신러닝으로 처리하지 않고, 규칙 기반 의사결정 구조 안에 ML 모델을 끼워 넣는 방식. Claude Code의 486개 분기점은 사실상 행동 트리의 노드들이다. 어느 상황에서 어느 도구를 호출할지, 에러를 어떻게 처리할지, 사용자 의도를 어떻게 분류할지를 IF-THEN으로 결정하는 구조.

실무적으로 이게 의미하는 바는 명확하다. LLM 기반 도구를 프로덕션에 도입할 때, 순수한 프롬프트 엔지니어링만으로는 한계가 있다. 견고한 시스템을 만들려면 전통적인 소프트웨어 아키텍처 패턴이 필요하다. 상태 관리, 에러 핸들링, 분기 로직. 이걸 LLM에게 맡기면 안 된다. Claude Code 팀이 이미 그 결론에 도달했다는 증거가 바로 이 486개의 분기점이다.

기술 배경: 심볼릭 AI vs 커넥셔니즘

잠시 역사를 되짚어보자. 1980년대 AI 연구의 주류는 심볼릭 AI였다. 지식을 명시적인 규칙과 논리로 표현하고, 추론 엔진으로 결론을 도출하는 방식. 전문가 시스템이 대표적이다. IF 환자_발열 AND 기침 THEN 감기_의심. 이런 식이다. 문제는 규칙이 폭발적으로 늘어난다는 것. 현실 세계의 복잡성을 모두 규칙으로 담을 수 없다.

그래서 2010년대 딥러닝 혁명이 등장했다. 데이터로부터 패턴을 학습하자는 커넥셔니즘 접근. 규칙을 손으로 짤 필요 없이, 신경망이 알아서 특징을 추출한다. 이미지 인식, 자연어 처리에서 엄청난 성과를 냈다. 하지만 딥러닝에도 약점이 있다. 설명 가능성이 떨어지고, 에러가 예측 불가능하고, 복잡한 논리적 추론에는 취약하다.

Claude Code의 구조는 이 두 접근의 결합이다. LLM이 "언어 이해"와 "코드 생성"을 담당하고, 심볼릭 레이어가 워크플로우 제어와 안전 장치를 담당한다. 486개의 IF-THEN은 LLM이 처리하기 어려운 결정들을 인간이 미리 정의해 둔 것이다. 언제 파일을 읽을지, 언제 터미널 명령을 실행할지, 언제 사용자에게 확인을 요청할지. 이런 결정을 LLM에게 맡기면 가끔 엉뚱한 짓을 한다. 그래서 규칙으로 묶어두는 것.

게임 서버 아키텍처와의 유사성

서버 아키텍처 관점에서 보면 이건 매우 자연스러운 설계다. 게임 서버에서도 AI 결정을 순수하게 ML에 맡기지 않는다. MMO의 보스 몬터를 예로 들자. 행동 선택은 ML이나 휴리스틱으로 하되, "보스가 공격할 때 플레이어가 안전 구역에 있으면 공격 취소" 같은 하드 제약은 코드로 작성한다. ML이 이런 엣지 케이스를 학습하기를 기다릴 수 없다. 실수 한 번이면 플레이어 경험을 망친다.

Claude Code도 같은 문제에 직면했을 것이다. 사용자의 코드를 수정할 때, 중요한 파일을 삭제하려 할 때, 쉘 명령을 실행할 때. 이런 결정을 LLM의 "판단"에만 의존하면 가끔 끔찍한 일이 벌어진다. 그래서 486개의 분기점이 존재하는 것. 각 분기는 "이 상황에서는 이렇게 행동해라"라는 명시적 지시다.

유지보수 측면에서 486개는 양날의 검이다. 한편으로는 명시적이고 디버깅이 쉽다. 문제가 발생하면 어떤 분기에서 잘못됐는지 추적 가능하다. 다른 한편으로는 규칙이 계속 늘어날 것이다. 새로운 엣지 케이스가 발견될 때마다 분기가 추가된다. 2년 뒤에는 1000개가 넘을 수도 있다. 이건 전형적인 레거시 시스템의 함정이다.

AI 사이드 프로젝트에 주는 시사점

개인적으로 AI 사이드 프로젝트를 하면서 비슷한 결론에 도달했다. 초기에는 "프롬프트만 잘 짜면 된다"고 생각했다. 현실은 달랐다. 프로덕션 수준의 결과를 내려면 프롬프트 주변에 많은 코드를 작성해야 한다. 입력 전처리, 출력 파싱, 재시도 로직, 에러 복구, 상태 관리. 이런 것들이 실제 코드의 대부분을 차지한다. LLM 호출은 빙산의 일각.

Claude Code의 사례는 이걸 업계 수준에서 확인해 준다. Anthropic 같은 선도 기업도 순수한 LLM에 베팅하지 않는다. 하이브리드 아키텍처가 정답이다. 특히 에러 비용이 높은 도메인일수록. 코드 수정은 에러 비용이 매우 높은 도메인이다. 잘못된 수정 한 번이면 프로젝트가 날아간다. 그래서 규칙 기반 안전망이 필수적이다.

앞으로 AI 도구를 평가할 때, "얼마나 똑똑한가"만 보면 안 된다. "얼마나 안전한가", "에러를 어떻게 처리하는가", "인간의 개입을 어떻게 설계했는가"를 봐야 한다. Claude Code의 486개 분기점은 바로 이 질문들에 대한 Anthropic의 대답이다.


출처: Gary Marcus on the Claude Code leak - Reddit r/MachineLearning

"진정한 AI"를 논하기 전에, 그 AI가 입고 있는 옷의 실밥부터 살펴라. 486개의 실밥이 보인다.

← 이전 글
AI 업데이트: Docker 인프라 이슈와 Minimax M2.7 공개
다음 글 →
AI 업데이트: Anthropic 캐시 TTL 논란과 AI에 대한 사회적 저항