Offcanvas

AI / 머신러닝|딥러닝

일문일답 | “AI 코딩 도구로 얻은 교훈, 전사에 확대 중”··· 깃허브 COO 카일 데이글

2024.03.07 Lucas Mearian  |  Computerworld
깃허브는 지난 2년 동안 개발자를 위한 코드 작성하는 플랫폼과 IT 지원팀 업무을 돕는 플랫폼을 생성형 AI로 구현했다. 깃허브 COO 카일 데이글이 그간의 과정을 공유했다.
 
깃허브 COO 카일 데이글 ⓒ 깃허브

코드 생성, 저장, 관리, 공유 플랫폼을 제공하던 깃허브는 챗GPT나 코파일럿이 대중에게 널리 공개되기 이전부터 생성형 AI 기술을 개발했다. 2년 반 전에는 마이크로소프트 및 오픈AI와 파트너십을 맺고 개발자를 위한 AI 코딩 도구 ‘깃허브 코파일럿’을 선보였다.

생성형 AI를 활용하고 대화형 채팅 인터페이스를 가진 깃허브 코파일럿은 외부 개발자뿐만 아니라 깃허브 내부 직원도 유용하게 활용하고 있다.

혹자는 생성형 AI가 계속 발전할 경우 단순한 요청으로도 수많은 코드를 생성할 수 있으니 개발자가 필요 없는 세상이 올 것이라고 주장한다. 지난주 엔비디아의 CEO 젠슨 황은 “AI 덕분에 이제 전 세계 누구나 프로그래머가 될 수 있다. 인공지능이 기적을 만든 셈이다”라고 밝히기도 했다. 젠슨 황은 또한 인간은 소프트웨어 개발 대신 생물학, 교육, 제조, 농업 같은 더 중요한 기술에 집중해야 하며, 프로그래밍 언어는 이제 인간의 언어라고 설명했다.

깃허브에서 11년 동안 근무한 카일 데이글은 약 1년 전에 COO(Chief Operating Officer)로 취임했다. 그는 코파일럿이 약 3,000명의 직원(개발자와 비개발자 모두 포함)과 외부 개발자에 어떤 영향을 주는지 조사하는 생성형 AI 개발 전략팀의 일원이기도 하다. 다음 인터뷰를 통해 깃허브 내 개발자와 비개발자가 생성형 AI를 어떻게 활용하고 있는지 구체적으로 살펴보자.

Q. 코파일럿은 언제 배포했나? 배포한 이유는 무엇인가? 깃허브를 통해 어떤 혜택을 얻었나?
A. 깃허브는 약 2년 반 동안 코파일럿 개발에 투자했다. (모회사인) 마이크로소프트와 파트너십을 맺고 오픈AI 모델에 대한 초기 접근 권한을 얻어 코파일럿 개발 작업을 시작했다. 여느 다른 기업처럼 우리도 새로운 LLM을 어떻게 잘 활용할 수 있을까를 고민했었다. 처음 코파일럿을 만들 때 그 목적을 정하는 데 시간이 좀 걸렸다. 초기에는 코딩 작업을 문서화해서 정리하는 도구로 만들까 했다. 레포지토리를 입력하면 그 안의 코드가 수행하는 작업을 정리해 알려주는 그런 기능 말이다.

하지만 테스트를 해보니 코파일럿은 한 줄로 요약하는 것이 이상으로 어떤 정보의 전체를 출력할 수 있는 획기적인 도구였다. 그런 기능을 살려 현재의 코드 생성 도구로 코파일럿이 출시됐고, 매일 백만 명 이상이 이를 사용하고 있다. 깃허브 자체 조사에 따르면, 코파일럿 이용 시 생산성이 55% 높아질 수 있다. 사용자가 작성하려는 전체 코드 중 60%를 코파일럿이 만들었다. 앞으로 다양한 언어가 지원되고 기술이 고도화되면 전체 코드의 약 80%를 코파일럿이 작성할 수 있을 것으로 보고 있다.

우리가 내부 팀과도 많이 이야기하는 부분은 코파일럿이 개발자의 성취감을 높여주고 있다는 점이다. 덕분에 개발자는 고된 업무 대신 더 창의적인 작업에 집중하고 있다.

최근 깃허브는 코파일럿에서 얻은 교훈을 프로그래밍 외 다른 영역에 적용할 수 없는지 살펴보고 있다.

Q. 코드 생성 기능은 여러 생성형 AI 기술 중에서도 특히 인기가 높다. 깃허브 내부에서는 AI 코딩 도구를 얼마나 사용하고 있으며 어떤 언어 개발에서 주로 도움을 받고 있나?
A. 초기 실험 단계에서는 파이썬, 자바스크립트 등의 언어를 활용할 때 코파일럿을 활용했다. 깃허브는 원래 루비 언어를 사용하는 곳으로 유명하지만, 고, C 같은 다른 언어를 쓰기도 한다. 현재는 코파일럿에서 지원하는 언어 수를 더 확장하려 하고 있다. 기본적으로 코파일럿은 업계에서 많이 쓰이는 주요 언어를 지원한다.

자체적인 언어가 있다고 해도 코파일럿은 새로운 언어의 원리를 능숙하게 파악하며 적절한 코드를 추천할 수 있다. 초기에는 몇 가지 테스트 언어만 지원했지만 오픈소스 프로젝트 및 인터넷 자료가 충분히 존재하는 언어 대부분을 코파일럿에서 계속 지원할 것이다.

Q. 코드 완성도 측면에서 코파일럿은 어느 수준에 올라와 있나?
A. 코파일럿을 이용하면 코드 한 줄을 완성하는 경우도 있지만 메소드 전체를 완성할 수도 있고, 사용하는 언어에 따라 파일이나 클래스 전체를 완성할 수도 있다.

코파일럿 챗’ 기능을 활용하면 더 완성도를 높일 수 있다. 코파일럿에게 ‘이런 문제를 해결하고 싶다’라고 설명하면 파일 전체를 생성할 수 있다. 해당 파일을 활용하여 다시 ‘A가 아닌 B를 만들어달라’고 구체적으로 지시하거나 ‘이 API나 저 API를 사용했으면 좋겠다’라고 말하며 코드를 개선할 수 있다.

코파일럿에서 아무리 코드를 많이 생성해도 전혀 쓰지 않거나 너무 수정할 영역이 만든다면 완성도가 낮은 코드일 것이다. 놀라운 것은 사용자가 코파일럿이 생성한 코드를 그대로 쓰는 경우가 많다는 점이다. 코파일럿이 작성한 코드를 기반으로 PR을 보내고 배포하면 개발 과정은 더 빨라진다. 거기다 코파일럿이 개발자와 함께 작성한 코드를 리뷰하면서 정확한 코드를 생산할 수 있다. 이런 노력이 결합돼 결론적으로 각 개발 단계마다 오류는 줄어들며 전체적인 개발 생산성은 높아질 것이다.

Q. 코파일럿을 사용하면서 부정확한 코드를 발견한 적이 있나?
A. 코파일럿이 제공하는 코드는 기존 깃허브 레포지토리에 저장된 코드를 모방한다. 아주 오래된 코드도 참고하기에 AI가 만든 코드가 지금 시기에는 안 쓰는 표현을 쓸 수 있다. 일부 개발자는 코파일럿 챗 기능을 통해 ‘지금 코드를 업그레이드하려고 하니까 최근의 코딩 방식을 활용해달라’라는 요청 사항을 입력해 놓는다. 우리도 그런 식으로 정확도 문제를 해결하고 있다.

또한 코파일럿과 여러 AI 모델을 함께 활용하며 취약점을 수정하고 보안성을 높이고 있다. 일례로 작년 11월에는 ‘시큐리티 오토픽스’라는 AI 보안 기능을 하나 공개했다. 이 기능으로 보안상 문제가 있는 코드를 찾는 것은 물론 코드 수정까지 AI에게 맡길 수 있다. 개발자는 수정 진행 여부만 입력하면 된다.

그런 면에서 코파일럿은 직원의 모든 일을 대신하는 것이 아니라 여전히 ‘부조종사 자리’에 있다. 여전히 직원은 모범 사례를 따라야 한다. 보안 스캐닝을 진행하고 좋은 소프트웨어 개발을 위한 관행을 계속 따라야 한다. 깃허브는 IDE를 사용할 때뿐만 아니라 소프트웨어 개발 주기 전체에 AI를 도입할 방법을 고민하고 있다.

Q. 기술 업계 일각에서는 AI 코딩 도구로 개발자가 사라질 수 있다고 우려를 내비친다. 어떻게 생각하는가?
A. 현대사를 돌이켜보면 인쇄기처럼 새로운 기술이 등장했을 때 ‘잠깐, 내 일자리는 어디로 가는 건가요?’라고 묻는 순간이 수없이 있었다. AI 코딩 도구는 이전에 이미 수십, 수백, 수천 번 넘게 논의하고 이미 해결책이 등장한 문제에 대해 다시 처음부터 고민하지 않게 만들어준다. 과거의 개발자는 그런 문제에 60%~70%의 시간을 소비했다. AI 코딩 도구로 경제성이 없던 많은 일을 해결할 수 있으니 기회가 생긴 것으로 볼 수 있다.

앞서 깃허브 코파일럿은 개발자의 생산성을 55% 높일 수 있다고 소개했다. 이런 수치를 보고 혹자는 ‘개발 시간을 55% 더 확보할 수 있다는 뜻인가?’라고 묻기도 한다. 엄밀히 말하면 개발자가 과거 암기 작업으로 수행했던 일을 이제는 하지 않고, 더 어려운 문제이자 창의적인 문제에 더 집중할 수 있다는 뜻이다.

그래서 깃허브에서는 여전히 개발자를 채용하고 있다. 지금도 채용 중이다. 내부적으로 우리 개발팀은 사전 논의, 아키텍처, 고객과 함께 해결해야 할 문제에 더 많은 시간을 집중하고 있다. 코딩 속도가 빨라지면서 어느 시점에선 해야 했던 암기식 작업은 덜 하고 창의적인 문제 해결 작업에 시간을 더 할애하고 있다.  
 
AI는 이전보다 더 많은 코드를 작성할 수 있는 기반을 만들었다. 동시에 이전보다 더 많은 일을 할 수 있는 환경을 만들었다. 과거에는 불가능했던 대규모 코드 수정도 가능하고, 시도하지 못했던 문제 해결도 가능하다. 많은 기업이 비용과 시간 문제로 감히 도전하지 못했던 것을 시도할 수 있는 것이다. 비용이 50% 저렴하다면 새로운 기술로 전환하고 그러한 새로운 기술을 사용하여 새로운 문제를 더 빠르게 해결할 수 있다.

아직 해야 할 일이 많이 남았다고 생각한다. 전 세계의 대다수 애널리스트가 아직 개발자가 업계에서 부족하다고 지적한다. 개발자의 업무 부족을 걱정하기에는 너무 이르다.

Q. 비개발자 팀에게 생성형 AI는 어떤 이점을 안겨주나?
A. 코파일럿의 핵심은 학습과 개발, 즉 업무에 대한 숙련도를 높인다는 것이다. 직무, 회사, 언어를 처음 접하는 사람도 코파일럿을 통해 즉시 질문할 수 있고, 코드를 작성하고, 즉각적인 피드백을 받을 수 있다.

회사, 직무 대한 질문은 신입 직원만 하는 것이 아니다. 시니어 개발자도 배워야 할 시기는 늘 있다. 가령 오래된 기술 프로젝트를 업데이트해야 할 때 시니어 개발자는 ‘자바는 알지만 스칼라는 모른다. 어떻게 해야 할까’라는 질문을 코파일럿에 입력해서 필요한 역량을 개발할 수 있다.

비슷한 맥락에서 코파일럿도 사용자 경험 개선에 신경 썼다. 코파일럿을 이용하기 위해 따로 학습해야 할 것은 없다. 버튼의 역할도 알아야 할 필요 없다. 그저 궁금한 점을 타이핑을 해서 물어보면 그만이다.

깃허브는 이 두 가지 경험을 기반으로 배우지 않아도 자연스럽게 AI를 경험할 수 있는 또 다른 영역이 없는지 살펴봤다. 이것이 진짜 비결이다. 사용법을 배워야만 이용할 수 있는 기술은 그리 좋은 기술이라 할 수 없다.

Q. 다른 성공 사례가 추가로 있는가?
A. AI를 IT 지원 환경에 결합한 사례를 강조하고 싶다. 약 3,000명으로 구성된 깃허브 직원은 과거 노트북이 작동하지 않는 이유, VPN에 액세스하는 방법 등을 알기위해 오래된 시스템에서 수많은 문의 사항을 남겨야 했다.

깃허브는 재택근무 중심 기업이고 전 세계 다양한 곳에서 직원이 일하고 있다. 기본 소통 수단은 슬랙이다. 그래서 우리 모두 슬랙을 이용하니 슬랙 안에서 IT 부서와 상호작용하는 AI를 만들면 어떨까하는 아이디어가 나왔다.

기존 방식대로 포털에 들어가 문의 사항을 남기는 대신 슬랙에 ‘IT 헬프데스크’라는 채널을 만들고, 그 안에 ‘옥토봇(OctoBot)’라는 챗봇을 넣었다. 옥토봇 뒤에는 AI 업무 자동화인 ‘무브웍스(MoveWorks)’ 기술이 탑재돼 있으며, 사용자가 질문을 하면 적절한 답과 조치를 제시한다.

옥토봇을 이용하면 노트북 교체 시기가 왔을 때 수동으로 새 노트북을 신청할 필요 없다. 옥토봇과 대화하면 바로 새 노트북이 배달된다. IT 지원팀 입장에서 옥토봇을 위해 따로 시스템을 구축할 필요도, 이용자 교육을 따로 진행할 필요도 없었다.

옥토봇은 출시 이후 문의 사항 30%를 알아서 해결하고 있다. 결과적으로 IT 지원팀은 옥토봇으로 시간을 절약하여 다른 AI 이니셔티브에 재투자할 시간을 확보하고 있다.
 
  옥토봇 답변 예시 ⓒ깃허브

옥토봇 도입 이후 사내 직원 만족도는 12점 상승했다. 만족도는 98%에 달한다. 주목할 점은 옥토봇 이용 방법을 가르칠 필요는 없다는 부분이다. 따로 기술 배포 과정을 거칠 필요도 없고, 슬랙이라는 모두가 일하는 환경에서 옥토봇을 추가하면 됐다.

현재 깃허브는 여러 AI 프로젝트 경험을 기반으로 사내에서 약 6~7개의 다른 도구를 테스트하고 있다. 직원의 약 10%가 일종의 AI 도구 테스트에 참여하고 있다. 각 서비스는 지원 및 교육 없이 직원에게 스며들 수 있는 AI를 추구하고 있다. AI 도구로 절약되는 시간도 측정하고 있다.

Q. 다른 생성형 AI 도구도 고려하고 있나?
A. 깃허브의 경우, 코파일럿 기술을 고객센터 기능에 적용하려 하고 있다. ‘서포트 코파일럿(Support Copilot)’이라는 기능이다. 과거 깃허브에서 문제가 생겼을 때는 문의 사항을 따로 남기고 답변을 기다려야 했다. 하지만 서포트 코파일럿은 바로 AI에게 필요한 질문을 할 수 있다.

서포트 코파일럿에서는 기본적으로 사용자가 무엇을 요청하고 있는지, 어떤 접근 권한이 있는지에 대한 맥락을 파악하여 문제를 바로 해결한다.

코파일럿에게 목표를 제시하고 해결하려는 문제를 설명하는 ‘코파일럿 워크스페이스(Copilot Workspace)’라는 기능도 개발 중이다. 가령 사용자는 코파일럿 워크스페이스를 이용해서 깃허브 이슈를 설명하고 무엇을 해결하고 싶은지 코파일럿에게 알려줄 수 있다. 일종의 AI 동료와 협업하는 식으로 코파일럿과 대화하며 코드를 생성하는 것이다. 개발자 입장에서는 자연어를 기반으로 코드의 테스트, 실행, 빌드, 배포까지 진행할 수 있다.

깃허브는 더 많은 코드를 더 빠르고 정확하게 작성하는 방법을 알아내기 위해 노력 중이다. 프로그래밍 세계에서 때로는 코드가 전혀 없고 인간의 언어를 사용하면서 원하는 결과물을 얻을 수 있다.

Q. ROI는 어떻게 결정하나? 코파일럿에 대한 ROI는 파악했는가?
A. 평가 지표는 다양하다. 소프트웨어 개발 과정에서도 마찬가지다. 일반적으로 소프트웨어 개발에서는 얼마나 많은 코드를 제출했는지 측정하는 도라(DORA) 지표를 활용한다. 스페이스(SPACE) 프레임워크도 쓰기도 한다. 선택할 수 있는 지표는 많다.

가령 IT지원팀을 평가할 때도 여러 수치를 파악하려 했다. 가령 얼마나 많은 문의 사항이 전환되고 종료되었는가를 파악하는 식이다. 결국 우리 모두는 활동을 측정하고 있다. 특히 우리가 측정하고자 하는 것은 시간이다. 얼마나 많은 시간이 줄어들었는지 들여다보고 있다. 이러한 모든 측정을 수행해 보면 수작업을 했던 많은 업무가 줄어들고 있다. 줄어든 시간은 다시 더 전략적인 일에 투자되고 있다.

깃허브에서 이전보다 훨씬 더 많은 일을 할 수 있게 된 것은 작년에 50% 성장했기 때문이 아니다. 그 시간을 다시 다른 중요한 일에 투자할 수 있기 때문이라고 생각한다.

Q. 생성형 AI 사용 또는 확장을 고려하는 기업에게 팁을 준다면?
A. 기존 워크플로우에 AI를 접목하는 방법부터 찾기를 추천한다. 완전히 새로운 동작이 필요한 것이 아니라 기존 워크플로우에 맞게 AI 기능을 사용하는 것이 처음부터 무엇인가 새로 하는 것보다 훨씬 쉽다. 직원이 있는 곳에 가서 직원에게 필요한 AI 도구를 제공하라. 그러면 결국 그들은 다른 직원들에게 AI를 전파할 것이다. 다음은 특히 깃허브에서 얻은 2가지 핵심 교훈이다.

- 계속 반복할 수 있는 전략을 세우자: 지금은 ‘빨리빨리’의 시대도 아니지만, 그렇다고 6개월 단위의 장기 출시 전략을 세울 때도 아니다. 하지만 수십 년 동안 소프트웨어를 개발한 기업으로써 얻은 교훈은 ‘작고 빠른 반복’이 매우 중요하다는 것이다. 적어도 대규모로 코드를 재작성하는 것보다는 빠른 반복이 더 낫다. 소규모 그룹으로 자주, 조기에 파일럿을 해보는 것을 추천한다. 실험을 문화의 핵심으로 삼아야 한다. 깃허브는 사내 리소스의 10% 이상을 AI 실험에 투자하고 있다.
- AI가 인간의 수고를 덜어주도록 하자: 최고의 AI 도구는 인간의 장점을 최대한 발휘할 수 있는 도구다. 우리가 원하는 대로 AI를 조작하기 위해 애쓰는 동안 AI가 창의력을 발휘할 필요는 없다. 캘린더 관리 등 직원들이 업무에 집중하지 못하게 방해하는 요소에 집중하고, 직원은 더 크고 심층적인 방식으로 창의력을 발휘할 수 있도록 하자. 반복적이고 따분한 작업은 AI에 맡기자.
ciokr@idg.co.kr  
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.