Anthropic의 Claude Fable 5가 CursorBench를 돌파하며 Cursor와 에이전틱 코딩의 가능성을 어떻게 확장했는지 살펴본다.
Cursor는 전문적인 소프트웨어 개발을 위한 AI 코딩 에이전트다. 주요 프론티어 모델을 모두 지원하는 동시에 자체 모델도 운영하기 때문에, 각 모델의 실제 성능을 가장 중립적인 시각으로 평가할 수 있는 위치에 있다.
그 평가 기준을 관리하는 엔지니어가 바로 Nate Schmidt다. 그는 Cursor에서 평가(eval)와 모델 동작을 담당하며, 모델이 어떤 상황에서 잘 작동하고, 어떤 상황에서 실패하며, 개발자가 작업 중간에 조용히 모델을 바꾸게 만드는 원인이 무엇인지 연구한다. 새 모델에 대한 판단이 필요할 때, 동료들과 고객들이 가장 먼저 찾는 사람이 그다.
시간이 지나면서 Schmidt의 팀은 공개 벤치마크 점수와 개발자들의 실제 반응이 점점 엇갈리기 시작했다는 사실을 발견했고, 결국 자체 벤치마크인 CursorBench를 직접 만들었다.
CursorBench는 엔지니어들이 실제로 모델에 프롬프트를 입력하는 방식, 즉 맥락이 부족하고 불분명한 현실적인 상황을 포착하기 위해 설계됐다. 평가 항목 중 하나는 스택 트레이스(stack trace)에 "fix"라는 단어 하나만 덧붙여 붙여 넣은 것으로, 모델이 의도를 추론하고 근본 원인을 찾아 스스로 수정 사항을 검증해야 한다. 또 다른 항목은 모델에게 잘못된 모듈이 문제라고 알려줘서, 사용자의 가정에 의문을 제기하는지 아니면 그냥 따라가다 막다른 길에 이르는지를 확인한다.
Claude Fable 5가 이 평가를 실행했을 때, 최대 노력(Max effort) 기준 72.9%를 달성하며 새로운 최고 기록을 세웠다. 이는 적합한 모델과 결합했을 때 에이전틱 코딩 도구가 어디까지 나아갈 수 있는지를 보여줬다.

그런데 Schmidt가 자신의 실제 엔지니어링 작업 흐름과 개인 테스트에 이 모델을 직접 써보니, 목표를 반복해서 상기시킬 필요가 없어졌다. 맥락을 다시 설명하고, 해결책을 일일이 지시하고, 결과를 꼼꼼히 점검하는 번거로운 관리가 더 이상 필요하지 않았다. 오랫동안 미루던 복잡한 리팩터링부터 까다로운 엣지 케이스 추론까지, 문제를 맡기면 Claude Fable 5가 스스로 해결했다.
"Claude Fable 5에게 내가 처한 환경과 해결하려는 문제를 처음부터 설명해야 한다는 느낌이 들지 않아요," Schmidt는 말했다. "모델이 처음부터 그 맥락을 파악하고 있는 것 같았습니다."
Schmidt의 팀이 새 모델을 CursorBench에 돌릴 때, 정답을 맞히는 것은 기본 중의 기본이다. 그들이 실제로 평가하는 것은 모델이 요청 자체를 제대로 이해했는지 여부다.
"많은 평가가 이런 식이죠. 잘 정의된 문제, 제약 조건, 그리고 '고쳐봐'라고 하는 거요. 하지만 실제 사용자에게서 받는 프롬프트는 그런 형태가 아니에요," Schmidt는 말했다. "모델이 사용자에게 문제가 있다는 것을 추론하고, 그들이 전달하려는 내용이 무엇인지 파악하고, 근본 원인을 찾아 수정하고, 검증한 뒤 다시 보고해야 합니다."
그런데 Claude Fable 5가 이런 모호한 작업들에서 너무 좋은 점수를 받자, Cursor 팀은 오히려 의심하기 시작했다.
"둘 중 하나겠죠. 모델이 정말 똑똑하거나, 아니면 속임수를 쓰거나," 그는 말했다. 그래서 팀은 실제 추론 흔적을 직접 읽어보기로 했다. 프롬프트는 단순해 보이지만 전체 시스템을 이해해야만 풀 수 있는, 가장 어려운 작업들에서의 실제 추론 내용이었다.
"다른 모델은 못 해냈던 성과를 이 모델이 계속해서 뽑아내는 걸 봤어요," 그는 말했다. 게다가 더 적은 연산으로 그 결과에 도달했다. 처리한 작업량 대비 토큰 효율도 높았다.
이어서 Schmidt는 자신이 즐겨 쓰는 개인 테스트 중 하나를 Claude Fable 5에게 맡겼다. 바로 달 착륙이었다.
몇 주 전, 그는 Claude Opus를 프로그래밍 가능한 우주 비행 시뮬레이터에 연결하고 한 줄짜리 프롬프트—로켓을 만들어 달에 착륙시켜라—를 입력한 뒤, 보조 모니터에서 12~16시간 동안 실행했다. 모델은 발사하고, 궤도에서 연료를 다 소진한 뒤 연료를 대폭 추가했다가, 이번엔 로켓이 너무 무거워져 대기권을 벗어나지 못하는 상황을 반복했다.
이번에는 같은 백지 상태의 프롬프트로, Claude Fable 5를 이용해 실험을 다시 실행했다. 몇 분 후 로켓이 올라가 저궤도에 진입하더니 다시 내려왔다. 겉으로는 이전과 같은 실패였다. 그런데 Schmidt가 로그를 읽어보니 달랐다.
"Fable은 첫 번째 시도에서 달에 가지 않기로 결정했어요. 일단 궤도에 진입해 원격 측정 데이터를 수집하고, 그 데이터를 바탕으로 다음 여정을 계획하려 했던 거죠." 몇 번의 시도 끝에, 보조 모니터에서 엔진 소리가 멈췄다. 달 위에 착륙선이 있었다. 전체 과정은 불과 두 시간 남짓이었다. Opus가 12시간 넘게 실행하고도 아무 성과를 내지 못한 것과 대비됐다.
"Opus는 로컬 추론을 했어요. 방금 일어난 일과 바로 다음에 일어날 일만 생각하는 거죠," Schmidt는 말했다. "Fable은 글로벌 추론을 해요. 전체 임무를 생각합니다."

Schmidt는 Claude Fable 5와 더 저렴하고 덜 강력한 모델을 언제 사용할지에 대해 간단한 원칙을 세웠다.
"A에서 B까지 가는 경로가 어느 정도 보인다면, Fable이 굳이 필요하지 않을 수도 있어요. 하지만 A에 있는데 B가 어디인지 전혀 모른다면, Fable이 탁월한 선택입니다," 그는 말했다. "제대로 된 방식으로 무언가를 만들고 싶을 때, 제가 가장 먼저 떠올리는 모델이 Fable이에요."
Claude Fable 5 덕분에 팀이 그동안 미뤄왔던 프로젝트들에도 다시 손댈 수 있게 됐다. 모두가 더 나은 방향이라는 데는 동의했지만, 몇 주를 쏟아붓기엔 부담스러웠던 코드 재작성 작업들이다. 이제는 모델이 뼈대를 충분히 잡아줄 수 있기 때문이다. "이런 작업에 뛰어들기 위한 활성화 에너지가 낮아졌어요," Schmidt는 말했다. "로컬 최적값이 아닌 글로벌 최적값을 향해 나아갈 수 있게 됐죠."
팀의 협업 방식도 달라졌다. Cursor는 소수 인원이 각자 강한 오너십을 갖고 스탠드업 미팅은 최소화하는 방식으로 운영된다. 이제 Schmidt는 공유 코드를 건드리기 전에 에이전트에게 팀원의 최근 커밋을 읽고 충돌 가능성을 미리 파악하도록 한다. 덕분에 서로 하던 작업을 멈추고 확인하는 번거로움이 없어졌다.
비용과 성능의 균형을 맞추기 위해, 팀은 일상적인 작업에는 더 빠르고 가벼운 모델을 사용하고, 성능이 결정적인 문제에서만 Claude Fable 5를 투입한다. 그 조합이 지금까지 운용해본 것 중 가장 효과적인 구성이라고 그는 말한다.
"정말 복잡한 문제, 즉 상위 1%(p99)에 해당하는 문제를 다룰 때 제가 최적화하려는 건 '얼마나 빨리 해결책에 도달하느냐'입니다," 그는 말했다. "그리고 그 기준에서 Fable은 우리의 가장 어려운 문제를 푸는 데 최고의 모델이라고 생각합니다."

CursorBench 평가와 달 착륙 테스트를 마쳤지만, Schmidt는 여전히 Claude Fable 5의 한계를 찾고 있다. 다음으로 그가 살펴보고 싶은 것은 모델이 백엔드 시스템을 며칠에서 몇 주 동안 사람의 개입 없이 관리할 수 있는지 여부로, 이것이 그의 다음 실험 주제다. Cursor 내부에서는 팀이 이 모델을 활용해 성능 병목 지점과 사용자 불편 사항을 보고가 들어오길 기다리는 대신 선제적으로 찾아내고 있으며, 앞으로 등장할 모델들을 평가할 더욱 정교하고 현실에 가까운 평가 환경도 구축하고 있다.
"사람들이 시도조차 하지 않던 문제들이 있어요. 접근 불가능해 보였기 때문이죠," 그는 말했다. "Fable로 그 영역을 밀어붙여볼 수 있다는 게 기대됩니다."
지금 바로 시작하기 — Claude Fable.