brunch

2025-2035 : DECADE of agents

S/W 3.0과 함께하는 Partial Autonomy의 시대

by being cognitive

이제는 특별한 소개가 필요없는 탑클래스 AI 연구자이자 교육자인 "the" Andrej Karpathy의 Y Combinator 발표 영상 및 자료가 지난주에 공개되었습니다.


. 유투브 링크 : https://www.youtube.com/watch?v=LCEmiRjPEtQ

. 발표 자료 : https://drive.google.com/file/d/1a0h1mkwfmV2PlekxDN8isMrDA5evc4wW/view


Andrej Karpathy의 영상은 항상 유익한데요, 제 관점에서 함께 나누고 싶은 인사이트들이 있어서 약간의 해석과 함께 글 남깁니다.


1. Software is Changing (Again)


Software는 70년간 거의 변화가 없었는데, 최근에 급격한 변화를 두번이나 겪고 있다고 생각을 밝힙니다. (따라서, 기존 코드의 상당 부분을 새로 작성해야할 것이라고 합니다.)


. S/W 1.0 : (우리가 오랫동안 알고 있던) if else, for loop 등으로 동작하는 "Rule 기반"의 프로그램
(주로 GitHub)

. S/W 2.0 : (고양이 이미지를 식별한다) 훈련 데이터로 학습시킨 "신경망 가중치"로 동작하는 프로그램

(주로 HuggingFace)


그런데, 여기에서 한번 더 큰 변화가 일어나고 있습니다.


. S/W 3.0 : LLM에 입력하는 "프롬프트"에 의해 동작하는 프로그램입니다. (2.0과 마찬가지로 신경망이지만, input과 output이 고정된 형식이 아니라, 어떤 프롬프트를 넣느냐에 따라서 다르게 동작하는 프로그램을 만들 수 있는데, 이 프롬프트가 우리가 쓰는 자연어라는 점이 가장 큰 차이입니다. "The hottest new programming language is English")


Untitled____.png


Untitled___.png



==> 따라서, Andrej가 Tesla에 있을 때에는 기존의 C++코드 (S/W 1.0)의 상당 부분을 걷어내고 신경망 (S/W 2.0)으로 대체했었는데, 이제는 S/W 3.0 으로 상당히 많은 부분이 재작성되어야 하는 시기로 보고 있다고 합니다.

(* 실제로 저도 요즘 일하면서 많이 체감하는 부분입니다. 이런이런 chunk는 기존의 방식을 버리고, 오롯이 언어모델로 동작하게 만들어버리는게 더 성능이 좋지 않을까요?에 대해서 팀 내에서 발제가 꾸준히 이루어지고 있습니다.)


Untitled_____.png



2. LLM의 고유한 특징 및 한계가 있음. (예전 글에서도 다뤘지만)

. SHA256 해시값을 엄청나게 잘 기억한다던가 하는 (사람으로 치면 전화번호부를 외우는 것과 같은) 유별날 정도로 뛰어난 백과사전 수준의 기억력을 보유하고 있지만,

. Hallucination현상이라던가, 9.9보다 9.11이 크다고 말하는 것과 같은 울퉁불퉁한 지능 (Jagged Intelligence)의 한계가 아직 있고,

. Context Window 대화창의 길이만큼의 기억력을 갖고 있어서 메멘토 영화 주인공과 같이 대화가 초기화되는 특징이 있음.

. 그리고, 잘 속아 넘어갑니다. (gullibility) 그래서, 보안적인 문제가 발생할 수 있습니다. (** https://github.com/asgeirtj/system_prompts_leaks LLM을 만드는 기업들의 기밀 / 노하우라 할 수 있는 System Prompt가 매번 이렇게 유출되는 것만 봐도 알 수 있습니다. 할머니 자장가 핑계를 대면서 폭탄 제조법을 말하게 만드는 유명한 사례도 있었구요-)


==> 이러한 한계가 있음에도, 이 LLM들의 Superpower를 잘 이끌어낼 수 있는 아이디어들을 공유해보고자 합니다.



3. "Partial autonomy apps" : 전체는 아니더라도, 부분적으로 AI에게 자율성을 부여하는 방안입니다.


. 가장 좋은 사례는, 많은 개발자들이 사용하고 있고 Andrej Karpathy도 사용하고 있는 Cursor입니다.

기존의 인터페이스는 유지함으로써, 예전 방식으로도 작업할 수 있게 하면서도, LLM과 통합된 새로운 영역을 넣어놓습니다. 이 영역을 해부해보면, LLM 초창기 어플리케이션의 주된 4가지 특성들을 알 수 있습니다.

(1) LLM을 그냥 활용하는 것이 아니고, 기존의 맥락을 미리 넣어놓고 LLM을 동작하게 합니다. (**그래서, 똑같은 질문을 하더라도, 이 경우에는 보다 프로그래밍에 적합한 답변을 얻을 수 있도록 만들게 합니다.)

(2) 단일 모델을 사용하지 않습니다. 각각의 작업에 적합한 모델"들"을 orchestration해가면서 사용자가 원하는 답을 내놓는 것 뿐만 아니라, 사용자가 원하는 "작업"을 최대한 완료하게 만듭니다. (Cursor의 경우, LLM을 통한 일반 질의 응답 뿐만 아니라, LLM이 만들어낸 코딩 결과물을 기존 코드와 새로운 코드를 비교해서 적용하는 'diff' 적용 모델도 섞어서 활용해야, 실제 사용자가 원하는 작업의 완료에 보다 가까워질 수 있습니다.)

(3) 작업에 알맞은 고유한 GUI가 들어갑니다. (사람이 하나하나 텍스트로 답하는 것이 아니고, diff를 빨간색/초록색으로 변경분을 확인하면서 Cmd-Y로 수락하면 훨씬 작업이 빠르죠)

(4) 그리고, 또하나 중요한 특징이, Autonomy slider _자율성 제어 기능입니다. 즉, 코드의 일부만 자동완성 시킬 것인지, 아니면 프로그램 전체를 Agent Mode로 다 알아서 만들게 할 것인지의 정도를 Tab / Cmd+K / Cmd+L / Cmd+I 로 내가 원하는 만큼만의 AI자율성을 부여할 수 있게 만든 것입니다.


Untitled 2__.png


* 같은 요소가 Perplexity에도 동일하게 들어있습니다.

Untitled 2___.png


==> 이러한 "부분적 자율AI 세계 (partial autonomy world)"에서는 기존의 수많은 소프트웨어가 어떻게 달라질 것인지 궁금합니다.


**-> 기존 포토샵의 사람을 위해서 설계되었던 수많은 버튼들이 LLM에 맞게 변화되어야 할 수도 있고,

** <- 혹은 LLM들이 사람처럼 보고 액션을 할 수도 있구요 (Claude Computer-use 혹은 OpenAI Operator)


이러한 부분적 자율 AI시대에 성공한 소프트웨어를 만들기 위해서는,

(1) 사람에 의한 확인 절차_verification를 (Cursor 사례에서 본 것과 같이) 효과적인 GUI를 적용해서 편하고 빠르게 만들어야 하고,

(2) AI의 작업이 맥락에서 벗어나지 않도록 잘 붙들어 놓는 "Keep AI on a tight leash"

이 두가지 워크플로우가 잘 동작하게 만들어야 합니다.

Untitled 2.png

아무리 AI가 수만줄의 코드를 만들어오더라도, 사람은 여전히 병목일텐데, 그나마도 맥락에서 벗어난 작업을 해오면 이 또한 무용지물일테니까요, 그래서, 위 두가지가 잘 맞물려서 동작해야 합니다.

Untitled 4.png

그래서, 사람들이 Vibe Coding을 할 때에, 프롬프트를 애매하게 작성하면, 코딩도 맥락에서 벗어날 것이고, 그럼 verification에 실패하는것이 반복될 뿐이니까요.



4. Decade of Agents, (not year of agents)


사람들이 2025년이 Agent의 "해"라고 말할 때 약간 우려가 있음. Tesla에서 생각해보면, 이미 10년 전에 데모 드라이브에서 완벽하다고 느꼈지만, 아직도 자율주행은 완벽하지 않음. DECADE of driving agents를 지내고 있음.

Untitled 35.png


"2025-2035 is the decade of agents."

AI Agent에서도 마찬가지일 것. 2025년에 Agent의 해로 끝나지 않고, 앞으로 10년동안 벌어지는 상황이라고 생각해야 함!


Untitled111.png

아이언맨 슈트의 경우, 완전한 자율성을 부여해서 Agent 혼자 날아다니게 만들 수도 있지만,

앞으로의 10년에서는 Partial Autonomy로 생각하고 내가 입고 다니는 Augmentation의 수트를 만드는 것에서 수많은 비즈니스 기회가 있을 것.



5. Build for Agents

Andrej Karpathy가 MenuGen이라는 토이프로젝트를 Vibe-coding하는 과정에서,

사실 코딩 부분이 가장 간단했고, 이외의 환경 설정, 배포, 인증 부분들이 사실 가장 힘들었음.


Untitled_.png

이런 것들을 사람이 다 해야하나? 이제는 사람이 아니라 AI Agent가 대신해서 할 수 있도록 만들자.


이미, 그런 예제가 나오기 시작했음 : 여기를 클릭하세요라는 설명 대신 cURL 커맨드로 대신하는 vercel 의 문서와 Stripe의 Markdown형식의 문서가 (사람이 아닌) LLM친화적인 문서로 동작.

Untitled_a.png


==> 전체 요약 장표와 함께, 앞으로의 10년동안 아이언맨슈트가 증강의 수단에서 완전자율로 넘어가는 과정을 함께 만들어나가자는 메시지로 Andrej Karpathy의 영상은 마무리됩니다.

a.png


===


저도 AI의 빠른 발전을 열심히 따라가다보면, 지금 어디에 있는지 위치를 놓칠 때가 있고, Agent 그 다음은 또 뭐지? 이런 생각으로 조급한 적도 있었는데요, Tesla사례와 같이 앞으로 10년간 Partial Autonomy 시대를 받아들이고, 그 안에서 수많은 증강을 통해 다양한 Cursor for X들에 기회가 올 것이라는 생각이 들었습니다. 그리고, 잘 중심을 잡고 준비해야 하는 DECADE of agents의 시기라고 생각을 정리할 수 있었습니다. 이 글 읽어주신 분들께서도, 영상까지 전체적으로 한번 훑어보시면 더 좋을 것 같습니다.


모두들 건강하시고, 오랜만에 살짝 긴 글 마무리합니다-!

keyword
작가의 이전글Claude Code 사용하기