AI의 영향력도 엄청나긴 하네요

MMaximilian Schwarzmüller
컴퓨터/소프트웨어AI/미래기술

스크립트

00:00:00지난주에 SvelteKit 3과 Solid 2가 릴리스 후보(RC) 버전으로 출시되었습니다.
00:00:08아직 완전히 안정화된 건 아니지만, 거의 다 왔죠.
00:00:10몇 년 전만 해도 이런 소식은 꽤 흥미로운 일이었을 겁니다.
00:00:15저를 포함해 관련 영상들이 쏟아져 나왔을 테고, 어쩌면 강의까지 나왔을지도 몰라요.
00:00:19그렇다면 요즘 같은 시대에도 이런 게 여전히 중요할까요?
00:00:24새로운 프레임워크나 지금 다루고 있는 새로운 버전 같은 것들이 과연 의미가 있기는 할까요?
00:00:30아니면 AI 시대에는 어차피 리액트(React)가 전부니까 상관없는 걸까요?
00:00:36애초에 신경 쓸 필요가 있나 싶기도 하죠.
00:00:38제 말은, AI가 코드를 그렇게 많이, 어쩌면 모든 코드를 작성해 준다면 기반 프레임워크나 라이브러리를 왜 신경 쓰겠냐는 겁니다?
00:00:46하지만 제 생각에는 여전히 꽤 신경을 써야 하며, 새로운 프레임워크와 라이브러리도 중요합니다.
00:00:52물론 요즘은 대중의 관심을 얻는 게 예전보다 훨씬, 훨씬 더 어려워진 것은 사실입니다.
00:00:59원래도 특별히 쉬웠던 적은 없지만, 지금은 더 나빠졌을지도 모릅니다.
00:01:05자, 한번 파고들어 봅시다.
00:01:06그렇다고 이 프레임워크들이나 버전들이 정확히 무엇을 담고 있는지 낱낱이 살펴보지는 않겠습니다.
00:01:13대신 공식 출시 블로그 링크를 남겨둘 테니 직접 확인해 보시기 바랍니다.
00:01:17다만 둘 다 꽤 흥미롭다는 점은 말씀드리고 싶네요.
00:01:21실제로 저도 AI와 얼마나 잘 작동하는지 알아보기 위해, 당장은 사내 프로젝트이긴 하지만 새로운 프로젝트 몇 개에 SvelteKit 3를 직접 써볼 계획입니다.
00:01:33왜냐하면 그게 중요하니까요.
00:01:36새로운 프레임워크에 반대하거나 그것의 중요성을 깎아내리는 근거 중 하나는 'AI에게는 선호하는 스택이 따로 있다'는 점일 겁니다.
00:01:49그건 당연히 리액트 같은 기술들이죠.
00:01:52즉 리액트나 넥스트JS(Next.js) 같은 것말입니다.
00:01:55맞는 말입니다.
00:01:56사실이에요.
00:01:56확실히 그런 측면이 있습니다.
00:01:58하지만 개발자가 올바른 맥락을 제공하기만 한다면, 알고 보니 AI는 새롭고 생소한 것들을 다루는 데도 꽤 능숙합니다.
00:02:09그리고 이건 절대 과소평가할 수 없는 부분이죠.
00:02:12물론 만약 여러분이 아무런 방향성도 제시하지 않은 채 그냥 AI에게 맡겨버리고, AI가 내리는 결정에는 전혀 관심이 없다면 말이지만요.
00:02:21즉, 일회성 프로젝트나 대충 쓰고 버릴 소프트웨어라면 이른바 '바이브 코딩(vibe coding)'으로도 충분할 수 있습니다.
00:02:28하지만 그런 식이라면 당연히 AI는 SvelteKit 버전 3이 뭔지 모를 수도 있습니다.
00:02:35애초에 여러분도 신경 쓰지 않겠죠.
00:02:37AI에게 그 버전을 쓰라고 지시조차 하지 않을 테니까요.
00:02:39그러니 그런 세계에서는 새로운 프레임워크나 라이브러리가 설 자리가 없는 게 당연합니다.
00:02:46하지만 세상 일이 다 바이브 코딩만 있는 건 아니죠.
00:02:48물론 그것도 각자의 영역은 있습니다.
00:02:50몇 년 뒤에 바이브 코딩이 어떤 역할을 할지, 그리고 온갖 기술 선택들이 여전히 중요할지 저는 알지 못합니다.
00:03:00하지만 지금 당장은 AI를 적극적으로 통제함으로써 확실히 엄청난 이점을 얻을 수 있습니다.
00:03:07이건 겸손하게 말한 겁니다.
00:03:08여러분은 마땅히 AI를 통제해야 합니다.
00:03:11개발자로서 우리의 역할은 그저 변하고 있을 뿐입니다.
00:03:15우리는 여전히 무엇을 만들고 어떻게 만들 것인지를 직접 통제해야 합니다.
00:03:19코드를 직접 타이핑해 넣지 않는다고 해서 코드나 아키텍처, 그리고 우리가 내리는 결정들을 신경 쓰지 않아도 된다는 뜻은 아닙니다.
00:03:29그건 예전 못지않게, 어쩌면 그 어느 때보다 더 중요합니다.
00:03:34이제 어떤 프레임워크를 다른 것보다 우위에 두고 선택하는 이유는 예전과 달라졌다고 생각합니다.
00:03:422019년즈음만 해도 특정 프레임워크를 고르는 주된 이유 중 하나는 당연히 개발자 경험(DX)이었습니다.
00:03:54개발자로서 그 도구를 다루는 시간이 즐거운가 하는 점이죠.
00:03:58특정 프레임워크나 라이브러리를 쓰며 엄청난 시간을 코딩에 쏟아부어야 하니 당연히 중요했습니다.
00:04:04그러니 작업 환경이 즐거워야 했던 거죠.
00:04:06물론 언제나 자기가 쓰고 싶은 걸 고를 수 있는 건 아닙니다.
00:04:09회사의 강요로 특정 프레임워크나 라이브러리를 억지로 써야 하는 곳에 다닐 수도 있으니까요.
00:04:15하지만 개발자로서 소속된 회사에 따라, 그리고 특히 프리랜서라면 더욱더 의사결정에 영향력을 행사하고 어떤 기술을 쓸지 주도할 수 있는 여지가 있었습니다.
00:04:29그래서 프레임워크의 개발자 인체공학이 좋은지, 훌륭한 개발자 경험을 제공하는지가 과거에는 대단히 중요했습니다.
00:04:41물론 그게 전부는 아니어서 성능이나 번들 크기 같은 것들도 이미 중요했었죠.
00:04:46그 외에도 중요하게 여겨지는 요소들이 있었습니다.
00:04:49자바스크립트 프론트엔드 프레임워크를 예로 들면, 주어진 프레임워크로 서버 사이드 렌더링(SSR)을 구현하기가 얼마나 쉽고 어려운가 하는 점들이죠.
00:04:58이렇듯 고려할 점은 많지만, 개발자 경험이라는 측면의 중요성은 이제 낮아졌습니다.
00:05:05이제 개발자 경험은 사실상 별로 중요하지 않다고 봐도 무방합니다.
00:05:10대신 앞으로 중요해질 것은 일종의 'AI 경험', 뭐 뭐라고 불러야 할지 모르겠지만 AX 같은 것이겠죠?
00:05:16그건 당연히 엄청나게 중요합니다.
00:05:19물론 성능이나 번들 크기 같은 전통적인 요소들도 여전히 중요하지만 말입니다.
00:05:27AI 덕분에 코드가 워낙 빠르게 튀어나오기 때문에, 어떤 프레임워크를 쓰는지 그 자체는 오히려 예전보다 덜 중요해졌다고 주장할 수도 있습니다.
00:05:43기술 스택 전환이 예전보다 쉬워졌으므로, 현재 작업 중인 앱이나 프로젝트에 어떤 측면이 가장 중요한지 면밀히 살펴본 뒤, 그에 가장 알맞은 프레임워크나 라이브러리를 골라 쓰면 그만입니다.
00:06:00개발자 경험 같은 건 이제 전혀 신경 쓰지 않아도 된다는 뜻입니다.
00:06:03생태계 규모에 대해서도 예전만큼 얽매일 필요가 없다고 봅니다.
00:06:07물론 생태계가 여전히 중요하긴 합니다.
00:06:09여전히 하나의 요인이죠. 예컨대 리액트를 쓰면 거대한 생태계 전반을 누릴 수 있습니다.
00:06:17ShadCN도 있고, 그 외에도 수많은 라이브러리가 있으니까요.
00:06:20하지만 (제 입장에서는 유감이지만) 상대적으로 덜 중요해진 한 가지 측면은 특정 기술과 관련된 튜토리얼의 양입니다.
00:06:29앞서 말했듯 이제 여러분이 직접 코드를 다 짜지 않을 수도 있기 때문입니다.
00:06:33그래서 그 부분은 중요도가 예전만 못합니다.
00:06:35또한 라이브러리 등 생태계의 다른 부분들도 물론 있으면 좋기야 하죠.
00:06:41하지만 AI는 여러분이 원하는 것이 무엇이든 꽤 그럴듯하게 만들어 냅니다.
00:06:46Svelte용 ShadCN을 직접 만들고 싶다면 말입니다 (이미 Svelte용 ShadCN이 존재하긴 하지만요).
00:06:54만약 리액트에는 존재하지만 여러분이 좋아하는 프레임워크에는 없는 라이브러리를 직접 구현하고 싶다면, AI에게 만들어달라고 요청하면 됩니다.
00:07:02인기 있는 리액트 라이브러리를 포크(fork)해서 여러분이 좋아하는 프레임워크용으로 포팅해 달라고 AI에게 시키면 되는 것이죠.
00:07:11물론 사소한 토이 프로젝트마다 그럴 가치는 없겠지만, 규모가 큰 프로젝트라면 충분히 그럴 가치가 있을 수 있습니다.
00:07:19이런 식으로 일 처리가 가능하니까요.
00:07:21결론적으로 생태계가 여전히 중요하긴 하지만 과거만큼 절대적이진 않다고 봅니다.
00:07:28다만 앞서 언급했듯 진정으로 중요한 것은 바로 'AI 경험'이라고 할 수 있는 부분입니다.
00:07:33그게 무슨 뜻이냐고요?
00:07:36여기에는 아마 여러 가지 의미가 담길 수 있을 겁니다.
00:07:39제가 의미하는 바는 AI가 여러분이 쓰고자 하는 프레임워크나 라이브러리를 학습하고 이해하기가 얼마나 쉬운가 하는 점입니다.
00:07:47그리고 해당 프레임워크가 AI로 하여금 얼마나 강제로 좋은 코드를 작성하게 만드느냐 하는 것이죠.
00:07:54예를 하나 들어보겠습니다.
00:07:55이펙트(Effect) 라이브러리가 있습니다.
00:07:57이펙트는 자바스크립트 프론트엔드 프레임워크는 아니지만, 개발자들이 복잡한 동기 및 비동기 프로그램을 쉽게 작성할 수 있도록 돕는 자바스크립트 혹은 타입스크립트 라이브러리입니다.
00:08:08예를 들어 백엔드에서도 유용하게 쓸 수 있죠.
00:08:10정말 다양한 기능이 포함되어 있습니다.
00:08:12정말 놀라운 도구죠.
00:08:13이펙트가 훌륭한 이유이자 적어도 특정 닉스(niche) 계층에서 인기를 얻는 주된 이유는, 개발자(혹은 AI)가 잘못된 코드를 짤 경우 적극적으로 제동을 걸고 오류를 지적하는 수많은 규칙들이 내장되어 있기 때문입니다.
00:08:35이펙트는 타입스크립트 라이브러리로서 타입스크립트를 강하게 채택하고 있으며, 엄격한 타입 검사와 각종 기능을 통해 일정한 규칙을 따르고 정해진 방식으로 프로그램을 작성하도록 강제합니다.
00:08:54따라서 AI와 협업할 때는, AI가 엉뚱한 것을 지어내거나 규칙을 깨려고 할 때 이를 제지하고 꾸짖는 메커니즘이 있다면 무엇이든 큰 도움이 됩니다.
00:09:09이것이 바로 훌륭한 AI 경험의 한 단면이라고 할 수 있습니다.
00:09:12엄격한 규칙을 강제하고 사용자가 저지를 수 있는 실수나 코드의 편차를 최소화해 주는 라이브러리나 프레임워크와 함께 일하는 것 말입니다.
00:09:28이게 첫 번째 측면입니다.
00:09:29다른 한편으로는 AI가 새로운 것을 얼마나 쉽게 학습하느냐 하는 점입니다.
00:09:32여기서 핵심은 역시 문서(docs)입니다. 앞서 AI가 새롭고 낯선 기술을 다루는 데도 꽤 능숙하다고 말씀드렸으니까요.
00:09:44물론 AI는 리액트에 관한 방대한 지식을 내재하고 있지만, 한편으로는 공개된 수많은 저장소로부터 좋지 않은 패턴까지 학습했다는 단점이 있을 수도 있습니다.
00:09:56하지만 적절한 문서 페이지를 가리키거나 올바른 스킬을 부여하기만 해도, AI는 특정 기술을 활용해 매우 훌륭한 결과물을 만들어 냅니다.
00:10:07저도 늘 그렇게 하고 있습니다.
00:10:09라이브러리나 프레임워크의 새로운 버전을 다룰 때 AI를 적극 활용하죠.
00:10:13예컨대 나온 지 아주 새로운 건 아니지만 버전 4가 새로 나온 이펙트(Effect)를 쓸 때도 그렇습니다.
00:10:18클라우드 인프라 솔루션으로서 비교적 최근에 나온 알케미(Alchemy) 같은 기술을 쓸 때도 마찬가지입니다.
00:10:25그냥 문서를 건네주거나, 제가 즐겨 하는 방식대로 AI에게 심층 조사를 요청하면 됩니다.
00:10:31초기 문서를 주고 더 깊이 파고들게 한 뒤, 특정 라이브러리를 쓰는 프로젝트에 바로 투입할 수 있는 스킬을 만들라고 지시하면 결과물이 정말 좋습니다.
00:10:42이러한 모든 이유로 인해, 결국 새로운 프레임워크나 라이브러리 버전은 여전히 엄청나게 중요합니다.
00:10:49물론 꼭 새 버전뿐만이 아니죠.
00:10:51완전히 새로운 라이브러리와 프레임워크 역시 대단히 중요합니다.
00:10:55다만 그 이유가 어느 정도 바뀌었을 뿐입니다.
00:10:58앞서 언급했듯 성능 같은 요소는 언제나 중요할 것입니다. 결국 최종 사용자를 위한 제품을 만들고 있기 때문이죠.
00:11:06사내 도구 같은 경우라면 최종 사용자가 바로 자기 자신이 될 수도 있겠고요.
00:11:10어쨌든 속도가 빠르고 자꾸 다운되지 않는 도구가 필요합니다.
00:11:14따라서 이 모든 게 여전히 중요합니다.
00:11:16하지만 그와 더불어 오늘날 가장 중요한 것은 특정 프레임워크나 라이브러리가 AI와 얼마나 잘 협업하느냐 하는 점입니다.
00:11:25그리고 이것은 당연히 프레임워크와 라이브러리가 어떻게 개발되어야 하고 또 개발되어야만 하는지에 변화를 줍니다.
00:11:30이러한 프레임워크 뒤에 있는 개발자들의 우선순위가 어디에 있어야 하는지도 달라지죠.
00:11:34그들은 AI가 특정한 방식으로 작동하도록 강제하고, AI가 저지를 수 있는 실수를 최소화할 수 있는 도구를 만들려고 노력해야 합니다.
00:11:43왜냐하면 우리가 궁극적으로 하려는 일은, 비결정적인 성격을 가진 AI를 어느 정도 결정론적인 세계에 억지로 끼워 맞춰 양쪽의 장점을 모두 취하려는 것이기 때문입니다. AI의 유연함과 속도를 챙기면서도, 완전히 엉뚱하게 폭주하여 끔찍한 코드를 뱉어내는 상황은 피하려는 것이죠.
00:12:03그리고 새로운 프레임워크와 라이브러리들이 바로 이 지점에서 중요한 역할을 담당한다고 생각합니다.
00:12:09따라서 이러한 프레임워크와 라이브러리를 학습하는 방식도 확실히 변했습니다.
00:12:14개발자로서 여러분은 새로운 프레임워크나 라이브러리를 익히기 위해 거대한 강의를 몇 시간씩 수강하려 들지 않을 것입니다.
00:12:23아마 문서나 유튜브 영상, 혹은 강의 등을 통해 기초를 빠르게 훑는 방식을 택할 것이고 또 그렇게 해야 합니다.
00:12:33물론 강의 자체도 변하고 있고요.
00:12:36AI를 통해 무엇이든 효율적으로 다루려면, 그것이 무엇이든 간에 작업 대상에 대한 기본적인 이해를 갖추고 있어야 한다고 믿기에 저 역시 제작하는 콘텐츠의 방식을 바꾸고 있습니다.
00:12:49AI에게 무엇을 요구해야 하는지, 어떤 점을 주의해야 하는지, 잠재적인 함정이나 모범 사례는 무엇인지 등을 이해해야 하니까요.
00:12:56이처럼 무언가를 학습하고 무엇을 쓸지 결정하는 방식은 확실히 변화하고 있습니다.
00:13:00 그렇다고 해서 프레임워크와 라이브러리를 둘러싼 혁신의 중요성이 사라졌다는 뜻은 아닙니다.
00:13:06오히려 AI에게 더 명확한 규칙을 부여하는 프레임워크를 향한 혁신의 여지와 여백이 많아졌기에 그 어느 때보다 중요하다고 봅니다.
00:13:16또한 더 빠르고 성능이 뛰어나며 오류가 적은 애플리케이션을 구축할 수 있게 해주는 프레임워크, 라이브러리, 도구들은 언제나 중요합니다.
00:13:26왜냐하면 앞서 언급했듯, 그것이 바로 우리가 AI의 유무와 상관없이 궁극적으로 해내야 하는 일이니까요.

핵심 요약

AI 시대에는 개발자 경험(DX)보다 AI 경험(AX)과 엄격한 규칙 강제 기능이 프레임워크 및 라이브러리 선택의 핵심 기준이 된다.

하이라이트

  • SvelteKit 3과 Solid 2의 RC 버전 출시를 계기로 AI 시대에 새로운 프레임워크와 라이브러리가 여전히 중요한지 논의한다.

  • 바이브 코딩 같은 일회성 방식과 달리, AI를 적극적으로 통제하고 관리하는 개발 방식에서는 새로운 기술 스택과 프레임워크 선택이 여전히 중요하다.

  • 과거 개발자 경험(DX) 중심의 기술 선택 기준은 AI 시대에 접어들며 AI 경험(AX)과 엄격한 규칙 강제 기능으로 이동한다.

  • 생태계의 규모나 튜토리얼 양의 중요성은 낮아졌지만, AI가 새로운 라이브러리를 빠르게 학습하고 엉뚱한 코드를 짜지 못하게 제어하는 메커니즘은 핵심 요소로 부각된다.

  • 이펙트(Effect)나 알케미(Alchemy) 같은 라이브러리와 도구들은 엄격한 타입 검사와 규칙을 통해 AI와 협업할 때 강력한 통제력을 제공한다.

타임라인

AI 시대 새로운 프레임워크의 필요성과 통제

  • SvelteKit 3과 Solid 2가 RC 버전으로 출시되었다.
  • AI가 코드를 작성해 주는 시대에도 기반 프레임워크와 라이브러리는 여전히 중요하다.
  • 일회성 프로젝트인 바이브 코딩과 달리 개발자가 AI를 적극적으로 통제하는 방식에서는 기술 선택이 필수적이다.

최근 프레임워크들이 출시되면서 AI 시대에 이들의 의미가 있는지 의문이 제기된다. AI에게 모든 것을 맡기는 바이브 코딩 방식에서는 프레임워크 버전이 중요하지 않을 수 있으나, 개발자가 아키텍처와 코드를 직접 통제하고 관리하는 환경에서는 새로운 프레임워크와 라이브러리의 선택이 여전히 강력한 이점을 제공한다.

개발자 경험(DX)에서 AI 경험(AX)으로의 전환

  • 과거에는 코드를 다루는 즐거움인 개발자 경험(DX)이 프레임워크 선택의 주된 이유였다.
  • AI 덕분에 코드가 빠르게 생성되면서 전통적인 개발자 경험의 중요성은 낮아졌다.
  • 대신 생태계 규모나 튜토리얼 양의 절대적 영향력은 줄어들고 필요한 라이브러리를 직접 구현하는 것이 가능해졌다.

2019년경만 해도 개발자가 오랜 시간 코딩을 하기 때문에 도구의 즐거움과 개발자 인체공학이 중요했다. 그러나 AI가 코딩 속도를 혁신적으로 높이면서 프레임워크 자체의 유연한 전환이 가능해졌다. 리액트 중심의 거대한 생태계나 튜토리얼의 양에 얽매일 필요 없이, AI에게 요청하여 필요한 라이브러리를 포팅하거나 직접 구현할 수 있게 되었다.

AI 경험(AX)의 정의와 엄격한 규칙의 중요성

  • AI 경험(AX)은 AI가 프레임워크를 얼마나 쉽게 학습하고 좋은 코드를 작성하도록 강제하는가에 달려있다.
  • 이펙트(Effect) 같은 라이브러리는 엄격한 타입 검사와 규칙을 통해 AI가 엉뚱한 코드를 짜는 것을 제지한다.
  • AI에게 문서를 제공하고 스킬을 부여하는 학습 방식의 변화 속에서도 성능과 오류 방지를 위한 프레임워크의 혁신은 계속된다.

새로운 시대에 가장 중요한 것은 AI가 라이브러리를 학습하기 쉽고 잘못된 코드를 엄격히 차단하는 AI 경험이다. 이펙트나 알케미 같은 도구들은 비결정적인 AI를 결정론적인 규칙에 묶어두어 끔찍한 코드를 배출하는 상황을 방지한다. 개발자는 문서를 기반으로 AI에게 명확한 규칙을 부여하며, 최종 사용자를 위한 성능과 속도를 담보하는 도구의 혁신은 여전히 핵심적인 가치로 남는다.

커뮤니티 글

모든 글 보기