[기고] 코딩하는 AI는 개발자를 대체할 수 있을까?
상태바
[기고] 코딩하는 AI는 개발자를 대체할 수 있을까?
  • CCTV뉴스 편집부
  • 승인 2022.04.22 17:26
  • 댓글 0
이 기사를 공유합니다

개발자의 수준을 높일 수 있는 보조 도구로서의 가능성

[글=노규남 | 위블 CEO]
bardroh@weable.ai

알파고로 유명한 구글의 자회사 딥마인드가 또 다시 새로운 모델을 내놓았다. 알파고, 알파제로, 알파폴드에 이은 새로운 알파 시리즈인데, 이번의 모델은 ‘알파코드(AlphaCode)’라는 이름으로 깃허브(github)의 수많은 소스를 학습하여 실제 코딩 문제를 해결할 수 있는 수준이라고 한다. 이미 딥마인드의 블로그에 간단한 소개와 paper, 그리고 테스트 결과를 공개하고 있다. 딥마인드에 의하면 여러 온라인 개발 대회에서 개발자 상위 54.3% 즉 중간 수준의 개발력을 보여주었다고 한다.

최근 깃허브의 코파일럿 등 개발의 일부 작업을 대체해 주는 AI에 대해 관심이 높아진 가운데 실제 코딩할 수 있는 AI가 가능하다면 여러 분야에서 효율성을 높일 수 있는 부분이 생길 것이라는 예측이 있다. 반면 대표적인 고부가가치 산업이며 고도의 정신노동을 요하는 개발 업무까지 AI가 대신할 수 있다면 이는 인간이 할 수 있는 일은 모두 AI가 할 수 있다는 뜻이므로, 말 그대로 진정한 의미에서 직업의 종말을 의미할 것이라는 의견도 있다.

코파일럿(copilot)

코파일럿은 MS가 인수한 깃허브에서 제공하는 서비스로, 사용하려면 깃허브 계정이 필요하다. 현재는 tech preview 상태라서 beta wishlist에 이름을 올려놓고 대기해야 하며, 승인을 받은 후에야 사용할 수 있다. 코파일럿에서 사용하는 것은 OpenAI의 Codex Model인데 이런 초대형 NLP 모델은 상당한 컴퓨팅 파워를 소모하므로 공개적인 베타 서비스하기는 어려워서 제한된 규모의 그룹에게만 서비스하는 것으로 추정된다.

웹상에서 사용할 수 있는 것은 아니고, Visual Studio Code에서 깃허브에 로그인한 후 코드를 입력하거나 주석을 달 때마다 그 상황에 맞는 코드를 제안하는 방식으로 서비스를 제공받을 수 있다. 코파일럿이 작동하는 기본 원리는 기존의 NLP 모델과 크게 다르지 않다. 깃허브의 수많은 공개된 코드들을 가져다가 학습하여 현재 context에서 다음에 나올 가장 잘 맞는 코드를 제안하는 것이다.

이 공개코드들을 어떤 식으로 가공하여 학습 데이터세트를 만들고 학습시켰는지에 대해서는 명확하게 알려져 있지 않지만 통상의 NLP 문제와 마찬가지로, 적절한 입력(현재 코드 context)과 답안(제안할 코드)을 구성할 수 있다면 그에 최대한 비슷하게 코드를 작성할 수 있을 것으로 예상할 수 있다.

다만 FAQ에서 확인할 수 있듯이 코파일럿이 제안한 코드가 오류 없이 빌드된다는 것을 보장하지 않으며 사용자가 원하는 코드라는 것도 보장하지 않는다. 또한 많이 사용되는 기능은 공개 코드들도 풍부하므로 어느 정도 의미 있는 코드를 얻을 수 있지만, 많이 사용되지 않는 기능들은 학습 데이터가 적어서 전자보다 원하는 결과를 얻기 어렵다. 이런 점을 보았을 때 코파일럿은 코딩하는 AI라기보다는 code completion이나 visual assist의 연장선상에서 기존의 코드 제안 기능을 좀 더 지능화한 도구라 할 수 있다.

그리고 코파일럿의 결과는 수많은 공개 코드들에서 구현된 개발자들의 합의에 가까운 내용이다. 즉 ‘공개 코드를 개발하는 사람들은 이런 주제에 대해 대략 이런 식으로 코딩한다’에 가깝다. 새로운 기술이나 개념이 등장하면 처음에는 다양한 유형의 접근법이 시도되지만 시간이 지나면서 어느 정도 정형화된 코드가 만들어지기 때문에 코파일럿은 사람들이 많이 코딩하는 주제에 대한 모범 답안에 가까운 코드를 제안할 수 있을 것이다.

현재도 깃허브나 스택 오버플로(Stack Overflow), 쿼라(Quora) 등을 검색하면서 필요한 코드를 찾는 일은 매우 흔하다. 코파일럿은 이런 검색을 통해 얻어진 결과를 코드화하는 부분까지를 AI로 자동화하여 개발자의 일을 덜어주는 역할을 한다고 볼 수 있다. 하지만 이 코드가 유효하며 원하는 목적에 맞는지에 대한 여부는 최종적으로 사람이 확인해야 한다. 

알파코드(AlphaCode)

알파코드는 코파일럿에서 한 걸음 더 나아가서, 문제를 자연어로 정의하면 그에 해당하는 답 코드 전체를 생성해 주는 솔루션이다. 필자도 관심이 생겨서 그 내용을 좀 들여다보았는데, paper 자체는 70p 정도로 상당한 분량이지만 후반부 절반은 레퍼런스와 상세한 결과물을 포함한 부록이므로 실제 중요한 부분은 전반부의 절반이다.

전체 기사를 보시려면 로그인 필요

로그인 또는 회원가입을 해주세요. (회원만 열람가능)

로그인 회원가입


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
0 / 400
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.