유튜브 영상 보기 – With AI, Anyone Can Be a Coder Now | Thomas Dohmke | TED
깃헙 CEO가 TED에 나와서 한 것입니다.
https://www.youtube.com/watch?v=nv9WwHpOKEg
번역은 https://youtubetranscript.com/ 에서 음성인식 텍스트를 가지고 와서, GPT-4o 모델을 사용해서 AIPilotSmarteasy에서 하고, 제가 최종 적으로 보고 아주 일부 편집했습니다.
있잖아요, 저는 여전히 레고를 가지고 노는 것을 좋아하는 어른 중 한 명입니다. 저는 80년대 베를린에서 자랄 때부터 레고를 좋아했고, 지금도 여전히 좋아합니다. 요즘에는 토요일 오후에 아이들과 함께 레고를 만듭니다. 제가 레고를 계속해서 좋아하는 이유는 간단히 말해서, 레고가 창의력을 실현하는 시스템이기 때문입니다. 진입 장벽이 거의 없죠. 그리고 저는 단순히 레고 아빠가 아니라, GitHub의 CEO이기도 합니다.
GitHub을 모른다면, 코딩의 본고장이라고 생각하시면 됩니다. 모든 소프트웨어 개발자들, 즉 우리 사회의 주된 괴짜들이 함께 협력하는 곳입니다. 그리고 모든 개발자가 작은 아이디어든 큰 아이디어든 코드를 통해 쉽게 만들 수 있도록 하는 것이 우리의 사명 중 하나입니다.
하지만 레고와 달리 소프트웨어를 만드는 과정은 대부분의 사람들에게 벅차게 느껴집니다. 이 모든 것이 2022년 말 ChatGPT가 등장하면서 바뀌기 시작했습니다.
이제 우리는 지능형 기계가 우리를 이해하는 만큼 우리가 그들을 이해하는 세상에 살고 있습니다. 이 모든 것이 언어 덕분입니다. 그리고 이것은 우리가 소프트웨어를 만드는 방식을 영원히 바꿀 것입니다. 지금까지는 소프트웨어를 만들기 위해서는 전문 소프트웨어 개발자가 되어야 했습니다. 고도로 복잡한 것을 이해하고, 말하고, 해석할 수 있어야 했습니다. 이해하고, 소통하고, 매우 복잡한 것들을 해석하기 위해, 우리는 때때로 코드라고 부르는 기계의 무의미한 언어를 사용할 수 있어야 했습니다. 현대의 코드는 여전히 대부분의 사람들에게 상형문자처럼 보입니다. 여기 예가 있습니다. 이것은 1940년대 초반의 세계 최초의 컴퓨터 프로그래밍 언어인 플란칼큘(Plankalkül)입니다. 이것은 오늘날 우리가 사용하는 현대 코드의 기초를 마련했습니다. 보시다시피, 몇 개의 숫자, 몇 개의 버블, 그리고 큰 괄호가 있습니다. 여기에는 인간미가 별로 없죠? 약 20년 후, 코볼(COBOL)이라는 프로그래밍 언어가 등장했습니다. 코볼은 아이젠하워 시대에 발명되었지만, 여전히 우리의 가장 큰 금융 기관들 중 많은 곳에서 중요한 언어로 남아 있습니다. 월스트리트, 당신의 저축 계좌, 당신의 신용카드, 모두 오늘날 이것으로 운영됩니다. 그리고 여기서 몇 가지 익숙한 단어들을 볼 수 있습니다. 하지만 구조적으로, 이것은 대부분의 사람들에게는 별로 의미가 없을 것 같습니다. 또 30년 후인 1991년, 우리는 AI 시대의 가장 인기 있는 프로그래밍 언어 중 하나인 파이썬(Python)의 탄생을 보았습니다. 80년 동안 우리는 버블에서 괄호로, 영어의 작은 조각들로 이동했지만, 인간 언어의 직관성에 가까워지지는 못했습니다. 그러나 2020년 6월, 우리는 OpenAI의 대형 언어 모델인 GPT-3에 조기 접근할 수 있었습니다. COVID 기간 동안 우리는 모두 봉쇄 상태에 있었고, 저는 우리가 함께 화상 통화를 했던 것을 기억합니다. 우리는 이 원시 모델에 무작위 프로그래밍 연습 문제를 입력했고, 마법처럼 첫 몇 번의 시도에서 93%를 해결했습니다.
GitHub에서 우리는 손에 놀라운 것을 가지고 있다는 것을 깨닫고, 소프트웨어 개발자를 위해 코드를 예측하고 완성하는 AI 어시스턴트인 GitHub Copilot이라는 새로운 개발자 도구를 빠르게 출시했습니다.
Copilot은 이제 전 세계에서 가장 많이 채택된 AI 개발자 도구입니다. 프로그래밍의 시대가 다시 태어났습니다. 그러나 이 돌파구의 가능성은 단순한 비즈니스 결과를 넘어섰습니다. ChatGPT와 Copilot을 구동하는 대형 언어 모델은 방대한 인간 정보 라이브러리로 훈련되었기 때문에 거의 모든 주요 인간 언어를 이해하고 해석합니다. 그들은 우리를 이해하는 것 같습니다. 우리는 인간의 언어와 기계의 언어 사이에 새로운 융합을 이루었습니다.
Copilot을 사용하면 이제 누구나 단일 작성 프롬프트로 모든 인간 언어로 소프트웨어를 만들 수 있습니다. 거품과 큰 괄호에 작별을 고하십시오. 이것은 기술에 대한 가장 심오한 돌파구입니다. 이것은 기술에서 가장 심오한 돌파구입니다. 소프트웨어 개발 자체의 기원입니다.
오늘날 GitHub에는 1억 명 이상의 개발자가 있습니다. 이는 세계 인구의 약 1%에 해당합니다, 대략적으로. 저는 그 숫자가 폭발적으로 증가할 것이라고 생각합니다. 그리고 그 이유를 여기 제 맥북에서 보여드리고 싶습니다. 우리는 원래의 Copilot, 또는 우리가 말하는 OG Copilot으로 모든 것을 시작했습니다. 그리고 그것은 문자 그대로 편집기에서 코드를 예측하고 완성했습니다. 편집기를 개발자를 위한 Google Docs로 생각할 수 있습니다. 문서를 열었을 때, 빈 페이지를 보고 실제로 무엇을 하고 싶은지 아시죠? 그리고 제가 LEGO를 언급했습니다. 그래서 웹 페이지에 3D LEGO 벽돌을 만들어 봅시다. 개발자들이 하는 일은, 아시다시피, 타이핑을 시작하는 것입니다. 그래서 저는 JavaScript 파일에 “LEGO 벽돌을 만들기 위한 함수를 생성합니다”라고 입력했습니다. 여기 회색 텍스트가 보이시죠, 우리는 이것을 유령 텍스트라고 부릅니다. 이것은 대형 언어 모델에서 나옵니다. 이제 탭 키를 누르고 엔터 키를 누르기만 하면 됩니다. 그리고 또 다른 제안을 받습니다, LEGO 타워를 만들라는 제안입니다. 나중에 할 수도 있습니다. 또는 그냥 “function draw LEGO brick”을 입력할 수 있습니다. 그리고 여기 다시 Copilot에서 바로 사용할 수 있는 유령 텍스트가 보입니다. 그리고 제가 여기서 보고 있는 것이 마음에 들면, 글쓰기 모드에 들어갑니다. 여기서 내가 마음에 드는 것을 보면, 나는 작성 모드로 들어갈 수 있다. 이해할 수 있다면, 나는 이것을 그냥 받아들일 수 있다. 개발자들은 그것을 좋아한다, 그렇지 않은가? 왜냐하면 그들이 직접 열 줄의 코드를 작성하거나 인터넷에서 복사하여 붙여넣는 대신, 그들은 그것을 바로 자신의 에디터에서 얻을 수 있기 때문이다. 그들은 흐름을 유지할 수 있다. 이제, OG Copilot이 나에게 제공하지 않은 것은 이것과 상호작용할 수 있는 방법이었다. 나는 질문을 할 수 없고, 다른 일을 하도록 지시할 수 없다. 작년에 우리는 새로운 기능인 Copilot 채팅을 출시했으며, 이를 에디터 내의 ChatGPT로 생각할 수 있다. 그래서 나는 여기 사이드바에서 이것을 열 수 있다. 그리고 이제 나는 그것에게 3D 레고 블록이 있는 전체 웹 페이지를 만들어 달라고 말할 수 있다. 이제, ChatGPT와 유사하게, 그것은 응답을 스트리밍하고, 나에게 코드뿐만 아니라 실제로 설명도 제공한다. 코드를 작성하기 시작하면, 그 코드가 무엇을 하는지 설명하는 주석을 볼 수 있다. 그것은 Three.js라는 오픈 소스 라이브러리를 사용한다. 그래서 여기서 개발자와 개발을 배우고자 하는 사람들을 돕는 아이디어를 볼 수 있다. 그리고 또 다른 설명으로 끝난다. 이제 나는 여기서 그 코드를 검사할 수 있고, 그 버튼을 눌러 내 파일에 복사할 수 있다. 하지만 나는 다른 것을 보여주고 싶다.
하지만, 여기서 다른 것을 보여주고 싶습니다. 그리고 이 작은 마이크 아이콘을 이미 보셨을 수도 있습니다. 이를 사용하여 Copilot과 대화할 수 있습니다. 그리고 편집기 왼쪽에 있는 코드가 무엇을 하는지 독일어로 묻고 싶습니다. 그 코드가 무엇을 하는지 설명해 줄 수 있나요? 이제 Copilot이 다시 응답하지만, 이번에는 독일어로 응답합니다, 그렇죠? 그래서 대략 번역하면, ‘네, 물론입니다. 이 JavaScript 코드는 ‘drawLEGOBrick’이라는 함수를 정의합니다.’라고 말합니다. 여기서 아이디어를 얻을 수 있습니다. 이제 베를린, 뭄바이, 리우에 사는 여섯 살짜리 아이도 부모님이 주변에 없거나 기술적인 배경이 없어도 코딩을 탐구할 수 있습니다. 제 말은, 아시겠죠. 이제 보시는 것처럼 여전히 모든 것을 어떻게 조합할지 알아내야 합니다, 그렇죠? 여기에는 많은 기술적인 것들이 있습니다. 코드가 있고, 내 컴퓨터에서 반복해야 합니다. 친구들과 공유할 수 있도록 이를 클라우드에 배포하는 방법을 알아내야 합니다. 하지만 이제 여기에 내 LEGO 벽돌이 있습니다. 개발자로서 이 모든 단계를 완료했다면 이렇게 보입니다. 이제 멋지게 회전하는 벽돌을 볼 수 있습니다. 실제로 마우스를 사용하여 회전시킬 수 있습니다. 여기에는 안티 스터드와 스터드가 있습니다. 멋진 조명 효과도 있습니다. 그리고 이것에서 확대합니다.
이제, 나는 더 이상 이 모든 개발자 일을 하고 싶지 않습니다. 나는 단지 나의 창의력을 현실로 직접 전달하고 싶습니다.
그래서, 무대에서 처음으로, 나는 Copilot Workspace라고 부르는 새로운 제품을 보여드리겠습니다. 이 제품은 정확히 그것을 합니다. 여기 내 작업 공간이 있습니다. 그리고 이미 보시다시피, 더 이상 편집기가 없습니다. 나는 단지 작업을 볼 수 있고, 작업을 입력할 수 있습니다. 그래서 이제 내 LEGO 벽돌이 있고, LEGO 벽돌을 LEGO 집으로 확장하고 싶습니다. LEGO 집 모양으로 벽돌을 쌓습니다. 그리고 나는 독일어와 다른 언어로도 그것을 할 수 있지만, 지금은 영어로 하겠습니다. 나는 내 작업을 저장할 수 있습니다. 그리고 이제, Copilot Workspace가 내가 이미 가지고 있는 것을 분석하고 나에게 제안하는 것을 설명합니다. 기본적으로, 그것은 나의 요청을 계획이나 사양으로 재구성합니다. 그래서, 여기서 볼 수 있듯이, 모든 것이 자연어로 되어 있습니다. 물론 일부 파일 이름도 있지만, 여기에 코드는 없습니다. 모든 것이 영어로 설명되어 있습니다. 나는 실제로 이것에 들어가서 편집할 수 있고, 이 줄을 변경할 수 있습니다. 또는 계획이 내가 원하는 것과 정확히 일치하지 않는다고 느끼면 여기 아래로 내려가서 다른 항목을 추가할 수 있습니다. 나는 한 단계 더 나아가 계획을 생성할 수 있고, 이제 에이전트가 실행됩니다.
저는 계획을 세우고 이미 가지고 있는 모든 파일을 통해 실행할 수 있으며, 그 파일들을 어떻게 수정해야 하는지, 또는 저장소에 파일을 추가해야 하는지 알아냅니다. 그래서 “createLEGOHouse” 함수를 추가하고 나중에 “createLEGOHouse”를 호출하려고 합니다. 저에게는 좋아 보이네요, 그래서 이것을 구현해 봅시다. 그리고 이제 Copilot이 제 작업, 제 사양, 제 계획을 사용하여 코드를 작성해 줍니다. 여기에서 두 개의 파일이 대기 중인 것을 볼 수 있습니다. public/legoBrick.js 파일, 그리고 붐, 이미 제 코드가 작성되어 있죠, 맞나요? 저는 코드를 만질 필요도 없었고, 코드가 무엇인지 알 필요도 없었습니다. 이제 여기에서 파일에 새로운 줄을 가져오고, 그 변경을 수행하는 많은 코드를 작성한 것을 볼 수 있습니다. 그래서 그것이 어떻게 생겼는지 보고 싶으신가요, 우리가 LEGO 집을 얻었나요? 여기 라이브 미리보기를 열 수 있는 버튼이 있습니다, 그래서 저는 이것을 할 수 있습니다. 그리고 이제 벽돌이 하늘에서 떨어지고, 저는 LEGO 집을 가지고 있습니다. 그리고 아시다시피, 이것은 그림이 아닙니다, 맞죠? 이것은 모두 라이브입니다, 이것이 코드의 힘입니다, 이것이 자연어로 제 창의력을 현실로 스트리밍하는 힘입니다. 이제 마지막으로 한 가지 더. 고마워요, Copilot, 항상 AI에게 친절해야 합니다. (웃음) (박수)
이제, 무엇… (웃음) (박수) 이제, 여러분이 방금 본 것은 3년 동안의 세 번의 도약입니다.
지난 100년 동안 우리가 이룬 것보다 컴퓨터 프로그래밍 접근성에 더 많은 진전을 이룬 세 번의 도약입니다. 제가 세계 인구의 1%가 개발자라고 말했던 것을 기억하시나요? 이제 이것이 어떻게 변할지 볼 수 있습니다. Copilot Workspace는 지금은 여전히 개발자 도구일 수 있지만, 곧 이러한 종류의 개발자 도구가 주류가 될 것입니다. 앞으로는 어떤 언어를 사용하든 모든 사람이 기계와 대화할 수 있는 능력을 갖게 될 것입니다. 이제 컴퓨터 프로그래밍을 시작하는 데 필요한 유일한 기술은 인간 언어입니다. 이는 소프트웨어 개발자의 세계적인 급증을 초래할 것이며, 우리의 글로벌 경제 지형을 재편할 것입니다. 이로 인해, 저는 2030년, 어쩌면 그보다 더 빨리, GitHub에 10억 명 이상의 소프트웨어 개발자가 있을 것이라고 생각합니다.
생각해 보세요: 세계 인구의 10%가 컴퓨터를 제어할 뿐만 아니라 자전거를 타는 것처럼 소프트웨어를 만들 수 있게 될 것입니다.
이는 소프트웨어를 통한 인간 창의성의 새로운 르네상스를 일으킬 것입니다. 이제 이 방에 있는 누구라도 지금 당장 훌륭한 아이디어를 가질 수 있습니다: 웹사이트, 애플리케이션, 멋진 컴퓨터 게임, 놀라운 노래, 어쩌면 무언가에 대한 치료법까지도요. 예를 들어, 작년에 몇 주 동안 저는 제 인생에서 탔던 모든 비행을 추적하는 앱을 만들었습니다. 이제 여러분이 생각하는 것을 알고 있습니다: 정말 괴짜 같죠, 그렇죠?
네, 맞아요, 저는 이런 것들을 만드는 것을 좋아합니다. 그리고 AI의 도움으로 이제 저는 와인 한 잔을 다 마시기도 전에 영어 또는 독일어로 이것을 할 수 있습니다. 그리고 곧, 여기 있는 모든 사람에게도 이것이 사실이 될 것입니다.
괴짜의 홍수문이 활짝 열렸습니다. 이제, 이것이 모든 사람이 전문 소프트웨어 개발자가 될 것이라는 의미는 아닙니다, 또는 그래야 한다는 의미도 아닙니다. 전문 소프트웨어 개발자의 직업은 사라지지 않을 것입니다.
세계에서 가장 큰 소프트웨어 시스템을 설계하고 유지 관리하는 사람들에 대한 수요는 항상 있을 것입니다. 우리는 매일 더 복잡한 시스템에 수백만 줄의 코드를 추가하고 있으며, 기존 시스템을 유지 관리하는 데 간신히 따라가고 있습니다. 이 세상의 다른 모든 인프라처럼, 우리는 그것을 보존하고 갱신할 진정한 전문가가 필요합니다.
여기서 중요한 점은 “할 것이다” 또는 “해야 한다”가 아닙니다. 누구나 할 수 있다는 것입니다.
이것이 당신이 찾고 있던 것입니다! 우리가 가진 가장 강력한 시스템, 모든 인간 언어가 이제 기계 언어와 융합되었습니다. 그리고 곧 소프트웨어를 만드는 것이 레고를 쌓는 것만큼 간단하고 즐거워질 것입니다.
“정말 감사합니다.”
“(박수)”
빌라왈 시두: “와, 10억 명의 개발자가 GitHub을 오늘날의 YouTube와 TikTok처럼 들리게 만드네요. 정말 흥미진진합니다. 한 가지 질문을 드리고 싶습니다. 아마도 방 안의 코끼리일 것입니다. 놀라운 이야기였습니다. 개발자가 여전히 주도권을 가지고 있다고 말씀하셨습니다. 또한 ‘우리는 3년 동안 세 번의 도약을 이루었다’고도 말씀하셨습니다. 조금 더 빠르게 진행해보면, 인간이 여전히 루프에 있어야 할까요, 아니면 이러한 AI 시스템이 자율적으로 소프트웨어를 구축하고 유지할 수 있을까요?”
TD: “제가 항상 생각하고 이야기하는 방식은 우리가 그것을 ‘코파일럿’이라고 부른 이유가 있다는 것입니다. 우리는 파일럿이 필요합니다. 창의적이고 무엇을 할지 결정할 수 있는 파일럿이 필요합니다. 그것은 마치 레고 세트와 같습니다. 큰 문제를 작은 문제로, 작은 빌딩 블록으로 나누어야 합니다. 이를 위해서는 시스템 사고가 필요합니다.”
“우리는 우리가 판매 시스템을 구축하고 있는지, 아이폰 앱을 만들고 있는지, 아니면 멋진 무언가를 만들고 있는지를 알아낼 수 있는 인간이 필요합니다.”
“내가 페이스북을 만들고 있나요? 그것은 매우 다른 시스템입니다.”
“이제 이러한 구성 요소들은 크기가 커질 것입니다. 오늘날에는 몇 줄의 코드, 아마도 전체 파일일 수도 있습니다; 미래에는 전체 하위 시스템일 수도 있습니다.”
“그래서 내 어깨에서 더 많은 작업이 제거되지만, 나는 여전히 큰 시스템을 다루고 있습니다.”
“그리고 내가 언급했듯이, 우리는 여전히 60년대의 COBOL 시스템을 운영하고 있기 때문에 할 일이 많습니다.”
“BS: 절대적으로. 그래서 우리는 더 높은 수준의 추상화에서 이러한 시스템을 조정하는 책임을 질 것입니다.”
“모두들, 토마스 도흠케에게 감사드립니다.”
“TD: 정말 감사합니다.”