논리철학자 비트겐슈타인은 “언어의 한계가 곧 세계의 한계다”라는 명언을 남겼다. 우리가 컴퓨터 코딩 언어를 극복한다면 많은 일들을 해낼 수 있을 것이다. 최근 간단한 요구사항을 입력하면 코딩을 대신해주는 챗GPT를 비롯해 노코드(No code)·로코드(Low code) 등 코딩 언어를 모르는 일반인도 쉽게 프로그램을 만들 수 있는 시대가 열리고 있다.
노코드·로코드는 포브스지에서 2020년대 세상을 뒤흔들 12가지 기술 중 3위로 평가됐으며, 시장조사업체인 가트너는 2020년까지 노코드·로코드로 개발한 앱이 25% 수준이었지만, 2025년에는 70%까지 커질 것으로 예측했다.
■ SW 개발 자동화 역사
그간 IT업계에서 SW(소프트웨어) 개발을 쉽고 편하게 하려는 시도가 이어져왔다. 1980년대에 SW 개발 자동화를 위해 CASE(Computer Aided Software Engineering)라는 개념이 처음 등장했다. CASE는 코드 뭉치들을 미리 준비해놓은 후 전체과정을 설계하고 요구사항을 입력하면 원하는 SW를 얻을 수 있다. 또한 CBD(Component Based Development) 방법도 있다. CBD는 특정 기능을 수행하는 컴포넌트들을 다수 만들어놓고, 사용자가 조립만 잘 하면 SW를 개발할 수 있다.
CASE나 CBD와 같은 방법론들은 요구사항만 잘 입력하면 컴퓨터가 복잡한 코드를 작성해준다는 점에서 요즘의 노코드·로코드와 유사해 보인다. 그러나 그동안 SW 개발 자동화는 필요에 따라 제한적으로만 사용됐을 뿐 혁신적인 변화는 가져오지 못했다. 그에 반해 이제는 AI가 학습할 데이터가 갖춰져 있고 실제로 구현됐다는 점에서 SW 개발에도 일대 혁신이 일어나고 있다.
■ 로코드-노코드 플랫폼 등장
수십 년간 SW 개발에는 두 가지 방법 밖에 없었다. 상용 SW를 구매하거나, 전문개발자를 통해 주문형 SW를 개발하는 것이다. 최근에는 대안으로 현업에서 SW를 개발할 수 있도록 해주는 노코드·로코드 플랫폼들이 대거 등장해 날로 정교해지고 있다.
노코드는 코딩 없이 음성이나 클릭, 드래그 앤 드롭 등 직관적 명령만으로 개발이 가능하다. 로코드는 코딩을 최소화하는 가이드를 제공해 개발자들의 업무를 효율화시켜준다. 2014년 이후 글로벌 주요 기업들은 클라우드 기반 노코드·로코드 플랫폼을 출시해 상당히 발전시켜왔다. 마이크로소프트의 파워앱스, 구글의 앱시트, 세일즈포스의 플로우, 네이버의 클로바스튜디오, 아가도스의 노코드플랫폼 등이 있다.
이러한 제품들은 코딩 없이도 마치 그림을 그리듯이 그래픽 사용자 인터페이스(GUI)를 통해 다양한 코드 모듈을 단순히 결합해 SW를 만들 수 있다. 특히 최근 코로나19와 디지털 전환이 가속화함에 따라 SW 개발자 수요가 급증했는데, 노코드·로코드가 개발자 저변 확대와 생산성을 높여 구인난을 해소하고 디지털 전환의 든든한 지원자로 급부상했다.
■ 코딩하는 초거대 AI
오픈AI의 챗GPT를 비롯한 범용적인 초거대 AI는 텍스트 데이터를 이해하고 생성하는 영역에서 큰 진전을 이뤘다. 하지만 문제해결 영역에서는 간단한 수학과 프로그래밍 문제만을 다루거나 기존 솔루션을 검색하고 복사하는 수준에 그치고 있다.
코딩에 특화된 AI로 지난해 2월 딥마인드가 인간처럼 코딩하는 초거대 AI 알파코드(AlphaCode)를 출시했다. 세계 최초로 국제적인 코딩 대회에서 중급개발자 수준을 선보였다. 알파코드는 대회를 위해 깃허브(GitHub) 코드에서 AI 모델을 사전 학습했다. 이후 작은 규모로 엄선된 코드 데이터로 파인튜닝(Fine tuning)을 했다. 알파코드는 코딩, 디버깅, 컴파일링, 검증까지 인간 경쟁자들의 시행착오 작업을 대체해나가고 있다.
이보다 앞선 2021년 깃허브의 코파일럿(Copilot)은 오픈AI의 코덱스(Codex)를 기반으로 초거대 AI 코딩 시스템을 출시했다. 코덱스는 문제를 이해한 후 알고리즘을 돌리고 반복 시도해
코드를 출력하는 AI 모델이다. 코파일럿은 구현할 코드를 제안해주는데, 코드의 최대 40%를 최적화하며 자동 완성시켜준다.
마이크로소프트는 지난 1월 VS코드(비주얼스튜디오코드) 업데이트 버전에 코파일럿 기능을 추가했다. 챗GPT와 유사하지만 편집기에서 바로 코드를 편리하게 생성해준다. 코딩하는 초거대 AI는 깃허브의 SW 개발에 특화한 오픈소스 코드를 기반으로 AI를 학습시킨 만큼 코드의 정확도가 높다는 평가다. 단순반복 업무를 줄여주고 코드 작성 중 발생하는 오타 등 휴먼에러를 없애준다. 또한 개발자가 작성한 코드보다 최적화된 코드를 추천해 효율성을 높여준다.
■ 한계와 문제점도 존재
관련기사
- [IITP 기술산책] 산업 경쟁력 원천, 스마트 제조2023.01.30
- [IITP 기술산책] 인간 영역 넘보는 초거대 AI2022.12.26
- [IITP 기술산책] 국가 경제의 혈관, 스마트 물류와 ICT2022.12.01
- 수능 끝 첫 주말, 지스타2024 학생 게임팬 대거 몰려2024.11.16
아직 노코드·로코드는 대규모 개발에는 부적합하며, 내부 데이터 노출 위험성과 개발 플랫폼 종속 문제가 존재한다. 코딩하는 초거대 AI는 학습과정에서 오픈소스 라이선스가 있는 코드가 포함된 것으로 알려졌다. 이로 인해 추천하는 코드를 사용하는 과정에서 의도치 않게 저작권을 침해할 수 있다. 소송도 걸려 있어 국가·사회적으로 해결이 필요하다.
그렇다면 앞으로 어렵게 코딩을 배우지 않아도 되는 걸까? 초거대 AI 기반 노코드가 발전한다면 인간 개발자의 역할도 달라질 수 있다. 인간은 창의적 사고에 집중하고, 자연어이해·논리·알고리즘·코딩은 AI한데 좀 더 의존하게 될 것이다. 현재처럼 AI가 인간의 코딩을 지원하는 단계를 초월해 미래에는 언어장벽이 사려져 누구나 만능 개발자가 될 수 있는 초자동화 코딩(Hyper-automation Coding) 세상이 다가오고 있다.
*본 칼럼 내용은 본지 편집방향과 다를 수 있습니다.