[00:00]
이번 주에 OpenAI가
[00:02]
GPT-5 Codex를 출시했고, 지난 며칠 동안
[00:05]
물론 Codex CLI에서 테스트해봤는데
[00:08]
정말 인상적이었습니다.
[00:11]
그래서 짧은 영상으로
[00:12]
이전 영상에서 구축한 설정에서
[00:14]
변경 작업을 시도해보고
[00:17]
어떻게 작동하는지 보고 싶었습니다.
[00:19]
해결하고 싶은 문제가 있어서
[00:22]
모델을 바꿔보려고 합니다.
[00:25]
오늘 새로운 GPT-5 Codex를
[00:27]
사용해보고 싶고
[00:29]
첫인상을 공유하고 싶습니다.
[00:31]
좋은 점, 그렇지 않은 점들과
[00:33]
어떤 용도로 사용할 수 있는지에 대한 생각을
[00:36]
Claude Code에서 전환을 고려하고 있거나
[00:38]
ChatGPT 구독이 있어서
[00:40]
한번 시도해보고 싶다면
[00:43]
도움이 될 것입니다. 저는 Pro 버전을 사용하고 있어요.
[00:46]
ChatGPT의 $20 구독 플랜입니다.
[00:48]
그 계정으로 Codex CLI에 로그인해서 사용하고 있습니다.
[00:52]
벤치마크들도 살펴봤지만
[00:54]
오늘은 그것에 너무 집중하지 않고
[00:56]
직접 시도해보고
[00:58]
무엇을 할 수 있는지 보고 싶습니다.
[01:00]
SWE Bench를 보면
[01:02]
여기서 약간의 향상을 볼 수 있습니다.
[01:04]
Opus 4.1과
[01:06]
다른 모델들과 비슷한 수준인 것 같네요.
[01:08]
네, 꽤 좋습니다.
[01:12]
GPT-5에서 조금 더 나아졌습니다만
[01:15]
Codex에서 가장 인상적이었던 것은
[01:17]
곧 설명드리겠지만
[01:19]
프로젝트로 들어가서
[01:21]
무엇을 할 수 있는지 보겠습니다.
[01:24]
이전 영상에서
[01:26]
Codex에서 이런 설정을 생성했었는데
[01:28]
MCP 서버를 사용해서 비디오를 생성하는 것입니다.
[01:30]
소리는 재생하지 않겠지만, 이것은 저의 아바타로
[01:34]
한 장의 이미지에서 만들어졌습니다.
[01:35]
이전 영상을 돌아가서 보시면 됩니다.
[01:37]
여기서 앵글을 바꾸고 있는 것을 볼 수 있습니다.
[01:38]
AI 아바타 모델을 사용하고
[01:40]
11 Labs과
[01:41]
Banana 같은 여러 MCP 서버들과
[01:43]
결합해서 이런 유형의 비디오를 만들고 있습니다.
[01:46]
하지만 최근에 Omnihuman 모델에
[01:49]
몇 가지 문제가 있었습니다.
[01:51]
그래서 새로운 GPT-5 Codex를 사용해서
[01:54]
이 AI 아바타 모델의 Cling 버전으로 바꿔보고
[01:57]
얼마나 부드럽게 전환되는지
[01:59]
보고 싶었습니다.
[02:01]
방법은 이렇습니다.
[02:04]
제 레포지토리로 가서
[02:05]
여기서 Codex를 입력하겠습니다.
[02:09]
모든 것을 업데이트했습니다.
[02:11]
/mod를 실행하면
[02:12]
Codex Medium에 있는 것을 볼 수 있습니다.
[02:15]
여기서 그대로 유지하겠습니다.
[02:18]
물론 High나 Low로 바꿀 수도 있지만
[02:20]
지금은 Medium으로 유지하겠습니다.
[02:21]
제가 하고 싶은 것은
[02:23]
Cling AI 아바타로 전환하고 싶다는
[02:26]
지시사항을 주는 것입니다.
[02:30]
먼저 API에서 문서를 가져와야 합니다.
[02:35]
이 모델의
[02:37]
모든 문서를 가져오겠습니다.
[02:39]
그리고 여기서
[02:41]
문서를 만들겠습니다.
[02:42]
Cling Avatar.md 같은 이름으로
[02:45]
fal에서 가져온 것으로 하겠습니다.
[02:48]
네, 그렇게 하겠습니다.
[02:50]
Cling
[02:54]
Avatar.md나 fal에서 가져온 비슷한 이름으로 하겠습니다.
[02:57]
이것은 같은 제공업체입니다. 그래서
[02:59]
여기에 이미 API 키가 있습니다. 그리고
[03:02]
이제 여기서 코덱스에게 지시해서
[03:05]
이 두 모델을 옴니 모델에서
[03:07]
클링 모델로 바꿔보려고 하고
[03:09]
이 과정이 얼마나 매끄러운지 보겠습니다.
[03:13]
새 문서를 읽는 것부터 시작해보죠.
[03:14]
클링 아바타라고 했나요?
[03:16]
그럼 그렇게 해보겠습니다.
[03:18]
지금까지 제가 좋아했던 몇 가지
[03:21]
점들에 대해 이야기해보고 싶습니다.
[03:24]
이 새로운 다이나믹 씽킹이
[03:27]
새 코덱스 모델을 훨씬 더
[03:29]
반응적으로 만들어줍니다.
[03:30]
얼마나 빨랐는지 보셨죠?
[03:33]
제가 알아차린 건 속도 개선이
[03:35]
정말 좋았다는 점입니다.
[03:38]
앞서 말한 것처럼 다이나믹 씽킹이라는
[03:40]
기능이 있어서 토큰이나 추론을
[03:44]
많이 사용하지 않으려고 합니다.
[03:47]
간단한 작업이라고 분류되는 것에 대해서는요.
[03:48]
그리고 복잡한 작업에는 더 많은 시간을
[03:52]
투자합니다. 완벽한 제어권은
[03:55]
없는 것 같지만
[03:57]
지금까지 테스트해본 결과로는
[03:59]
꽤 잘 작동하는 것 같습니다. 예를 들어
[04:01]
"이 응답은 꽤 빨라야 하잖아요?"
[04:04]
라고 하면 보시는 것처럼 빨리 나옵니다.
[04:05]
하지만 복잡한 요청을 하면
[04:07]
더 오래 걸립니다. 그리고
[04:09]
지금까지 테스트해본 결과로는
[04:12]
꽤 좋은 작업을 해낸 것 같습니다.
[04:14]
하지만 이제 우리가 하고 싶었던 일을 해보죠.
[04:17]
새 모델의 문서를 읽었고
[04:18]
여기서 프롬프트를 작성해보겠습니다.
[04:21]
아바타 MCP 서버와
[04:22]
옴니 모델에 몇 가지 문제가
[04:24]
있습니다. 지금 작동하지 않고 있어요.
[04:27]
그래서 MCP 서버용
[04:28]
클링 AI 아바타 모델로 바꾸고 싶습니다.
[04:30]
이 테스트를 실행하는 데
[04:32]
도움을 주시겠어요?
[04:34]
이걸 실행해보고 이 작업이
[04:36]
얼마나 매끄럽게 진행되는지 보고 싶습니다.
[04:39]
자, 이제 여기서 이 모든 것을
[04:41]
탐색하고 있는 것을 볼 수 있습니다.
[04:42]
코덱스에 대해 제가 주목한 한 가지는
[04:44]
클라우드 코드 사용 대신에
[04:46]
모든 도구 호출을 미리 하는 경향이 있다는 것입니다.
[04:49]
괜찮다고 생각합니다.
[04:50]
이것에 대해 문제를 보지 못했고
[04:51]
문제가 있을 것 같지도 않습니다.
[04:54]
클라우드 코드나 코덱스의 이전 버전으로
[04:56]
이 문제를 해결하려고 했다면
[04:58]
괜찮았을 것입니다. 하지만
[05:01]
좀 더 매끄러운 경험이 있는 것 같습니다.
[05:04]
여기서 무엇을 바꿨나요?
[05:07]
모델을 바꾼 것을 볼 수 있습니다.
[05:08]
이것이 제가 보고 싶었던 것입니다.
[05:10]
여기서 차이점을 만들었습니다.
[05:12]
옴니휴먼 모델을 제거하고
[05:15]
이것을 넣었습니다. 네, 좋아 보입니다.
[05:17]
그리고 같은 입력 인수들이
[05:19]
여전히 있습니다. 이미지 URL들과
[05:21]
오디오 URL들 그리고 파일 키가 있습니다.
[05:23]
네, 이것이 제가 예상했던 것입니다.
[05:25]
그래서 꽤 좋아 보입니다. 제가 주목한
[05:28]
한 가지는 여전히 클라우드 코드를
[05:30]
선호하는 이유는 MCP 서버 설정하는
[05:33]
방법 때문입니다. 클라우드 코드 사용 경험이
[05:35]
좀 더 매끄러웠습니다. 하지만 그건
[05:38]
저 때문일 수도 있습니다.
[05:39]
제가 한동안 이걸로 작업해왔고
[05:41]
코덱스를 그렇게 많이 사용하지 않았거든요.
[05:43]
지금까지 저에게는 MCP 서버
[05:46]
경험이 좀 더 수월했던 것 같아요
[05:48]
적어도 클라우드 코드에서는요. 하지만
[05:51]
여기서 코덱스를 더 많이
[05:52]
써보려고 합니다. 그래서 여기 문서에서
[05:55]
몇 가지 변경을 하겠습니다.
[05:57]
요청하지 않았는데
[05:58]
알아서 해주네요. 그런데 여기서 제가 좋게 보는 것 중 하나는
[06:02]
마지막에 있는 요약 부분이에요.
[06:04]
이런 게 마음에 듭니다.
[06:06]
토큰을 많이 사용하지 않고
[06:08]
요점을 잘 짚어내고
[06:10]
참조도 있어서 좋네요.
[06:12]
Avatar MCP 서비스가 이제
[06:14]
새로운 모델, 새로운
[06:16]
엔드포인트를 구독합니다. 호출 시 API 경로를 정리하는
[06:19]
도움말과 통합 가이드,
[06:22]
avatar.md에 새로운 문서와
[06:26]
테스트를 할 예정이고 다음
[06:29]
단계가 있습니다.
[06:31]
이 다음 단계 기능이
[06:34]
마음에 드는데, 할 수 있는 것은
[06:35]
다음 단계를 실행해달라고 요청하는 것입니다.
[06:39]
여기서 fal 키를
[06:41]
설정하고 싶지 않아서 환경 변수에서
[06:45]
fal 키를 로드하고 싶은데
[06:47]
어떻게 할 수 있을지 보겠습니다.
[06:49]
여기서 저는 환경에서
[06:51]
파일 키를 로드하고
[06:53]
확인 후 필요하면 빌드 업데이트하라고
[06:56]
했습니다. 잘 작동할 것 같네요.
[06:58]
환경에 설정하고 싶지 않고
[07:00]
단지 env에서
[07:02]
로드하고 싶을 뿐입니다.
[07:07]
어떻게 되는지 보고, 이것을
[07:09]
구현하면 새로운
[07:11]
MCP 서버의 전체 실행을 해보고
[07:14]
처음에 있던 것과 같은 영상을
[07:18]
만들어보려고 합니다. 물론 이번에는
[07:21]
뉴스 기사에서
[07:22]
가져온 새로운 MP3 파일을
[07:24]
사용할 예정입니다. 그리고
[07:27]
이 구현이 제대로 되었는지
[07:30]
테스트해보겠습니다. 파일 키를
[07:33]
여기에 넣으라고 하네요. 이것이
[07:36]
다음 단계입니다. 이미 설정되어 있거나
[07:40]
이미 되어 있다는 뜻이죠.
[07:42]
server/env 파일에
[07:44]
파일 키가 설정되어 있으니까요. 괜찮을 겁니다.
[07:48]
좋습니다. 모든 게 설정되어 있으니
[07:50]
이제 해야 할 일은
[07:52]
재시작하는 것입니다.
[07:54]
코덱스/MCP를 종료할 수 있습니다.
[07:56]
아바타 모델이
[07:59]
실행되고 있나요? 네. 이제
[08:00]
할 일은 워크플로의
[08:02]
전체 실행을 해보고
[08:05]
모든 것이 작동하는지 확인하는 것입니다.
[08:08]
타임아웃을 확인하고 싶은데
[08:09]
모델의 실행 부분이
[08:11]
시간이 걸릴 수 있기 때문입니다.
[08:14]
이 MCP 서버의
[08:15]
타임아웃을 빠르게 확인하고
[08:18]
몇 번의 전체 실행을
[08:20]
해보겠습니다. 타임아웃을
[08:23]
10분으로 설정했습니다.
[08:25]
비디오를 실행하기에 충분할 겁니다.
[08:27]
이제 할 일은 워크플로를
[08:29]
확인하는 것인데, 이를 위한
[08:30]
워크플로가 있습니다. 기본적으로 해야 할
[08:34]
모든 일들이 나와 있습니다.
[08:36]
첫 번째로 이미지를
[08:37]
제공하겠습니다. 여기에
[08:39]
소스 이미지가 있죠? PNG 파일이
[08:41]
될 것입니다. 여기로 가면
[08:44]
나나 바나나 앵글에 입력할 PNG 파일이 될 거에요, 맞죠?
[08:47]
이건 그냥 한 여자가 있는 거에요.
[08:50]
이게 우리 소스 파일이 될 거에요.
[08:52]
그리고 다음 단계는 오디오 파일을 제공하는 것이죠.
[08:54]
여기에 어제 제가 읽은 뉴스 기사에서 18초짜리 클립이 있어요.
[08:55]
그건 이미 미리 준비되어 있고요.
[08:58]
그럼 이제 ffmpeg을 좀 사용할 거에요.
[09:00]
5초짜리 청크를 만들 거에요.
[09:02]
지난 비디오를 보셨다면 이걸 아실 거에요.
[09:04]
그럼 여기 이 리스트를 사용할 거에요.
[09:06]
다양한 카메라 앵글들이 있어요.
[09:07]
나나 바나나로 소스 이미지를 실행할 거에요.
[09:09]
커피숍 안의 소스 이미지가 있고요.
[09:11]
뉴욕 거리에서, 차 밖에서,
[09:12]
차 안에서, 이런 식으로요. 보시게 될 거에요.
[09:15]
그럼 이것들을 합쳐서
[09:17]
여기 있는 것처럼 비디오로
[09:19]
완성하기를 바래요, 맞죠?
[09:21]
그래서 제가 지금 진행한 것은
[09:22]
이걸 시작한 거에요.
[09:24]
워크플로를 읽어라 같은 간단한 명령을 했죠.
[09:27]
꽤 빨랐어요. 워크플로를 읽었죠.
[09:29]
카메라 앵글들을 캡처할 거에요.
[09:32]
그리고 워크플로를 실행하라고 했고
[09:34]
여기서 작업을 시작했어요, 맞죠?
[09:36]
모든 청크를 만든 게 보이시죠.
[09:37]
완벽해요. 이제 MCP 도구를 실행하고 있어요.
[09:40]
나나 바나나 에디트요.
[09:42]
소스 이미지를 입력하고, 프롬프트를 입력해요.
[09:44]
차 안에서 카메라에 말하는 사람.
[09:46]
이게 첫 번째 입력 이미지가 될 거에요.
[09:48]
그럼 여기 아래로 계속 내려가서
[09:50]
새로운 비디오 모델로 시작하기를 바래요.
[09:53]
그걸 보게 될 거에요.
[09:54]
여기 들어가서 이미지들을
[09:56]
확인해볼 수 있어요.
[09:58]
이런 게 있어요, 맞죠?
[10:00]
차 안 옆쪽이고,
[10:03]
아마 차 밖이고 거리에서일 거에요.
[10:06]
네, 완벽해요. 꽤 좋아 보여요.
[10:10]
그럼 이제 비디오가
[10:13]
여기서 시작할 때로 돌아가겠어요.
[10:15]
MCP 서버를 사용하지 않고 있네요.
[10:17]
그걸 고쳐보겠어요.
[10:19]
하지만 다시 돌아가겠어요.
[10:22]
좋아요.
[10:24]
아바타 생성 아웃터 비디오 도구를
[10:25]
MCP 서버를 사용해서 실행한 게 보이시죠.
[10:27]
인수들, 트렁크와 이미지를 입력했어요.
[10:29]
세그먼트 MP4를 얻었고요.
[10:32]
완벽해요. 지금은 소리를 재생할 필요 없지만
[10:34]
이게 작동하는 게 보이시죠.
[10:38]
립싱크도 다 되고 있고요.
[10:41]
잘 작동한 것 같아요.
[10:42]
옴니에서 클링의 새 모델로
[10:44]
모델을 바꿨어요.
[10:46]
모든 청크를 생성한 게 보이시죠.
[10:48]
올바른 오디오 입력이나 인수들로
[10:51]
MP4 파일들로 바꿨어요.
[10:54]
네 개의 클립을 만들기 위해
[10:56]
이걸 네 번 실행했고요.
[10:59]
그리고 모든 걸 합쳤어요.
[11:02]
완벽해요. 최종 비디오가 나왔고요.
[11:05]
여기에 뭔가 더 추가하고 싶었어요.
[11:07]
11 Labs로 가서
[11:09]
배경 소음을 만들었어요.
[11:12]
여기 끝부분에서 볼 수 있듯이
[11:14]
5% 볼륨이나 15% 정도로
[11:17]
그걸 합쳤어요.
[11:19]
꽤 잘 된 것 같아요.
[11:23]
그럼 최종 클립을 한번 봐요.
[11:25]
그건 아니었는데...
[11:27]
음, 꽤 괜찮게 작동했어요.
[11:29]
최종 클립을 보겠어요.
[11:32]
완벽하지는 않았습니다. 편집을 좀 해야 했을 텐데요.
[11:33]
소리가 문장 중간에 끊어지고 그런 부분이 있었거든요.
[11:35]
하지만 코덱스를 테스트해본 결과로는
[11:37]
꽤 잘 작동한다고 생각합니다.
[11:39]
그럼 최종 결과를 봅시다.
[11:41]
그리고 제가 결론을 내리고
[11:43]
이 프로젝트와
[11:44]
코덱스 GPT로
[11:46]
앞으로 어떻게 계속할지 말씀드리겠습니다.
[11:48]
[11:51]
여기서 비디오를 볼 수 있죠.
[11:53]
그냥 재생해보겠습니다. 18초 정도 되는 영상이에요.
[11:55]
[11:57]
트럼프 대통령이 영국에 도착했습니다
[11:58]
드문 두 번째 국빈 방문으로,
[12:01]
윈저 성 밖에서 시위가 일어났습니다.
[12:04]
밤새 활동가들이 트럼프와
[12:06]
고인이 된 제프리 엡스타인을 연결하는
[12:08]
이미지를 왕궁 벽에 투사했습니다.
[12:11]
경찰이 네 명을 통신 혐의로
[12:13]
구속했으며, 무허가 공개라고 불렀습니다.
[12:15]
보시다시피 완벽하지는 않았죠.
[12:16]
하지만 모델은 작동했고
[12:19]
전환도 꽤 성공적이었다고 생각합니다.
[12:21]
하지만 지난 며칠간
[12:24]
코덱스를 테스트해본 것에 대해
[12:27]
결론을 내리고 싶습니다.
[12:29]
꽤 좋았다고 생각해요.
[12:31]
가장 마음에 드는 점은
[12:33]
속도가 변했다고 느끼는 점이고
[12:35]
잘 작동한다는 점입니다.
[12:38]
안녕하세요 같은 간단한 요청과
[12:41]
코드를 깊이 파고들거나
[12:43]
더 복잡한 문제가 있을 때처럼
[12:44]
더 복잡한 요청 사이의 전환이
[12:47]
꽤 잘 작동하는 것 같습니다.
[12:49]
하지만 아직 전환을 정당화할 만큼
[12:52]
충분한 시간을 갖지 못했습니다.
[12:55]
사실 저는 Mac 구독에서
[12:59]
Claude를 다시 Pro 구독으로 설정했습니다.
[13:01]
왜냐하면 제가 코덱스를 사용해서
[13:02]
GPT-5나 OpenAI Pro 구독으로 업그레이드할지
[13:06]
아니면 Claude Code를 사용해서
[13:08]
다시 Max 구독으로 돌아갈지
[13:10]
보고 싶기 때문입니다. 지금은 중간 단계에 있어서
[13:13]
계속 테스트해보고
[13:15]
어디에 정착할지 보겠습니다.
[13:17]
OpenAI의 200달러 구독으로 가야 할까요?
[13:21]
아직 확실하지 않습니다.
[13:23]
잠시 기다려보고 어떻게 할지 보겠습니다.
[13:25]
하지만 지금까지는 코덱스에
[13:27]
꽤 만족하고 있습니다.
[13:29]
Claude Code에 비해 CLI 도구에서
[13:32]
아직 개선할 부분이 있다고 생각합니다.
[13:34]
심지어 Anthropic도
[13:36]
최근에 Anthropic의 모델들에서
[13:39]
Sonnet과 Opus 모델들에서
[13:42]
많은 문제가 있었다고 인정했습니다.
[13:45]
그래서 어떤 회사에도
[13:47]
충성할 필요는 없습니다.
[13:50]
현재 시점에서 가장 좋은 모델을 가진
[13:53]
회사를 선택하고
[13:55]
언제든 취소할 수 있으니까
[13:58]
그냥 바꿔가며 사용하면 됩니다.
[14:00]
저는 1년 구독처럼
[14:03]
연간 구독을
[14:05]
구매하는 것은 추천하지 않습니다.
[14:07]
저는 그냥 바꿔가며 사용하고
[14:10]
가장 좋은 모델을 사용하고 싶습니다.
[14:12]
만약 앞으로 몇 주 안에 Gemini Ultra가 나온다면
[14:15]
모든 사람이 그것으로 바꾸고
[14:17]
Gemini CLI를 사용하고 싶어할 것입니다.
[14:19]
그럼 두고 봅시다.
[14:21]
하지만 GPT-5 코덱스 모델에 대한
[14:23]
제 초기 인상은 정말 만족스럽고
[14:26]
아직 충분히 해보지 못한 것 중 하나는
[14:28]
낮음, 보통, 높음 설정 사이의
[14:30]
전환을 시도해보는 것입니다.
[14:33]
높음 설정을 좀 더 시도해볼 것 같습니다.
[14:36]
아직 확실하지 않지만
[14:37]
지금까지는 보통 설정으로
[14:39]
사용해왔고 꽤 잘 작동하는 것 같습니다.
[14:42]
시청해주셔서 감사하고
[14:44]
댓글로 여러분이 어떻게 할 건지
[14:45]
알려주세요. Claude Code에서
[14:47]
코덱스로 바꾸실 건가요
[14:49]
아니면 Claude를 계속 사용하실 건가요?
[14:52]
앞으로 몇 주 안에 신형 모델이 나온다면
[14:55]
Gemini도 시도해보실지도 모르겠네요.
[14:57]
시청해주셔서 감사하고 좋은 하루 되세요.