[00:00]
좋아요, 오픈 코드를 실행해보겠습니다.
[00:01]
하지만 이걸 로컬 모델로 해보고 싶어요.
[00:03]
제가 만든 이 플래피 버드 폴더의 루트에 있는 open code.json 파일을 보실 수 있습니다.
[00:05]
혹시 모르시는 분들을 위해 설명하면,
[00:08]
플래피 버드는 오래전에 나온 게임입니다.
[00:10]
아주 기본적인 게임이지만,
[00:12]
실제로는 바이럴이 되었죠.
[00:14]
그래서 우리는 데브스트랄 스몰이
[00:16]
오픈 코드와 함께 실제로 이걸 재현할 수 있는지 확인해보겠습니다.
[00:19]
제 추측으로는 아마 못할 것 같습니다.
[00:20]
제가 데브스트랄을 사용해본 경험으로는요.
[00:22]
하지만 한번 보죠. 놀라게 해줄지도 모르니까요.
[00:25]
비교적 괜찮은 코딩 모델이거든요.
[00:27]
그래서 우리가 할 일은
[00:29]
들어가서 오픈 코드를 열어보는 거예요.
[00:32]
여기서 보시면 이미 데브스트랄 스몰로 설정해놨습니다.
[00:34]
만약 설정이 안되어 있다면,
[00:36]
모델을 선택하러 가겠죠.
[00:38]
이미 인증된 모델들의 목록을 볼 수 있습니다.
[00:40]
일단 이건 닫을게요.
[00:42]
OpenAI에게 프롬프트를 생성해달라고 요청했습니다.
[00:45]
그래서 이걸 붙여넣기 해보겠습니다.
[00:46]
이게 얼마나 잘 작동할지 모르겠지만,
[00:48]
오픈 코드가 로컬 모델과 어떻게 작동하는지 보여드리고 싶었습니다.
[00:50]
정말 빠르게 로딩되고 있네요.
[00:52]
여기서 보시면,
[00:53]
첫 번째 토큰이 생성되었고, 스트리밍으로 출력하고 있습니다.
[00:56]
정말 잘 작동하네요.
[00:57]
GPU 사용량을 한번 봐보겠습니다.
[00:59]
GPU가 87-86% 정도를 차지하고 있습니다.
[01:01]
이 GPU는 AMD 것인데,
[01:03]
프로세서에 내장된 거고, 실제로는 제가 사용하는 녹화 소프트웨어 때문입니다.
[01:06]
RTX 5090에서는 실행하지 않고 있거든요.
[01:08]
그래서 이걸 실행시켜보겠습니다.
[01:10]
뭘 생성할 수 있는지 보죠.
[01:12]
그 동안 이걸 옆으로 옮겨놓고,
[01:15]
오픈 코드에 대해 이야기해보겠습니다.
[01:19]
여기서 진행상황을 모니터링할 수 있도록 해놨습니다.
[01:21]
오픈 코드는 실제로 클라우드 코드의 경쟁자입니다.
[01:23]
그리고 제게는 장기적으로
[01:25]
로컬 모델을 사용할 수 있는
[01:26]
오픈소스 솔루션을 갖는 것이 매우 중요합니다.
[01:29]
그게 제 꿈이에요. 우리가 가야 할 방향이죠.
[01:31]
하지만 많은 분들이 아시다시피
[01:32]
저는 오늘날 클라우드 코드의 큰 팬입니다.
[01:34]
클라우드 모델들도 정말 좋아해요.
[01:37]
실제로 오픈 코드를 Claude 4, Gemini 2.5 Pro, 그리고 데브스트랄과 함께 꽤 많이 사용해봤습니다.
[01:40]
하루 종일 데브스트랄을 사용해서
[01:41]
가벼운 작업들을 해봤는데 정말 잘 작동했어요.
[01:43]
오른쪽에서 보시면
[01:45]
실제로 플래피 버드 클론 생성이 완료되었습니다.
[01:48]
하지만 아마 프롬프트가 파일을 실제로 생성하는 것에 대해
[01:50]
충분히 명확하지 않았던 것 같아요.
[01:52]
그래서 그걸 하도록 요청해보겠습니다.
[01:54]
다시 말하지만, 이걸 OpenAI에서 복사해온 거라
[01:57]
많은 시간을 들여서 만들지는 않았어요.
[01:58]
네, 이제 저를 위해 만들어주고 있네요.
[02:01]
그럼 이게 진행되도록 놔두겠습니다. 팁과 요령들을 알려드리죠.
[02:04]
실제로 저를 처음 당황하게 만든 것 중 하나는
[02:06]
오픈 코드에 파일을 추가하는 것이었습니다.
[02:09]
그리고 클라우드 코드에 익숙하시다면,
[02:13]
하루 종일 데브스트랄을 사용해서
[02:15]
라이트 태스크들을 해봤는데 정말 잘 작동했습니다.
[02:17]
오른쪽에서 볼 수 있듯이
[02:20]
실제로 플래피 버드 클론 생성이 완료되었지만
[02:21]
프롬프트가 실제로 파일을 생성하는 것에 대해
[02:23]
충분히 명확하지 않았던 것 같습니다.
[02:25]
그래서 그걸 하도록 요청해보겠습니다.
[02:27]
다시 말하지만, 이걸 OpenAI에서 복사해온 거라
[02:28]
많은 시간을 들여서 만들지는 않았어요.
[02:30]
네, 이제 저를 위해 만들어주고 있네요.
[02:33]
그럼 이게 진행되도록 놔두겠습니다.
[02:35]
팁과 요령들을 알려드리죠.
[02:36]
실제로 저를 처음 당황하게 만든 것 중 하나는
[02:39]
오픈 코드에 파일을 추가하는 것이었습니다.
[02:41]
OpenCode에서 저를 좌절시킨 첫 번째 것은 파일을 컨텍스트에 추가하는 것입니다.
[02:44]
[02:46]
Claude Code에 익숙하시다면
[02:48]
@ 기호를 사용하고 파일명을 입력하는 방법을 알 텐데요.
[02:51]
Gemini CLI도 마찬가지로 @ 기호를 사용할 수 있습니다.
[02:53]
그 방식에 매우 익숙해져 있어서
[02:55]
아직도 OpenCode에서 계속 그렇게 시도하고 있습니다.
[02:57]
OpenCode에서 이를 할 수 있는 유일한 방법은
[03:00]
제가 타이핑하는 문장이나 줄의 시작 부분에 두지 않고
[03:02]
[03:04]
'다음 파일을 사용하세요 /'와 같이 말하고
[03:06]
그 다음에 support나 파일명을 입력하기 시작하면
[03:08]
[03:11]
자동완성이 나타납니다.
[03:13]
시간이 지나면서 @ 기호를 실제로 추가해주길 바랍니다.
[03:15]
왜냐하면 그게 정말 큰 차이를 만들 것 같거든요.
[03:18]
[03:20]
Claude 4는 OpenCode와 함께 사용하면 놀라운 성능을 보입니다.
[03:22]
제 평가에서 매우 높은 점수를 받았고
[03:25]
실제로 작업하기 매우 즐겁고
[03:27]
일반적으로 비용 효율적입니다.
[03:29]
하루 종일 간헐적으로 사용해서
[03:32]
몇 달러 정도 사용했다고 생각합니다.
[03:34]
아마 6-7달러 정도 사용한 것 같습니다.
[03:37]
다시 말하지만, 한 달 내내 사용하면 누적됩니다.
[03:39]
가격에 대해서는 잠시 후에 이야기하겠지만
[03:42]
[03:43]
여전히 Gemini 2.5 Pro에 비해서는
[03:45]
매우 효율적입니다.
[03:47]
[03:51]
SST OpenCode를 사용하고 있는지 확인하세요.
[03:54]
이것은 이 특정 GitHub 저장소입니다.
[03:56]
OpenCode AI 것을 사용하지 마세요.
[03:59]
SST OpenCode가 더 많은 스타를 받았고
[04:01]
더 최근에 업데이트되었습니다.
[04:04]
제가 여기에 들어올 때마다
[04:06]
하루 이내에, 아니면 어제라도
[04:09]
일어난 커밋들을 볼 수 있습니다.
[04:11]
정말 중요한 것은
[04:13]
올바른 저장소를 가져오는 것입니다.
[04:15]
[04:17]
Gemini 2.5 Pro를 사용하고 있다면
[04:20]
무한 루프를 주의하세요.
[04:22]
테스트를 위해 몇 개를 종료시켰는데
[04:24]
Claude 4로는 20달러 50센트 정도였을 것이
[04:27]
8달러 49센트가 되었습니다. 그냥 계속 실행시켜뒀거든요.
[04:30]
왼쪽에서 어떤 모습인지 보여드리겠습니다.
[04:31]
찾아보겠습니다.
[04:33]
네, 여기 있습니다.
[04:35]
여기서 보시면 이 오류가 계속 발생합니다.
[04:37]
'old string not found' 오류가 발생하고
[04:39]
계속 반복해서 루프를 돕니다.
[04:41]
그러니까 Gemini 2.5 Pro는 사용하지 마세요.
[04:43]
[04:46]
온도 조정 등을 최대한 시도해봤지만
[04:47]
루트 코드에서처럼 해결할 수 없었습니다.
[04:49]
0.7이 일반적으로 가장 좋다고 생각합니다.
[04:51]
[04:54]
이것도 좀 부끄럽지만
[04:56]
다른 프로바이더를 인증하려고 할 때
[04:58]
계속 /models를 시도했습니다.
[05:00]
[05:04]
이런 식으로 하려고 했는데
[05:06]
올바른 방법은 실제로 OpenCode O login을 실행하는 것입니다.
[05:09]
프로바이더를 선택하고 자격 증명을 입력하면
[05:11]
끝입니다. 완료됩니다.
[05:13]
[05:16]
이를 알아내기 위해 실제로 소스 코드를 검색해야 했습니다.
[05:19]
이것이 어딘가에 문서화되어 있을 것이라는 걸 알지만
[05:20]
프로젝트의 실제 소스 코드에 들어가기 전까지는
[05:22]
찾을 수 없었습니다.
[05:25]
그리고 augment code를 사용해서
[05:28]
저장소에 대한 질문을 했고
[05:31]
그래서 결국 답을 얻을 수 있었습니다.
[05:33]
[05:34]
그 답을 얻었습니다. 이 opencode.json.config가
[05:36]
정말 중요합니다. 이 부분에서 흥미로운 것은
[05:38]
몇몇 사람들이 제대로 작동하지 않는다고
[05:40]
보고했다는 점입니다. 하지만 저는 이것을
[05:42]
지금까지 4개의 다른 프로젝트에서 사용했습니다.
[05:43]
아니 5개겠네요, 이 작은 Flappy Bird 클론까지
[05:46]
센다면 말이죠. 하지만 저는 그냥 OpenCode config,
[05:48]
opencode.json config 파일을 프로젝트 루트에
[05:50]
넣고, 원하는 설정들을 입력하면
[05:52]
항상 잘 작동했습니다. 왜 어떤 사람들에게는
[05:55]
작동하지 않는지 모르겠지만,
[05:58]
혹시 JSON 파일을 찾는 과정에서
[06:00]
이상한 문제가 있을 수 있다고
[06:02]
지적해두겠습니다. 또 다른 문제는
[06:03]
제가 계속 실수하는 것인데,
[06:05]
clear 명령어를 실행하는 것입니다. 이 명령어는
[06:07]
실제로 존재하지 않습니다. 여기서 clear를
[06:09]
입력해보면, opencode에는 실제로 존재하지 않습니다.
[06:11]
언젠가는 추가될 것 같지만, 지금은
[06:15]
new session을 사용해야 합니다. clear를
[06:17]
추가하는 것이 그리 어렵지 않을 것 같지만,
[06:19]
아마 필요하지 않을 수도 있습니다.
[06:21]
그냥 익숙해지면 됩니다. 어쨌든,
[06:24]
이 Flappy Bird가 실제로 어떻게
[06:26]
생겼는지 한번 보겠습니다.
[06:28]
결과를 보면 여기 Flappy Bird 클론이
[06:29]
있는데, 물리 엔진이 너무 복잡해서
[06:32]
첫 번째 파이프도 통과할 수 없을 것 같습니다.
[06:34]
오, 거의 했네요. 오, 할 수 있을까요?
[06:37]
어쨌든, 이게 정말 놀랍도록 잘 만들어졌죠?
[06:39]
이것은 로컬 모델로 만든 것입니다.
[06:41]
opencode의 특별한 기능도 아니고,
[06:42]
툴 호출도 제대로 따랐습니다.
[06:44]
출력에서 어떤 오류도 없었습니다.
[06:46]
실제로 결과가 어떻게 나왔는지
[06:48]
보여드리겠습니다. 여기서 보시면
[06:50]
정말 잘 작동했습니다. 모든 것을 생성했고,
[06:53]
중력값도 조정할 수 있을 것 같습니다.
[06:57]
여기 설정할 수 있는 옵션들이 있을 것입니다.
[07:00]
정말 훌륭하게 작동합니다. Devstrol이
[07:02]
OpenCode와 함께 사용하기에 정말 즐거웠습니다.
[07:04]
다시 말하지만, 컨텍스트가 여기서
[07:07]
제한되는 이유는 LM Studio에서
[07:09]
스트리밍을 사용할 때 실제로
[07:11]
그 정보를 반환하지 않기 때문입니다.
[07:13]
이것은 아쉬운 부분입니다. 자, 이제
[07:14]
마무리하면서 하고 싶은 말은
[07:18]
우리에게 오픈소스 솔루션이 필요하다는 것입니다.
[07:20]
로컬 모델이 실제로 작동해야 합니다.
[07:22]
그 이유는 이런 회사들 중 많은 곳이
[07:24]
아직 수익을 내지 못하고 있기 때문입니다.
[07:26]
제가 이 이야기를 너무 자주 하는 것 같지만,
[07:27]
무료 AI 시대가 끝나가고 있습니다.
[07:29]
미래의 코딩은 매우 비쌀 것입니다.
[07:30]
이미 꽤 비싸지만, 우리는 월 50달러 고정 가격의
[07:33]
Augment Code같은 서비스가 있어서 다행입니다.
[07:34]
Claude Max는 월 100달러와 200달러 플랜이 있고,
[07:36]
Cursor는 지난 며칠 동안
[07:38]
꽤 논란이 된 변화를 겪었습니다.
[07:40]
이에 대해서는 잠시 후에 이야기하겠습니다.
[07:42]
이런 회사들 중 많은 곳이 가능한 한
[07:45]
많은 시장 점유율을 확보하려고 하지만,
[07:46]
수익을 내지 못하고 있습니다.
[07:47]
여기 실제로 Jared Sumner라는 사람의 예시가
[07:50]
있습니다.
[07:52]
그는 Claude Code Max 사용량을 공유했는데,
[07:54]
2,152달러를 70% 마진으로 책정했다고 하는데,
[07:57]
저는 이 부분에 대해 의구심을 가지고 있습니다.
[07:59]
지난 며칠 동안 상당히 논란이 된 움직임을
[08:03]
보여주었습니다. 많은 회사들이
[08:05]
가능한 한 많은 시장 점유율을 얻으려고
[08:08]
하지만 수익을 내지 못하고 있습니다.
[08:10]
실제로 Jared Sumner라는 사람의 예시가 있습니다.
[08:13]
그는 실제로
[08:15]
Claude Code Max 사용량을 공유했습니다
[08:18]
2,152달러
[08:21]
70% 마진으로 말인데, 저는 이게
[08:23]
Anthropic이 실제로 달성할 수 있는
[08:25]
클라우드 모델 수준인지 의심스럽습니다.
[08:29]
이들은 Claude에게 엄청난 손실을 입히고 있습니다.
[08:34]
이 돈은 API 사용료로 갈 수 있는 돈인데
[08:36]
그들이 10분의 1 가격으로
[08:40]
200달러를 지불하고 있습니다. 그래서 저는
[08:43]
시간이 지나면서 우리가 얻는 사용량이
[08:46]
매우 모호하다는 점이 조금 걱정됩니다.
[08:49]
맞죠? 우리는 실제로 얼마나 많은
[08:51]
사용량을 얻는지 잘 모릅니다. 우리는
[08:53]
그냥 타임아웃 상태가 되고 나서
[08:55]
다시 사용량을 얻게 되는데, 이건
[08:59]
저를 그리 많이 괴롭히지 않습니다. 사실
[09:01]
월간 한도보다는 이게 더 낫다고 생각합니다. 저는
[09:03]
몇 시간 동안 타임아웃 상태가 되고
[09:05]
나서 다시 돌아올 수 있는 것을
[09:07]
개의치 않습니다. 저는 이게 올바른 방법이라고
[09:08]
생각합니다. 더 많은 회사들이 이렇게 해야 한다고 생각합니다. 하지만
[09:11]
더 좋은 방법은 그냥
[09:12]
실제 사용량에 대해 가능한 한
[09:15]
투명하게 공개하는 것입니다. 그리고 현재
[09:20]
Claude Code의 사용량 투명성은
[09:23]
거의 없는 수준입니다. 우리는 그냥
[09:25]
Claude Max에서 더 많이 얻는다는 것만 압니다.
[09:27]
100달러로 5배 더 많이, 200달러 요금제로는 20배 더 많이 얻습니다.
[09:30]
하지만 Cursor는
[09:32]
Cursor는 몇 달이 지난 지금도 여전히
[09:35]
조금 쓴맛이 남는 회사입니다. 저는
[09:39]
Cursor 1년 요금제를 결제했는데 그들은
[09:41]
지난 1년 동안 너무 많은 것을 바꿨습니다.
[09:44]
정말 좌절스러웠습니다. 저는
[09:46]
실제로 Cursor에 대해 부정적인
[09:48]
영상을 몇 개 올렸고 사람들의 반응은
[09:50]
엇갈렸습니다. 어떤 사람들은
[09:52]
그들이 모든 사람을 대하는 방식에
[09:53]
완전히 만족하지만, 저에게는 이것이
[09:55]
반소비자적 행태입니다.
[09:57]
지금 현재 Claude Code나 Claude
[10:00]
Max는 매우 소비자 친화적이라고 생각합니다. 그들이
[10:03]
주는 한도는 매우 매우 후하다고 생각합니다.
[10:06]
그들은 우리를 한 번에 몇 시간씩만
[10:09]
타임아웃 상태로 만듭니다. 아마도
[10:11]
최대 6-7시간 정도가 제가
[10:13]
지금까지 타임아웃 상태였던 최대 시간인 것 같습니다.
[10:17]
반면 Cursor는 실제로
[10:20]
한 가지를 판매합니다. 제가 느낀 바로는
[10:22]
저에게 한 가지를 팔고
[10:24]
다른 것을 줬습니다. 그리고 이제 그들은
[10:26]
가격 정책을 완전히 바꿨습니다. 그래서
[10:29]
여기 요약을 바탕으로 새로운 가격 정책을
[10:31]
보여드리겠습니다. 자동 모드를 사용할 때
[10:35]
무제한 사용. 도대체 누가 자동 모드를
[10:38]
사용하고 싶어 하겠습니까? 자동 모드는
[10:40]
Claude, GPT-4, Gemini, XAI 중에서
[10:44]
무작위로 선택할 수 있습니다. 정말 끔찍해 보입니다. 그래서 어느 날은
[10:48]
자동 모드를 사용하면 훌륭할 수 있지만
[10:51]
몇 시간 후에는 끔찍해질 수 있습니다.
[10:54]
왜냐하면 그들이 실제 요청을
[10:56]
어디로 라우팅하는지 제어할 수 없고
[10:59]
그들의 최선의 이익을 위해
[11:00]
가장 저렴한 곳으로 보낼 것이기 때문입니다.
[11:02]
그래서 GPT-4로 갈 것입니다.
[11:05]
100% 더 저렴한 곳으로
[11:07]
갈 것입니다. 그다음에는
[11:10]
프론티어 모델에 대해 월 20달러 크레딧을 받습니다.
[11:13]
모델을 직접 선택하고 싶다면
[11:15]
Claude Sonnet을 선택하면
[11:17]
225개의 요청을 받는데, 이것도 조금
[11:20]
회의적입니다. 그들이 저에게 말하는 것은
[11:22]
각 요청이 대략 10센트 정도라는 것인데
[11:24]
맞나요? 제 생각에는 아마도
[11:27]
컨텍스트를 넣는다면 현실적으로
[11:29]
절반 정도는 받을 것 같습니다.
[11:30]
그다음에는 550개의 Gemini 요청을 받는데
[11:34]
이것도 믿지 않습니다.
[11:36]
특히 Gemini 2.5 Pro는 더 비싸기 때문입니다.
[11:39]
Flash에 대해 말하는 건지
[11:42]
궁금합니다. 어쨌든, 제 생각에는 이것이
[11:47]
조금 거칠다고 생각합니다. 그들이 왜
[11:50]
이렇게 하는지 이해합니다. 그들이 왜
[11:52]
이렇게 하는지 이해합니다.
[11:54]
하지만 이것은 제가 1년 치로 결제한 것이 아닙니다.
[11:58]
저는 이런 종류의 청구 방식을 위해
[12:00]
Cursor 1년 요금제를 미리 결제하지 않았습니다.
[12:02]
정말 안타깝습니다. 그리고 Claude
[12:05]
Code로 돌아가서, 지금은 놀랍지만
[12:07]
그것도 바뀔 수 있습니다. 만약 바뀐다면
[12:08]
제가 그것에 대해 이야기할 첫 번째 사람 중 하나가 될 것입니다.
[12:12]
그래서 여러분 모두가 저와 함께
[12:14]
Open Code, Root Code와 같은
[12:16]
오픈소스 프로젝트들을 응원하기를 바랍니다.
[12:19]
Klein과 그 외 모든 다른 프로젝트들도요.
[12:21]
그 중 하나가 정말로
[12:24]
극도로 성공해야 합니다. 그리고 그 중 하나가
[12:26]
로컬 모델을 많이 사용하기 시작해야 합니다.
[12:29]
이상적으로는 로컬 모델로
[12:30]
정말 좋은 일들을 할 수 있습니다.
[12:32]
하지만 지금은 여기서
[12:34]
마무리하겠습니다. 오늘 제가 이야기한
[12:35]
내용에 대해 어떤 생각이든 있으시면
[12:36]
알려주시기 바랍니다. Open Code를 사용해보셨다면
[12:38]
그것에 대한 생각도 듣고 싶습니다.
[12:40]
어쨌든, 다음 시간까지 모든 분들.