[00:01]
전 테슬라 AI 디렉터 안드레이 카르파티를 소개합니다.
[00:04]
안드레이 카르파티.
[00:07]
[음악]
[00:11]
안녕하세요.
[00:14]
[음악]
[00:19]
와, 정말 많은 분들이 오셨네요. 안녕하세요.
[00:22]
음, 좋습니다. 네. 오늘 AI 시대의 소프트웨어에 대해
[00:24]
이야기할 수 있어서 기쁩니다. 많은 분들이
[00:27]
학부생, 대학원생, 박사과정 등
[00:30]
학생이라고 들었습니다. 그리고 여러분은
[00:32]
곧 업계에 진출하게 될 텐데요. 지금이
[00:34]
실제로 매우 독특하고
[00:36]
흥미로운 시기에
[00:37]
업계에 진출하는 것 같습니다.
[00:38]
그리고 제가 생각하기에
[00:41]
그 근본적인 이유는
[00:43]
소프트웨어가 다시 변화하고 있기 때문입니다.
[00:47]
그리고 제가 '다시'라고 말하는 이유는 실제로
[00:49]
이 발표를 이미 한 적이 있기 때문입니다. 하지만 문제는
[00:52]
소프트웨어가 계속 변화한다는 것입니다. 그래서
[00:54]
실제로 새로운 발표를 만들 수 있는
[00:55]
많은 자료가 있고, 이것이
[00:56]
꽤 근본적으로 변화하고 있다고 생각합니다.
[00:58]
대략적으로 말하면, 소프트웨어는
[01:00]
그런 근본적인 수준에서
[01:02]
70년 동안 크게 변하지 않았습니다. 그런데
[01:04]
지난 몇 년 동안 제 생각에 약
[01:06]
두 번 정도 꽤 급격하게 변했습니다. 그래서
[01:08]
해야 할 일이 엄청나게 많고
[01:09]
작성하고 다시 작성해야 할 소프트웨어가 많습니다.
[01:12]
소프트웨어의 영역을 살펴보겠습니다.
[01:14]
이것을 소프트웨어의 지도라고 생각하면
[01:16]
이것은 GitHub 지도라는
[01:17]
정말 멋진 도구입니다.
[01:20]
이것은 작성된 모든 소프트웨어의 일종입니다.
[01:21]
이것들은
[01:23]
디지털 공간에서 작업을 수행하기 위한
[01:24]
컴퓨터에 대한 지시사항입니다.
[01:26]
여기서 확대해보면, 이것들은
[01:28]
다양한 종류의 저장소들이고
[01:30]
작성된 모든 코드입니다.
[01:31]
그리고 몇 년 전에 저는
[01:33]
소프트웨어가 변화하고 있고
[01:35]
새로운 유형의 소프트웨어가
[01:37]
등장하고 있다는 것을 관찰했습니다.
[01:39]
그리고 저는 이것을 당시 소프트웨어 2.0이라고 불렀습니다.
[01:42]
여기서 아이디어는 소프트웨어 1.0은
[01:44]
컴퓨터를 위해 작성하는 코드라는 것입니다. 소프트웨어 2.0은
[01:46]
기본적으로 신경망이고
[01:48]
특히 신경망의 가중치이며
[01:50]
이 코드를 직접 작성하지 않습니다.
[01:53]
대부분 데이터셋을 조정하고
[01:55]
최적화기를 실행해서
[01:56]
이 신경망의 매개변수를
[01:58]
생성합니다. 그리고 당시 신경망은
[02:00]
일종의 다른 종류의 분류기, 의사결정 트리나
[02:02]
그런 것 정도로 여겨졌고
[02:03]
그래서 제가 생각하기에
[02:04]
이런 프레이밍이 훨씬 더 적절했습니다.
[02:09]
그리고 실제로 지금 우리가 가지고 있는 것은
[02:10]
소프트웨어 2.0 영역에서
[02:12]
GitHub와 동등한 것입니다. 그리고
[02:13]
제가 생각하기에 허깅페이스는 기본적으로
[02:15]
소프트웨어 2.0에서의 GitHub와 동등합니다.
[02:18]
그리고 모델 아틀라스도 있고
[02:20]
거기에 작성된 모든 코드를 시각화할 수 있습니다.
[02:22]
혹시 궁금하시다면, 그런데
[02:24]
거대한 원, 중앙의 점은
[02:25]
플럭스 이미지 생성기의 매개변수입니다.
[02:28]
그래서 누군가가 플럭스 모델 위에서
[02:30]
튜닝을 할 때마다, 기본적으로
[02:32]
이 공간에서 git 커밋을 생성하고
[02:37]
다른 종류의 이미지 생성기를 만듭니다.
[02:39]
그래서 기본적으로 우리가 가진 것은 소프트웨어 1.0은 컴퓨터
[02:41]
프로그래밍하는 코드입니다. 소프트웨어
[02:43]
코드가 컴퓨터를 프로그래밍합니다. 소프트웨어
[02:45]
2.0은 신경망을 프로그래밍하는 가중치입니다.
[02:48]
그리고 여기 AlexNet 이미지
[02:50]
인식기 신경망의 예시가 있습니다.
[02:53]
지금까지 우리가 최근까지
[02:55]
익숙했던 모든 신경망들은
[02:56]
일종의 고정된 기능을 가진
[02:58]
컴퓨터였습니다. 이미지를 카테고리로 분류하거나
[03:01]
그런 것들 말이죠. 그리고
[03:03]
무엇이 바뀌었고 제 생각에는
[03:05]
꽤 근본적인 변화라고
[03:06]
생각하는 것은 신경망이 대형
[03:09]
언어 모델로 프로그래밍 가능해졌다는 것입니다.
[03:12]
그래서 저는 이것을 꽤 새롭고
[03:14]
독특하다고 봅니다. 새로운 종류의 컴퓨터이고
[03:18]
제 생각에는 새로운
[03:19]
소프트웨어 3.0이라는 지정을
[03:22]
받을 만합니다. 그리고 기본적으로 여러분의 프롬프트가
[03:25]
이제 LLM을 프로그래밍하는 프로그램입니다.
[03:28]
그리고 놀랍게도 이런
[03:30]
프롬프트들은 영어로 작성됩니다.
[03:33]
매우 흥미로운 프로그래밍 언어죠.
[03:36]
음, 차이점을 요약하자면
[03:37]
예를 들어 감정 분석을
[03:39]
한다면 파이썬으로 감정 분석을
[03:42]
하는 코드를 작성하거나
[03:44]
신경망을 훈련시키거나
[03:46]
대형 언어 모델에 프롬프트를
[03:47]
줄 수 있습니다. 여기 이것이
[03:50]
짧은 프롬프트의 예시이고
[03:51]
이를 변경해서 컴퓨터를
[03:52]
조금 다른 방식으로
[03:54]
프로그래밍할 수 있습니다. 그래서 기본적으로
[03:57]
소프트웨어 1.0, 소프트웨어 2.0이 있고
[03:59]
제 생각에는 GitHub 코드를 많이
[04:01]
보셨다면 더 이상 단순한
[04:03]
코드만이 아니라는 것을 아실 것입니다.
[04:05]
코드 사이사이에 영어가 많이 섞여 있고
[04:07]
새로운 종류의 코드 범주가
[04:09]
늘어나고 있다고 생각합니다.
[04:10]
새로운 프로그래밍 패러다임일 뿐만 아니라
[04:12]
우리의 모국어인 영어로
[04:14]
되어 있다는 것이 정말 놀랍습니다.
[04:17]
이것이 몇 년 전 제 마음을 사로잡았을 때
[04:20]
저는 이것을 트윗했고
[04:21]
많은 사람들의 관심을
[04:23]
끌었습니다. 이것이 제가 현재
[04:25]
고정해 놓은 트윗입니다. 놀랍게도
[04:28]
우리는 이제 영어로 컴퓨터를 프로그래밍하고 있습니다.
[04:31]
제가 테슬라에 있을 때 우리는
[04:34]
오토파일럿을 작업하고 있었고
[04:37]
자동차가 운전하도록 만들려고 했습니다.
[04:39]
그 당시 제가 보여준 슬라이드에서
[04:41]
자동차의 입력이 하단에 있고
[04:43]
소프트웨어 스택을 통해
[04:44]
조향과 가속을 생성한다고 상상할 수 있습니다.
[04:47]
그 당시 제가 관찰한 것은
[04:48]
오토파일럿 주변에 소프트웨어 1.0 코드인
[04:51]
C++ 코드가 엄청나게 많았고
[04:52]
그리고 이미지 인식을 하는
[04:54]
신경망들이 있었다는 것입니다.
[04:56]
그리고 시간이 지나면서
[04:58]
오토파일럿을 개선할수록
[05:00]
기본적으로 신경망이
[05:02]
기능과 크기에서 성장했고 그에 더해
[05:05]
모든 C++ 코드가 삭제되고 있었습니다.
[05:08]
그리고 원래 1.0으로 작성되었던
[05:12]
많은 기능과 기능성들이
[05:14]
2.0으로 마이그레이션되었습니다.
[05:16]
예를 들어, 서로 다른 카메라의
[05:19]
이미지들 간의 정보를
[05:20]
연결하고 시간에 걸쳐
[05:22]
처리하는 많은 작업들이 신경망에 의해
[05:24]
수행되었고 우리는 많은 코드를
[05:26]
코드를 삭제할 수 있었습니다. 그래서 소프트웨어 2.0 스택이
[05:29]
말 그대로 자율주행의 소프트웨어
[05:32]
스택을 뚫고 들어왔습니다. 저는
[05:34]
당시 이것이 정말 놀라웠다고 생각했고
[05:35]
지금도 같은 현상을 보고 있다고 생각합니다
[05:37]
기본적으로 우리에게는 새로운 종류의
[05:39]
소프트웨어가 있고 이것이 스택을
[05:40]
뚫고 들어오고 있습니다. 우리는 완전히
[05:42]
다른 세 가지 프로그래밍 패러다임을 가지고 있고
[05:44]
만약 여러분이 이 업계에 진입한다면
[05:45]
이 모든 것에 능숙해지는 것이
[05:47]
매우 좋은 아이디어라고 생각합니다. 왜냐하면
[05:49]
각각 약간의 장단점이 있고 여러분은
[05:50]
일부 기능을 1.0이나 2.0이나
[05:53]
3.0으로 프로그래밍하고 싶을 수도 있기 때문입니다. 신경망을
[05:54]
훈련할 건가요? 그냥 LLM에
[05:55]
프롬프트를 줄 건가요? 이것이 명시적인
[05:57]
코드 조각이어야 할까요? 등등. 그래서 우리 모두
[05:59]
이런 결정을 내려야 하고 실제로
[06:00]
잠재적으로 이러한 패러다임들 사이를
[06:03]
유연하게 전환해야 합니다. 그래서 제가
[06:06]
지금 다루고 싶은 것은 먼저 첫 번째 부분에서
[06:09]
LLM에 대해 이야기하고 이 새로운
[06:11]
패러다임과 생태계에 대해 어떻게 생각해야 하는지
[06:13]
그리고 그것이 어떤 모습인지에 대해
[06:15]
이야기하고 싶습니다. 이 새로운 컴퓨터가
[06:17]
무엇인지, 어떤 모습인지
[06:18]
그리고 생태계는 어떤 모습인지 말입니다.
[06:20]
저는 실제로 몇 년 전 앤드류 응의
[06:23]
이 인용문에 깊은 인상을 받았습니다
[06:25]
그리고 앤드류가 저 다음에
[06:27]
연설할 예정이라고 생각합니다. 하지만 그는
[06:29]
당시 AI는 새로운 전기라고
[06:30]
말했고 저는 그것이 실제로
[06:33]
매우 흥미로운 것을 포착한다고 생각합니다
[06:34]
LLM이 확실히 유틸리티의
[06:36]
속성을 가지고 있다고 느끼는 점에서 말입니다
[06:38]
지금 현재. 그래서
[06:41]
OpenAI, Gemini, Anthropic 등과 같은
[06:44]
LLM 연구소들은 LLM을 훈련하기 위해
[06:47]
자본 지출을 하고 이것은
[06:48]
전력망을 구축하는 것과 같은 것이며
[06:51]
그 지능을 API를 통해
[06:53]
우리 모두에게 제공하는 운영비가 있고
[06:56]
이것은 우리가 백만 토큰당
[06:58]
비용을 지불하는 방식이나 그와 비슷한
[07:00]
계량 접근을 통해 이루어지며
[07:01]
우리는 이 API에서 매우
[07:03]
유틸리티와 같은 많은 요구사항들을 가지고 있습니다
[07:06]
우리는 낮은 지연시간, 높은 가동시간,
[07:08]
일관된 품질 등을 요구합니다. 전기에서는
[07:10]
전환 스위치가 있을 것입니다. 그래서
[07:12]
전기 소스를 전력망과 태양광이나
[07:14]
배터리나 발전기 사이에서 전환할 수 있습니다.
[07:16]
LLM에서는 오픈라우터와 같은 것이 있어서
[07:18]
존재하는 다양한 유형의 LLM들 사이에서
[07:20]
쉽게 전환할 수 있습니다. LLM은 소프트웨어이기 때문에
[07:23]
물리적 공간을 두고 경쟁하지 않습니다. 그래서
[07:25]
기본적으로 6개의 전기 공급업체를
[07:26]
가지고 그들 사이에서 전환할 수 있어도
[07:28]
괜찮습니다. 맞죠? 왜냐하면 그들은
[07:29]
그렇게 직접적인 방식으로 경쟁하지 않기 때문입니다.
[07:31]
그리고 조금 흥미로운 것은 우리가
[07:33]
지난 며칠 동안 실제로 많은
[07:36]
LLM들이 다운되는 것을 보았고 사람들이
[07:38]
좌절하며 일을 할 수 없었다는 것입니다.
[07:41]
그리고 저에게는 최첨단
[07:42]
LLM들이 다운될 때 실제로
[07:43]
세상에 지능 정전이 일어나는 것과 같다는 것이
[07:45]
매우 흥미롭습니다. 전력망에서
[07:47]
전압이 불안정할 때와 같고
[07:49]
이러한 모델들에 대한 의존도가 높아질수록
[07:52]
지구가 더 멍청해집니다. 이미 정말
[07:55]
극적인 상황이고 앞으로
[07:56]
계속 성장할 것이라고 생각합니다.
[07:58]
계속 성장할 것입니다. 하지만 LLM은 유틸리티의 성격만 가지고 있는 것이 아닙니다.
[08:00]
저는 LLM이 팹의 성격도 가지고 있다고 생각합니다.
[08:02]
이렇게 말하는 이유는
[08:03]
LLM을 구축하는 데 필요한 자본지출이 상당히 크기 때문입니다.
[08:06]
발전소를 건설하는 것과는 다른 차원의 투자입니다.
[08:09]
단순히 어떤 시설을 짓는 것이 아니라
[08:12]
막대한 자금을 투자하는 것이죠.
[08:14]
그리고 기술 트리와
[08:15]
기술 발전이 매우 빠르게 진행되고 있습니다.
[08:17]
우리는 복잡한 기술 트리와 연구개발 비밀이
[08:20]
기술이 상당히 빠르게 발전하는 세상에 살고 있습니다.
[08:22]
따라서 우리는 심층적인 기술 트리와 연구개발 비밀이
[08:24]
LLM 연구소들 내부에서 중앙집중화되는 세상에 있습니다.
[08:26]
하지만 이 비유도 조금 모호해지는 부분이 있습니다.
[08:28]
앞서 언급했듯이 이것은 소프트웨어이고
[08:32]
소프트웨어는 가변성이 크기 때문에
[08:34]
방어 가능성이 다소 낮습니다.
[08:36]
소프트웨어는 매우 유연하기 때문에
[08:38]
방어하기가 더 어렵습니다.
[08:40]
그래서 이것은 흥미로운 관점입니다.
[08:43]
잠재적으로 생각해볼 만한 부분이죠.
[08:44]
많은 비유를 만들 수 있습니다.
[08:46]
4나노미터 공정 노드는
[08:48]
특정 최대 플롭을 가진 클러스터와
[08:49]
비슷한 개념일 수 있습니다.
[08:51]
엔비디아 GPU를 사용할 때를 생각해보면
[08:53]
소프트웨어만 다루고
[08:54]
하드웨어는 다루지 않는다면
[08:56]
이는 팹리스 모델과 유사합니다.
[08:57]
하지만 실제로 자체 하드웨어도 구축하고
[08:59]
구글처럼 TPU에서 훈련한다면
[09:00]
이는 자체 팹을 소유하는
[09:02]
인텔 모델과 유사합니다.
[09:03]
여기서 몇 가지 비유가 이해되는 부분이 있습니다.
[09:05]
하지만 실제로는
[09:06]
가장 타당한 비유는
[09:08]
제 생각에 LLM이
[09:09]
운영 체제와 매우 강한 유사성을 가지고 있다는 것입니다.
[09:12]
이것은 단순히 전기나 물이 아닙니다.
[09:15]
수도꼭지에서 나오는
[09:17]
상품 같은 것이 아닙니다.
[09:19]
이제 이것들은
[09:20]
점점 더 복잡한 소프트웨어 생태계가 되고 있습니다.
[09:22]
단순히 전기와 같은 상품이 아닙니다.
[09:25]
흥미로운 점은
[09:28]
생태계가 매우 유사한 방식으로 형성되고 있다는 것입니다.
[09:30]
Windows나 Mac OS 같은
[09:32]
몇몇 클로즈드 소스 제공업체가 있고
[09:33]
그리고 Linux 같은
[09:36]
오픈 소스 대안이 있습니다.
[09:38]
LLM에서도 마찬가지로
[09:39]
몇몇 경쟁하는 클로즈드 소스 제공업체가 있고
[09:42]
그리고 라마 생태계는
[09:45]
현재 Linux와 같은 것으로 성장할 수 있는
[09:47]
것에 근접한 근사치일 수 있습니다.
[09:49]
다시 말하지만, 아직 매우 이른 단계라고 생각합니다.
[09:51]
이것들은 단순한 LLM에 불과하기 때문입니다.
[09:53]
하지만 우리는 이것들이
[09:55]
훨씬 더 복잡해질 것임을 보기 시작했습니다.
[09:56]
단순히 LLM 자체만의 문제가 아닙니다.
[09:58]
모든 도구 사용과
[09:59]
다중 모달리티, 그리고 그 모든 것이
[10:01]
어떻게 작동하는지에 관한 것입니다.
[10:02]
그래서 제가 얼마 전에
[10:03]
이런 깨달음을 얻었을 때
[10:05]
이것을 스케치해보려고 했습니다.
[10:07]
그리고 제게는 LLM이
[10:09]
새로운 운영 체제와 같다는 것처럼 보였습니다.
[10:11]
LLM은 새로운 종류의 컴퓨터입니다.
[10:12]
CPU와 동등한 역할을 하고 있습니다.
[10:15]
컨텍스트 윈도우는
[10:17]
메모리와 같은 역할을 하고
[10:19]
LLM은 문제 해결을 위해
[10:21]
메모리와 연산을 조율하고 있습니다.
[10:24]
문제 해결을 위한 메모리와 연산을 조율합니다.
[10:26]
이 모든 기능들을 활용해서 문제를 해결하고 있습니다.
[10:29]
이런 관점에서 보면 확실히
[10:32]
운영체제처럼 보입니다.
[10:34]
몇 가지 추가 비유를 들어보겠습니다.
[10:36]
예를 들어 앱을 다운로드하고 싶다면,
[10:38]
VS Code에 가서 다운로드하면
[10:41]
VS Code를 다운로드할 수 있고
[10:43]
Windows, Linux, Mac에서 실행할 수 있습니다.
[10:46]
마찬가지로 Cursor 같은 LLM 앱을
[10:50]
GPT나 Claude, Gemini 시리즈에서
[10:53]
실행할 수 있습니다. 그냥 드롭다운 메뉴죠.
[10:55]
이런 면에서 비슷합니다.
[10:57]
이런 식으로 말이죠.
[10:59]
또 다른 비유로,
[11:00]
우리가 지금 1960년대
[11:02]
정도의 시대에 있다고 생각합니다.
[11:04]
LLM 컴퓨팅이 이 새로운 종류의
[11:05]
컴퓨터에서는 여전히 매우 비싸서
[11:09]
LLM들이 클라우드에
[11:10]
중앙화될 수밖에 없고, 우리는 모두
[11:13]
네트워크를 통해 상호작용하는
[11:15]
클라이언트 역할만 하고 있습니다.
[11:18]
우리 중 누구도 이 컴퓨터들을
[11:20]
완전히 활용하지 못하기 때문에
[11:22]
시분할 방식을 사용하는 것이 합리적입니다.
[11:24]
우리는 모두 클라우드에서
[11:26]
컴퓨터를 실행할 때
[11:28]
배치의 한 차원일 뿐입니다.
[11:30]
이는 당시 컴퓨터가
[11:32]
작동했던 방식과 매우 유사합니다.
[11:33]
운영체제는 클라우드에 있었고,
[11:35]
모든 것이 스트리밍되었으며
[11:36]
배치 처리가 있었습니다.
[11:39]
개인 컴퓨팅 혁명은
[11:41]
아직 일어나지 않았습니다.
[11:42]
경제적이지 않기 때문입니다.
[11:44]
하지만 일부 사람들이 시도하고 있습니다.
[11:46]
예를 들어 Mac Mini는
[11:48]
일부 LLM에 매우 적합한 것으로 나타났습니다.
[11:50]
배치 원 추론을 수행한다면
[11:52]
이는 모두 메모리 바운드이므로
[11:53]
실제로 작동합니다.
[11:55]
이런 것들이 개인 컴퓨팅의
[11:56]
초기 징후일 수 있다고 생각합니다.
[11:58]
하지만 아직 실제로 일어나지는 않았습니다.
[12:00]
이것이 어떤 모습일지 명확하지 않습니다.
[12:02]
아마도 여러분 중 일부가
[12:03]
이것이 무엇인지, 어떻게 작동하는지,
[12:05]
또는 이것이 어떤 모습이어야 하는지
[12:08]
발명하게 될 것입니다.
[12:10]
또 하나의 비유를 언급하자면,
[12:12]
ChatGPT나 어떤 LLM과
[12:14]
텍스트로 직접 대화할 때면
[12:16]
터미널을 통해
[12:18]
운영체제와 대화하는 것 같은 느낌입니다.
[12:21]
텍스트죠. 운영체제에
[12:22]
직접 접근하는 것입니다.
[12:24]
일반적인 방식으로는
[12:26]
GUI가 아직 발명되지 않았다고 생각합니다.
[12:29]
ChatGPT가 텍스트 버블과는
[12:31]
다른 GUI를 가져야 할까요?
[12:33]
확실히 우리가 곧 살펴볼
[12:35]
일부 앱들은 GUI를 가지고 있지만
[12:38]
모든 작업에 걸친
[12:40]
통합적인 GUI는 없습니다.
[12:43]
LLM이 운영체제나
[12:45]
초기 컴퓨팅과 다른
[12:47]
독특한 방식들이 몇 가지 있습니다.
[12:49]
저는 이번에 매우 다른
[12:52]
특별한 속성에 대해
[12:54]
글을 썼습니다.
[12:57]
LLM은 기술 확산의 방향을
[12:59]
뒤바꾼다는 것입니다.
[13:02]
일반적으로 기술에서 존재하는 방향을 말이죠.
[13:05]
예를 들어 전기, 암호화,
[13:07]
컴퓨팅, 항공, 인터넷, GPS 등
[13:09]
많은 새로운 혁신적인 기술들이
[13:10]
그동안 없었던 것들이죠. 일반적으로는
[13:12]
정부와 기업들이
[13:14]
첫 번째 사용자가 됩니다. 새롭고
[13:16]
비싸기 때문이죠. 그리고 나중에야
[13:18]
소비자에게 확산됩니다. 하지만 저는
[13:20]
LLM이 좀 뒤바뀐 것 같다고
[13:22]
느껴요. 초기 컴퓨터의 경우
[13:24]
탄도학과 군사용이 전부였지만
[13:26]
LLM의 경우에는 달걀을 어떻게 삶을지 같은
[13:29]
것들이 전부예요. 이게 확실히
[13:30]
제가 많이 사용하는 방식이고요.
[13:32]
그래서 정말 흥미로운 게
[13:33]
우리에게 새로운 마법 같은 컴퓨터가 있는데
[13:35]
달걀 삶는 것을 도와주고 있다는 거예요.
[13:37]
정부가 뭔가 정말 대단한 일을
[13:38]
하는 것을 돕는 게 아니라, 군사 탄도학이나
[13:40]
특수 기술 같은 것 말이에요.
[13:42]
실제로 기업과
[13:43]
정부들은 우리 모두의
[13:45]
이런 기술들 채택에 뒤처져 있어요.
[13:47]
그래서 완전히 거꾸로 된 상황이고
[13:48]
이것이 우리가 이 기술을
[13:50]
어떻게 사용하고 싶은지나
[13:52]
초기 앱들이 어디에 있을지에 대한
[13:53]
정보를 제공한다고 생각해요.
[13:56]
지금까지 요약하면, LLM 연구소들이 LLM을 만들고 있습니다.
[14:01]
정확한 표현이라고 생각하지만
[14:03]
LLM들은 복잡한 운영체제입니다.
[14:06]
컴퓨팅 분야에서 1960년대 정도이고
[14:08]
우리는 컴퓨팅을 다시 하고 있어요.
[14:10]
그리고 현재는 시분할 방식으로
[14:11]
이용 가능하고 유틸리티처럼 배포되고 있습니다.
[14:13]
새롭고 전례 없는 것은
[14:16]
소수의 정부와 기업의 손에
[14:17]
있는 게 아니라는 점입니다. 우리 모두의
[14:18]
손에 있어요. 우리 모두가
[14:20]
컴퓨터를 가지고 있고 모든 게
[14:21]
그냥 소프트웨어이고 ChatGPT가 우리
[14:24]
컴퓨터에 전송되어 수십억 명의 사람들에게
[14:26]
즉시 하룻밤 사이에 전달되었고 이건
[14:28]
정말 미친 일이에요. 이런 상황이라는 게
[14:30]
저에게는 좀 미친 것 같고 이제는
[14:33]
우리가 이 업계에 진입해서
[14:34]
이런 컴퓨터들을 프로그래밍할 시간입니다.
[14:37]
이건 정말 대단해요. 정말 놀라운 일이라고
[14:39]
생각합니다. LLM을 프로그래밍하기 전에
[14:42]
이것들이 무엇인지에 대해
[14:43]
시간을 들여 생각해봐야 합니다. 특히 저는
[14:45]
그들의 심리학에 대해 이야기하는 것을 좋아해요.
[14:48]
제가 LLM에 대해 생각하는 방식은
[14:50]
일종의 '인간 영혼'과
[14:51]
같다는 것입니다. 그들은 인간의 확률적
[14:54]
시뮬레이션입니다. 그리고
[14:56]
이 경우 시뮬레이터는
[14:58]
자동회귀 트랜스포머입니다.
[14:59]
트랜스포머는 신경망이고
[15:02]
토큰 레벨에서 작동합니다.
[15:04]
청크 청크 청크 청크 청크 하면서요.
[15:06]
그리고 모든 단일 청크에 대해
[15:08]
거의 동일한 양의 연산이 있습니다.
[15:10]
이 시뮬레이터는 물론
[15:14]
기본적으로 가중치들이 있고 우리가
[15:16]
인터넷에 있는 모든 텍스트에
[15:19]
맞춰서 학습시킵니다.
[15:20]
그리고 이런 종류의
[15:22]
시뮬레이터를 얻게 되고 인간에게서 훈련되었기 때문에
[15:24]
인간과 같은 창발적
[15:26]
심리학을 가지고 있습니다. 첫 번째로
[15:28]
눈에 띄는 것은 물론
[15:30]
LLM이 백과사전적 지식과
[15:32]
기억력을 가지고 있다는 것입니다. 많은 것들을
[15:34]
기억할 수 있어요. 어떤 개별 인간보다도
[15:36]
훨씬 많이 기억할 수 있습니다.
[15:37]
너무 많은 것들을 읽었기 때문이에요. 실제로
[15:39]
영화 '레인맨'이 떠오르는데, 정말 사람들한테 추천하고 싶은 영화예요.
[15:41]
정말 놀라운 영화고, 저는 이 영화를 너무 좋아해요.
[15:44]
더스틴 호프만이 연기한 캐릭터는 자폐성 서번트로
[15:46]
거의 완벽한 기억력을 가지고 있어요.
[15:49]
전화번호부를 읽고
[15:51]
모든 이름과 전화번호를 기억할 수 있죠.
[15:53]
그리고 저는 LLM이
[15:55]
이와 매우 비슷하다고 생각해요.
[15:57]
SHA 해시값이나
[15:58]
다양한 종류의 정보를
[16:00]
매우 쉽게 기억할 수 있거든요.
[16:02]
확실히 어떤 면에서는
[16:04]
초인적인 능력을 가지고 있어요.
[16:06]
하지만 동시에 많은
[16:08]
인지적 결함도 가지고 있다고 할 수 있어요.
[16:11]
꽤 많이 환각을 보고
[16:13]
내용을 지어내기도 하며
[16:15]
자기 인식에 대한 내부 모델이
[16:17]
충분하지 않아요.
[16:19]
이건 나아지고는 있지만 완벽하지는 않죠.
[16:21]
들쭉날쭉한 지능을 보여줘요.
[16:22]
어떤 문제 해결 영역에서는
[16:24]
초인적일 것이고
[16:26]
그러면서도 인간은 절대
[16:27]
하지 않을 실수를 하죠.
[16:29]
예를 들어 9.11이 9.9보다 크다고 고집한다거나
[16:32]
딸기(strawberry)에 R이 두 개 있다고 하는
[16:34]
유명한 예시들이 있는데
[16:36]
기본적으로 걸려 넘어질 수 있는
[16:38]
거친 모서리들이 있어요.
[16:40]
이것도 꽤 독특한 특징이라고 생각해요.
[16:43]
또한 역행성 기억상실증 같은 것도 겪어요.
[16:46]
제가 말하고자 하는 것은
[16:48]
만약 새로운 동료가
[16:49]
조직에 합류한다면
[16:51]
시간이 지나면서 그 동료는 조직을 학습하고
[16:54]
이해하게 되며
[16:55]
조직에 대한 엄청난 맥락을
[16:57]
얻게 되죠. 집에 가서 잠을 자고
[16:59]
지식을 통합하며
[17:01]
시간이 지나면서 전문성을 개발해요.
[17:03]
LLM은 기본적으로는
[17:04]
이런 걸 하지 못하고
[17:06]
이는 LLM R&D에서 실제로
[17:09]
해결되지 않은 문제라고 생각해요.
[17:10]
그래서 컨텍스트 윈도우는
[17:12]
정말 작업 메모리 같은 거고
[17:13]
작업 메모리를 직접적으로
[17:15]
프로그래밍해야 해요. 왜냐하면
[17:17]
기본적으로 그냥 더 똑똑해지지는
[17:19]
않거든요. 그리고 많은 사람들이
[17:22]
이런 비유 때문에
[17:23]
혼란을 겪는다고 생각해요.
[17:26]
대중문화에서 사람들에게
[17:27]
추천하고 싶은 두 영화가 있어요.
[17:29]
'메멘토'와 '50번째 첫 키스'인데
[17:32]
두 영화 모두에서 주인공들의
[17:34]
가중치는 고정되어 있고
[17:35]
컨텍스트 윈도우가
[17:37]
매일 아침마다 초기화돼요.
[17:39]
이런 상황에서는 일을 하거나
[17:42]
관계를 유지하는 것이 정말 문제가 되고
[17:44]
이런 일이 LLM에게는
[17:46]
항상 일어나죠.
[17:48]
한 가지 더 지적하고 싶은 것은
[17:50]
LLM 사용의 보안 관련
[17:52]
한계들이에요.
[17:55]
예를 들어, LLM은 꽤 잘 속아요.
[17:57]
프롬프트 인젝션 위험에 취약하고
[18:00]
데이터를 유출할 수도 있어요.
[18:01]
그리고 보안과 관련된
[18:03]
다른 많은 고려사항들이 있죠.
[18:05]
그래서 결론적으로 말하면
[18:07]
유용하니까 어떻게 프로그래밍하고
[18:10]
어떻게 이들의 한계를 극복하면서
[18:12]
초인적인 능력을 즐길 수 있을까요.
[18:15]
이제 제가 이야기하고 싶은 것은
[18:17]
이 모델들을 어떻게 활용할 것인가
[18:18]
그리고 가장 큰 기회들이 무엇인가에
[18:20]
관한 것입니다. 이건 포괄적인
[18:22]
목록이 아니라 그냥 이번 강연을
[18:23]
위해 흥미롭다고 생각한
[18:24]
몇 가지 내용들입니다. 제가 흥미진진하게
[18:26]
생각하는 첫 번째는 제가
[18:29]
부분 자율성 앱이라고 부르는 것입니다.
[18:32]
예를 들어, 코딩 예제로
[18:34]
작업해 보겠습니다. 물론 ChatGPT에
[18:36]
직접 가서 코드를 복사-붙여넣기하고
[18:38]
버그 리포트를 복사해서 붙여넣고
[18:40]
이런저런 걸 가져와서 모든 걸
[18:42]
복사-붙여넣기 할 수는 있습니다.
[18:44]
하지만 왜 그렇게 해야 할까요?
[18:45]
왜 운영체제에 직접 가야 할까요?
[18:47]
이것을 위한 전용 앱을 갖는 것이
[18:48]
훨씬 더 합리적입니다. 그래서 여러분
[18:50]
중 많은 분들이 Cursor를 사용하실 텐데, 저도 마찬가지입니다.
[18:53]
그리고 Cursor는 여러분이 원하는
[18:56]
것과 같은 것입니다. ChatGPT에
[18:57]
직접 가고 싶지는 않을 겁니다.
[18:59]
그리고 Cursor는 초기 LLM 앱의
[19:01]
아주 좋은 예시라고 생각하는데
[19:03]
모든 LLM 앱에 걸쳐 유용하다고
[19:06]
생각하는 여러 속성들을 가지고 있습니다.
[19:08]
특히, 인간이 들어가서
[19:09]
모든 작업을 수동으로 할 수 있게 해주는
[19:12]
전통적인 인터페이스가 있다는 걸
[19:13]
알 수 있습니다. 하지만 그에 더해
[19:16]
이제 우리는 더 큰 덩어리로
[19:17]
들어갈 수 있게 해주는
[19:19]
LLM 통합 기능이 있습니다.
[19:21]
그래서 공유되고 지적할 가치가 있다고
[19:23]
생각하는 LLM 앱의 속성들 중
[19:25]
첫 번째로, LLM들은 기본적으로
[19:28]
엄청난 컨텍스트 관리를 해줍니다.
[19:31]
두 번째로, 여러 LLM 호출을
[19:33]
조율해줍니다. Cursor의 경우
[19:34]
후드 아래에 모든 파일에 대한
[19:36]
임베딩 모델들, 실제 채팅 모델들,
[19:39]
코드에 diff를 적용하는 모델들이 있고
[19:41]
이 모든 것이 여러분을 위해 조율됩니다.
[19:43]
정말 중요한 것 중 하나인데
[19:46]
항상 완전히 인식되지 않는 것은
[19:48]
애플리케이션 특화 GUI와
[19:50]
그 중요성입니다. 왜냐하면
[19:53]
운영체제와 직접 텍스트로
[19:54]
대화하고 싶지는 않기 때문입니다.
[19:56]
텍스트는 읽고, 해석하고, 이해하기가
[19:59]
매우 어렵고 또한 이런 작업들을
[20:00]
텍스트로 직접 수행하고 싶지도 않습니다.
[20:03]
그래서 빨간색과 초록색 변경사항으로
[20:05]
diff를 보는 것이 훨씬 낫고
[20:06]
무엇이 추가되고 빠지는지 볼 수 있습니다.
[20:08]
승인하려면 Command+Y를,
[20:10]
거부하려면 Command+N을 누르는 것이
[20:11]
훨씬 쉽습니다. 텍스트로 타이핑할
[20:13]
필요가 없죠. 그래서 GUI는 인간이
[20:15]
이런 실수할 수 있는 시스템들의 작업을
[20:17]
감사하고 더 빠르게 나아갈 수 있게 해줍니다.
[20:20]
이 점에 대해서는 나중에
[20:21]
다시 돌아오겠습니다. 그리고 지적하고 싶은
[20:23]
마지막 기능은 제가
[20:25]
자율성 슬라이더라고 부르는 것입니다.
[20:27]
예를 들어, Cursor에서는 탭
[20:29]
완성을 할 수 있습니다. 주로 여러분이
[20:31]
주도권을 가집니다. 코드 덩어리를 선택해서
[20:33]
Command+K로 그 코드 덩어리만 변경할 수 있습니다.
[20:36]
전체 파일을 변경하려면 Command+L을 할 수 있습니다.
[20:37]
파일을 수정할 수 있습니다. 또는 Command I를 사용하면
[20:40]
전체 저장소에서 원하는 대로 자유롭게 작업할 수 있고
[20:42]
이것이 완전한 자율성, 에이전트 버전입니다.
[20:44]
따라서 자율성 슬라이더를 여러분이 조절할 수 있고
[20:46]
당면한 작업의 복잡성에 따라
[20:48]
해당 작업에 대해 포기할 자율성의 정도를
[20:50]
조정할 수 있습니다.
[20:53]
아마도 꽤 성공적인 LLM 앱의
[20:54]
예시를 하나 더 보여드리자면
[20:57]
Perplexity입니다.
[20:58]
Perplexity도 제가 방금 Cursor에서 언급한 것과 매우 유사한 기능들을 가지고 있습니다.
[21:03]
많은 정보를 패키징하고
[21:04]
여러 LLM을 오케스트레이션합니다. 작업의 일부분을 감사할 수 있는
[21:07]
GUI를 가지고 있습니다.
[21:08]
예를 들어, 출처를 인용하고
[21:10]
그것들을 검사할 수 있다고 상상해볼 수 있습니다.
[21:13]
그리고 자율성 슬라이더도 있습니다.
[21:15]
빠른 검색을 할 수도 있고
[21:17]
연구를 할 수도 있고
[21:18]
심화 연구를 하고 10분 후에 돌아올 수도 있습니다.
[21:20]
이것은 모두 도구에 부여하는
[21:22]
다양한 수준의 자율성입니다.
[21:24]
그래서 제 질문은 많은 소프트웨어가
[21:25]
부분적으로 자율적이 될 것 같다는 것입니다.
[21:27]
이것이 어떤 모습일지 생각해보려고 합니다.
[21:30]
제품과 서비스를 관리하는 여러분 중 많은 분들에게
[21:32]
여러분의 제품과 서비스를
[21:33]
어떻게 부분적으로 자율적으로 만들 것인가?
[21:35]
LLM이 인간이 볼 수 있는 모든 것을
[21:36]
볼 수 있을까요?
[21:38]
LLM이 인간이 할 수 있는
[21:40]
모든 방식으로 행동할 수 있을까요?
[21:42]
그리고 인간이 이 활동을 감독하고
[21:45]
루프 안에 머물 수 있을까요?
[21:47]
다시 말하지만, 이것들은 아직 완벽하지 않은
[21:49]
오류가 있는 시스템이기 때문입니다.
[21:50]
포토샵 같은 곳에서 diff는
[21:52]
어떤 모습일까요?
[21:54]
그리고 현재의 전통적인 소프트웨어는
[21:56]
모든 스위치와 이런 종류의 것들이
[21:58]
모두 인간을 위해 설계되어 있습니다.
[22:00]
이 모든 것이 바뀌어야 하고
[22:01]
LLM이 접근할 수 있도록 되어야 합니다.
[22:03]
제가 이런 LLM 앱들과 관련해서
[22:04]
강조하고 싶은 한 가지는
[22:07]
충분한 주목을 받지 못하고 있다고 생각하는 것은
[22:09]
우리가 이제 AI와 협력하고 있고
[22:11]
보통 AI가 생성을 담당하고
[22:14]
인간인 우리가 검증을 담당합니다.
[22:16]
이 루프를 가능한 한 빨리
[22:18]
돌리는 것이 우리에게 유리합니다.
[22:20]
그래서 많은 일을 완료할 수 있습니다.
[22:22]
이것을 할 수 있는 두 가지 주요 방법이 있다고 생각합니다.
[22:24]
첫 번째는
[22:25]
검증 속도를 크게 높일 수 있습니다.
[22:28]
그리고 GUI가 예를 들어
[22:30]
이것에 매우 중요하다고 생각합니다.
[22:32]
GUI는 우리 머릿속의
[22:34]
컴퓨터 비전 GPU를 활용하기 때문입니다.
[22:36]
텍스트를 읽는 것은 힘들고 재미없지만
[22:39]
뭔가를 보는 것은 재미있고
[22:41]
뇌로 가는 고속도로 같은 것입니다.
[22:43]
그래서 GUI가 시스템 감사와
[22:45]
일반적인 시각적 표현에
[22:47]
매우 유용하다고 생각합니다.
[22:49]
그리고 두 번째는
[22:51]
AI를 통제하에 두어야 한다는 것입니다.
[22:53]
많은 사람들이 AI 에이전트에 대해
[22:56]
너무 흥분하고 있다고 생각하는데
[22:58]
제 저장소에 10,000줄의 코드로 된
[23:00]
diff를 받는 것은 제게 유용하지 않습니다.
[23:03]
저는 여전히
[23:05]
병목지점이기 때문입니다.
[23:07]
병목현상이죠. 그 1만 줄의 코드가
[23:09]
즉시 나오더라도, 저는
[23:11]
이것이 버그를 일으키지 않는다는 걸
[23:12]
확인해야 합니다. 그리고
[23:15]
올바른 작업을 하고 있는지,
[23:16]
맞죠? 그리고 보안
[23:17]
문제가 없는지 등등을 확인해야 합니다. 그래서
[23:22]
네, 기본적으로 우리는
[23:25]
이 둘의 흐름을
[23:28]
매우 빠르게 만드는 것이 우리의 이익이고
[23:30]
AI를 어떻게든 통제해야 합니다
[23:32]
너무 과도하게 반응하기 때문입니다.
[23:33]
이런 느낌입니다.
[23:35]
이게 제가 AI 보조 코딩을 할 때
[23:37]
느끼는 감정입니다. 바이브 코딩을 할 때는
[23:39]
모든 게 좋고 훌륭하지만
[23:40]
실제로 업무를 완료하려고 할 때는
[23:42]
과도하게 반응하는 에이전트가
[23:44]
이런 일들을 하는 건 그리 좋지 않습니다.
[23:47]
이 슬라이드는 별로 좋지 않네요. 죄송합니다.
[23:48]
하지만 여러분 중 많은 분들처럼
[23:51]
저도 이런 에이전트들을
[23:53]
제 코딩 워크플로우에서 활용하고
[23:55]
AI 보조 코딩을 하는 방법을 개발하려고 합니다.
[23:58]
제 작업에서는 항상
[23:59]
너무 큰 변경사항이 나오는 걸 두려워합니다.
[24:02]
저는 항상 작은 증분적 단위로 진행합니다.
[24:04]
모든 것이 좋은지 확인하고 싶고,
[24:06]
이 루프를 매우 빠르게 돌리고 싶습니다.
[24:09]
그리고 작은 단위의 구체적인
[24:10]
한 가지 작업에 집중합니다.
[24:13]
여러분 중 많은 분들도 아마
[24:14]
LLM과 작업하는 비슷한 방법을 개발하고 계실 겁니다.
[24:17]
저는 또한 LLM과 작업하는
[24:19]
모범 사례를 개발하려는 여러 블로그 글을 봤습니다.
[24:22]
여기 제가 최근에 읽은 글 중 하나가 있는데
[24:24]
꽤 좋다고 생각했습니다.
[24:25]
이 글은 몇 가지 기법을 논의했고
[24:26]
그 중 일부는
[24:28]
AI를 통제하는 방법과 관련이 있습니다.
[24:29]
예를 들어, 프롬프트를 할 때
[24:32]
프롬프트가 모호하면
[24:34]
AI가 원하는 대로 하지 않을 수 있고
[24:36]
그 경우 검증이 실패합니다.
[24:38]
다른 것을 요청하게 됩니다.
[24:40]
검증이 실패하면
[24:42]
계속 헤매게 됩니다.
[24:43]
그래서 시간을 좀 더 들여서
[24:45]
프롬프트를 더 구체적으로 만드는 게
[24:46]
훨씬 더 합리적입니다. 이렇게 하면
[24:48]
성공적인 검증 확률이 증가하고
[24:50]
앞으로 나아갈 수 있습니다.
[24:52]
그리고 우리 많은 사람들이
[24:54]
이런 기법들을 찾게 될 것 같습니다.
[24:56]
제 작업에서도 현재
[24:57]
교육이 어떤 모습일지에 관심이 있습니다.
[25:00]
이제 AI와 LLM이 있는 상황에서
[25:01]
교육은 어떤 모습일까요?
[25:04]
그리고 제가 많이 생각하는 부분은
[25:07]
AI를 어떻게 통제할 것인가입니다.
[25:09]
그냥 채팅에 가서
[25:11]
"물리학을 가르쳐줘"라고 하는 것만으로는
[25:13]
효과가 없다고 생각합니다.
[25:14]
AI가 길을 잃기 때문입니다.
[25:16]
그래서 저에게는
[25:18]
이것이 실제로는 두 개의 별개 앱입니다.
[25:20]
예를 들어, 교사가
[25:22]
강의를 만드는 앱이 있고
[25:24]
강의를 가져와서
[25:26]
학생들에게 제공하는 앱이 있습니다.
[25:29]
두 경우 모두, 이제
[25:31]
감사 가능한 강의라는
[25:32]
중간 산출물이 있고
[25:33]
일관성을 유지하고, AI는 특정한
[25:35]
목줄에 묶여 있습니다
[25:37]
실라버스, 즉 특정한 프로젝트
[25:40]
진행 과정 등에 대해서 말이죠. 그래서 이것이
[25:42]
AI를 통제하는 한 가지 방법이고
[25:44]
이 방법이 성공할 가능성이 훨씬 높다고
[25:45]
생각합니다. AI가 길을 잃지 않고
[25:47]
숲속에서 헤매지 않게 되죠.
[25:49]
제가 언급하고 싶은 또 다른
[25:51]
비유가 하나 있습니다. 저는 부분적 자율성에
[25:54]
낯선 사람이 아니고
[25:56]
테슬라에서 5년 동안
[25:57]
이 분야에서 일했습니다. 이것도 부분적
[26:00]
자율성 제품이고 많은
[26:01]
특징들을 공유하고 있습니다. 예를 들어
[26:03]
계기판에 있는 오토파일럿의
[26:05]
GUI를 보시면 신경망이 무엇을
[26:07]
보고 있는지 등을 보여주고
[26:09]
자율성 슬라이더가 있어서
[26:10]
제가 거기서 일하는 동안
[26:13]
사용자를 위해 점점 더 많은 자율적
[26:15]
작업들을 수행했습니다. 그리고 제가
[26:18]
아주 간단히 하고 싶은 이야기는
[26:21]
실제로 제가 처음으로
[26:22]
자율주행차를 운전한 것은 2013년이었고
[26:25]
웨이모에서 일하는 친구가 있었습니다
[26:27]
그가 팰로 알토 주변을
[26:29]
드라이브해 주겠다고 제안했습니다. 저는
[26:31]
당시 구글 글래스로 이 사진을 찍었는데
[26:33]
여러분 중 많은 분들이 너무 젊어서
[26:35]
그게 뭔지도 모를 수 있습니다. 하지만
[26:37]
당시에는 정말 유행이었죠. 그리고
[26:39]
우리는 이 차에 타고
[26:40]
팰로 알토 고속도로와
[26:42]
도시 도로를 약 30분간 드라이브했습니다.
[26:45]
이 드라이브는 완벽했습니다. 개입은
[26:46]
전혀 없었고 이것이 2013년이었는데
[26:49]
지금으로부터 12년 전입니다. 그리고 저에게는
[26:52]
충격적이었습니다. 왜냐하면 당시
[26:54]
이 완벽한 드라이브, 완벽한 데모를 경험했을 때
[26:56]
와, 자율주행이 임박했구나라고 느꼈습니다
[26:59]
이게 바로 작동했거든요. 정말
[27:00]
놀라웠습니다. 하지만 12년이 지난 지금도
[27:03]
우리는 여전히 자율성을
[27:04]
연구하고 있습니다. 우리는 여전히
[27:07]
주행 에이전트를 연구하고 있고 지금도
[27:09]
아직 문제를 정말로
[27:10]
해결하지 못했습니다. 웨이모들이 돌아다니는 걸
[27:12]
보시면 무인으로 보이지만
[27:14]
여전히 많은 원격 조작과
[27:16]
인간의 개입이 많은 부분에서
[27:18]
이루어지고 있어서 우리는 여전히
[27:20]
성공을 선언하지 못했습니다. 하지만
[27:22]
분명히 이 시점에서는
[27:24]
성공할 것이라고 생각하지만 시간이 오래 걸리고
[27:26]
있습니다. 그래서 저는 소프트웨어가
[27:29]
정말 까다롭다고 생각합니다. 주행이
[27:31]
까다로운 것과 같은 방식으로 말이죠. 그래서
[27:34]
2025년이 에이전트의 해다라는
[27:36]
말을 들으면 매우 걱정되고
[27:38]
이것은 에이전트의 10년이 될 것이고
[27:41]
상당한 시간이 걸릴 것이라는 느낌이 듭니다.
[27:44]
우리에게는 인간이 필요합니다.
[27:45]
신중하게 접근해야 합니다. 이것은
[27:47]
소프트웨어입니다. 진지하게 받아들여야 합니다.
[27:51]
제가 항상 생각하는 또 다른
[27:52]
비유는 아이언맨 슈트입니다. 저는
[27:56]
항상 아이언맨을 좋아했습니다. 기술과
[27:58]
그것이 어떻게 전개될지에 대해
[28:01]
여러 측면에서 매우 정확하다고
[28:02]
생각합니다. 아이언맨 슈트에 대해
[28:04]
제가 좋아하는 점은 그것이 증강이면서도
[28:05]
토니 스타크가 조종할 수 있다는 것입니다
[28:08]
그리고 동시에 에이전트이기도 합니다. 그리고 일부
[28:10]
영화에서 아이언맨 슈트는 꽤
[28:11]
자율적이고 날아다니며 토니를 찾는
[28:13]
일과 이런 모든 것들을 할 수 있습니다. 그래서
[28:15]
이 자율성 슬라이더는 우리가
[28:17]
증강 도구를 구축할 수도 있고
[28:19]
에이전트를 구축할 수도 있다는 것이고, 우리는 어느 정도
[28:21]
둘 다를 해보고 싶습니다. 하지만 현재 단계에서
[28:23]
불완전한 LLM과 함께 작업하고 있다고
[28:25]
말하고 싶습니다. 아시다시피 아이언맨 로봇보다는
[28:29]
아이언맨 슈트를 만드는 것이 더 낫다고
[28:31]
말하고 싶습니다. 화려한 자율
[28:33]
에이전트 데모를 만드는 것보다는
[28:35]
부분적 자율성
[28:36]
제품을 만드는 것이 더 좋습니다. 그리고 이런 제품들은
[28:39]
맞춤형 GUI와 UI/UX를 가지고 있습니다. 그리고 우리는
[28:41]
음 이렇게 하려고 노력하고 있는데, 이는
[28:43]
인간의 생성 검증 루프가
[28:45]
매우 빠르게 되도록 하기 위해서입니다. 하지만 우리는
[28:48]
원칙적으로 이 작업을
[28:49]
자동화하는 것이 가능하다는 사실을
[28:51]
잊지 않고 있습니다. 그리고 여러분 제품에는
[28:52]
자율성 슬라이더가 있어야 합니다. 그리고 여러분은
[28:54]
그 자율성 슬라이더를 어떻게 조절할 수 있을지
[28:55]
그리고 제품을 어떻게 더
[28:58]
시간이 지남에 따라 자율적으로 만들 수 있을지
[29:01]
생각해야 합니다. 하지만 이것이 제가 생각하는
[29:02]
이런 종류의 제품에 많은 기회가 있다고
[29:04]
보는 방식입니다. 이제 조금 화제를 바꿔서
[29:06]
제가 매우 독특하다고 생각하는
[29:08]
또 다른 차원에 대해 말해보고 싶습니다.
[29:09]
소프트웨어에서 자율성을 허용하는
[29:11]
새로운 유형의 프로그래밍 언어가 있을 뿐만 아니라
[29:12]
제가 언급했듯이 영어로 프로그래밍되며
[29:15]
이는 자연스러운 인터페이스이고
[29:16]
갑자기 모든 사람이 프로그래머가 됩니다
[29:19]
왜냐하면 모든 사람이 영어와 같은
[29:20]
자연어를 구사하기 때문입니다.
[29:22]
그래서 이는 매우 긍정적이고 저에게는 매우 흥미로우며
[29:24]
또한 완전히 전례 없는 일입니다.
[29:26]
예전에는 소프트웨어에서
[29:28]
무언가를 할 수 있으려면
[29:29]
5년에서 10년을 공부해야 했습니다.
[29:31]
하지만 이제는 더 이상
[29:32]
그런 경우가 아닙니다.
[29:35]
그래서, 혹시 누군가가
[29:37]
바이브 코딩에 대해 들어본 적이 있는지 모르겠습니다.
[29:40]
음, 이것이 바로 이를 소개한
[29:42]
트윗인데, 들리는 바로는
[29:44]
이게 이제 주요 밈이 되었다고 합니다. 음, 이에 대한
[29:46]
재미있는 이야기는 제가 트위터를
[29:49]
15년 정도 사용해왔는데
[29:51]
아직도 어떤 트윗이 바이럴이 되고
[29:53]
어떤 트윗이 흐지부지되어 아무도
[29:56]
신경 쓰지 않을지 전혀 모르겠다는 것입니다.
[29:58]
그리고 저는 이 트윗이 후자가 될 것이라고 생각했습니다.
[30:00]
모르겠어요.
[30:01]
그냥 샤워 중에 떠오른 생각이었는데.
[30:03]
그런데 이게 완전한 밈이 되었고
[30:05]
정말 알 수가 없네요. 하지만 아마
[30:06]
공감을 불러일으켰고 모든 사람이 느끼고 있던
[30:08]
하지만 말로 표현하기 어려웠던 것에
[30:10]
이름을 붙여줬나 봅니다. 그래서 이제
[30:13]
위키피디아 페이지까지 있습니다.
[30:17]
이건 마치
[30:18]
[박수]
[30:25]
네, 이제 주요 기여나
[30:27]
그런 것 같습니다.
[30:30]
음, 그래서 HuggingFace의 Tom Wolf가
[30:32]
제가 정말 좋아하는 아름다운 영상을
[30:34]
공유했습니다. 음,
[30:37]
이 아이들이 바이브 코딩을 하고 있습니다.
[30:42]
그리고 저는 이게 정말 훈훈한
[30:44]
영상이라고 생각합니다. 이 영상을 정말 좋아해요.
[30:46]
이 영상을 보고 어떻게 미래에 대해 나쁘게 생각할 수 있겠어요?
[30:48]
미래는 밝습니다.
[30:49]
정말 좋아요.
[30:52]
이게 소프트웨어 개발의
[30:53]
관문 역할을 하게 될 것 같아요.
[30:56]
저는 미래 세대에 대해 비관적이지 않고,
[30:59]
정말 이 영상이 좋습니다.
[31:02]
그래서 저도 바이브 코딩을
[31:04]
조금 해봤는데 정말 재미있어요.
[31:07]
바이브 코딩은 정말 대단해요.
[31:09]
존재하지 않는 완전히 맞춤형인 걸
[31:10]
만들고 싶을 때,
[31:12]
토요일 같은 날에 그냥
[31:13]
즉흥적으로 해보고 싶을 때 말이죠.
[31:15]
그래서 이 iOS 앱을 만들었는데,
[31:18]
실제로는 Swift 프로그래밍을 할 줄 모르지만
[31:20]
정말 기본적인 앱을 만들 수 있어서
[31:21]
정말 놀랐어요.
[31:23]
설명하지는 않을게요.
[31:24]
정말 별거 아니지만,
[31:27]
이게 그냥 하루 작업이었는데
[31:28]
그날 오후에 제 폰에서 실행됐어요.
[31:30]
"와, 이거 정말 놀라워"라고 생각했죠.
[31:32]
Swift를 5일간
[31:33]
공부할 필요가 없었어요.
[31:35]
시작하기 위해서 말이죠.
[31:38]
또한 Menu Gen이라는 앱도 바이브 코딩했어요.
[31:40]
이건 실제로 운영 중이고
[31:41]
menu.app에서 체험해볼 수 있어요.
[31:44]
기본적으로 제가 겪은 문제는
[31:45]
레스토랑에 가서 메뉴를 읽어봐도
[31:46]
뭐가 뭔지 전혀 모르겠는 거예요.
[31:48]
사진이 필요했어요. 그런데 그런 게 없었죠.
[31:51]
그래서 "바이브 코딩으로
[31:52]
만들어보자"고 했어요.
[31:55]
이런 모습이에요.
[31:58]
menu.app에 가서
[32:01]
메뉴 사진을 찍으면
[32:03]
Menu Gen이 이미지를 생성해주고
[32:06]
가입하면 모든 사람이 5달러 크레딧을
[32:08]
무료로 받을 수 있어요.
[32:10]
그래서 이게 제 인생의 주요 비용 센터가 됐어요.
[32:13]
지금 저에게는 마이너스
[32:16]
수익 앱이에요.
[32:17]
Menu로 엄청난 돈을
[32:19]
잃었어요.
[32:21]
하지만 Menu Gen에서 저에게
[32:23]
흥미로운 점은 바이브 코딩 부분의 코드가
[32:28]
실제로는 바이브 코딩에서
[32:30]
가장 쉬운 부분이었다는 거예요.
[32:32]
대부분은 실제로 실용화하려고 할 때,
[32:35]
인증과 결제,
[32:36]
도메인 네임,
[32:37]
서버 배포 등을 구현하려고 할 때였어요.
[32:39]
이건 정말 어려웠고
[32:41]
이 모든 것은 코드가 아니었어요.
[32:44]
이 모든 데브옵스 작업은
[32:47]
브라우저에서 클릭하는 것들이었고
[32:49]
극도로 느렸고
[32:51]
일주일이 더 걸렸어요.
[32:54]
정말 흥미로웠던 건 Menu Gen
[32:57]
데모를 노트북에서 몇 시간 만에 작동시켰는데
[32:59]
실제로 만들려고 하니
[33:01]
일주일이 걸렸다는 거예요.
[33:02]
이유는 이게 정말 짜증났기 때문이에요.
[33:05]
예를 들어, 웹페이지에
[33:07]
Google 로그인을 추가하려고 하면,
[33:09]
화면이 작아서 잘 안 보이지만
[33:11]
이 Clerk 라이브러리가
[33:13]
통합하는 방법에 대한
[33:15]
엄청난 양의 지시사항을 주는 거예요.
[33:17]
이건 미친 일이에요.
[33:19]
이 URL로 가서, 이 드롭다운을 클릭하고,
[33:21]
이걸 선택하고, 여기로 가서,
[33:22]
저걸 클릭하라고 하는 거예요.
[33:24]
하는 행동을. 내가 직접 해야 한다고.
[33:26]
왜 내가 이걸 해야 하지?
[33:28]
도대체 뭐가 어떻게 된 거야?
[33:31]
이 모든 지시사항들을 따라야 했어.
[33:33]
정말 미친 일이었지. 그래서 내 발표의 마지막 부분은
[33:36]
에이전트를 위한 구축에 초점을 맞춘다. 내가
[33:39]
이런 작업을 하고 싶지 않다. 에이전트가 할 수 있을까?
[33:41]
감사합니다.
[33:44]
좋아. 대략적으로 말하자면,
[33:46]
디지털 정보의 새로운 소비자이자
[33:48]
조작자 범주가 있다고 생각한다.
[33:50]
예전에는 GUI를 통한 인간 또는
[33:53]
API를 통한 컴퓨터만 있었다. 이제는
[33:55]
완전히 새로운 것이 있고 에이전트는
[33:57]
컴퓨터이지만 인간과 같은 특성을 갖고 있다.
[34:00]
맞지, 이들은 사람의 영혼이야.
[34:02]
인터넷에 있는 사람의 영혼들이고
[34:04]
우리의 소프트웨어 인프라와 상호작용해야 한다.
[34:05]
우리가 그들을 위해 구축할 수 있을까?
[34:08]
이건 새로운 일이다. 예를 들어
[34:10]
도메인에 robots.txt를 둘 수 있고
[34:12]
웹 크롤러에게 지시하거나
[34:15]
조언을 할 수 있다. 웹사이트에서 어떻게
[34:18]
행동해야 하는지에 대해서. 마찬가지로
[34:19]
lm.txt 파일을 둘 수도 있는데
[34:21]
이는 단순한 마크다운으로
[34:23]
LLM에게 이 도메인이 무엇에 관한 것인지
[34:25]
알려주는 것이다. 이는 LLM이 읽기에
[34:28]
매우 적합하다. 만약 대신 웹페이지의
[34:30]
HTML을 가져와서 파싱을 시도해야 한다면
[34:32]
이는 오류가 발생하기 쉽고
[34:33]
어렵고 망칠 수 있으며
[34:35]
작동하지 않을 것이다. 그래서 우리는
[34:36]
LLM에게 직접 말할 수 있다.
[34:38]
그럴 가치가 있다. 엄청난 양의 문서가
[34:41]
현재 사람들을 위해 작성되어 있다.
[34:42]
그래서 목록이나 굵은 글씨나
[34:45]
그림들을 볼 수 있는데 이는
[34:47]
LLM이 직접 접근할 수 없다. 그래서 일부
[34:51]
서비스들이 이제 많은
[34:52]
문서를 LLM을 위해 특별히
[34:54]
전환하고 있는 것을 본다. Vercel과 Stripe가
[34:57]
예시로 초기 도입자들이지만
[34:59]
이미 몇 개 더 본 적이 있고
[35:01]
그들은 문서를 마크다운으로
[35:04]
제공한다. 마크다운은 LLM이
[35:06]
이해하기 매우 쉽다. 이건 훌륭하다.
[35:10]
내 경험에서 간단한 예시를
[35:12]
하나 들어보자. 여러분 중 일부는
[35:14]
3Blue1Brown을 알 것이다. 그는
[35:15]
YouTube에서 아름다운 애니메이션 비디오를 만든다.
[35:19]
[박수]
[35:23]
네, 이 라이브러리를 정말 좋아한다. 그가
[35:25]
작성한 Manim을 말이고, 나도 내 것을
[35:27]
만들고 싶었다. Manim 사용법에 대한
[35:30]
광범위한 문서가 있었고
[35:32]
실제로 읽고 싶지 않았다. 그래서
[35:34]
전체를 복사해서 LLM에 붙여넣고
[35:35]
내가 원하는 것을 설명했는데
[35:37]
바로 작동했다. LLM이 내가 원하는
[35:39]
애니메이션을 정확히 코딩해줬고
[35:41]
놀라웠다. 만약 우리가 문서를
[35:43]
LLM이 읽을 수 있게 만들 수 있다면
[35:45]
엄청난 양의 활용을 열어줄 것이고
[35:48]
이건 정말 멋지고 더 많이 일어나야 한다고
[35:51]
생각한다. 내가 지적하고 싶은
[35:52]
다른 것은 안타깝게도 단순히
[35:55]
문서를 가져와서 마크다운으로
[35:56]
나타나게 하는 것만이 아니라는 것이다.
[35:57]
그건 쉬운 부분이다.
[35:58]
실제로는 문서를 변경해야 한다.
[36:01]
문서에서 '클릭'이라고 말하는 부분은
[36:04]
좋지 않다. LLM은 할 수 없을 것이다.
[36:06]
지금은 LLM이 이런 작업을 기본적으로 수행할 수 없습니다. 그래서
[36:09]
예를 들어 Vercel은
[36:11]
'클릭'이라는 표현을 모두
[36:13]
LLM 에이전트가 대신 실행할 수 있는
[36:15]
동등한 curl 명령어로 바꾸고 있습니다.
[36:18]
정말 흥미로운 발전이죠.
[36:19]
그리고 물론 Anthropic의
[36:21]
모델 컨텍스트 프로토콜도 있습니다.
[36:23]
이것도 또 다른 방법으로,
[36:24]
새로운 디지털 정보의 소비자이자
[36:26]
조작자인 에이전트와
[36:28]
직접 소통하는 프로토콜입니다.
[36:29]
저는 이런 아이디어들에 대해
[36:31]
매우 낙관적입니다. 또한 정말 마음에 드는 것은
[36:33]
LLM 친화적인 형식으로 데이터를
[36:36]
수집하는 데 도움이 되는
[36:38]
여러 작은 도구들입니다.
[36:40]
예를 들어, 제 nanoGPT 저장소 같은
[36:42]
GitHub 저장소에 가면
[36:44]
이것을 LLM에 바로 넣어서
[36:46]
질문할 수는 없습니다.
[36:48]
이건 GitHub의 인간 인터페이스니까요.
[36:50]
하지만 URL을 GitHub에서
[36:52]
getingest로 바꾸면
[36:54]
모든 파일들을 하나의
[36:55]
거대한 텍스트로 연결하고
[36:57]
디렉토리 구조 등을 만들어줍니다.
[36:59]
그러면 좋아하는 LLM에
[37:01]
복사 붙여넣기해서 활용할 수 있죠.
[37:03]
더 극적인 예는
[37:05]
딥위키인데, 이건 단순히
[37:08]
파일의 원시 내용이 아니라
[37:10]
Devon이 있는 곳인데
[37:12]
Devon이 기본적으로
[37:14]
GitHub 저장소를 분석하고
[37:18]
저장소를 위한 전체
[37:19]
문서 페이지를 구축합니다.
[37:22]
이런 것들이 LLM에
[37:23]
복사 붙여넣기하기에
[37:24]
훨씬 더 유용할 거라고
[37:26]
상상할 수 있습니다.
[37:29]
저는 단순히 URL만 바꿔서
[37:30]
LLM이 접근할 수 있게 만드는
[37:32]
모든 작은 도구들을 정말 좋아합니다.
[37:35]
이 모든 것들이 훌륭하고
[37:38]
더 많아져야 한다고 생각합니다.
[37:39]
한 가지 더 언급하고 싶은 것은
[37:40]
미래에는 LLM이
[37:42]
아니 미래가 아니라 오늘날에도
[37:46]
돌아다니면서 클릭을 할 수 있지만
[37:48]
여전히 LLM과
[37:49]
중간 지점에서 만나는 것이
[37:51]
매우 가치 있다고 생각합니다.
[37:54]
LLM이 이 모든 정보에
[37:56]
더 쉽게 접근할 수 있게 만드는 것이
[37:58]
여전히 꽤 비싸고
[38:00]
훨씬 더 어렵기 때문입니다.
[38:02]
많은 소프트웨어들이
[38:04]
라이브 플레이어나
[38:06]
디지털 인프라 저장소가 아니기 때문에
[38:08]
적응하지 않을 긴 꼬리가 있을 것이고
[38:09]
우리는 이런 도구들이 필요할 것입니다.
[38:11]
하지만 다른 모든 사람들에게는
[38:14]
어떤 중간 지점에서 만나는 것이
[38:17]
매우 가치 있다고 생각합니다.
[38:18]
그래서 저는 둘 다에 대해
[38:20]
낙관적입니다. 이해가 되시나요?
[38:23]
요약하자면, 이 업계에 들어오기에
[38:25]
정말 놀라운 시기입니다.
[38:27]
우리는 엄청난 양의 코드를
[38:28]
다시 써야 합니다.
[38:30]
전문가들과 코더들이
[38:34]
엄청난 양의 코드를 작성할 것입니다.
[38:36]
이런 LLM들은 유틸리티 같기도 하고
[38:38]
팹 같기도 하지만
[38:41]
특히 운영체제 같습니다.
[38:43]
하지만 아직 너무 초기 단계예요.
[38:45]
운영체제의 1960년대 같은 수준이고
[38:47]
많은 유사점들이
[38:48]
교차한다고 생각합니다.
[38:50]
그리고 이런 LLM들은
[38:52]
우리가 함께 일하는 법을 배워야 하는
[38:54]
오류를 범할 수 있는
[38:57]
사람의 영혼 같은 존재입니다.
[38:59]
이를 제대로 하기 위해서는
[39:00]
우리의 인프라를 그에 맞게 조정해야 합니다.
[39:03]
LLM 앱을 구축할 때
[39:04]
이런 LLM들과 효과적으로 작업하는
[39:07]
방법들과 이를 가능하게 하는 도구들
[39:09]
그리고 이 루프를
[39:10]
매우 빠르게 돌리는 방법
[39:12]
그리고 기본적으로 부분적으로 자율적인
[39:15]
제품을 만드는 것에 대해
[39:17]
설명했습니다.
[39:19]
그리고 네, 많은 코드가
[39:21]
에이전트를 위해 더 직접적으로 작성되어야 합니다. 하지만 어떤 경우든 아이언맨 슈트 비유로 돌아가서, 향후 10년 정도에 걸쳐 우리가 보게 될 것은 슬라이더를 왼쪽에서 오른쪽으로 옮기는 것입니다. 그리고 그것이 어떤 모습일지 매우 흥미롭습니다. 여러분 모두와 함께 이것을 만들어가는 것이 정말 기대됩니다. 감사합니다.