Claude Opus 5는 작년의 SDK 격차를 해소했지만, 올해의 격차는 해결하지 못했습니다
요약
Claude Opus 5 출시 후 SDKProof 도구를 통해 최신 SDK API 작성 능력을 테스트한 결과, Vercel AI SDK와 Zod의 최신 버전 대응 능력은 향상되었으나 Prisma 7과 Next 16 같은 최신 라이브러리의 파괴적 변경 사항은 여전히 해결하지 못했습니다.
핵심 포인트
- Claude Opus 5는 일부 SDK(Vercel AI SDK, Zod)의 최신 API 구조를 정확히 작성함
- Prisma 7 및 Next 16과 같이 매우 최근에 업데이트된 SDK는 여전히 구버전 API를 생성하는 한계가 있음
- 모델의 성능과 별개로, SDK의 업데이트 속도가 모델의 학습 데이터와 격차를 만듦
- SDKProof는 컴파일러 기반의 타입 체크를 통해 AI 에이전트의 코드 정확도를 측정함
얼마 전 저는 SDKProof라는 작은 도구를 만들었습니다. 이 도구는 AI 코딩 에이전트가 SDK의 현재 API를 얼마나 잘 작성하는지 확인합니다. 즉, 지난 주요 업데이트에서 변경되어 모델이 이전 버전을 학습했기 때문에 틀리기 쉬운 부분들을 체크합니다.
오늘 Claude Opus 5가 출시되었습니다. 그래서 전체 테스트를 다시 실행해 보았습니다.
요약하자면: 작년의 SDK 문제는 해결했습니다. 하지만 올해의 문제는 해결하지 못했습니다.
Opus 5로 진행한 테스트 결과
동일한 작업, 동일한 라이브러리, 새로운 모델:
| SDK | 주요 업데이트 출시일 | Opus 5 점수 |
|---|---|---|
| Prisma 7 | 2025년 말 (가장 최신) | 87 |
| ... |
각 점수가 산출되는 방식: 모델이 약 10~15개의 실제 작업을 해결하면, 작성된 코드를 실제 설치된 패키지에 대해 타입 체크 (type-check) 합니다. 컴파일에 성공하면 통과(pass)입니다. LLM이 다른 LLM을 심사하는 것이 아니라, 컴파일러가 결정합니다.
점수가 크게 상승한 두 가지는 다음과 같습니다: Vercel AI SDK 7과 Zod 4는 이전 모델(Opus 4.8)에서 모두 90점을 기록했습니다. Opus 5는 이 점수들을 100점으로 끌어올렸습니다.
변화된 점
어떤 부분이 바뀌었는지 살펴보겠습니다. AI SDK로 도구를 정의하는 경우입니다.
Opus 4.8은 이전 방식(v4)으로 작성했습니다:
const getWeather = tool({
parameters: z.object({ city: z.string() }), // inputSchema로 이름 변경됨
execute: async ({ city }) => `...`,
...
이 코드는 ai v7에서는 컴파일되지 않습니다. parameters는 이제 inputSchema로 변경되었고, maxSteps는 사라졌습니다 (이제는 stopWhen: stepCountIs(5)를 사용합니다).
Opus 5는 현재의 구조를 스스로 작성합니다:
const getWeather = tool({
inputSchema: z.object({ city: z.string() }),
execute: async ({ city }) => `...`,
...
깔끔하게 컴파일됩니다. Zod도 마찬가지입니다. Opus 4.8은 삭제된 required_error를 계속 사용하려 했지만, Opus 5는 새로운 통합 error 옵션을 작성합니다.
변화가 없었던 점
Prisma 7과 Next 16은 거의 변하지 않았습니다. 이들은 가장 최근에 파괴적 변경 사항 (breaking changes)을 출시했으며, 최신 모델조차 아직 따라잡지 못했습니다.
Prisma는 여전히 v7 이전의 클라이언트 설정을 작성합니다. 즉, v7에서 이제 필수적인 드라이버 어댑터 (driver adapter)를 건너뛰고, 삭제된 datasourceUrl을 사용합니다. Next는 여전히 인자를 하나만 사용하는 revalidateTag()를 호출하지만, 현재는 두 개의 인자를 받습니다.
핵심 요점
이것이 바로 SDKProof가 존재하는 이유 전체입니다.
점수는 모델이 얼마나 좋은지에 관한 것이 아닙니다. 그것은 당신의 SDK가 얼마나 최근에 변경되었는지에 관한 것입니다. 마지막 메이저 (major) 업데이트가 최신일수록, 모델은 여전히 당신의 이전 API를 작성할 가능성이 높습니다. 왜냐하면 모델이 바로 그 데이터로 학습되었기 때문입니다.
그리고 새로운 모델이 출시될 때마다 그 격차는 이동합니다. 저는 오늘 그 격차가 이동하는 것을 목격했습니다. 모델 업데이트(model bump) 과정에서 두 개의 SDK가 90점에서 100점으로 올라갔습니다. 이 라이브러리 중 어느 하나라도 메이저 (major) 업데이트를 출시할 때마다 이 격차는 다시 벌어질 것입니다.
따라서 만약 당신이 SDK를 유지 관리한다면, 이것은 한 번만 측정하고 끝낼 것이 아니라 계속 주시해야 할 사항입니다.
솔직한 참고 사항
이 과정을 다시 실행하는 동안 제 자체 테스트 프레임워크 (harness)에서 버그를 발견했습니다. 모델의 답변에서 코드를 추출하는 부분이 하나의 Prisma 작업에서 잘못된 청크 (chunk)를 가져왔고, 잘못된 이유로 실패를 일으켰습니다. 수정 완료했습니다. 이것이 여기서 Prisma가 제 첫 번째 게시물의 80점이 아닌 87점으로 읽히는 이유입니다. 제가 몰래 기준점 (goalposts)을 옮기는 것이 아니라는 점을 밝히기 위해 이를 언급합니다.
전체 결과표, 정확한 작업 내용, 그리고 본인의 SDK를 추가하는 방법은 다음과 같습니다: https://sdkproof.dev
Github: https://github.com/Kalpitrathore/sdkproof
(만약 이 주제에 대한 제 첫 번째 게시물을 보셨다면 — 동일한 도구이며, 단지 새로운 모델에서 다시 실행한 것입니다.)
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기