메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

우리가 알고 있던 프로그래밍의 종말

hits-icon3.9K

미디어에서는 소프트웨어 개발자가 곧 인공지능에게 일자리를 잃을 것이라는 많은 이야기가 있습니다. 전 믿지 않습니다.


프로그래밍의 끝이 아닙니다. 오늘날 알고 있는 프로그래밍의 종말입니다. 늘 있던 일입니다. 초기 프로그래머들은 각 계산을 수행하기 위해 물리적인 회로를 연결했습니다. 프로그래머들이 컴퓨터의 전면에 있는 스위치를 하나씩 조작하여 입력하는 이진 코드로 기계 명령을 작성했습니다. 어셈블리 언어 프로그래밍을 그만두도록 하십시오. 프로그래머가 인간과 유사한 언어를 사용하여 컴퓨터에 데이터를 메모리의 특정 위치로 이동시키고 계산을 수행하도록 지시할 수 있게 합니다. 그 후, 포트란, 코볼과 같은 더 높은 수준의 컴파일 언어와 그 후속 언어인 C, C++, 자바가 개발되면서 대부분의 프로그래머는 더 이상 어셈블리 코드를 작성하지 않습니다. 대신에 더 높은 수준의 추상화를 사용하여 컴퓨터에 원하는 바를 전달할 수 있습니다.

 

베티 진 제닝스와 프랜시스 빌라스(오른쪽)가 1946년에 ENIAC을 프로그래밍하였습니다. 컴퓨터 역사 박물관을 통해 결국, 디버깅하기 훨씬 쉬운 인터프리터 언어가 표준이 되었습니다. 


BASIC는 처음에는 장난감으로 여겨졌지만, 곧 미래의 흐름을 이끄는 혁신으로 입증되었습니다. 프로그래밍이 대기업과 정부 기관의 백오피스 전문가들뿐만 아니라 아이들과 창고형 창업가들에게도 접근 가능해졌습니다.


소비자 운영 체제 또한 이야기의 큰 부분을 차지했습니다. 개인용 컴퓨터가 처음 등장했을 때, 모든 컴퓨터 제조업체는 메모리 보드, 하드 디스크, 모뎀 및 프린터와 같은 주변 장치에 데이터를 읽고 쓰는 작업을 수행하는 저수준 드라이버를 작성할 소프트웨어 엔지니어가 필요했습니다. Windows가 그것을 끝냈습니다. 그래픽 사용자 인터페이스를 제공하여 컴퓨터를 쉽게 사용할 수 있게 한 것만으로 성공한 것이 아닙니다. 마크 안드레센의 회사 넷스케이프는 마이크로소프트에 밀려날 상황이었고, 마크 안드레센은 이를 '단지 드라이버들의 모음'이라고 경멸적으로 (그리고 잘못) 표현했습니다. Win32 API가 앞장서는 드라이버 모음 덕분에 프로그래머는 더 이상 기계를 제어하기 위해 저수준 코드를 작성할 필요가 없었습니다. 그 작업은 운영 체제에서 효과적으로 캡슐화되었습니다. 오늘날 윈도우와 맥 운영체제, 그리고 모바일에서는 iOS와 안드로이드가 있다는 것은 대부분의 프로그래머들이 이전 세대의 프로그래머들이 알았던 많은 것을 더 이상 알 필요가 없다는 것을 의미합니다.
 

프로그래머가 더 많았습니다. 더 적지 않았습니다.
 

그러나 이것이 프로그래밍의 끝은 아니었습니다. 그 어느 때보다 프로그래머가 많았습니다. 수억 명의 사람들이 창의력의 결실을 누렸습니다. 수요의 탄력성을 보여주는 고전적인 사례로, 소프트웨어 제작이 쉬워지면서 가격이 하락하였고, 이는 더 많은 사람들이 기꺼이 비용을 지불할 수 있는 솔루션을 개발자들이 만들 수 있도록 하였습니다.


웹은 또 다른 '프로그래밍의 종말'이었습니다. 갑자기 사용자 인터페이스는 사람이 읽을 수 있는 문서로 구성되었고, 브라우저에서는 이를 보여주며 링크를 통해 원격 서버에서 프로그램을 호출할 수 있게 되었습니다. 간단한 프로그래밍 기술만으로도 쉽게 '애플리케이션'을 만들 수 있습니다. '노 코드'라는 용어가 유행어가 되었습니다. 머지않아 모든 분께서 웹사이트가 필요했습니다. 워드프레스와 같은 도구 덕분에 비전문가도 코딩 없이 웹사이트를 만들 수 있게 되었습니다. 그러나 기술이 발전함에 따라 성공적인 웹사이트는 점점 더 복잡해졌습니다. '프론트엔드'와 '백엔드' 프로그래밍 사이의 분리가 점점 커졌습니다. 새로운 인터프리터 프로그래밍 언어인 파이썬과 자바스크립트가 지배적이 되었습니다. 모바일 기기가 새로운 범용 프론트 엔드를 추가하면서 새로운 기술이 필요하게 되었습니다. 다시 한 번 복잡성은 프레임워크, 함수 라이브러리, API 뒤에 숨겨져서 프로그래머들이 몇 년 전만 해도 필수적으로 배워야 했던 저수준 기능에 대해 많이 알 필요가 없도록 하였습니다.


빅데이터, 웹 서비스, 클라우드 컴퓨팅은 일종의 '인터넷 운영 체제'를 구축했습니다. 애플 페이, 구글 페이, 스트라이프와 같은 서비스 덕분에 예전에는 복잡하고 중요도가 높은 기업 업무였던 결제 처리도 최소한의 프로그래밍 지식으로 가능하게 되었습니다. 모든 종류의 심도 있고 강력한 기능을 간단한 API를 통해 제공했습니다. 하지만 인터넷 사이트가 폭발적으로 증가하고 이를 연결하는 네트워크 프로토콜과 API가 늘어나면서 프로그래머 수요가 더 커졌습니다.


프로그래머들은 더 이상 몇 년마다 업데이트되는 정적인 소프트웨어 산출물을 만들지 않고, 지속적으로 오래 유지될 수 있는 서비스를 개발하고 통합하며 관리하고 있습니다. 더욱 중요한 것은, 구글 검색, 구글 지도, 지메일, 아마존, 페이스북, 트위터와 같은 거대한 서비스에서의 많은 작업이 대규모로 자동화되었습니다. 프로그램은 인공지능이 아닌 인간이 설계하고 구축하였으나, 많은 작업은 오늘날의 범용 인공지능의 특수 목적 전신에 의해 수행되었습니다. 이들 회사에서 무거운 일을 주로 담당하는 것은 이미 프로그램입니다. 인간 프로그래머들이 관리자 역할을 맡습니다 현재 이와 같은 감독 업무를 수행하는 프로그래머가 수십만 명에 이르고 있습니다. 이미 디지털 동료를 만들고 관리하는 세계에서 살고 있습니다.

 

구글, 페이스북, 아마존, 또는 최근의 실리콘 밸리 스타트업들은 수만 명의 직원을 고용하고 있습니다. 20세기 공장 마인드로 생각하면, 일하는 사람들은 과거 산업 시대의 선배들처럼 하루 종일 제품을 만들어냅니다. 다만 오늘날에는 물리적 상품 대신 소프트웨어를 생산하고 있습니다. 대신에 21세기 사고방식으로 이 회사들을 바라보신다면, 이 회사들의 작업 중 상당 부분이 검색 결과, 뉴스 및 정보 제공, 소셜 네트워크 상태 업데이트, 그리고 관련 제품 구매를 위한 작업이 소프트웨어 프로그램과 알고리즘에 의해 이루어진다는 것을 알게 되실 것입니다. 이들은 진정한 일꾼이며, 이들을 창조하는 프로그래머들은 그들의 관리자입니다."—팀 오라일리, '비즈니스를 관리하는 봇 관리하기', MITSloan Management Review, 2016년 5월 21일


각각의 물결 속에서 기존의 기술은 쓸모가 줄어들었으며, 여전히 유용하지만 더 이상 필수적이지 않게 되었습니다. 새로운 기술이 성공의 열쇠가 되었습니다. 아직도 컴파일러를 작성하는 프로그래머는 소수에 불과하지만, 인기 있는 자바스크립트 프레임워크와 파이썬 라이브러리를 작성하는 프로그래머는 수천 명에 달하며, 웹 및 모바일 애플리케이션과 이를 가능하게 하는 백엔드 소프트웨어를 작성하는 프로그래머는 수천만 명에 이릅니다. 생성 AI의 생산물을 수십억 명이 소비합니다.


이번에는 다를까요?


그런데 갑자기 프로그래머가 아닌 사람도 단순히 LLM이나 특화된 소프트웨어 에이전트에게 평이한 한국어(혹은 원하는 인간 언어)로 말을 건네면 Python(혹은 원하는 프로그래밍 언어)으로 유용한 프로토타입을 받을 수 있는 것처럼 보입니다. 이 현상을 설명하는 새로운 유행어도 있습니다: CHOP, 또는 '대화 지향 프로그래밍'. 고급 추론 모델의 발전은 이제 고수준의 설명만으로도 복잡한 프로그램을 생성할 수 있는 인공지능을 보여주기 시작하고 있습니다. 그 결과, 많은 사람들이 '이번에는 다르다', AI가 대부분의 인간 프로그래머, 그리고 사실상 대부분의 지식 노동자를 완전히 대체할 것이라고 말합니다. 사람들이 인공지능의 발전이 사람들의 일자리에 큰 영향을 미치고 있다고 합니다.


여전히 납득이 가지 않습니다 고도의 컴퓨팅 능력이 더 많은 사람들의 손에 들어가게 되는 돌파구가 있을 때, 일반인도 한때 고도로 훈련된 전문가의 영역이었던 일을 할 수 있습니다. 하지만 그와 같은 돌파구는 새로운 종류의 서비스와 그 서비스에 대한 수요를 가능하게 합니다. 소수만이 이해할 수 있는 깊은 마법의 새로운 원천을 만듭니다.


지금 다가오는 마법은 지금까지 중 가장 강력합니다. 그리고 이는 새로운 탐구와 창의성의 시기가 시작되었음을 의미합니다. 이 마법을 어떻게 작동시킬 수 있을지 이해하고, 그 힘에서 새로운 이점을 얻으려는 노력이 필요합니다. 스마트한 개발자는 이 기술을 채택함으로써 더 큰 수요를 얻게 될 것입니다. 이는 더 많은 것을 할 수 있고, 가치 있는 고차원적인 창의성에 집중할 수 있기 때문입니다.


경험을 통해 배우기


인공지능은 프로그래머를 대체하지 않지만, 프로그래머의 업무를 변화시킬 것입니다. 결국 프로그래머가 오늘날 하는 일의 대부분은 임베디드 시스템 프로그래머를 제외하고, 오래된 스킬인 오실로스코프를 이용한 디버깅만큼이나 구식이 될 수 있습니다. 마스터 프로그래머이자 통찰력 있는 기술 관찰자 스티브 예지는 앞으로 대체되는 사람들은 주니어나 중급 프로그래머가 아닌 과거에 집착하고 새로운 프로그래밍 도구와 패러다임을 받아들이지 않는 사람들이라고 관찰합니다. 새로운 기술을 습득하거나 발명하는 분들은 큰 수요를 누릴 것입니다. AI 도구를 마스터하는 주니어 개발자는 그렇지 않은 시니어 프로그래머보다 더 뛰어난 성과를 낼 수 있습니다. 예게는 이를 '고집 센 개발자의 종말'이라고 부릅니다.


제 아이디어는 컴퓨터 산업에서의 40년 이상의 경험과 Yegge 같은 개발자들의 관찰뿐만 아니라 경제사학자 제임스 베센의 연구에서도 영향을 받았습니다. 베센은 1800년대 초반 매사추세츠 로웰의 방적 공장에서 첫 산업 혁명이 어떻게 전개되었는지를 연구했습니다. 숙련된 장인들이 '비숙련' 노동자가 운영하는 기계로 대체되면서 인건비는 실제로 하락하였습니다. 하지만 베센은 새로운 산업 공장의 노동자들의 임금 기록을 예전 가내 수공업자들의 기록과 비교하면서 특이한 점을 발견했습니다. 견습 장인이 숙련된 장인의 임금을 받기까지 걸리는 시간은 신규 입사한 비숙련 공장 노동자가 완전한 임금을 받고 생산성을 달성하는 데 걸리는 시간과 거의 비슷합니다. 양 체제의 노동자는 사실 숙련된 노동자였습니다. 하지만 다른 종류의 기술을 가지고 있었습니다.


베센은 산업 혁명의 첫 50년 동안 임금이 거의 오르지 않거나 감소한 두 가지 주요 원인을 발견하였습니다. 이러한 이유로 번영이 널리 확산되기 전에 임금이 오르기 시작했습니다. 첫째는 공장주들이 새로운 생산성의 이익을 노동자들과 나누지 않고 자신들만 누렸다는 것이었습니다. 두 번째 이유는 가장 큰 생산성 향상이 도달하는 데 수십 년이 걸렸다는 점입니다. 이는 새로운 기술을 최적으로 사용하는 방법에 대한 지식이 아직 널리 퍼지지 않았기 때문입니다. 발명가들이 기계를 더 견고하게 만드는 데 몇십 년이 걸렸고, 사용자들이 기계를 더 효과적으로 활용하기 위한 새로운 작업 흐름을 고안하고, 기계를 통해 제조할 수 있는 새로운 제품을 개발하며, 더 많은 기업들이 새로운 기술을 채택하고 근로자들이 이를 활용할 수 있는 필수 기술을 습득하는 데 시간이 걸렸습니다. 기계를 사용하는 것뿐만 아니라 이를 수리하고 개선하며, 암시된 미래를 발명하기 위해 새로운 기술이 필요합니다. 이는 아직 완전히 실현된 것은 아닙니다. 모든 과정은 베센이 '직접 해보면서 배우기'라고 부르는 방법을 통해 이루어집니다.


소수의 개인이 새로운 기술을 앞서 배우는 것만으로는 충분하지 않습니다. 베슨은 '공장을 운영하거나 산업을 유지하거나 사회 전반에 걸쳐 중요한 것은 개별 근로자를 훈련하는데 걸리는 시간이 아니라 안정적이고 훈련된 인력을 만드는 데 필요한 것'이라고 설명합니다 (Learning by Doing, 36). 오늘날, 이 혁명이 영향을 미칠 모든 기업(즉, 모든 기업)은 적극적으로 참여해야 합니다. 인공지능에 능통한 인력이 필요합니다. 프로그래밍이란 결국 컴퓨터가 우리의 명령을 따르도록 하는 방법이 아닐까요? 프로그래밍이 인간의 언어에 점점 더 가까워지고, 기계가 0과 1 또는 전문적인 프로그래밍 언어의 피진 대신 인간을 이해할 수 있게 된 것은 축하할 만한 일입니다.


사람들은 더 많은 프로그램을 만들고, 사용하고, 개선해 나갈 것이며, 우리가 창조하는 것을 관리하고 이를 기반으로 새롭게 발전하는 산업들이 생겨날 것입니다. 역사에서 얻은 교훈은 자동화가 사람들이 원하거나 필요로 하는 제품을 더 저렴하고 쉽게 제공할 수 있게 할 때, 수요가 증가하면 고용이 증가하는 경우가 많다는 것을 알려줍니다. 수요가 충족되어야만 고용이 줄어들기 시작합니다. 프로그래밍에 관해서는 그 지점에 도달하려면 아직 멀었습니다.


놀랍지 않게도, 워튼 스쿨 교수이자 AI 전도사인 에단 몰릭은 베센의 작업을 좋아합니다. 그래서 '항상 AI를 논의에 포함시키라'고 강력하게 주장하며, 업무의 모든 측면에 AI를 활용하고 '작동하는 것과 작동하지 않는 것의 경계'를 탐구하라고 권유합니다. 또한, 기업에게 AI를 직원들을 대체하는 것이 아니라 그들을 지원하는 도구로 사용하라고 촉구합니다. 새로운 기술을 적용하는 방법에 대해 배울 것이 아주 많습니다. 기업의 응용 연구 개발의 최고의 자원은 보유한 사람들이 인공지능을 활용하여 문제를 해결하고 새로운 기회를 찾는 탐구입니다.


프로그래밍의 정의가 바뀐다


마이크로소프트의 부CTO 중 한 명인 샘 쉴레이스께서 분석에 동의하셨습니다. 최근 대화에서 '인공지능 시스템을 중심으로 새로운 프로그래밍 패러다임을 발명하고 있다'고 하셨습니다. 데스크톱에서 인터넷 시대로 넘어갈 때 스택의 모든 수준은 동일했지만 스택의 모든 것이 바뀌었습니다. 언어는 여전히 존재하지만, 컴파일 방식에서 해석 방식으로 전환되었습니다. 팀은 여전히 있지만, 워터폴에서 애자일을 거쳐 CI/CD로 전환했습니다. 데이터베이스는 여전히 존재하지만, ACID에서 NoSQL로 전환되었습니다. 한 사용자가 하나의 앱, 하나의 스레드를 사용하는 것에서부터 다중 분산 환경으로 변했습니다, 무엇이든 가능합니다. 지금 인공지능에 대해서도 같은 일을 하고 있습니다.


다음은 새로운 인공지능 스택에 조립되고 있는 여러 기술들입니다. 여기에는 수많은 AI 모델, API, 그리고 클라우드 인프라를 포함하지 않았습니다. 그리고 벌써 시대에 뒤떨어졌습니다!

 

AI 엔지니어링 환경, GitHub의 Marie-Alice Blete를 통해


하지만 새로운 도구, 프레임워크, 관행의 폭발적인 증가는 프로그래밍이 변화하는 방법의 시작에 불과합니다. 한 가지 문제는, Schillace가 언급했듯이, 모델은 인간의 기억처럼 기억을 가지지 않는다는 점입니다. 큰 문맥 창을 가지고 있어도 '그가 메타인지'라 부르는 것을 수행하는 데 어려움을 겪습니다. 따라서 여전히 많은 맥락을 인간이 제공해야 한다고 보고 있습니다. 이는 AI 공동 개발자가 운영하는 환경에 필요한 부분입니다.


최근 게시물에서 이 아이디어에 대해 더 자세히 설명했습니다. 대규모 언어 모델(LLM)과 기타 인공지능 시스템이 사고를 자동화하려고 시도하고 있다고 적었습니다. 산업 혁명 동안의 운동 자동화와의 유사점은 놀랍습니다. 오늘날 자동화는 아직 미흡합니다. 인지적으로 물을 끌어올리고 망치질하는 것과 같은 기본 작업, 예를 들어 요약, 패턴 인식, 텍스트 생성 등을 수행하고 있습니다. 새로운 에너지원에 대한 견고한 엔진을 만드는 방법을 아직 찾지 못했습니다. 인공지능의 발전 수준은 아직 기관차 단계에 도달하지도 않았습니다.


심지어 기관차 단계에서도 대부분 인간이 물리적 물체를 움직일 때 발휘할 수 있는 본능적인 힘이 확장되었습니다. 다음으로 필수적인 돌파구는 그 힘에 대한 제어 수단의 증가였습니다. Schillace는 묻습니다. '기존 소프트웨어 엔지니어링이 이곳에 완전히 적합하지 않다면 어떻게 될까요?' AI 구축이 근본적으로 다른 방식과 제어 시스템을 요구한다면 어떻게 해야 할까요? 새로운 사고방식을 창출하려 하고 있습니다. 이는 운동에 비유할 수 있으며, 더 높은 수준의 메타인지적이고 적응적인 시스템을 개발하려는 것입니다. 이러한 시스템은 사전에 설계된 패턴을 반복하는 것을 넘어서는 능력을 갖추고 있습니다. 효과적으로 사용하려면 완전히 새로운 작업 방식과 새로운 학문을 발명해야 합니다. 초기 증기 동력의 도전 과제가 야금학을 탄생시켰던 것처럼, 인공지능의 도전 과제는 인지, 신뢰성, 확장성에 관한 새로운 과학의 등장을 촉진할 것입니다. 이러한 분야는 아직 완전히 존재하지 않습니다.


비즈니스에서 인공지능 기술을 배포하는 과제


Bret Taylor는 과거 Salesforce의 공동 CEO, 한때 Meta의 최고 기술 책임자, 그리고 오래전에 Google Maps를 만든 팀의 리더로서, 현재 AI 에이전트 개발업체 Sierra의 CEO로 활동하고 있습니다. 이 회사는 기업에서 AI 기술을 개발하고 배포하는 중심에 있습니다. 최근 대화에서 브렛은 기업의 인공지능 에이전트가 웹사이트나 모바일 앱만큼이나 중요한 주요 디지털 인터페이스가 될 것이라고 믿고 있다고 말했습니다. 어쩌면 그것보다 더 중요할 수도 있습니다. 회사의 인공지능 에이전트는 주요 비즈니스 정책과 프로세스를 모두 코드로 작성해야 합니다. AI가 언젠가는 스스로 할 수 있을지도 모르는 일이지만, 오늘날 시에라는 고객마다 엔지니어링 팀을 배정하여 구현을 돕고 있습니다.


브렛은 '멋진 플랫폼과 여러 비즈니스 프로세스를 가지고 에이전트를 구체화하는 마지막 단계는 사실 꽤 어렵습니다'라고 설명했습니다. 최근 '에이전트 엔지니어'라는 새로운 역할이 등장하고 있습니다. 이는 프론트엔드 웹 개발자와 조금 비슷한 소프트웨어 개발자입니다. 그것은 소프트웨어에서 가장 흔한 전형입니다. 리액트 개발자라면 인공지능 에이전트를 만드는 방법을 배울 수 있습니다. 새로운 기술을 익히고 기존의 역량을 더욱 가치 있게 만드는 멋진 방법입니다.


고객 서비스 전화 메뉴를 통해 문제를 해결하는 대신 실제로 문제를 해결할 수 있는 AI 에이전트와 대화를 나누고 싶지 않으시겠습니까? 하지만 그 에이전트를 제대로 설정하는 것은 정말 어려운 과제가 될 것입니다. 프로그래밍 자체가 그렇게 어려운 것은 아닙니다. 비즈니스 프로세스를 깊이 있게 이해하고 새로운 기능이 이를 어떻게 변화시켜 새로운 기능의 이점을 최대한 활용할 수 있을지 고민하는 것입니다. 기존 비즈니스 프로세스를 단순히 재현하는 에이전트는 종이 양식을 단순히 재현한 웹 페이지나 모바일 앱만큼 난처할 것입니다. 그리고 예, 그것들은 여전히 존재합니다!


구글 크롬의 사용자 경험 책임자인 애디 오스마니는 이를 70% 문제라고 부릅니다: 엔지니어들이 인공지능과 함께 일할 때 생산성이 극적으로 향상된다고 보고하는 반면, 실제로 매일 사용하는 소프트웨어는 눈에 띄게 나아지지 않는 것 같습니다. 비프로그래머가 AI 코드 생성 도구를 사용할 때 훌륭한 데모를 만들거나 간단한 문제를 해결할 수 있지만, 복잡한 프로그램의 마지막 30%에서 막히게 됩니다. 이는 코드를 디버깅하고 AI를 올바른 해결책으로 이끌 만큼 충분히 알지 못하기 때문입니다. 한편:


경력 있는 엔지니어가 Cursor나 Copilot 같은 AI 도구를 다루는 모습을 보면 마치 마법처럼 보입니다. 몇 분 만에 테스트와 문서화까지 포함한 전체 기능을 신속하게 구축할 수 있습니다. 하지만 주의 깊게 보시면 중요한 점을 알게 되실 것입니다: 인공지능이 제안하는 것을 그대로 받아들이지 않습니다…. 오랜 시간에 걸쳐 획득한 공학적 지혜를 활용하여 인공지능의 결과를 형성하고 제한합니다. 인공지능이 구현 속도를 높이고 있지만, 전문성 덕분에 코드는 유지 보수가 가능합니다. 주니어 엔지니어는 종종 이 중요한 단계를 놓칩니다. AI의 출력을 더 쉽게 받아들이게 되어 '카드로 만든 집 코드'라고 부르는 상황이 발생합니다. 겉보기에는 완벽해 보이지만 실제 상황에서는 무너질 수 있습니다.


이와 관련하여, 새로운 도서 AI 엔지니어링의 저자 Chip Huyen께서 이메일에서 밝힌 통찰력 있는 관찰이 있습니다:


인공지능이 새로운 사고방식을 도입한다고는 생각하지 않습니다. 무엇이 실제로 생각을 필요로 하는지를 밝힙니다
어떠한 과제가 아무리 수작업이라도, 고등 교육을 받은 소수의 전문가만이 수행할 수 있다면 그 과제는 지적 작업으로 여겨집니다. 예를 들면, 글쓰기는 단어를 종이에 옮기는 행위입니다. 과거에는 인구의 일부만 글을 읽고 쓸 수 있을 때, 글쓰기는 지적 활동으로 여겨졌습니다. 사람들은 서예를 자랑스럽게 여겼습니다. 오늘날 '글쓰기'라는 단어는 더 이상 물리적인 행위를 의미하지 않고, 아이디어를 읽기 쉬운 형식으로 배열하는 고차원적인 추상화를 뜻합니다.


마찬가지로, 코딩의 물리적 행위가 자동화될 수 있을 때, '프로그래밍'이라는 의미는 아이디어를 실행 가능한 프로그램으로 정리하는 행위를 가리키게 될 것입니다.


스탠퍼드 컴퓨터 공학과 학과장인 메흐란 사하미 교수님께서 간단히 말씀하시기를: 컴퓨터 과학은 코드 작성이 아니라 체계적인 사고에 관한 것입니다.


인공지능 에이전트가 다른 에이전트와 대화를 시작할 때…


문제를 정확하게 표현하는 것이 더욱 중요해집니다. 회사의 비즈니스 프로세스 전반에 접근할 수 있도록 하는 기업 프론트엔드로서의 에이전트는 소비자뿐만 아니라 소비자의 에이전트 및 다른 회사의 에이전트와도 대화하게 됩니다.


에이전트 방정식의 그 부분은 훨씬 더 추측에 가깝습니다. 아직 독립적인 인공지능 에이전트 간의 협력을 위한 표준을 구축하지 않았습니다! 최근 논문에서 에이전트 인프라의 필요성을 언급합니다:


현재 도구들은 대체로 충분하지 않습니다. 이는 주로 에이전트가 기존의 기관(예: 법률 및 경제 시스템)이나 배우자(예: 디지털 서비스 제공자, 인간, 다른 AI 에이전트)와 상호 작용하는 방식을 설계하지 않기 때문입니다. 예를 들어, 정렬 기법 자체는 사용자가 에이전트에게 불법 행위를 수행하라고 지시할 때 누군가가 책임을 질 것이라는 확신을 상대방에게 주지 않습니다. 이 격차를 메우기 위해 에이전트 인프라라는 개념을 제안합니다. 이는 에이전트 외부에 존재하여 이들의 환경과의 상호작용 및 영향을 조정하고 영향을 미치도록 설계된 기술 시스템 및 공유 프로토콜입니다. 에이전트 인프라는 새로운 도구뿐만 아니라 기존 도구의 재구성이나 확장을 포함합니다. 예를 들어, 책임성을 높이기 위해 사용자와 에이전트를 연결하는 프로토콜은 OpenID와 같은 기존 사용자 인증 시스템을 기반으로 구축할 수 있습니다. 인터넷이 HTTPS와 같은 인프라에 의존하듯이, 에이전트 생태계에서도 에이전트 인프라가 필수적일 것입니다. 에이전트 인프라를 위한 세 가지 기능을 식별합니다: 1) 특정 에이전트, 사용자, 또는 다른 행위자에게 행동, 속성, 기타 정보를 귀속하는 것, 2) 에이전트의 상호작용을 조정하는 것, 3) 에이전트로부터 발생하는 유해한 행동을 감지하고 해결하는 것.


여기에는 해결해야 할 큰 조정과 설계 문제가 있습니다. 상상할 수 있는 최고의 AI 에이전트라도 이와 같은 복잡한 조정 문제는 인간의 지시 없이는 해결하지 못합니다. 이곳에 필요한 프로그래밍 작업은 AI의 도움을 받는 프로그래머들조차도 적어도 향후 10년 동안 바쁘게 만들 것입니다.


요약하면, 새롭게 발명될 소프트웨어의 세계가 있으며, 이는 AI만으로 발명되지 않고 AI를 슈퍼파워로 활용하는 인간 프로그래머에 의해 발명됩니다. 그리고 프로그래머는 많은 새로운 기술을 익혀야 합니다.


미래를 창조하는 초기 단계에 있습니다


배울 것도 많고 할 일도 많습니다. 따라서, AI 공동 개발자가 프로그래머의 생산성을 열 배 높인다고 가정해 봅시다. 개발자분들이 새로운 기술을 배우고자 하는 열정에 따라 결과가 달라질 수 있습니다. 하지만 그런 일이 발생하면, 비즈니스, 과학, 우리의 구축된 인프라의 '프로그래머블 표면 영역'도 함께 증가할 것임을 인정합시다. 프로그래밍이 차이를 만들 기회가 20배로 증가하더라도, 새로운 10배 프로그래머가 두 배 더 필요할 것입니다!


사용자의 기대도 높아질 것입니다. 단순히 생산성 향상을 비용 절감에 사용하는 기업은 새로운 역량을 활용하여 더 나은 서비스를 구축하는 회사에 뒤처질 것입니다


오랜 시간 소프트웨어 개발자로 일해온 사이먼 윌리슨은 AI 시대에 프로그래밍이 더 쉽고 나아질 수 있다는 점을 세계에 보여주며 선두에 서 있습니다. 그는 자신의 프로젝트에 대해 '더 큰 포부를 가질 수 있다'고 말합니다.


능력이 폭발적으로 증가한 다른 분야에서 교훈을 얻으세요. 오늘날의 마블 슈퍼히어로 영화 한 프레임을 렌더링하는 데 걸리는 시간이 첫 번째 픽사 영화를 전체 렌더링하는 데 걸렸던 시간과 비슷할 수 있습니다. CPU/GPU 가격과 성능이 무어의 법칙의 혜택을 받았음에도 불구하고 그렇습니다. 알고 보니 영화 산업은 저해상도의 조잡한 애니메이션을 더 빠르고 저렴하게 제공하는 것에 만족하지 않았습니다. 여분의 사이클은 수천 가지의 작은 개선 사항에 사용되었습니다. 사실적인 털, 물, 구름, 반사, 그리고 훨씬 더 많은 픽셀의 해상도에 적용되었습니다. 기술 향상으로 인해 더 높은 품질이 얻어졌으며, 단순히 더 저렴하거나 빠른 전달에 그치지 않았습니다. 더 저렴하고 빠른 선택이 더 높은 제작 가치를 뛰어넘어 가능하게 만든 산업들이 있습니다 (사용자 제작 비디오 콘텐츠의 폭발적 증가를 생각해보십시오). 따라서 이 두 가지 중 하나를 반드시 선택해야 하는 상황은 아닐 것입니다. 그러나 품질은 시장에서 자리를 잡을 것입니다. 항상 그렇습니다.


수십만 명의 아마추어 AI 지원 프로그래머들이 Replit과 Devin 같은 AI 도구 또는 Salesforce, Palantir, Sierra 같은 기업 솔루션을 사용하여 작업하고 있습니다. 수백만 명에게 호소할 수 있는 사용 사례를 발견할 가능성은 얼마나 될까요? 일부는 인공지능과의 협업으로 만들어지는 차세대 소프트웨어의 기업가가 될 것입니다. 하지만 많은 아이디어는 기존의 전문 개발자들이 받아들이고, 세련되게 다듬어 확장할 것입니다.
 

프로토타입에서 생산까지의 여정


기업에서는 AI가 문제와 가장 가까운 사람들이 해결책을 구축할 수 있도록 하는 데 큰 도움을 줄 것입니다. 그러나 그러한 해결책 중 최고의 것들도 여전히 Palantir의 CTO인 샴 샨카르가 '시제품에서 생산까지의 여정'이라고 부르는 나머지 과정을 거쳐야 합니다. 샹카르 님은 기업에서의 AI의 가치는 '자동화와 기업의 자율성'에 있다고 언급하셨습니다. 그러나 '자동화는 경계 사례에 의해 제한된다'라고 지적하였습니다. 2005년 DARPA 그랜드 챌린지에서 우승한 자율주행차 스탠리의 교훈을 떠올리셨습니다. 비록 놀라운 일을 해냈지만, 도시에서의 운전을 완전히 처리하기 위해서는 추가로 20년의 개발이 필요합니다.


'워크플로우는 여전히 중요하다'고 산카르 씨는 주장했으며, 프로그래머의 역할은 전통적인 소프트웨어가 할 수 있는 것, 인공지능이 할 수 있는 것, 여전히 사람이 해야 하는 것, 그리고 이 모든 것을 실제로 워크플로우를 완성하기 위해 어떻게 조합할지를 이해하는 것입니다. 그는 '피드백을 수집하고 경계 사례를 빠르게 학습할 수 있게 해주는 도구 체인이 성공적인 도구 체인이다'라고 말합니다. 상카르가 상상하는 세계에서는 인공지능이 '개발자가 사업에 더욱 깊이 관여하고 그들이 제공하는 영향력을 더욱 극대화할 수 있도록 실질적으로 해방시킬 것입니다.' 한편, 최상급 전문가들은 AI 도우미의 도움으로 프로그래머가 될 것입니다. 일자리를 잃게 되는 것은 프로그래머가 아닙니다. 모든 직무에서 AI 보조 프로그래머가 되지 않는 분들이 있을 것입니다.


프로그래밍의 끝이 아닙니다. 최신 재창조가 시작되고 있습니다.
 

원문 : The End of Programming as We Know It

댓글

댓글 입력