아마존 코드위스퍼터나 깃허브 코파일럿과 같은 AI 코딩 도구는 개발자의 생산성을 높여준다. 프로 개발자와 초보 개발자 모두를 아울러서다.
Image Credit : Getty Images Bank
지난주 몽고DB의 CEO 데브 이티체리아는 오늘날의 AI를 "전화로 인터넷에 접속하던 단계"에 비유했다. 틀린 말이 아니다. 필자는 최근 생성형 AI의 현 시점에 대해 '어색한 걸음마 단계'(awkward toddler phase)라는 표현을 사용(영문)했다. ‘첫 걸음마를 뗐다!’는 설렘으로 가득하지만, 기초 수학처럼 간단한 작업조차 서툴기만 하다. 하지만 일부 분야에서는 생성형 AI의 미래가 좀 더 선명하게 도래하고 있다. 아마존 코드위스퍼러를 비롯한 코딩 어시스턴트가 그중 하나다.
어쩌면 포춘 100에 속한 한 은행이 명령 프롬프트를 통해 복잡한 뱅킹 애플리케이션을 2분 만에 만들었다는 일화를 들어봤을 것이다. 하지만 이 일화는 다분히 극단적인 사례일 뿐이다. 오늘날의 현실 개발자들은 생산성 향상을 위해 생성형 AI를 어떻게 사용하고 있을까?
이 질문을 아마존 코드위스퍼러의 제너럴 매니저이자 아마존 Q 소프트웨어 개발 디렉터인 더그 세븐에 물어봤다. 세븐은 경력 수준에 상관없이 모든 개발자가 오늘날 생성형 AI를 잘 활용할 수 있으며, 실제로 그렇게 하고 있다고 말했다. AWS의 핵심은 개발자가 AI에 관련한 각종 유행어에 신경 쓰지 않고 코드에 더 집중할 수 있도록 하는 것이라고 그는 덧붙였다.
아마존 효과
코드 위스퍼터와 아마존 큐(생성형 AI 기반 챗봇 어시스턴트)와 같은 도구는 정확히 어떤 기능을 할까? 기본적으로 코드위스퍼러는 상황에 맞는 코딩 제안을 제시한다. 개발자가 코드에 주석을 추가하면 코드위스퍼러는 해당 주석을 통해 개발자가 무엇을 하고 있는지 추론하고 코드를 제안한다. 또한 코드위스퍼러는 코드를 스캔하여 보안 취약점을 감지하고 이에 대해 알려준 다음 수정할 수 있다.
지난 1년 동안 AWS는 코드위스퍼러를 공개한 이후 이러한 코딩 제안을 사용자가 미세 조정할 수 있는 기능을 추가했다. 예를 들어, 회사에서 내부 프레임워크, 비공개 라이브러리 또는 코딩 규칙을 코드위스퍼러에 지정하면 이 도구는 이러한 회사 규칙과 선호 사항을 반영한다. "범용 코드가 아닌 내 코드와 같은 코드를 얻을 수 있다"라고 세븐은 설명했다.
아마존 Q는 그 역할을 보조하는 역할을 한다. 코드에 대한 설명이 필요하신가? 동일한 코드를 리팩토링하거나 디버깅해야 하는가? Q에게 물어보면 된다. Q가 ‘잡일’을 하는 동안 개발자는 코딩을 계속할 수 있다.
모두 훌륭하고 흥미로운 작업이다. 사실, 요즘은 "모두가 그렇게 하고 있다." 깃허브 코파일럿, 구글 코디(Google Codey), 챗GPT 등이 있다. 하지만 AWS의 접근 방식은 뭔가 다른 느낌, 즉 매우 아마존적인 느낌이 든다.
AWS 서비스에 그치지 않는다
AWS는 창립 초기부터 개발자가 서버를 세우고 데이터베이스를 관리하는 등의 '차별화되지 않은 잡무'를 덜어주기 위해 시도해왔다. 생성형 AI에 대한 회사의 접근 방식도 같은 맥락에 있다. 필자가 최근 쓴 글에서 언급했듯이 시장은 AI 과대 광고로 가득한 상태여서 신호와 잡음을 구분하기 어렵다. 필자는 세븐에게 AWS가 이 문제를 어떻게 해결하고자 하는지 물었다. 그는 "코드위스퍼러의 장점 중 하나는 모든 생성형 AI 과학을 추상화한다는 점이다"(One of the benefits of CodeWhisperer is we abstract all of that generative AI science)라고 답했다.
그의 말은, 개발자가 대규모 언어 모델(LLM), 검색 증강 생성(RAG) 또는 현재 출시되는 모든 것에 대해 스트레스를 받을 필요가 없다는 의미다. 코드위스퍼러를 사용하면 백그라운드에서 실행되는 모델에 대한 걱정 없이 보다 생산적으로 코드를 작성할 수 있다.
이는 개발자에게 희소식일 수 있다. 예를 들어, 더 나은 결과물을 위해 코딩 어시스턴트의 학습을 개선해야 한다는 것을 알고 있지만 이를 달성하는 방법을 몰랐던 개발자가 있을 수 있다. 세븐은 AWS가 코드위스퍼러와 관련 도구를 통해 이러한 문제를 '비교적 턴키 방식으로' 해결하기를 원한다고 말했다. “즉 사용자는 '여기 내 리포지토리가 있으니 알아서 하세요'라고 말하면, [AWS가] 뒤에서 다양한 기술을 사용할 것이다"라고 그는 설명했다.
AWS는 코드위스퍼러용 자체 서비스에만 집착하지 않고, 오로라 포 MySQL과 퍼스트 파티 서비스를 통해서도 준수한 경험을 제공하는 것을 목표로 하고 있다. 세븐은 "코드위스퍼러의 원칙 중 하나는 개발자가 어떤 작업을 하든 지원할 수 있어야 한다는 것이다"라고 말했다.
그는 이어 “즉, 여러 클라우드(또는 온프레미스)에서 서비스를 실행하는 개발자를 지원해야 한다는 뜻이다. 코드위스퍼러를 AWS[서비스]만 잘하는 것으로 제한하고 싶지 않다. 소프트웨어 엔지니어가 하려고 하는 모든 것을 잘 할 수 있도록 만들고자 한다"라고 덧붙였다.
그렇다면 깃허브 코파일럿이나 다른 코딩 어시스턴트가 코드위스퍼러보다 AWS 서비스에서 더 잘 작동하게 될까? 그렇지는 않다는 설명이다. "우리는 다른 누구보다 AWS 작업을 더 잘 수행하기 위해 많은 노력을 기울이고 있다"라고 세븐은 말했다.
코드위스퍼러로 코딩하기
개발자는 어떻게 시작해야 할까? "데이터 과학을 추상화"하려는 AWS의 모든 노력에도 불구하고, "때로는 표현 방식에 대한 학습 곡선이 있을 수 있다"라고 세븐은 말했다. 코드 위스퍼러(또는 이러한 생성형 AI 도구)가 원하는 결과를 산출하도록 학습이 필요할 수 있지만 "시작하기에 정말 쉬우며, 진행하면서 배우면 된다"라고 그는 말했다.
개발자가 경험이 있든 없든 마찬가지라고 그는 강조했다. 그는 사내 생산성 챌린지를 진행했는데, 코드위스퍼러를 사용한 참가자가 일련의 작업을 성공적으로 완료할 확률이 27% 더 높았다고 전했다. 더욱 고무적인 사실은 코드위스퍼러를 사용하지 않은 참가자들보다 57% 더 빨리 작업을 완료했다는 것이다. 경력 수준에 관계없이 마찬가지였다.
그 이유는 무엇일까? 개발자가 특정 SDK에 익숙하지 않은 경우 코드위스퍼러의 코드 제안은 개발자가 문서를 천천히 읽지 않고도 장애물을 통과할 수 있도록 도왔다. 이미 자신이 무엇을 하고 있는지 알고 있는 숙련된 개발자의 경우 코드위스퍼러는 여러 장애물을 부드럽게 처리하여 더 빠르게 작업할 수 있도록 지원해 상용구 코드를 훨씬 더 빠르게 처리할 수 있게 했다.
경험이 부족한 개발자를 위해서는 업무 흐름이 중단되지 않도록 코드를 제안하는 메시지를 표시한다. 세븐은 "어디로 가야 할지 파악하는 데 도움이 되는 제안을 받을 수 있고, 다른 사람에게 도움을 요청하는 등의 방해 행위가 줄어준다"라고 말했다. 모두가 승리하는 것이다.
도구 수준을 넘어선 AI
세븐은 상향식 접근 방식(개발자나 팀이 성공을 거둔 후 이를 널리 알리는 방식)과 하향식 접근 방식(경영진의 명령)이 모두 나타나고 있음을 목격하고 있다고 전했다. 보이지 않는 것은 생성적 AI 혁신의 둔화일 뿐이라고 그는 덧붙였다.
그에 따르면 오늘날 우리는 코드위스퍼러와 같은 도구를 거의 계산기 같은 도구로 사용하고 있다. 하지만 몇 년 후에는 "소프트웨어 개발 라이프사이클의 모든 부분에 통합된 소프트웨어 엔지니어링 팀과 AI 간의 파트너십"을 더 많이 보게 될 것이라고 그는 전망했다.
세븐은 "가까운 미래에 인간은 아이디어와 작업 방향을 제시하고, 결과물이 우리가 기대했던 것이나 우리가 원했던 것이 맞는지 감독하는 역할로 더 많이 전환하기 시작할 것"이라고 말했다.
미래가 기대되는 가운데 현재도 이미 매우 흥미진진합니다. 모든 수준의 개발자는 이미 AI 코딩 도구를 활용할 수 있다. 개발자의 경험 수준에 따라 사용 방법은 다를 수 있지만, 사용해야 하는지에 대한 질문은 정답이 정해져 있으며, 그 대답은 '그렇다'이다.
출처 : ciokorea, by Matt Asay
'기타' 카테고리의 다른 글
“소프트웨어 엔지니어 위협할 수도” 새 AI 개발자 비서 ‘데빈’에 쏠리는 관심 (0) | 2024.03.15 |
---|---|
“올해 (힘들게) 배운 교훈 있다”··· IT 리더 8인이 공유한 9가지 (6) | 2024.03.14 |
세계 최초의 AI 소프트웨어 엔지니어 - Devin (0) | 2024.03.13 |
아침에 쉽게 일어나는 법 5 (0) | 2024.03.13 |
진짜 쉽고 간단한 팔자 주름 없애는 습관 5 (0) | 2024.03.12 |