[분석지능개발팀 이현정]
마이크로소프트(Microsoft)가 노코드(no-code) 기반의 AI가 작성한 프로그램 코드를 검사하는 도구 ‘직소(Jigsaw)’를 발표했습니다.
노코드란 간단한 사용자 인터페이스 방식의 틀을 이용해서 복잡하고 어려운 코딩 과정 없이 어플리케이션과 응용 프로그램을 개발 및 구축하는 방식입니다. 직소는 이런 방식으로 작성된 코드의 컴파일 여부를 확인하고 컴파일러의 오류 메시지를 사용해 오류를 복구하거나 코드가 의도한 결과물을 생성하는지 테스트하는 통합 지원 도구 입니다.
코덱스, 파워FX 등, GPT-3같은 언어모델을 활용해 자연어를 이해하고 소스 코드로 합성하는 노코드 AI 서비스가 발표되고 있고, 또 공개를 예고 하고 있습니다. 이런 서비스를 이용하면 자연어로 대화하듯 어플리케이션을 개발할 수 있고, 그로 인해 비 개발자들도 개발할 수 있으며, 개발자들도 코딩 작업을 줄여 생산성을 높일 수 있는 장점이 있지만, 사용자가 모호하게 표현해 AI가 내용을 잘못 이해하거나, 말을 듣고 코드로 합성하는 과정에서 의도와 다르게 작성되어 의도된 결과물이 나오지 않을 수 있고, AI가 확률을 기반으로 하는 만큼 실수가 발생할 여지가 있으며, 잘못된 데이터를 학습 했을 경우, 오류가 발생할 수 있다는 단점이 있습니다.
직소는 이런 부분을 검증하기 위한 프로세스 전체 또는 일부를 자동화는 것을 목표로 합니다. 사용자가 의도한 코드에 대한 설명을 자연어로 입력하고, 입출력 데이터의 예시를 제시하면, 직소는 제공된 내용을 바탕으로 자동으로 코드를 검토하고, 출력 내용은 확인을 위해 담당자에게 전송합니다. 이 때, 출력결과에 오류가 있다는 피드백이 발생하면 복구 프로세스를 반복 수행해서 자동으로 코드를 개선합니다.
마이크로소프트는 직소를 통해 출력 정확도를 60% 이상 개선했으며 사용자 피드백을 도입하면 정확도를 80%까지 끌어올릴 수 있다고 발표했습니다.
노코드AI를 활용하면 개발 코스트 낮아져 다양한 서비스를 만들 수 있다는 기대감과 함께, AI가 작성한 코드이기 때문에 서비스에 활용하는 부분에 대해선 여러가지 우려가 있었는데, 직소가 이런 부분을 해소해 주어 노코드AI의 붐을 더욱 가속화시킬지 귀추가 주목됩니다.
참고 https://www.microsoft.com/en-us/research/project/project-jigsaw/ https://arxiv.org/pdf/2112.02969.pdf