[00:00]
Google이 지금까지 만든 최고의 모델인
[00:02]
Gemini 2.5 Pro IO Edition을
[00:06]
오늘 5월 6일자로 업데이트했는데,
[00:08]
제가 철저히 테스트해봤고
[00:11]
놀라운 성능을 보여드리겠습니다.
[00:14]
이 모델은 제가 지금까지 본 모델 중에서
[00:16]
가장 인상적인 코드 프로젝트들을
[00:19]
완벽하게 구현해낼 수 있습니다.
[00:22]
자, 먼저 루빅스 큐브로 시작해보죠.
[00:24]
이전 Gemini 2.5 Pro 버전도
[00:26]
한 번에 이걸 해결할 수 있었지만,
[00:28]
이번 새 버전에는 기능이 더 추가됐습니다.
[00:30]
보시다시피 회전이 가능하고,
[00:32]
확대/축소도 할 수 있으며,
[00:34]
이 모든 버튼으로 회전도 가능한데
[00:36]
정말 편리합니다.
[00:38]
물론 쉽게 풀 수도 있죠.
[00:41]
지난번처럼 섞기 버튼이 있는데
[00:43]
이전보다 더 빠르게 섞이고,
[00:45]
12번의 움직임으로 섞었네요. 이제 풀어볼까요?
[00:49]
정말 놀랍습니다. 지난번엔 10x10을 했는데,
[00:52]
이번에는 20x20을 해보겠습니다.
[00:54]
자, 큐브를 섞어보도록 하죠.
[00:58]
좋습니다. 자, 보세요.
[01:00]
완전히 섞인 20x20 큐브입니다.
[01:03]
엄청나게 복잡하죠. 이제 풀어보겠습니다.
[01:06]
시간이 좀 걸릴 테니 기다려주세요.
[01:09]
완성되면 보여드리겠습니다.
[01:10]
자, 업데이트 내용을 말씀드리죠.
[01:12]
이미 뛰어난 모델이었는데
[01:13]
이번에 정말 큰 개선이 있었거든요.
[01:16]
풍부한 인터랙티브 웹 앱을
[01:18]
업데이트된 Gemini 2.5 Pro로 만들 수 있게 됐고,
[01:21]
웹 앱 구축에 정말 집중했습니다.
[01:24]
곧 테스트 결과를 보여드리겠습니다.
[01:26]
이번 버전은 Gemini 2.5 Pro Preview IO
[01:28]
Edition이라고 불리는데,
[01:30]
곧 있을 Google IO 컨퍼런스 때문입니다.
[01:33]
Google IO는 새로운 기술을
[01:35]
선보이는 컨퍼런스죠.
[01:36]
2.5 Pro의 업데이트 버전은
[01:39]
특히 매력적인 인터랙티브 웹 앱 구축과
[01:42]
코딩 능력이 크게 향상됐습니다.
[01:44]
이 업데이트는 몇 주 후 Google IO에서
[01:46]
공개될 예정이었지만,
[01:48]
이 모델에 대한 엄청난 관심 때문에
[01:50]
개발자들이 빨리 사용해볼 수 있도록
[01:51]
미리 공개하기로 했습니다.
[01:53]
Gemini 2.5 Pro는
[01:55]
현존하는 최고의 코딩 모델입니다.
[01:56]
이건 정말 논란의 여지가 없죠.
[01:59]
하지만 사실 저는 Claude 3.7이
[02:01]
에이전틱 코딩에서는 더 낫다고 봤습니다.
[02:04]
전체 애플리케이션이나 게임,
[02:06]
시뮬레이션을 완벽하게 구현하는 면에서는
[02:09]
Gemini가 더 뛰어났지만,
[02:11]
함수 호출과 에이전트 활용 면에서는
[02:14]
Claude가 더 좋았죠.
[02:16]
하지만 이제 달라졌습니다.
[02:18]
새로운 2.5 Pro 버전에서는
[02:21]
도구 호출 기능이 크게 개선됐거든요.
[02:24]
이러한 개선은 코드 변환,
[02:25]
코드 편집,
[02:27]
복잡한 에이전트 워크플로우 개발 등
[02:28]
다른 코딩 작업에도 적용됩니다.
[02:31]
다른 Gemini 모델들처럼
[02:33]
100만 토큰의 컨텍스트 윈도우를 가지고 있는데
[02:36]
이건 정말 놀라운 수치죠.
[02:38]
비디오, 이미지, 오디오 등
[02:41]
거의 모든 것을 처리할 수 있습니다.
[02:44]
LM Arena 순위에서도
[02:46]
이전 2.5 Pro 버전이 1437점으로
[02:49]
1위였는데, 새 버전은 점수가
[02:52]
11점이나 상승해서 1448점이 됐습니다.
[02:56]
이건 작은 진전이 아니에요.
[02:59]
웹 개발 아레나 리더보드에서는 1272점에서
[03:03]
1419점으로 147점이나 상승했습니다.
[03:07]
20x20 큐브로 잠깐 돌아가 보면,
[03:09]
아직도 풀고 있네요. 잠시 후에
[03:12]
다시 확인해보겠습니다.
[03:13]
자, 이제 벤치마크를
[03:15]
살펴보겠습니다. 5월 6일의 Gemini 2.5 Pro 프리뷰에서
[03:18]
업데이트된 수치가 나왔습니다.
[03:20]
GPQA Diamond에서 83%를 기록했는데,
[03:24]
비교 가능한 모델은 OpenAI GPT-4입니다.
[03:27]
Amy 2024는 83%, GPT-4가 이겼고,
[03:30]
Ader Polyglot은 76%, GPT-4가 이겼습니다.
[03:34]
Sweetbench verified는 63대 69로 GPT-4가 이겼죠.
[03:38]
Simple QA, MMLU에서는 비슷하거나
[03:42]
GPT-4가 앞서고 있습니다. 하지만,
[03:45]
벤치마크에 대해 한 가지 말씀드리자면,
[03:47]
실제로는 그리 중요하지 않습니다.
[03:50]
제 경험상 정말 놀라운 수준의
[03:53]
긴 코드를 출력해 정교한 애플리케이션과
[03:56]
게임을 만들 수 있는 유일한 모델은
[03:59]
Gemini 2.5 Pro입니다. 게다가 가격이
[04:03]
정말 대단한데요. 구글은
[04:05]
최상급 프론티어 모델을 보유했을 뿐만 아니라,
[04:09]
이 수준의 지능을 가진 모델 중
[04:12]
가장 저렴합니다. 백만 토큰당 $2.50,
[04:15]
출력 토큰은 백만 개당 $15입니다.
[04:19]
GPT-4와 비교하면 입력 비용은 4배,
[04:22]
출력 비용은 3배 정도
[04:24]
차이가 납니다. 실제로
[04:27]
Gemini 2.5 Pro보다 저렴한 모델은
[04:29]
오픈소스인 Deepseek R1 뿐인데,
[04:31]
이는 당연한 일이죠. 자,
[04:33]
큐브를 다시 확인해볼까요?
[04:36]
오, 보세요, 방금 확인했더니
[04:38]
완성되었네요!
[04:40]
믿을 수 없네요. 마침 이 탭으로
[04:43]
돌아왔더니 눈앞에서
[04:45]
완성되었습니다. 20x20 큐브가 완전히 풀렸네요.
[04:50]
정말 인상적입니다. 여러분도
[04:53]
이 새로운 모델을 시도해보고
[04:55]
문서 위에 멋진 것들을
[04:56]
만들고 싶다면 Box AI를 써보세요.
[05:00]
이 영상의 스폰서인 Box는
[05:01]
곧 Gemini 2.5 Pro IO 에디션을
[05:04]
도입할 예정입니다. Box를 사용하면
[05:06]
모든 종류의 회사 문서를 저장하고
[05:08]
인공지능을 활용하여
[05:10]
인사이트 추출, Q&A, 자동화 생성,
[05:13]
지능형 워크플로우를
[05:15]
에이전트로 만들 수 있습니다.
[05:17]
사용하기 쉬운 API가 있어서
[05:19]
Box AI 위에 멋진 기능들을 만들 수 있고,
[05:22]
RAG 파이프라인 전체를 관리해주어
[05:24]
복잡한 것들을 신경 쓸 필요가
[05:26]
없습니다. Box는 11만 5천개의
[05:30]
기업 조직이 신뢰하고 있으며,
[05:32]
우리 회사를 포함해
[05:34]
기업급 보안, 컴플라이언스,
[05:36]
거버넌스를 제공합니다. Box AI를
[05:39]
확인해보세요. 아래에 링크를
[05:41]
걸어두었으니 곧 출시될 Gemini 2.5 Pro IO
[05:44]
에디션을 사용해보세요.
[05:46]
Box에 다시 한번 감사드립니다.
[05:48]
다음 테스트로 넘어가보죠.
[05:50]
3D 부유 섬 시뮬레이션을 만들어보았는데,
[05:53]
OpenAI의 GPT-4로 테스트했을 때는 그저 그랬습니다.
[05:57]
보시다시피 완벽하진 않았죠. 이제
[05:59]
프롬프트를 보여드리고
[06:01]
실제 시뮬레이션을 보여드리겠습니다.
[06:03]
'동적 조명과 부드러운 애니메이션이 있는
[06:06]
몽환적인 로우폴리 부유 섬 장면을
[06:07]
HTML 파일 하나로 만들어줘'라고 했더니
[06:10]
25초만에 생각해냈습니다.
[06:13]
보세요, 얼마나 잘 만들어졌는지. 구름이
[06:17]
둥둥 떠다니고,
[06:19]
큰 구름들이
[06:20]
뒤로 이동할 수 있고, 줌인 줌아웃도 가능합니다.
[06:23]
조명이 정말 잘 표현되었고
[06:24]
그림자도 매우 자연스럽게 나왔네요.
[06:27]
이제 여러 슬라이더들이 있는데,
[06:29]
태양 광도를 조절할 수 있습니다.
[06:32]
주변 조명도 조절 가능하구요.
[06:36]
보세요, 완벽하죠. 크리스탈
[06:39]
중앙의 빛나는 부분은
[06:42]
저기 중앙에 있는 크리스탈인데,
[06:43]
조정해보도록 하겠습니다.
[06:44]
자, 이제 근거리
[06:48]
안개 효과가 있는데,
[06:49]
안개가 많이 보이진 않지만
[06:52]
조명에 영향을 주고 있어요.
[06:54]
원거리 안개도 있습니다.
[06:57]
음, 큰 변화는 없네요.
[06:59]
섬의 흔들림 속도를 보면
[07:02]
이렇게 조절할 수 있습니다.
[07:04]
아직도 꽤 느린 편이지만
[07:06]
아주 느리게 또는 좀 더 빠르게
[07:08]
설정할 수 있죠.
[07:10]
섬의 흔들림 정도도 조절 가능한데,
[07:13]
보시면 알 수 있듯이
[07:15]
위아래로 크게 움직이고 있습니다.
[07:17]
구름 속도도 조절할 수 있어서
[07:19]
구름이 더 빨리 움직이네요.
[07:20]
최대치까지 올려보고
[07:23]
느리게도 해볼 수 있습니다. 정말 멋지죠.
[07:26]
첫 번째 출력은 훌륭했지만
[07:29]
저는 한 번 더 요청해서
[07:31]
'다양한 측면을 제어할 수 있는
[07:32]
슬라이더들을 추가해줘'라고 했고
[07:34]
방금 보여드린 모든 슬라이더가 추가됐죠.
[07:36]
다음은 골턴 보드 시뮬레이션입니다.
[07:39]
HTML 파일 하나로 골턴 보드
[07:41]
시뮬레이션을 만드는데
[07:43]
Matter.js 같은 2D 물리 엔진을 사용한
[07:46]
클라이언트 사이드 자바스크립트로 구현했습니다.
[07:48]
HTML5 캔버스에 렌더링되며
[07:50]
다음 기준을 충족합니다: 단일 파일이고
[07:53]
캔버스 크기는 500x700 정도입니다.
[07:57]
표준 화면에 맞게
[07:58]
스크롤이나 확대 없이 보입니다.
[08:00]
2D 강체 물리학을 활용했고,
[08:03]
장애물, 핀, 벽 등이 있습니다.
[08:06]
코드를 출력했는데
[08:09]
한 가지 문제가 있었어요.
[08:11]
처음에는 이렇게 보였는데
[08:13]
보시다시피 위쪽 깔때기에
[08:14]
구멍이 없어서 공들이
[08:16]
통과하지 못했죠. 그래서
[08:18]
한 번 더 수정이 필요했습니다.
[08:20]
위쪽 깔때기에 구멍이 없어서
[08:22]
공이 걸린다고 말했고,
[08:24]
슬라이더도 없다고 했죠. 자, 보세요.
[08:26]
골턴 보드 시뮬레이션입니다.
[08:28]
우리가 볼 수 있는 건 멋진 정규분포 곡선으로
[08:31]
공이 중앙으로 떨어질 확률과
[08:34]
양쪽으로 떨어질 확률을
[08:36]
보여줍니다. 이제 우리는
[08:38]
여러 슬라이더를 조절할 수 있는데,
[08:40]
드롭 간격을 보면, 이걸 높이면
[08:42]
공이 덜 자주 떨어지고
[08:44]
최소로 낮추면
[08:46]
더 많은 공이 떨어집니다.
[08:48]
보시다시피 공들이
[08:50]
걸리기도 하는데, 이건 물리 법칙대로
[08:52]
작동하는 거라 좋은 시뮬레이션이죠.
[08:54]
자, 이제 낮춰보겠습니다.
[08:56]
다음으로 최대 공의 개수가 있는데
[08:58]
이걸 줄일 수도 있죠.
[09:00]
이건 이번 시뮬레이션에서
[09:02]
사용할 총 공의 개수입니다.
[09:04]
통의 개수도 있고
[09:06]
이렇게 조절하면 초기화됩니다.
[09:08]
리셋해볼게요. 아래에 더 많은 통이 있는 것을
[09:10]
볼 수 있습니다. 이제 여기서 조정할 수 있는
[09:12]
핀 열의 수가 있어요. 그래서
[09:15]
이 모든 설정들이 확률을
[09:18]
변경하게 됩니다. 우리는
[09:20]
핀의 반지름이 있고, 또
[09:23]
공의 반지름, 공의 탄성이 있습니다.
[09:25]
자, 이제 이것들 중 몇 가지를
[09:26]
바꿔보고 중력도 조정해보죠.
[09:28]
중력이 매우 높은데, 한번
[09:30]
중력을 많이 낮춰서 어떻게 되는지 봅시다.
[09:32]
좋아요. 이제 정말 천천히 떠다니네요.
[09:33]
한 가지 눈에 띄는 문제점은
[09:36]
핀들이 서로 엇갈려 있어야 하는데
[09:38]
모두 서로 위에 겹쳐있다는 거예요.
[09:40]
그래서 시뮬레이션이 완벽하지는
[09:42]
않지만, 충분히 괜찮네요.
[09:44]
다음으로, 당연히 비행
[09:46]
시뮬레이터를 만들어야 했죠. HTML
[09:49]
파일을 작성해서 Three.js로
[09:50]
간단한 비행 시뮬레이터를 만듭니다. 장면에는
[09:54]
비행기 모델 뒤쪽과 약간 위에서
[09:56]
따라가는 3인칭 카메라가 있어야 합니다.
[09:59]
기본 도형으로 만들 수 있지만
[10:00]
비행기처럼 보여야 합니다. 간단한 조작으로
[10:02]
WD로 좌우 회전, 상하 피치를 조정하고
[10:05]
스페이스바로 속도를 높이고 쉬프트로
[10:07]
감속합니다. 중력은 필요 없고
[10:09]
비행기는 공중에 떠있어야 합니다. 기본적인 3D
[10:11]
환경으로 텍스처가 있는
[10:14]
지면을 추가하고,
[10:16]
몇 개의 간단한 건물들로 세계를 채웁니다.
[10:18]
비행기는 이 건물들 주위를
[10:19]
자유롭게 날 수 있어야 합니다.
[10:21]
모든 것을 하나의 HTML 파일에 유지하고
[10:24]
외부 3D 모델은 가져오지 마세요. 나중에
[10:26]
다른 테스트에서는 멋질 수 있겠지만요.
[10:27]
자, 이게 그 결과입니다.
[10:30]
정말 멋지네요. 여기에
[10:32]
중력을 추가하면 더 멋질 것 같아요.
[10:33]
스페이스바를 눌러서
[10:35]
가속하고 쉬프트로 감속해보죠.
[10:37]
잘 작동하네요. 보세요.
[10:39]
지면에서 반사되는
[10:41]
그림자가 반짝이는 게 보이죠. 네, 매우
[10:44]
기본적이지만 정말 멋집니다. 다음으로
[10:47]
당연히 스네이크 게임을 가져왔지만
[10:49]
단순히 스네이크 게임을 만드는 것으로는
[10:50]
부족합니다. 더 복잡한 버전을 원했죠.
[10:52]
그래서 Pygame을 사용해 파이썬으로
[10:55]
클래식 스네이크 게임을 만들되
[10:57]
독특하고 시각적으로 멋지며
[10:59]
보는 재미가 있는
[11:00]
복잡한 기능들을 추가했습니다. 기본적인
[11:03]
스네이크 메카닉 외에도
[11:05]
다이나믹한 시각 효과를 구현했죠.
[11:06]
뱀이 지나간 자리에 빛나는
[11:08]
흔적이 서서히 사라지고, 제가 이것을
[11:11]
설명하는 동안 이전 버전의 Gemini 2.5 Pro가
[11:13]
만든 것을 보여드리겠습니다.
[11:15]
정말 잘 만들었거든요. 그 다음
[11:17]
이번 버전이 만든 것도
[11:19]
보여드리죠. 배경은
[11:20]
미묘한 색상 그라데이션으로 맥동하고
[11:22]
음식을 먹으면 파티클
[11:24]
폭발 효과가 나타납니다. 여러 종류의
[11:25]
음식이 일시적인 능력을 부여하는데, 속도
[11:27]
증가, 조작 반전, 더블 비전,
[11:29]
시간 감속 등이 있죠. 각 음식마다 고유한
[11:31]
애니메이션이 있고, 뱀도 진화합니다.
[11:34]
자, 한번 시도해볼까요? 여기 있네요.
[11:37]
벽들이 있고 음식을 먹으려
[11:39]
하고 있습니다. AI 버전의 뱀이
[11:42]
우리와 대결하고 있네요. 명백히
[11:44]
실제로 내가 부딪혀도 게임이 끝나지 않아요.
[11:47]
보시다시피 그냥 통과해버리죠.
[11:48]
전반적으로 이전 버전이 오히려
[11:51]
더 나았던 것 같네요. 자, 다음으로 Punit의
[11:54]
파티클 시뮬레이션을 사용했는데, 제가 한 일은
[11:57]
영상을 다운로드해서 Gemini 2.5 Pro의
[12:00]
새 버전에 업로드하고
[12:03]
이것을 재현해달라고 요청한 것뿐이에요.
[12:05]
36초 길이의 영상을 업로드했고,
[12:07]
10,000 토큰이 사용됐어요. 이 시뮬레이션을
[12:09]
정확히 재현해달라고 했죠. 처음에는
[12:12]
여러 개의 개별 파일들을
[12:14]
제공해줬어요. 그래서 수정을 요청했죠.
[12:16]
'전부 하나의 파일로 주세요'라고 했고,
[12:18]
이건 AI의 잘못이 아니라
[12:20]
제가 명확히 지정하지 않은 거예요.
[12:23]
그 다음 '마우스로 도형을
[12:25]
회전할 수 있게 해달라'고 했더니
[12:27]
문제없이 추가했어요. 원래는
[12:29]
그 기능이 없었거든요. 마지막으로
[12:31]
시뮬레이션의 여러 설정을 제어할
[12:32]
슬라이더를 추가했어요. 최종 결과를
[12:34]
보여드릴게요. 자, 여기 있네요.
[12:36]
보시다시피 회전이 가능하고,
[12:38]
여러 가지 색상을 보여드릴게요.
[12:40]
클릭하면 다른 모양으로 변형되죠.
[12:43]
다른 색상들도 볼 수 있어요.
[12:46]
정말 멋지죠. 무지개 색상으로 해볼게요.
[12:49]
정말 아름답네요. 자,
[12:52]
하단에 슬라이더가 있는데,
[12:53]
파티클 수를 조절할 수 있어요.
[12:55]
수를 늘리면 도형을 구성하는
[12:57]
파티클이 더 많아지고,
[13:00]
줄이면 적어져요. 오히려
[13:02]
적은 게 더 멋진 것 같네요.
[13:03]
이 정도로 두죠. 파티클의
[13:06]
크기도 변경할 수 있어요. 보시다시피
[13:08]
아주 작은 파티클로 만들 수 있고
[13:10]
멋진 발광 효과도 있어요.
[13:12]
물론 크기를 최대로
[13:14]
키울 수도 있는데, 이렇게 하면
[13:15]
발광이 너무 강해져서 다시 줄여볼게요.
[13:17]
변형 속도도 조절할 수 있어요.
[13:19]
속도를 낮추면 아주 빠르게
[13:21]
변형되죠. 자, 도넛 모양이 됐네요.
[13:24]
변형 시간을 5초로 최대로 늘리면
[13:25]
변형하는 데 더 오래 걸리고,
[13:28]
여기 3D 평면이 있네요.
[13:30]
[13:33]
모든 도형을 완벽하게 구현했어요.
[13:35]
정말 인상적이죠. 그리고
[13:38]
자동 회전 속도도 있고,
[13:39]
물론 여기를 클릭해서
[13:41]
모양을 바꿀 수도 있어요. 다시
[13:43]
구형으로 돌아왔네요. 다음으로는 레고
[13:46]
시뮬레이터를 만들어볼게요. Three.js를 사용해서
[13:49]
인터랙티브한 레고 building 시뮬레이션을
[13:52]
단일 HTML 파일로 만들어보겠습니다.
[13:54]
사용자가 레고 브릭을 배치하고,
[13:56]
이동하고, 3D 환경에서 연결할 수 있도록
[13:59]
할 거예요. 주요 기능으로는
[14:01]
실제 레고 브릭과 같은 모양으로
[14:03]
정확한 크기, 색상,
[14:05]
텍스처를 구현하고, 격자 기반
[14:07]
스냅 시스템으로 브릭들이
[14:09]
제대로 연결되게 하며,
[14:11]
브릭들이 같은 공간을 차지하지 않도록
[14:13]
충돌 감지도 구현할 거예요. 브릭이
[14:15]
연결될 때 시각적, 청각적 피드백도
[14:17]
넣을 거구요. 기술적
[14:19]
요구사항으로는 Three.js를 사용하고,
[14:21]
모던 브라우저에서 작동하며,
[14:22]
모든 코드를 단일 HTML 파일에 담고,
[14:24]
성능을 최적화하며, 다양한
[14:27]
브릭 크기와 여러 색상을 포함할 거예요.
[14:29]
여기에는 정확한 스터드 등이 있습니다.
[14:32]
3D 평면이 있고 브릭을 선택해서
[14:35]
배치하면 귀여운 작은 효과음이 납니다.
[14:37]
자, 이제 R키로 회전하는 것은
[14:41]
작동하지 않네요. 그래서
[14:43]
그건 빠진 기능이네요. 저는
[14:45]
튀어나오게 할 수 있고, ESC를 누르면
[14:48]
회전할 수 있습니다. 보시다시피
[14:51]
완벽하진 않지만 정말 좋습니다.
[14:54]
그리고 네, 이렇게 조각을 제거할 수도
[14:58]
있습니다. 이제 다른 색상을
[15:01]
선택하고, 다른 크기도 선택해서 저기에
[15:03]
놓겠습니다. 1x4 플레이트가 있네요.
[15:07]
배치가 완벽하진 않지만
[15:09]
이 정도면 정말 괜찮다고
[15:11]
생각합니다. 네, 이렇게 되었고
[15:13]
저장도 할 수 있고, 이전 것을
[15:15]
불러올 수도 있고, 초기화도 가능합니다.
[15:17]
다음으로 넘어가죠. 저는 90년대 아이라서
[15:20]
당연히 다마고치와 함께 자랐고
[15:23]
다마고치를 재현하고 싶었습니다.
[15:26]
혹시 모르시는 분들을 위해 설명하자면
[15:27]
이건 작은 키체인 게임이었어요.
[15:29]
캐릭터가 있고 그걸
[15:30]
돌봐야 했죠. 먹이도 주고
[15:32]
청소도 해주고 그랬습니다. AI를 사용해서
[15:35]
사양을 만들었는데, 여기
[15:37]
보시는 것처럼 파이썬으로
[15:39]
다마고치 게임을 만들고 이 사양을
[15:40]
가이드라인으로 사용했습니다. 핵심 루프,
[15:42]
시간 기반 진행, 시뮬레이션은
[15:44]
실시간 시계로 작동합니다. 사용자 상호작용,
[15:46]
플레이어는 가상 펫과
[15:47]
미리 정의된 동작들을 통해 상호작용하고,
[15:49]
상태 업데이트, 펫의 상태는
[15:52]
사용자의 행동에 따라
[15:53]
시간이 지나면서 업데이트됩니다. 배고픔, 행복도,
[15:56]
훈육, 건강, 나이, 체중이 있습니다.
[15:59]
다마고치가 먹고
[16:01]
시간이 지나면서 진화하고
[16:03]
결국엔 죽게 됩니다. 사용자 행동으로는
[16:07]
놀아주기, 청소하기,
[16:08]
훈육하기, 치료하기, 불을 켜고 끄면서
[16:10]
잠들게 할 수 있습니다.
[16:12]
진화 단계는 아기, 어린이,
[16:14]
청소년, 성인, 노인이 있습니다.
[16:17]
행동 메커니즘으로는 펫이 자신의 욕구를
[16:19]
표현합니다. 자, 보여드리겠습니다.
[16:21]
펫 이름을 B로 하겠습니다. 이건
[16:23]
제 강아지 이름이에요. 자 시작합니다.
[16:25]
보시다시피 나이가 올라가고 있고
[16:27]
여기 제 다마고치가 있네요. 지금은
[16:29]
부화 중이에요. 아직 알 상태입니다.
[16:30]
5틱 정도면 부화할 것 같네요. 됐네요.
[16:34]
다마고치가 나왔습니다. 그리고
[16:36]
배고픔, 행복도, 건강, 훈육,
[16:38]
체중이 있습니다. 훈육이
[16:40]
낮네요. 그래서 훈육을
[16:42]
해주겠습니다. 훈육하면
[16:44]
행복도가 떨어지죠. 그래서 놀아
[16:47]
줘야 합니다. 행복도가 올라가요. 배고픔, 먹이를
[16:50]
주겠습니다. 자, 이제 100% 배부르네요.
[16:54]
훈육이 아직도 좀 낮아서
[16:56]
한 번 더 훈육하겠습니다.
[16:58]
그러자 행복도가 떨어졌네요. 몇 번
[17:01]
놀아주겠습니다. 보세요.
[17:03]
진화했네요. 이제 어린이가 됐어요. 불을
[17:06]
끄니까 B가 잠들었습니다.
[17:09]
잠자는 동안
[17:11]
이런 여러 상태들이
[17:12]
실제로 좋아지고 있어요. 재미있게도
[17:15]
왠일인지 지금은 응가가 없네요. 전에는
[17:19]
응가를 했었고 꽤
[17:20]
재미있게 생겼었는데, 이번엔 왠지
[17:22]
이번에는 안 나왔네요. 아, 알겠어요.
[17:24]
다시 시작했더니 이제 똥이 보이네요.
[17:26]
그리고 'Bose Space 청소가 필요합니다'라고 나와요.
[17:28]
자, 청소를 해볼게요. 됐습니다.
[17:30]
그리고 물론, 네, 이건 흔들리고
[17:32]
진동하는 이상한 똥이에요. 그리고 네,
[17:35]
바로 이런 모습이에요. 매우 단순한
[17:36]
버전이에요. 이걸 쉽게 발전시켜서
[17:38]
더 재미있게 만들 수 있겠죠. 자, 됐습니다.
[17:41]
매우 향수를 불러일으키네요. 자, 새로운 테스트가 있습니다.
[17:44]
프로듀서 Alex에게 감사드립니다.
[17:47]
이걸 생각해냈거든요. 우리는
[17:49]
옛날 버전의 둠 게임을 만들고 싶었어요.
[17:52]
HTML로 레트로 FPS 게임을요. Three.js를 사용해서
[17:55]
레트로 스타일의 3D 1인칭 슈팅 게임을
[17:57]
단일 HTML 파일로 만들어보겠습니다.
[17:59]
1993년 오리지널 둠에서 영감을 받았죠.
[18:02]
게임은 브라우저에서 완전히 실행되며
[18:04]
Three.js와 표준 웹 API 외에는
[18:06]
의존성이 없어야 합니다. 코드는
[18:08]
모듈이나 임베디드 외의
[18:10]
외부 자산을 사용하지 않아야 해요. 미로같은 레벨
[18:13]
구조에 텍스처가 있는 벽과 바닥,
[18:15]
주변 조명, 선택적 동적
[18:17]
조명 효과, 분위기를 위한 스카이박스나 어두운 안개
[18:20]
배경이 있어요. 미니맵도 있고요.
[18:22]
자, 이걸 기억해두세요.
[18:24]
포인터 잠금 컨트롤을 사용한 1인칭 카메라,
[18:27]
WD로 이동, 점프,
[18:30]
충돌 감지, 체력 시스템, 탄약
[18:33]
시스템이 있어요. 여러 무기가 있는데,
[18:35]
권총과 샷건이 있습니다. 그리고
[18:37]
1키와 2키로 무기를 바꿀 수
[18:39]
있어요. 총구 섬광도 있고, 발사도
[18:42]
할 수 있죠. 보시다시피 이중 일부는
[18:44]
구현됐고, 일부는 안 됐어요.
[18:45]
서로 다른 속도와 체력을 가진
[18:47]
여러 종류의 적들, 간단한 AI, 플레이어 추적,
[18:49]
발사 효과가 있어요. 자,
[18:52]
보여드리겠습니다. 시작합니다.
[18:54]
자, 여기 있네요. 보시다시피
[18:57]
적이 있고 제가 쏘면
[18:59]
아주 좋네요. 사라지고
[19:02]
실제로 제가 쏠 때마다 탄약이
[19:05]
줄어들고 자동으로 재장전도
[19:08]
됩니다. 움직일 수도 있고요.
[19:11]
오른쪽 상단의 미니맵을
[19:13]
보세요. 이건 정말
[19:15]
인상적이네요. 자, 이 녀석이
[19:16]
쫓아오고 있어요. 샷건으로
[19:18]
바꿔서
[19:20]
한 발 쏴줬습니다. 전 보통
[19:22]
마우스 반전을 쓰는데 이건 그런 게
[19:24]
없네요, 양해 부탁드려요. 자,
[19:26]
됐어요. 이건 두 발이
[19:29]
필요하네요. 미로에 있는 모든
[19:32]
적들을 처치해봅시다. 여기
[19:34]
또 하나 있네요. 쾅.
[19:37]
재장전 중이에요. 좀 느리게
[19:39]
움직이지만, 정말 대단하네요.
[19:42]
자, 마지막 적이에요.
[19:44]
처치해볼까요. 아, 재장전해야 해요. 도망
[19:47]
가야겠어요. 됐어요. 승리했습니다.
[19:50]
모든 적을 처치했어요. 매우
[19:52]
기본적인 버전이라 이것도 쉽게 발전시킬 수
[19:54]
있을 것 같네요. 다음은 타워 디펜스입니다.
[19:57]
HTML5 캔버스 기반 타워 디펜스를 만들어볼건데
[20:00]
체력이 1에서 10인 풍선 적들이
[20:02]
초록색에서 보라색으로 색상 코드화되어
[20:04]
구불구불한 경로를 따라갑니다. 계획 모드에서
[20:06]
플레이어는 다트, 캐논, 얼음, 스나이퍼, 레이저
[20:09]
다섯 가지 타워를 배치할 수 있고,
[20:10]
각각 고유한 색상 점으로 표시되며
[20:13]
마우스를 올리면 사거리가 보입니다. 시작을 누르면
[20:15]
라운드를 시작하기 위해 시작을 누르세요. 자, 다트
[20:17]
타워는 단일 대상에게 빠른 연속 공격을 가합니다.
[20:20]
캐논은 느리지만 광역 데미지를 줍니다. 얼음은 적을 감속시키고,
[20:22]
스나이퍼는 긴 사거리에 높은 데미지를 주며,
[20:25]
레이저는 시각적 레이저 라인과 함께
[20:27]
지속적인 빔을 발사합니다. 자, 한번 시도해볼까요?
[20:31]
여기 있네요. 그래픽은 매우 단순하지만
[20:34]
잘 작동할 거예요. 우리는
[20:37]
웨이브 수, 보유 금액,
[20:39]
그리고 남은 생명력을 볼 수 있어요. 먼저
[20:41]
다트 타워를 놓아볼까요?
[20:43]
여기에 하나 놓고, 두 번째
[20:45]
다트 타워를 여기에 놓겠습니다. 라운드를
[20:49]
시작해볼까요? 첫 라운드는 꽤 쉽네요.
[20:53]
적을 처치할 때마다
[20:55]
돈을 더 얻을 수 있어요. 이제
[20:57]
더 강력한 적들이
[20:59]
나타나고 있네요. 첫 번째 웨이브
[21:01]
완료! 이제 210달러가 있습니다. 얼음 타워를
[21:04]
여기에 추가해볼까요? 적들이
[21:07]
코너를 돌 때 바로 맞도록 하고,
[21:10]
스나이퍼 타워를
[21:13]
여기에 추가하겠습니다. 자,
[21:16]
다음 라운드를 시작해볼까요?
[21:18]
얼음 타워가 적들을 감속시키고
[21:20]
다른 타워들이 적을 처치하고 있네요.
[21:23]
더 강력한 적들이
[21:25]
등장했지만 잘 해내고 있어요.
[21:27]
좋아요, 완료됐습니다. 이제
[21:29]
꽤 멋질 것 같은 레이저 타워를
[21:31]
여기에 추가해보겠습니다.
[21:33]
그리고 두 번째 레이저 타워를
[21:35]
여기에 놓고, 시작
[21:37]
버튼을 누르겠습니다.
[21:39]
레이저가 발사되네요! 멋지지 않나요?
[21:42]
한 번에 완성된 건 아니었어요.
[21:44]
해결해야 할 문제들이 있었죠.
[21:46]
처음에는 스크린샷만 제공했는데,
[21:48]
경로나 라운드 시작이 안 됐어요.
[21:50]
콘솔 에러도 없었고요.
[21:52]
그게 전부였어요. 그 다음
[21:54]
우클릭으로 선택 해제가
[21:55]
가능하게 했어요. 이전에는
[21:56]
타워를 설치하면 다른 것을
[21:58]
클릭할 수 없었거든요. 이런
[22:00]
작은 수정들을 거쳤죠. 아마도
[22:02]
2-3번 정도 수정했던 것 같아요.
[22:04]
그리고 마침내 이
[22:05]
게임이 완성됐습니다. 아직도 진행 중이네요.
[22:07]
다음으로, 이 드로잉 앱을 위한
[22:09]
기본적인 스케치를 만들었습니다.
[22:12]
상단에 색상들이 있고,
[22:15]
여기 실제 스케치 영역이 있으며,
[22:17]
다양한 도구와 크기 옵션이 있어요.
[22:19]
정말 대충 그린 스케치였죠.
[22:21]
'이 앱을 코딩해줄 수 있나요?'라고 물었더니
[22:23]
정확히, 정확히 우리가 요청한 대로
[22:26]
만들어줬어요. 파란색, 노란색,
[22:29]
주황색, 빨간색도 있네요. 이제
[22:32]
크레용을 써볼까요? 좀 더
[22:34]
두꺼워졌네요. 여기
[22:35]
브러시도 있고 물통 도구도 있어요.
[22:38]
이렇게 크기도 조절할 수 있고요. 그리고
[22:40]
단 하나의 이미지만으로
[22:42]
이 모든 인터랙티브 웹 앱을 만들었어요.
[22:45]
다음으로, AI 스튜디오의
[22:47]
프론트엔드를 재현하고 싶었어요. 이
[22:49]
버전의 모델이 프론트엔드에
[22:52]
더 뛰어나다고 하더군요. 어떻게 했냐고요?
[22:54]
구글 AI 스튜디오의 프론트엔드를 재구현해달라고
[22:57]
입력하고 스크린샷을 찍었어요.
[23:00]
매우 메타적이죠. 13초가 걸렸고
[23:03]
이상한 결과가 나왔어요. 저는
[23:05]
구글 AI 스튜디오의 프론트엔드를 재구현해달라고
[23:06]
잘 작동하지 않았네요. 뭔가 이상한
[23:09]
점들만 표시했어요. 그래서 제가 다시
[23:13]
전체 HTML 파일로
[23:14]
다시 만들어달라고 했죠. 22초 후에
[23:16]
결과가 나왔는데, 꽤 정확하네요.
[23:20]
완벽하진 않지만,
[23:22]
매우 정확한 수준입니다.
[23:24]
API 키도 있고, 여러 설정도
[23:26]
조정할 수 있어요.
[23:29]
구조화된 출력 토글,
[23:30]
코드 실행, 함수 호출 기능이 있고
[23:33]
중지 시퀀스 추가, top P 조정,
[23:35]
출력 길이 변경도 가능하죠.
[23:38]
제로샷으로 한 번에 AI 스튜디오를
[23:41]
스크린샷만으로 재현한 것을 보면
[23:44]
10점 만점에 8점을 주겠습니다.
[23:46]
꽤 훌륭하죠. 하지만 제가
[23:48]
어떤 모델도 통과하지 못하는 테스트를
[23:50]
발견했어요. 온라인에서 봤는데
[23:53]
이 버전의 Gemini도 풀지 못했죠.
[23:55]
큐브를 완성하려면 몇 개가 더 필요할까요?
[23:56]
세어보면 이건 4x5x3 크기예요.
[23:58]
총 60개의 큐브가 있는 거죠.
[24:03]
빠진 큐브 수를
[24:05]
세어야 하는데, 재미있게도
[24:07]
저는 이미지의 질문에 대한
[24:09]
답을 달라고만 했어요.
[24:10]
질문 내용도 주지 않았는데
[24:12]
정답은 14개예요. 직접 세어보면 됩니다.
[24:15]
하나씩 설명해드릴게요.
[24:16]
크기를 보면, 64개의 작은 큐브라고 했는데
[24:19]
이미 크기를 잘못 계산했네요.
[24:22]
4x4x4가 아니라 4x5x3인데
[24:28]
20개가 없다는 답은 당연히 틀렸죠.
[24:32]
이게 새로운 벤치마크가 될 것 같아요.
[24:34]
이 문제를 풀 수 있는 모델이
[24:37]
아마도 최고의 모델이 될 거예요.
[24:39]
오늘은 여기까지입니다.
[24:41]
최고의 모델이 더 좋아졌네요.
[24:44]
여러분의 생각을 댓글로 알려주세요.
[24:45]
이 영상이 마음에 드셨다면
[24:47]
좋아요와 구독 부탁드립니다.
[24:48]
감사합니다.