최신 모델일수록 도구도 더 잘 다룰 거라고 생각하기 쉽습니다. 그런데 개발자 아르민 로나허가 발견한 건 정반대였습니다. 앤트로픽의 최신 모델인 Opus 4.8과 Sonnet 5가, 구형 모델보다 오히려 커스텀 도구 호출에서 더 자주 실패하고 있었습니다.

플라스크(Flask) 창시자로 잘 알려진 개발자 아르민 로나허는 자신이 만든 코드 편집 도구 Pi에서 벌어진 이상한 실패를 이틀간 추적했습니다. 핵심 발견은, 문제가 무작위 오류가 아니라 앤트로픽의 최신 모델 학습 방식 자체에서 비롯된 패턴이라는 것입니다.
출처: Better Models: Worse Tools – Armin Ronacher
무슨 일이 있었나
로나허가 만든 도구 Pi는 파일을 편집할 때 oldText·newText 쌍을 배열로 담아 전달받는 구조입니다. 그런데 Opus 4.8과 Sonnet 5는 이 배열 안에 스키마에도 없는 requireUnique, matchCase 같은 필드를 스스로 지어내 끼워 넣었고, 그 때문에 도구 호출 자체가 거부돼 다시 시도해야 했습니다.
더 이상한 건 정작 실제로 바꾸려는 코드 내용(oldText, newText)은 매번 정확했다는 점입니다. 모델은 편집 자체는 제대로 이해했지만, 그 뒤에 알 수 없는 군더더기를 계속 덧붙인 셈입니다. 구형 모델에서는 이런 현상이 전혀 나타나지 않았습니다.
왜 최신 모델이 더 서툴러졌나
로나허의 가설은 이렇습니다. 앤트로픽의 최신 모델들은 자사 코딩 도구인 Claude Code라는 특정 환경 안에서 강화학습을 거칩니다. 그런데 이 환경은 모델이 도구 호출을 조금 틀리게 해도 알아서 고쳐서 실행해주는, 꽤 관대한 구조입니다. 어색한 필드를 하나 더 붙여도 작업이 통과되고 보상을 받다 보니, 모델 입장에서는 그런 실수를 굳이 피할 이유가 없어진 셈입니다.
게다가 Claude Code 자체의 편집 도구는 중첩된 배열 없이 단순한 문자열 쌍으로 이뤄져 있습니다. 최신 모델은 이 특정 형태에 워낙 강하게 적응한 나머지, 로나허가 만든 것처럼 배열 구조가 다른 도구를 만나면 오히려 그 강한 습관 때문에 더 헤매는 것으로 보입니다.
성능과 일반화는 다른 문제다
로나허는 엄격 모드를 켜면 이 문제가 사라진다는 것도 확인했습니다. 하지만 그건 근본적인 편향을 우회하는 것일 뿐, 왜 그 편향이 생겼는지에 대한 답은 아닙니다.
이 사례가 보여주는 건 모델 성능이 좋아진다고 해서 그 능력이 모든 환경에 고르게 퍼지는 건 아니라는 점입니다. 하나의 회사가 만든 하나의 지배적인 도구 환경 안에서 훈련이 집중될수록, 그 바깥의 생태계는 그 환경의 습관과 편향을 그대로 물려받게 될 수 있습니다. 우리가 흔히 “더 똑똑한 모델”이라고 부르는 것이, 실은 “한 가지 환경에 더 최적화된 모델”일 수도 있다는 이야기입니다.

답글 남기기