[00:00]
제가 새로 가장 좋아하는 모델을 찾은 것 같습니다
[00:01]
Anthropic이 드디어 Claude 3.7을 출시했는데요
[00:04]
3.5 October Edition이
[00:06]
3.6이 되어서 이렇게 명명되었습니다. 네이밍이 좀 복잡하죠
[00:09]
그들도 같은 말을 하지만
[00:10]
저는 오늘 하루 종일 이 모델을
[00:12]
실제 작업에 사용해봤는데 솔직히 말해서 정말 놀라웠습니다
[00:14]
이제야 그 터무니없는 비용을 정당화할 수 있을 것 같은데
[00:16]
그 비용이 더욱 터무니없어졌습니다
[00:19]
GPT-3.5보다 3배나 더 비싸고
[00:20]
성능은 대부분의 경우
[00:21]
비슷한 수준을 보여줍니다
[00:23]
하지만 특히 코딩 관련해서는
[00:25]
지금까지 나온 모델 중 최고입니다
[00:27]
개발자라면 반드시 봐야 할
[00:29]
내용이 많이 있습니다
[00:30]
이번 릴리스에는 단순히 Claude 3.5
[00:33]
업데이트가 아닌 두 가지 모드가 있는데
[00:35]
하나는 사고 모드입니다
[00:37]
실제로 사고 과정을 보여주는데, 특이한 점은
[00:40]
OpenAI처럼 생각 과정을 숨기지 않고
[00:42]
보여준다는 점입니다. 특이하죠. 곧 살펴보겠습니다
[00:46]
다른 모델들처럼 언어를 전환하지는 않지만
[00:48]
독특한 방식으로
[00:50]
언어를 전환합니다. 재미있죠
[00:53]
또한 Claude Code를 도입했는데
[00:55]
코드베이스를 Claude와 직접 작업할 수 있는
[00:57]
새로운 CLI입니다. 흥미롭게도
[01:00]
Cursor와 같은 도구와 경쟁하는 것을
[01:01]
보는 것이 특이하지만 꽤 멋집니다
[01:03]
전반적으로 인상적이었는데요
[01:05]
영상 후반부에 제 코드베이스에
[01:06]
실제 기능을 추가하는 것을
[01:08]
보여드릴 예정이니
[01:09]
끝까지 시청해 주세요. 다만 3.7은
[01:12]
3.5만큼이나 비싸서 많은 비용이 들기 때문에
[01:14]
지금쯤이면 스폰서 광고를
[01:15]
해야 하지만, 대신
[01:17]
말씀드리고 싶은 게 있습니다
[01:19]
T3 Chat에 가입하시면 이미
[01:21]
Claude 3.7이 설정되어 있고
[01:24]
월 8달러면 사용하실 수 있습니다
[01:28]
정말 좋은 가격이니 한번 시도해보세요
[01:31]
자, 이제 시장 최초의 하이브리드
[01:34]
추론 모델인 Claude에 대해 이야기해보겠습니다
[01:35]
중요한 점은 사고 과정이
[01:38]
사용자에게 보인다는 것입니다
[01:40]
이것은 정말 멋진 투명성이죠
[01:41]
OpenAI처럼
[01:42]
이상한 메시지 필터링을
[01:44]
하는 것 같지는 않은데
[01:45]
텍스트가 매우 직접적으로
[01:47]
추론 과정을 보여주는 것 같습니다
[01:49]
예시를 곧 보여드리겠습니다
[01:51]
이 모델이 이미 코딩에서
[01:52]
최고였다는 점을 고려하면
[01:54]
이렇게 발전하는 것이 놀랍습니다
[01:56]
제가 코딩에서 최고라고 한 것은
[01:57]
제 말만이 아닙니다. 재미있게도
[01:59]
OpenAI가 몇 주 전에, 아니 일주일 전에
[02:02]
시간이 정말 빨리 가는군요
[02:04]
새로운 테스트를 발표했는데
[02:06]
SWE-Lancer라는 것으로
[02:09]
Upwork의 백만 달러 규모의
[02:12]
무작위 태스크 풀에서
[02:14]
흥미로운 벤치마크입니다
[02:16]
Grock 비디오에서 언급했죠. 네, Upwork죠
[02:18]
Upwork에서 백만 달러 규모의
[02:20]
실제 태스크들을 찾아서 테스트했고
[02:23]
벤치마크는 인간 대신 모델이
[02:25]
얼마나 많은 돈을 벌 수 있는지
[02:26]
측정하는 것입니다. 단순히
[02:29]
한 카테고리가 아닌 다양한 카테고리에서
[02:32]
꽤 철저한 테스트를 진행했습니다
[02:34]
다양한 모델의 작업 수행 능력을 테스트한 결과입니다
[02:36]
이 테스트 결과는 OpenAI에게는 상당히 충격적이었죠
[02:38]
그들이 이 결과를 공개했다는 게 아직도 놀랍습니다
[02:40]
여기 수치를 보시면
[02:42]
애플리케이션 로직 문제에서
[02:45]
GPT-4.0은 8%, 0-1은 16%, Claude 3.5가
[02:49]
3.7이 아닌 3.5 버전이 24%를 해결했고
[02:53]
서버 사이드 로직에서는 GPT-4.0과 0-1 모두
[02:55]
25% 미만이었지만, Sonnet은 40%를 넘었습니다
[02:58]
Sonnet이 얼마나 앞서 있었는지
[03:02]
이해하실 수 있을 겁니다. 이는 그들이
[03:03]
추론 기능을 모델에 추가하기도 전이었죠
[03:06]
일반적인 자동완성 LLM이었음에도
[03:07]
최고의 사고형 모델들도 해결하지 못한
[03:10]
작업들을 수행할 수 있었습니다
[03:12]
OpenAI가 이 벤치마크를 공개한 것은
[03:13]
새로운 릴리스로 이를 크게 뛰어넘을 것으로
[03:15]
기대했기 때문이라고 생각합니다만, 아직까지
[03:17]
그런 릴리스는 없었고, 제 예상으로는
[03:20]
3.7에서 이 테스트를 실행하면
[03:22]
더 놀라운 수치를 보게 될 것 같습니다
[03:24]
이미 선두에 있었는데, 하루 종일 이 모델을 사용해 본 결과
[03:26]
3.7은 상당한 발전을 이루었습니다
[03:30]
예상했던 것보다 훨씬 뛰어납니다
[03:31]
이전에 언급했던 Claude Code는
[03:33]
나중에 자세히 살펴볼 예정입니다
[03:35]
매우 다른 특성을 가지고 있기 때문이죠
[03:37]
하지만 먼저 모델과 벤치마크에
[03:38]
집중하고 싶습니다
[03:40]
벤치마크 결과가 정말
[03:42]
놀랍거든요. 기존 옵션들 간에 치열한 경쟁이 있었는데
[03:46]
한 가지 주목할 만한 점은
[03:48]
가격 차이입니다
[03:50]
0-1은 엄청나게 비싸지만
[03:51]
O3 mini High는 그렇지 않습니다. O3 mini High는
[03:55]
실제로 매우 합리적인
[03:56]
가격대의 모델입니다. 가격을 보면
[03:58]
O3 Mini는 입력 토큰 백만 개당 $110,
[04:01]
출력은 백만 개당 $4.40입니다. 사고형
[04:04]
모델이라 다른 모델들보다 출력 토큰을
[04:06]
더 많이 사용하지만, 가격이 매우
[04:08]
저렴해서 괜찮습니다. 특히
[04:10]
0-1과 비교하면 입력이 백만당 $15, 출력이 $60인
[04:14]
것과 비교하면 확연히 차이가 나죠
[04:16]
물론 이 모든 것이 Gemini와 비교하면
[04:18]
의미가 없고, 이러한 가격들은
[04:20]
DeepSeek가 시장을 크게
[04:22]
흔들어 놓은 결과입니다. 하지만 Claude는 여전히 입력이 $3,
[04:25]
출력이 $15인데, 실제로는 이는
[04:28]
O3 mini보다 3배 이상 비싼 가격입니다
[04:30]
Sonnet이 얼마나 더 비싼지
[04:33]
놀랍지만, 둘 다 비슷한 수준이었을 때는
[04:34]
이상했죠. Claude가
[04:38]
O3 mini와 거의 같은 수준이었기 때문입니다
[04:40]
지금 보니 이 차트도 이상하네요
[04:42]
O3 mini가 실제로
[04:44]
Claude보다 더 좋았는데, 차트를
[04:46]
이렇게 구성해서 마치 Claude가
[04:48]
최상위인 것처럼 보이게 했습니다. 여기 모든 것이
[04:50]
Claude보다 높습니다. 0-1을 제외하고는요
[04:53]
재미있게도 R1과 O3 mini 모두 이겼는데, 3.7이
[04:56]
나와서 모든 것을 압도했습니다. 저는 또
[04:59]
이런 차트들이 점점 더 많아지는 것이
[05:00]
싫은데, 자신들의 특별한
[05:02]
성능 향상 방법을 적용하고
[05:03]
다른 색상으로 표시해서
[05:05]
더 큰 도약처럼 보이게 만듭니다
[05:07]
그들의 커스텀 스캐폴드가 무엇이든
[05:09]
벤치마크에 특화된
[05:10]
시스템 프롬프트를 작성한 것 같은데
[05:12]
이는 속임수입니다. 이런 바보 같은 짓은
[05:15]
하지 마세요. 어쨌든 이것이
[05:17]
Claude의 가장 큰 강점 중 하나입니다. 도구를
[05:19]
사용하는 능력이 뛰어나죠. 아직 익숙하지 않다면
[05:21]
이 에이전틱(Agentic)이라는 개념에 익숙하지 않다면,
[05:24]
실제로 이것은 매우 중요한 의미를 가집니다.
[05:26]
핵심 개념은 AI가 사용할 수 있는 도구입니다.
[05:28]
단순히 텍스트를 생성하는 것이 아니라
[05:30]
도구는 모델에게 특정 기능을 수행하도록
[05:33]
일련의 지침을 제공합니다.
[05:35]
예를 들어 '이런 기능이 있으니
[05:38]
이 API에서 온도를 확인하거나
[05:40]
특정 지역의 날씨를 찾거나
[05:42]
누군가의 GitHub 저장소를
[05:44]
검색할 수 있다'고 알려줍니다.
[05:46]
실제로 직접 fetch 호출을 하거나
[05:48]
코드를 실행하지는 않지만,
[05:50]
함수를 호출하고 도구를 사용하여
[05:53]
작업을 수행합니다. 도구나 작성한 코드에
[05:55]
'이것을 원한다'고 전달하면
[05:57]
여러분의 코드나 도구가
[06:00]
웹 검색을 하거나
[06:01]
API를 호출하거나 필요한 작업을 수행하고
[06:03]
그 결과를 LLM에 다시 전달하여
[06:05]
작업을 계속할 수 있게 합니다.
[06:07]
역사적으로 Claude는 이런 면에서
[06:10]
다른 모델들보다 훨씬 뛰어났습니다.
[06:11]
사실 이를 위해 설계되지는 않았을 것 같은데,
[06:13]
거의 확실합니다만,
[06:14]
어떤 이유에서인지 Claude는
[06:16]
좋은 모델이었기 때문에
[06:19]
이러한 사례들을 매우 잘 처리했습니다.
[06:20]
다른 사고형 모델들보다도 더 잘요.
[06:22]
Claude 3가 이 벤치마크에서 어떤 성능을 보일지
[06:24]
아직 확실하지 않고,
[06:26]
벤치마크에도 포함되지 않았지만
[06:28]
도구 사용을 실험해본 경험상
[06:29]
T3 채팅에 아직 천천히 적용 중이지만
[06:31]
Claude는 확실히 도구 사용과
[06:34]
기대치를 가장 잘 충족시켰고
[06:36]
이 수치들이 전혀 놀랍지 않습니다.
[06:38]
더 발전했죠.
[06:39]
따라서 도구를 많이 사용하고
[06:40]
복잡한 에이전트 플로우가 있는
[06:42]
시스템을 구축하는 경우
[06:43]
이런 작은 성능 차이가
[06:45]
훨씬 더 큰 영향을 미칠 수 있습니다.
[06:47]
19%의 오류율과 27%의 오류율이 있고
[06:50]
세 번의 호출을 한다고 가정해보면
[06:53]
간단히 계산해볼까요?
[06:56]
3%의 차이가 있는데
[06:59]
81%를 사용해서
[07:02]
4개의 도구가 있다고 가정하면
[07:05]
81의 4제곱을 계산하면
[07:07]
정확도가 43%로 떨어집니다.
[07:09]
81%를 4번 적용한 경우와
[07:12]
73%의 경우는 30%로 떨어지죠.
[07:16]
81에서 73으로의 차이가 크지 않아 보일 수 있지만
[07:19]
이런 수치들이 에이전트 플로우에서
[07:21]
여러 번 실행된다는 점을 기억하면
[07:24]
이런 차이는
[07:26]
매우 큰 영향을 미칩니다.
[07:28]
4개 이상의 도구를 사용할 때
[07:29]
50% 정도의 성능 향상이 있다는 건 정말 대단하죠.
[07:32]
다른 벤치마크 결과들도 매우 좋았는데,
[07:34]
특히 Grok 3의 성능이 이 정도라는 게 흥미롭습니다.
[07:37]
아직 Grok API는 없지만
[07:39]
Claude는 API를 즉시 출시해줘서 감사합니다.
[07:42]
많은 회사들이, 특히 Grok은
[07:44]
그렇게 친절하지 않아요.
[07:46]
준비가 되었을 때 출시하는 게 아니라
[07:49]
마음이 내킬 때 출시하죠.
[07:50]
이 때문에
[07:51]
Grok 3를 제대로 테스트하기가
[07:53]
훨씬 더 어려웠습니다.
[07:54]
반면 Claude는 모든 기능이
[07:56]
내장되어 있고 출시 첫날부터
[07:58]
API가 준비되어 있었죠.
[08:01]
이런 친절한 모습이지만, 제가 말씀드린 것처럼 이 수치들은
[08:02]
의심스럽게도 여전히 다른 옵션들보다 훨씬 높습니다
[08:05]
O3 미니를 다시 보게 되어 좋네요.
[08:07]
O3 미니가 얼마나 저렴한지 기억하시죠?
[08:09]
이 정도로 근접하면서도
[08:12]
3.7을 아무 생각 없이 이길 수 있다는 건
[08:15]
정말 주목할 만한 결과입니다. 한편으로는 Claude 3.7이
[08:19]
현재 코드 작업에 있어 최고의 모델임이 분명하지만
[08:21]
다른 한편으로는
[08:23]
O3 미니가 이제 더욱 더
[08:25]
뛰어난 품질의 모델로 인정받게 되었습니다
[08:27]
다국어 Q&A에서는 완전히 압도당했는데
[08:29]
좀 놀랐습니다.
[08:31]
역사적으로 봤을 때
[08:32]
다국어 부분에서는
[08:34]
그저 그랬었거든요.
[08:35]
하지만 이번엔 정말 좋은 점수네요.
[08:37]
지시사항 따르기에서도 여전히
[08:40]
그들의 강점을 보여주고 있고
[08:42]
이 분야에서는 여전히 최고입니다. 수학 문제
[08:44]
해결에서는 O3 미니를 이기지 못했고
[08:46]
심지어 R1도 못 이겼네요
[08:48]
좀 놀라운데요. 여기서는 완전히 패배했어요
[08:50]
O1, O3 미니, R1 모두가 수학에서 압도했죠
[08:53]
그래서 고난도 수학 작업을 하신다면 이 모델들 중
[08:56]
하나를 사용하세요.
[08:58]
더 저렴하면서도 더 나은 결과를 얻을 수 있을 겁니다
[09:00]
고등학교 수학이라니 재미있네요
[09:03]
이게 많은 것을 말해주는데, 고등학교 수학
[09:06]
문제에서 전혀 생각하지 않으면
[09:07]
20%밖에 못 받지만, 조금만 생각해도
[09:10]
갑자기 80점대로 올라가요
[09:12]
이전 Claude 3.5도 마찬가지였는데
[09:14]
고등학교 수학에서 정말 형편없었죠
[09:16]
반면 O1, O3, R1과 다른 모델들은
[09:19]
꽤 잘했었거든요. 하지만 이건
[09:21]
좀 웃기네요. 실제로
[09:22]
수학 점수가 여기서 가장 낮은 편이에요
[09:25]
그래서 Claude 3.7에게
[09:27]
수학을 기대하지 마세요
[09:29]
실제로 매우 안 좋아요
[09:30]
다른 건 다 좋은데
[09:31]
Claude 코드 얘기를 해야 하지만
[09:32]
사고 과정에 대해 좀 더 얘기하고 싶어요
[09:34]
저는 주로 T3 챗에서 테스트했는데
[09:36]
셋업하는 동안 여기서
[09:38]
빠르게 테스트를 했고 정말 어려운 Advent of
[09:40]
Code 문제를 물어봤어요. Advent of
[09:42]
Code 문제를 테스트로 쓰는 걸 좋아하는데
[09:43]
매년 진지하게 참여하고 있거든요
[09:45]
이 거대한 프로젝트를
[09:48]
다양한 모델들의 테스트베드로
[09:49]
사용해왔어요. 한 가지 말씀드리자면
[09:52]
다른 모델들이 못 푸는 문제를
[09:54]
풀지는 못했지만
[09:56]
이상한 것들을 환각하진 않았어요
[09:58]
window.같은 실제 없는 API 같은 거요
[10:00]
전반적으로는 좋았지만, 이 모델의 사고방식은
[10:03]
좀 이상했어요. 키패드로 시작하는데
[10:05]
문제를 풀려고 하는데
[10:07]
이 문제가 재밌어요. 이상한 키패드 문제인데
[10:10]
숫자가 있는 그리드가 있고
[10:12]
직접 누르는 게 아니라
[10:14]
손가락을 위, 아래, 좌, 우로 움직여서
[10:15]
누르는데, 거기서 끝이 아니라
[10:17]
당신은 로봇이고 뒤에 있는 로봇도
[10:19]
같은 위, 아래, 좌, 우 동작을 하고
[10:21]
손가락을 움직여서 위, 아래, 좌,
[10:24]
우를 가리키고 A를 누르는데
[10:26]
이런 식으로 3단계가 있어요. 개념적으로
[10:28]
이상한 문제라 LLM들이 어려워하는데
[10:31]
여기서도 마찬가지였어요. 어느 부분도
[10:33]
제대로 풀지 못했는데
[10:36]
흥미로운 점은 이걸
[10:37]
타입스크립트로 작성하라고 했는데
[10:40]
몇 군데를 보면
[10:41]
특히 마지막 부분에서 자체 검토를 할 때
[10:44]
보면 여기서는 언어 태그를 붙이지 않았어요
[10:47]
매우 흥미로운 점은
[10:49]
모델이 환각 현상을 보이면서
[10:52]
파이썬으로 전환했다는 거예요
[10:54]
이게 굉장히 놀라웠는데
[10:56]
아마도 자신의 사고 과정을
[10:58]
숨기지 않은 것 같아요
[10:59]
처음에는 최근에 학습된
[11:01]
올해의 답변들이 학습 데이터에
[11:03]
포함되어 있어서 파이썬 답변을
[11:05]
변환하는 것이라 생각했는데
[11:07]
학습 데이터 기준일을 보니
[11:09]
여기 정확히는 없지만
[11:10]
어디 있었는지 기억이 안 나네요
[11:12]
2024년 10월이 데이터 컷오프라서
[11:15]
그런 데이터가 없었을 텐데
[11:17]
왜 갑자기 파이썬으로 전환했다가
[11:18]
생각하는 과정에서
[11:20]
문제를 해결하지 못하는
[11:22]
타입스크립트 코드를 출력했는지
[11:24]
매우 흥미롭네요
[11:25]
클로드 사이트 말고
[11:27]
클로드와 대화하기에 훨씬 더 좋은 사이트가 있는데
[11:30]
덜 복잡한 T3 챗이에요
[11:32]
당연히 T3 챗을 업데이트해서
[11:34]
새로운 3.7 모델들, 3.7 소넷과 소넷 리즈닝을 포함시켰죠
[11:39]
소넷과 소넷 리즈닝 모두 선택 가능하고
[11:41]
이제 둘 중 하나를 선택할 수 있으며
[11:43]
리즈닝을 선택하면
[11:45]
저, 중, 고 중에서 고를 수 있어요
[11:47]
이건 API를 통해
[11:48]
일반적인 방식으로 노출되는 설정이 아니라
[11:50]
우리가 직접 코딩한 거예요
[11:52]
다른 추론 노력을
[11:53]
어떻게 다루는지 보여드리자면
[11:55]
추론에 사용할 수 있는
[11:57]
토큰의 양을 다르게 설정했어요
[11:59]
전체 출력에서 최대
[12:01]
토큰 수가 제한되어 있기 때문에
[12:02]
추론과 비추론 사이의
[12:04]
분할을 선택하거나
[12:06]
얼마나 생각해야 할지에 따라
[12:08]
더 많이 또는 적게 생각하도록 설정해요
[12:10]
이상적으로는 미래에
[12:11]
이런 걸 직접 고민할 필요가 없겠죠
[12:13]
모델이 생각할 수 있다면
[12:15]
이것도 생각할 수 있어야 하는데
[12:17]
해결하기 쉽지 않은 문제라
[12:19]
자동화하는 게 단순하지가 않아서
[12:21]
지금은 이렇게 노출시켰어요
[12:23]
나중에 바뀔 수도 있지만 이게 다예요
[12:26]
리즈닝을 높음으로 설정하고
[12:27]
모두가 좋아하는 핑퐁볼 바운스를
[12:29]
붙여넣으면 추론이 시작되고
[12:31]
이 작은 폴드 아래에 넣었는데
[12:33]
추론 과정이 모두 보이고 UI도
[12:36]
작은 화면에서 깨지지 않아요
[12:39]
클로드와 챗 GPT 사이트를
[12:40]
많이 사용해봤는데
[12:42]
UI가 얼마나 망가졌는지
[12:44]
너무 짜증나서
[12:45]
전체 영상을 만들까 해요
[12:46]
관심 있으신지 알려주세요
[12:48]
경쟁사를 비판하는 것 같아 좀 그렇지만
[12:51]
요즘 정말 심각해요
[12:53]
여전히 추론 중인데
[12:55]
클로드의 추론에서 보면
[12:57]
전체 프로그램 출력을 내놓고 나서
[12:59]
'음' 또는 '잠깐'이라고 하고
[13:04]
다른 걸 하더라고요
[13:05]
일부분만 다시 쓴다고 하지만
[13:07]
매번 전체를 다시 작성하는데 엄청난 양의
[13:11]
모델이 사고 과정에서 많은 토큰을 사용하는데,
[13:13]
Claude 과금 방식을 알고 있다면
[13:16]
이것이 비용이 많이 든다는 것을 알 수 있죠.
[13:18]
청구서를 보는 게 걱정되네요.
[13:19]
비용 절감을 위한 변경을 했음에도
[13:21]
보여드리려고 했던 것처럼 말이에요.
[13:24]
네, 이건 저렴한 모델이 아닙니다.
[13:26]
우리가 변경한 것이 적용된 이후에도
[13:28]
오늘은 더욱 비싸질 것 같네요.
[13:32]
재미있을 것 같아요. 어쨌든,
[13:34]
이것 좀 봐주세요. 생각이 끝났나요?
[13:35]
응답이 잘렸네요.
[13:39]
아, 문제가 있네요. low로 낮추고 다시 시도해 보죠.
[13:43]
말씀드리자면, 전에 이걸 해봤는데
[13:46]
답을 얻었고 꽤 재미있었어요.
[13:48]
Claude 3.7을 사용했을 때
[13:51]
thinking 모드 사용 여부에 따라 실험해봤는데,
[13:54]
최근에 제가 가장 좋아하는 게임 실행을 Claude 3.7로 해보죠.
[14:01]
파이 게임이죠. thinking 모드가 오히려
[14:06]
성능을 저하시킨 것 같아요.
[14:08]
특정 퍼즐에서
[14:09]
thinking 모델들이 스스로를 가스라이팅하며
[14:11]
문제 해결을 포기하고
[14:13]
이상한 행동을 보여요. Gro에서처럼
[14:15]
위아래를 뒤집거나
[14:17]
여기서처럼 충돌 감지가 완전히 깨지고
[14:19]
공이 그냥 떨어지는 현상이 발생하죠.
[14:21]
하지만 thinking이 아닌
[14:23]
모델로 전환하면
[14:27]
완벽하게 작동합니다.
[14:30]
이게 정말 재미있었어요.
[14:32]
특히 재미있었던 건
[14:34]
thinking 모델이 실수하고
[14:35]
thinking이 없는 모델이 맞았다는 거예요.
[14:38]
직관적으로는 이상하게 느껴지지만
[14:40]
이런 시스템이 얼마나 취약한지,
[14:42]
동시에 Claude 3.7이 얼마나 강력한지 보여주죠.
[14:45]
여기 이 코드를 보면
[14:48]
방금 low thinking으로 출력된 것인데
[14:49]
thinking 수준을 낮추면
[14:52]
스스로를 덜 가스라이팅하는지
[14:53]
확인해보겠습니다. Claude
[14:56]
3.7 low로 파이 게임을 실행해보죠.
[15:02]
붙여넣기 하고...
[15:05]
보세요! 짜잔! low thinking을 사용하면
[15:08]
실제로 더 잘 작동하는 것 같아요.
[15:10]
이상하죠. 매우 이상하지만
[15:13]
고려해볼 만한 가치가 있어요.
[15:15]
비용도 절약하고
[15:16]
더 나은 결과를 얻거나
[15:18]
자가 가스라이팅이 발생하면
[15:20]
low로 전환하거나 standard
[15:23]
3.7로 전환해보세요. 정말 좋습니다.
[15:26]
제가 이것만 사용하는 건 아닙니다.
[15:27]
보셨겠지만 저는 최신 버전을
[15:28]
사용하고 있어요.
[15:29]
운 좋게도 얼리 액세스를 받았는데
[15:31]
정말 멋졌어요. 오늘 출시됐거든요.
[15:34]
아니면 적어도 배포가 시작됐죠.
[15:36]
이 버전에서 많은 것이 달라졌는데
[15:37]
이것에 대한 전체 영상을
[15:39]
만들어볼까 생각 중이에요.
[15:40]
이미 고려하고 있었는데,
[15:41]
3.7을 오늘 작업에
[15:43]
많이 사용해봤거든요. 정말 대단했어요.
[15:47]
눈에 띄는 개선이 있었고
[15:48]
어려운 문제들을 해결했어요.
[15:51]
지금 우리 백엔드 전체를
[15:53]
채팅 메시지 관리 방식을
[15:55]
변경하고 있는데, 브랜치를 확인하고
[15:58]
실제 코드를 보여드릴게요.
[15:59]
이건 제가 작업 중인 브랜치인데
[16:00]
'try never throw'라고 합니다.
[16:03]
단순히 예외를 던지지 않는 게 아니라
[16:05]
전체 채팅 관리 코드를 대대적으로 개선하는 거예요.
[16:08]
never throw라는 패키지를 사용하는데
[16:11]
이는 매우 다른 방식의 관리 방법입니다.
[16:13]
타입 정의와 같은 것들을
[16:14]
pnpm install로 설치해서 사용할 수 있어요.
[16:18]
에러가 발생했을 때 예외를 던지는 대신
[16:21]
에러를 반환하고, 정상인 경우에는
[16:23]
OK를 반환하도록 했습니다.
[16:25]
아직 커스텀 비동기 관련
[16:27]
기능은 사용하지 않았고,
[16:29]
에러를 정의하고 OK나 에러를
[16:31]
반환하는 것만 구현했습니다.
[16:34]
이 파일의 양쪽에 있는
[16:35]
깊이 있는 처리는 아직 하지 않았죠.
[16:37]
verify shitty fingerprint나
[16:38]
recapture 토큰 확인과 같은 기능들이 있는데,
[16:40]
이것들은 이 파일에서 래핑하고 있는
[16:44]
외부 비동기 함수들입니다.
[16:47]
이 새로운 패턴들을 모두 사용하고 싶었는데,
[16:50]
Cursor 3.7에게 이것을
[16:52]
다른 파일들에도 구현해달라고 했을 때
[16:55]
정확하게 해냈다는 게 놀라웠어요.
[16:57]
실제 결과가 여기 있는데,
[17:00]
이 파일을 완전히 재작성했습니다.
[17:03]
우선 많은 결과 타입들을 변경하고
[17:05]
이전에 없던 비동기 기능을 많이 사용했어요.
[17:08]
promise의 async를 사용해서
[17:10]
각 단계를 실제로 확인하고
[17:12]
더 나은 에러 타입을 얻을 수 있게 됐죠.
[17:14]
처음에는 에이전트 모드였음에도
[17:17]
다른 파일들은 변경하지 않았지만,
[17:19]
이것들도 변경하라고 하니
[17:20]
다른 것들도 변경했어요.
[17:21]
이제 verify shitty fingerprint는
[17:23]
비동기 결과를 반환하는데,
[17:25]
fingerprint 에러나 문자열을
[17:26]
반환값으로 가질 수 있습니다.
[17:28]
이 모든 것을 잘 처리한 것 같아요.
[17:30]
정말 놀라웠던 건
[17:32]
실제로 시도해봤을 때 잘 작동했다는 거예요.
[17:36]
아무것도 망가지지 않았어요.
[17:39]
보통 이런 대규모 변경은
[17:40]
뭔가를 망가뜨리기 마련인데 말이죠.
[17:42]
never throw 문서가 여기 있긴 하지만,
[17:45]
이걸 지정하지도 않았는데
[17:47]
그냥 해보라고 했더니
[17:48]
정확하게 해냈어요.
[17:50]
Cursor가 코드베이스에서
[17:52]
이걸 사용하는 유일한 방법이라도 괜찮아요.
[17:54]
정말 인상적입니다. 물론 저는
[17:56]
Cursor의 투자자이고
[17:58]
오랫동안 감동받아왔어요.
[17:59]
처음엔 회의적이었지만
[18:00]
놀라웠죠. 하지만 이제는
[18:02]
유일한 방법이 아니에요.
[18:04]
이번 릴리스에서 가장 멋진 점 중 하나죠.
[18:05]
계속 얘기해왔던 건데,
[18:07]
Claude Code... 잠깐만요, 벤치마크 하나를
[18:09]
빼먹었네요. 죄송합니다.
[18:11]
제가 가장 좋아하는 부분 중 하나인데,
[18:13]
extended thinking 블로그 포스트에서
[18:15]
thinking이 다른 모델이 아니라
[18:16]
모델의 모드라고 설명했어요.
[18:18]
거기에는 흥미로운 내용이 많았는데,
[18:21]
특히 제가 새로 좋아하게 된 벤치마크가 있어요.
[18:25]
Claude 모델들이 포켓몬을 하는 거죠.
[18:28]
포켓몬을 플레이하는
[18:29]
다른 Claude 모델들을 비교한 건데,
[18:31]
포켓몬 레드에서 얼마나 진행할 수 있는지,
[18:34]
패배하거나 포기하기 전까지 말이에요.
[18:36]
놀라운 건 번개 배지까지
[18:38]
도달했다는 거예요. 이전 모델들보다
[18:40]
훨씬 더 멀리 갔죠.
[18:42]
Amanda의 트윗도 언급해야겠네요.
[18:44]
Claude가 업그레이드되고 AGI가
[18:47]
결국 AGI는 공식적으로
[18:49]
뮤츠를 잡을 수 있는 모델로 정의되었죠
[18:51]
정말 좋은 표현이라 포함시켜야 했어요
[18:53]
자, 이제 본론으로 들어가서
[18:55]
CLA 코드에 대해 이야기해야 합니다
[18:57]
CLA 코드는 매우 다른 개념인데요
[19:00]
제가 예전에 생각했던 아이디어지만
[19:01]
저만 생각한 건 아닐 거예요
[19:03]
IDE나 웹사이트 인터페이스 대신
[19:06]
CLI를 사용하는 것은 어떨까 하는 거죠
[19:09]
다시 stash하고 main으로 가서
[19:12]
새로 설치해서
[19:13]
모든 게 제대로 되는지 확인할 건데요
[19:15]
이제 명령을 내려보겠습니다
[19:17]
제가 작업하던 것과 같은 코드를 리팩토링해보죠
[19:19]
좀 더 공정하게 만들어보겠습니다
[19:21]
Theo start refactor chat API로 체크아웃하겠습니다
[19:24]
이건 제가 이전에 작업하던 브랜치예요
[19:27]
never throw를 도입하기 전의
[19:28]
리팩토링 작업이었죠
[19:31]
CLA가 어떻게 하는지 볼까요
[19:32]
이미 설치했으니 CLA만 실행하면 됩니다
[19:35]
이제 명령을 내려볼 텐데
[19:37]
파일 위치부터 확인해보죠
[19:41]
가장 공정한 테스트를 위해
[19:42]
backend/chat 폴더에 있네요
[19:45]
process request부터 시작해볼까요
[19:47]
전체 코드를 개선하라고 지시해보죠
[19:50]
Source/backend/chat/process request.ts와
[19:55]
모든 임포트를
[19:59]
그리고 임포트된 함수들을
[20:03]
never throw를 사용하도록 변경하라고 할게요
[20:07]
어떻게 되는지 봅시다. 먼저 package.json을
[20:10]
가져와도 되는지 물어보네요
[20:13]
앞으로는 묻지 말라고 하고
[20:14]
설치는 하지 않겠습니다
[20:17]
npm 대신
[20:18]
pnpm을 쓰고 싶거든요
[20:20]
좋아요, 이제 됐네요. 흥미로운 인터페이스네요
[20:24]
모든 파일을 제대로 살펴보고 있어요
[20:26]
맞죠
[20:27]
터미널에서 아이콘까지 작동하는 게 신기해요
[20:29]
솔직히 인정할 건 인정해야죠
[20:32]
이 정도 퀄리티의 CLI는 만들기 어려워요
[20:33]
Claude는 항상 UI가 아름다웠죠
[20:36]
웹사이트는 좀 버그가 있고 이상한 케이스가 많지만
[20:38]
항상 보기 좋았어요
[20:40]
CLI에서도 이렇게 잘 만든 걸 보니 좋네요
[20:42]
왼쪽 여백이 좀 더 있었으면 좋겠지만
[20:44]
뭐든 완벽할 순 없죠
[20:46]
생각하는 시간이 좀 걱정되네요
[20:48]
왜냐하면 이건
[20:49]
일반 Claude 계정이 아니라
[20:50]
API를 통해 작동하고 있어서
[20:52]
매 초마다 비용이 발생하고 있거든요
[20:54]
지금도 돈이 나가고 있어요
[20:57]
Claude의 문제가 바로 이거예요
[20:59]
토큰이 들어올 때마다 청구서가 늘어나는 게 느껴져요
[21:02]
정말 비싸거든요
[21:04]
3.5 버전에서는 가격을 낮췄으면 좋겠어요
[21:06]
그럴 것 같지는 않지만
[21:08]
정말 그러길 바랍니다
[21:10]
좀 오래 걸리네요
[21:12]
기다리는 동안... 아 방금 끝났네요
[21:14]
여기 변경사항을 보여주는데
[21:16]
어떻게 바뀔지 보여주네요
[21:18]
never throw에서 Ok result를 임포트하고
[21:20]
이 모든 코드를 변경하려고 하네요
[21:25]
process request에 이 수정사항을 적용할까요
[21:28]
좋습니다
[21:29]
UI가 불안정해질 거라고 했죠
[21:31]
위아래로 스크롤할 때
[21:32]
불안정해지네요. 파일을 수정하게 두고
[21:35]
변경된 내용을 찾아보죠
[21:37]
그들이 거부 반응에 대해 변경한 내용을 보려고 합니다.
[21:39]
잠시 후에 살펴보죠. 이것을 먼저 실행해보고 싶네요.
[21:40]
이 수정사항들을 빠르게 적용하고 싶은데
[21:42]
확인을 위해... 음, 좋아요. 수정해보죠.
[21:45]
Claude 3.7 Sonic에서는 피드백을 반영하여
[21:47]
불필요한 거부 응답을 이전 버전보다 45% 줄였습니다.
[21:50]
이전 버전과 비교했을 때,
[21:52]
재미있는 예시가 있는데, 유튜브 수익화 때문에
[21:53]
말씀드리긴 어렵지만,
[21:55]
특정 물질을 혼합하는 것에 대해 물었을 때
[21:57]
어떤 반응이 일어나는지
[21:59]
이전에는 알려주지 않았지만 이제는 실제로 어떤 일이 일어나는지 설명해줍니다.
[22:02]
이제는 실제로 어떤 일이 일어나는지
[22:04]
설명해주죠. 질문의 의도가 악의적이지 않다는 것을
[22:06]
이해하고 있어요. 좋은 변화입니다.
[22:08]
변경하고 싶으신가요? 네, 좋습니다.
[22:11]
이제 더 무거운 작업을 하고 있는데
[22:12]
Claude를 사용할 때보다 꽤 느린 것 같네요.
[22:14]
대부분은 컨텍스트가 없기 때문이에요.
[22:16]
맞아요, 컨텍스트가 없어서 그래요.
[22:17]
직접 구축해야 했거든요. 이상한 단어를 쓸 때는
[22:19]
여기에 정의를 보여줘야 할 것 같아요.
[22:21]
그래야 적어도
[22:22]
기다리는 동안 뭔가
[22:23]
배울 수 있잖아요. 제목은...
[22:26]
네... 이 도구가 실제로 얼마나
[22:28]
유용할지 점점 더 확신이 안 서네요.
[22:30]
이런 작업을 할 때
[22:32]
이상하게 느린 걸 보니까요.
[22:34]
물론 어려운 작업이긴 해요. 어제 밤에도
[22:38]
몇 시간 동안 이걸 작업했거든요.
[22:40]
대부분은 새로운 라이브러리를
[22:42]
배우는 데 시간이 걸렸지만...
[22:44]
간단한 작업은 아니었어요. 최근에
[22:46]
AI가 별로 도움이 되지 않았던
[22:48]
경우가 몇 번 있었어요. 제가 재미있는 서비스를 만들었는데,
[22:50]
'page me'라는 페이저 서비스예요.
[22:54]
신뢰하는 사람들이 로그인해서
[22:57]
새 모델의 이름을 입력하고
[22:59]
'page Theo'를 누르면 제게 전화가 오는 거죠.
[23:01]
사이트 생성기가 조금은 도움이 됐지만
[23:04]
그다지 많은 도움은 되지 않았어요.
[23:06]
결국 코드를 다 뜯어내고
[23:07]
직접 해야 했죠. 많은 작업이 필요했지만
[23:10]
완성됐고 잘 작동해요. 하지만
[23:13]
AI 도구들은
[23:14]
그다지 도움이 되지 않았어요. 이 스트림 텍스트도
[23:16]
수정하고 싶은데요. 이게 마지막이어야 해요.
[23:19]
그 경로가 코드가 나가는 곳이니까
[23:20]
이것만 하고 나면
[23:23]
결과를 볼 수 있을 거예요. 경로 수정...
[23:25]
좋아요. 이것만으로 8에서
[23:28]
10달러 정도 들 것 같네요. 이 확인 요청에
[23:30]
변경사항을 적용할까요?
[23:33]
네... Cursor가 여전히 최고인 것 같아요.
[23:37]
이 수정사항을 적용하고 싶은데,
[23:40]
타입 체크를 실행하고 싶어요. 좋아요, 콘텐츠 없음...
[23:44]
서명 없음... 타입 에러도 없네요. 정말
[23:47]
잘 작동할지 궁금하네요. pnpm으로 해볼까요?
[23:51]
이미 설치되어 있네요. pnpm이
[23:52]
실행...
[23:53]
개발 브라우저로 inval을 사용해볼게요.
[23:56]
Firefox 개발자 도구와 싸우는 게
[23:58]
지쳐서요...
[24:00]
테스트 중... 와, 정말
[24:04]
작동하네요! 대단하네요!
[24:08]
이 코드 변경이 이렇게 잘 작동할 줄은
[24:10]
몰랐는데 완벽하게 됐어요!
[24:12]
자, 이제 이걸 닫아볼까요? 음, 나쁘지 않네요.
[24:16]
이 모든 작업에 73센트밖에 안 들었어요.
[24:18]
시간은 좀 걸렸지만 73센트면
[24:20]
작업을 할 수 있었죠. 한 프롬프트에 1달러지만
[24:22]
생각보다 나쁘지 않네요.
[24:27]
이걸 새로운 브랜치로 만들어서
[24:28]
GitHub에서 코드를 확인해볼까요?
[24:30]
자, 저와 같은 개발자들을 위한 꿀팁을 하나 공유하자면
[24:33]
아직 lazy git을 사용해보지 않으셨다면
[24:35]
저는 많은 기능을 사용하지는 않지만
[24:37]
LG 3 명령어를 자주 사용합니다
[24:40]
브랜치를 전환하고 PR을 열 때 사용하는데
[24:42]
다른 도구들보다 훨씬 빠릅니다
[24:45]
예를 들어 GitHub CLI로 같은 작업을 하는 것보다
[24:48]
훨씬 효율적이죠
[24:51]
대부분의 PR을 이걸로 여는데요
[24:53]
자, 다른 브랜치를 기반으로 살펴보면
[24:56]
diff가 어떤지 볼까요
[24:58]
parse result safe
[25:00]
parse data 모두 잘 동작하네요
[25:04]
verified result가 에러일 때는
[25:06]
에러를 처리하고 에러 타입에 따라
[25:08]
다른 상태 코드를 반환합니다
[25:11]
이제 다른 에러 타입들을 알 수 있죠
[25:12]
이 패키지로 모두 타입 안전하게 만들어졌거든요
[25:14]
정말 좋네요. 근데 WP 단어가 저기 있는 건
[25:16]
마음에 들지 않는데
[25:18]
브라우저 때문인지
[25:19]
음... 보아하니 prettier 포맷팅이
[25:22]
전혀 적용되지 않은 것 같네요
[25:24]
NPX prettier를 실행하면
[25:27]
pnpm lock 파일도 건드렸네요
[25:29]
건드리면 안 되는건데, 그리고
[25:31]
다른 파일들도 모두 변경했네요
[25:33]
Shad CN 관련된 것도 있는데 나중에 수정하겠습니다
[25:36]
아시겠지만 이 파일들은
[25:38]
전혀 포맷팅이 되지 않았어요
[25:40]
좀 짜증나지만 코드는 전반적으로
[25:44]
괜찮아 보이네요
[25:45]
이게 라우트죠, 좋습니다
[25:47]
저는 라우트가 아닌 곳에서는 응답을 반환하지 않고
[25:50]
다른 곳에서는
[25:51]
더 적절한 것을 반환하겠습니다
[25:54]
여기 count tokens가 반환하는 게 있고
[25:57]
catch에서 OK 또는 에러를 반환하네요
[26:00]
다 이해가 되네요. 모델 오프라인 처리,
[26:02]
채팅 API 에러 처리도 잘 되어있고
[26:05]
지금까지 좋아 보입니다. Promise result void error
[26:09]
user away check off
[26:11]
네, 전부 좋아 보이네요. 감동적입니다
[26:15]
전에 이 코드 작업하느라 시간을 많이 썼는데
[26:16]
다음 날 3.7이 나와서
[26:18]
대부분을 해결해 줄 줄은 몰랐네요
[26:20]
짜증나네요... 좋으면서도 짜증나요
[26:24]
멋지지만 좀 짜증나요. 네,
[26:26]
인상적입니다. 앞으로 커서에서
[26:28]
이 모델을 사용할 것 같고
[26:30]
T3 chat에서도 어려운 문제가 있을 때
[26:33]
이 모델을 사용할 겁니다
[26:34]
솔직히 말하면 기본적으로는
[26:36]
여전히 Gemini를 사용할 건데
[26:37]
속도가 정말 마음에 들거든요
[26:40]
정말 빠르죠. 하지만 Claude 3.7은
[26:44]
reasoning이 아닌 기본 3.7 버전도
[26:47]
너무 뛰어나서 앞으로는 아마도
[26:50]
제 기본 모델이 될 것 같습니다
[26:52]
정말 인상적이에요
[26:54]
사용해보니 좋고 실제 문제들을
[26:56]
해결해주고 있어요
[26:58]
실제 프로덕션급 작업을 수행하고 있죠
[27:01]
워크호스 모델이라고 생각합니다
[27:03]
그들이 목표로 했던 것이
[27:04]
바로 이거였을 거예요
[27:06]
모두가 코드와 작업에 사용하길 원하는 모델을
[27:09]
만들었고 잘 유지하고 있죠
[27:11]
하지만 제발 가격을 좀 내려줬으면 좋겠어요
[27:13]
아직도 이렇게 비싼 게 말이 안 되요
[27:15]
사고하는 모델은 이해가 가는데
[27:16]
일반 모델은 좀...
[27:18]
점점 더 정당화하기 어려워지고 있어요
[27:20]
T3 chat의 8달러 가격을
[27:22]
하지만 모델을 시도해보고 싶고
[27:24]
우리를 지원하고 싶다면
[27:25]
T3 chat에서 한 번 사용해보세요
[27:28]
이 모델을 사용하는데 월 8달러면
[27:29]
꽤 괜찮은 거래라고 생각합니다
[27:32]
더 할 말이 없네요
[27:34]
여러분의 생각을 들려주세요
[27:35]
다음에 또 만나요, 이 너드들아