안드레이 카파시가 제시하는 소프트웨어의 새로운 패러다임에 대한 강연입니다. 그는 소프트웨어가 1.0(사람이 작성하는 코드), 2.0(신경망의 가중치), 그리고 3.0(LLM을 프로그래밍하는 프롬프트)으로 진화하고 있다고 설명합니다. LLM은 새로운 운영체제와 유사하며, 1960년대의 컴퓨팅 환경처럼 시간 공유 방식으로 사용되고 있습니다. LLM은 지식과 기억력은 뛰어나지만 환각, 불안정한 지능, 기억 상실 등의 인지적 결함도 가지고 있습니다. 이러한 LLM을 효과적으로 활용하기 위해 부분 자율 앱을 개발하고, 인간과 AI가 협력하여 작업을 수행하는 방식을 개선해야 합니다. 궁극적으로 인간은 검증을, AI는 생성을 담당하며, GUI를 통해 검증 속도를 높이는 것이 중요합니다.
1. 🚀 소프트웨어 패러다임의 진화
- 소프트웨어는 70년 동안 크게 변하지 않다가 최근 몇 년간 급격히 두 차례 변화했다.
- 과거에는 소프트웨어 1.0으로 코드가 컴퓨터를 프로그래밍했지만, 소프트웨어 2.0은 신경망의 가중치를 프로그래밍한다.
- 최근에는 대형 언어 모델(LLM)로 소프트웨어 3.0이 등장했으며, 이 모델은 영어로 작성된 프롬프트를 사용하여 컴퓨터를 프로그래밍하는 새로운 방식이다.
- 다양한 프로그래밍 패러다임에 능통하는 것이 중요하며, 소프트웨어 1.0, 2.0, 3.0 각각의 장단점을 이해하고 적절한 기능을 구현해야 한다.
- 소프트웨어 1.0, 2.0, 3.0은 서로 다른 프로그래밍 방식으로, 업계 진출을 앞둔 학생들에게 매우 중요한 시점임을 강조한다.
2. 💡 LLMs와 소프트웨어 패러다임의 변화
- LLMs는 새로운 컴퓨터의 역할을 하고 있으며, 그 생태계는 복잡하면서도 유틸리티로서의 특성을 가지고 있다 .
- LLM의 운영은 전력망과 유사하며, API를 통해 metered access 방식으로 이용 가능하다 .
- LLM의 속성과 전력망이 불안정해지면, LLM에 대한 의존도가 높은 세계는 지능적인 브라운아웃의 영향을 받을 가능성이 있다 .
- LLM은 전력과 물처럼 단순한 소모품이 아니라, 복잡한 소프트웨어 생태계를 구성하는 운영체제와 비슷하다 .
- 이 새로운 컴퓨터 기술은 정부와 기업보다 일반인에게 빠르게 확산되고 있으며, 심리적 및 지능적 결함을 가지고 있지만 또한 백과사전적 지식을 제공한다 .
2.1. LLM의 새로운 패러다임과 전력 유틸리티에 대한 비유
- LLM(대규모 언어 모델)은 새로운 컴퓨터 패러다임과 그 생태계를 설명하는 중심 요소이다.
- AI는 “전기의 새로운 형태”로 비유될 수 있으며, LLM은 현재 유틸리티의 성격을 지닌다고 할 수 있다.
- LLM 랩은 LLM을 훈련하기 위해 대규모 자본을 투자하고, API를 통해 그 지능을 서비스하며, 이 과정은 전력망을 구축하는 것과 비슷하다.
- 사용자는 API를 통해 낮은 지연, 높은 가동 시간, 일관된 품질과 같은 요구를 하며, 이런 점에서 전력 유틸리티와 유사한 성격을 갖는다.
- 여러 LLM 간의 전환이 용이하며, 이로 인해 물리적 공간 경쟁이 없고 다양한 서비스 제공자가 공존 가능하다.
2.2. LLM과 운영체제 및 1960년대 컴퓨팅 환경의 유사성
- LLM은 운영체제와 강한 유사성을 가지며, 단순한 전기나 물과 같은 상품이 아닌 복잡한 소프트웨어 생태계로 진화하고 있다.
- 현재 LLM은 몇 가지 폐쇄 소스 공급자와 개방형 소스 대안이 경쟁하는 생태계를 형성하고 있으며, 이는 Windows, Mac OS, Linux의 관계와 유사하다고 볼 수 있다.
- LLM 컴퓨트가 매우 비싸기 때문에 시스템이 현재 클라우드에 중앙화되어 있으며, 사용자는 네트워크를 통해 얇은 클라이언트로 상호작용하므로 시간 공유 방식이 필요하다.
- 개인용 컴퓨팅은 아직 등장하지 않았지만 일부 사람들은 이를 시도하고 있으며, Mac Minis가 일부 LLM에 적합하다는 초기가 발견되고 있다.
- LLM과 대화할 때는 운영체제와 터미널을 통해 대화하는 것과 유사하며, 일반적인 GUI는 아직 발명되지 않았다고 추정된다.
2.3. LLMs와 기술 확산의 역전된 방향성
- 대규모 언어 모델(LLMs)은 기술 확산의 방향성을 뒤집는 독특한 성질을 가지고 있다. 이들은 기존의 기술들과 달리 소비자 채택이 정부나 기업의 사용에 앞선다.
- 전통적으로 전기, 암호학, 컴퓨팅, 인터넷, GPS 같은 기술은 처음에 정부와 기업들이 먼저 사용하고, 이후에 소비자로 확산되었다.
- 하지만 LLMs는 처음부터 소비자가 바로 사용할 수 있는 기술로, 대부분의 사용이 물리적인 것보다는 일상적인 용도로 이루어지고 있다.
- 현재 정부나 기업보다 소비자들이 더 빠르게 이 기술을 채택하고 있다. 이는 우리가 이 기술을 어떻게 활용할지에 관한 통찰을 제공한다.
- LLMs는 1960년대 컴퓨팅의 컴백과 같으며, 이전과는 달리 거의 모든 사람이 이를 즉시 사용할 수 있게 되어 있다.
2.4. LLM의 인지적 특성과 한계
- 대형 언어 모델(LLM)은 사람과 유사한 심리를 가진 확률적 시뮬레이션으로 이해할 수 있다.
- LLM은 인터넷상의 방대한 텍스트 학습으로 인해 백과사전적 지식과 기억력을 가지고 있지만, 종종 환각이나 잘못된 정보를 생성할 수 있는 인지적 결함도 가지고 있다.
- 완벽한 기억력을 가진 영화 ‘레이맨’의 캐릭터와 비슷하게, LLM은 SHA 해시 등을 기억하는 데 있어 뛰어난 능력을 발휘한다.
- 이 모델들은 특정 문제 해결 영역에서 초인적인 능력을 보이는 반면, 인간이 저지르지 않을 실수를 하는 등 불완전한 지능을 보인다.
- LLM의 이러한 불안정한 지능은 때때로 잘못된 수학적 정답이나 철자 오류와 같은 예시로 나타난다.
2.5. LLM의 인지적 결함과 보안 문제
- LLM은 entrograde amnesia를 겪으며, 지속적인 조직 학습과 지식 축적이 자연스럽게 이루어지지 않는다.
- 이들 시스템은 고정된 Context windows를 가지고 있어, 맥락 기억이 제한되며 본질적으로 더 똑똑해지지 않는다.
- LLM 사용과 관련된 보안 문제로는 프롬프트 주입 위험과 데이터 유출 가능성이 있다.
- LLM의 인지적 결함과 보안 문제를 고려하면서도, 이들의 뛰어난 기능을 최대한 활용할 방법을 모색해야 한다.
3. 🔧 부분 자율 소프트웨어: LLM과의 협력
- 부분 자율 앱은 전통적인 사용자 인터페이스를 통해 수작업을 하던 방식을 유지하면서, LLM 통합을 통해 더 큰 단위의 작업을 수행할 수 있다 .
- LLM 앱은 컨텍스트 관리와 여러 LLM 호출의 조정과 같은 기능을 제공한다 .
- 구체적인 GUI는 사용자에게 시스템을 감사할 수 있는 기능을 제공하므로 중요하다 .
- 사용자에게는 자율성 슬라이더가 제공되어, 작업의 복잡성에 따라 AI에게 맡길 자율성 정도를 조정할 수 있다 .
- 빠른 검증 루프를 위해, GUI를 통한 작업이 중요하며, 이는 컴퓨터 비전 GPU를 활용하여 더욱 직관적이고 빠른 경험을 제공한다 .
3.1. 부분 자율 앱의 기회
- LLM을 활용하는 기회를 탐구하고 있으며, 부분 자율 앱이 중요한 기회로 언급되고 있다.
- 이번 토크에서는 부분 자율성을 지닌 앱의 가능성에 초점을 맞추어 논의하고 있다.
- 코딩을 예로 들어 설명하며, 스마트한 앱을 통해 작업을 자동화하는 것이 더욱 유리하다는 점을 강조한다.
- 코드를 복사하거나 버그 보고서를 복사하는 등의 작업을 챗봇 대신, 전용 앱을 통해 더욱 효율적으로 수행할 수 있다는 점을 언급한다.
3.2. 부분 자율 애플리케이션의 특성
- Cursor는 초기 LLM 통합 앱의 예시로, 사람이 수동 작업을 수행할 수 있는 전통적 인터페이스와 더불어 LLM이 큰 문맥 관리를 수행할 수 있도록 돕는다.
- Cursor는 다양한 파일 임베딩 모델, 실제 채팅 모델, 코드를 수정하는 모델을 포함하여 여러 LLM 호출을 조정하는 기능을 가지고 있다.
- GUI는 문자로 작업을 수행하는 어려움을 덜어주며, 이를 통해 시스템의 작업을 검토하고 빠르게 처리할 수 있도록 돕는 매우 중요한 역할을 한다.
- 자율성 슬라이더는 사용자가 작동 수준을 조정할 수 있도록 하여, 작업의 복잡성에 따라 자율성을 조정할 수 있게 한다.
- Perplexity는 Cursor와 유사한 기능을 가지며, 이와 같은 특성들이 소프트웨어의 부분 자율성을 향해 나아가는 데 중요한 요소들로 사용될 수 있다.
3.3. 인간-AI 협업에서의 생성 및 검증 루프 최적화
- LLM 앱에서 AI가 생성의 역할을 하는 반면, 인간은 검증의 역할을 하며 이 루프를 최대한 빠르게 수행하는 것이 중요하다.
- 검증 속도를 높이는 주요 방법 중 하나로 GUI가 있으며, 컴퓨터 비전 GPU를 활용하여 시각적으로 정보를 검토하는 과정을 지원한다.
- AI를 ‘on the leash‘에 유지하여 과도한 반응을 방지하는 것이 중요하며, AI가 생성하는 대량의 코드에서 버그와 보안 문제를 방지해야 한다.
- 효과적인 AI와의 협업을 위해서는 작은 증분에 집중하고, 모든 작업이 올바른지를 지속적으로 확인하여 루프의 속도를 높여야 한다.
- 많은 사람들이 AI 보조 코딩에서 큰 변화보다는 작고 구체적인 작업에 중점을 두고 있으며, 이러한 방식은 효율적인 협업을 위한 공통된 전략이다.
3.4. 효과적인 LLM 사용을 위한 실천적 기법
- LLM과 효과적으로 상호작용하기 위해서는 구체적인 프롬프트가 중요하며, 이는 성공적인 검증 확률을 높인다.
- LLM이 잘못된 응답을 할 경우, 검증에 실패하면 추가 요청을 해야하고, 이는 비효율적이다.
- 교육 분야에서 AI를 통제하기 위한 방법에 대한 큰 관심이 있으며, 이는 교육용 앱 개발에 중요한 요소이다.
- 교육을 위한 앱으로는 강의 생성 앱과 강의를 전달하는 학생용 앱으로 나누어 LLM의 통제를 유지한다.
- 강좌가 감사 가능하며, 일관성을 확보할 수 있는 중간 산물을 통해 AI가 실라버스를 벗어나지 않도록 한다는 접근이 유효하다.
3.5. ️ 부분 자율성과 증강의 균형
- 부분 자율성은 테슬라와 같은 제품에서 중요한 특성을 공유하며, 사용자가 자율성을 조절할 수 있는 자율 성능 슬라이더를 통해 점점 더 많은 자율적인 작업을 수행할 수 있다.
- 2013년 처음 자율 주행 차량을 경험하면서 자율 운전이 임박했다고 느꼈으나, 현재까지도 인간의 개입이 필요한 상황으로 완벽한 자율성이 이룩되지 않았다.
- 소프트웨어의 자율성 문제는 운전의 어려움과 비슷하며, ‘에이전트의 시대’를 언급하지만, 이는 오랜 시간이 걸릴 문제로 인간 개입이 필요하다.
- 아이언맨 슈트는 기술적 증강을 보여주는 좋은 예로, 자율성과 에이전트를 동시에 가지고 있으며, 현재는 자율성보다는 증강과 부분 자율성이 중요하다.
- 자율성 제품은 빠른 인간 검증 생성 루프를 강조하며, 제품에 자율 성능 슬라이더를 추가하여 시간이 지남에 따라 더 자율적인 방향으로 개발될 기회가 많다.
3.6. Vibe Coding과 AI 에이전트를 위한 소프트웨어 인프라
- 새로운 프로그래밍 언어가 출현하며, 자연어 인터페이스인 영어를 통해 누구나 프로그래밍할 수 있는 시대가 도래했다.
- Vibe Coding은 맞춤형 애플리케이션을 쉽게 생성할 수 있는 방법으로, 기존에는 불가능했던 일들을 가능하게 한다.
- Menu Genen 앱 사례에서, 코드 작성 자체는 쉬웠지만 실제 서비스화 과정에서 많은 DevOps 노동이 필요했으며 이는 비효율적이었다.
- AI 에이전트를 위한 새로운 소프트웨어 인프라를 구축하고, 마크다운 문서화를 통해 LLM이 접근하기 쉬운 환경을 조성하는 것이 중요하다.
- LLM이 정보를 쉽게 접근하도록 돕는 다양한 도구들이 있으며, 이러한 도구를 통해 LLM 친화적인 데이터 인제스팅이 가능하다.
