인간의 명령을 이해하고 프로그램 만드는 똑똑한 알고리즘

- Advertisement -

OpenAI

지난달에 인공지능 연구 회사 오픈AI(OpenAI)가 AI 기반 코딩 비서 ‘코덱스(Codex)’를 발표했다.

초기 코덱스는 프로그래밍 과정에서 작성한 코드 줄이나 섹션을 자동으로 완성하는 알고리즘이었다. 따라서 프로그래머가 코딩하는 시간을 약간 줄여주는 보조 기능에 그쳤다.

그 코덱스가 몰라보게 발전했다. 지난 11일 오픈AI는 자연어 명령을 프로그래밍 코드로 변환하는 기능이 코덱스에 추가됐다고 발표했다. 오픈AI가 개발한 자연어 처리 모델 GPT-3을 활용, 인간이 명령한 내용을 해석해서 프로그램 코드로 변환할 수 있게 된 것이다.

코덱스는 사람이 일상적으로 말하는 내용을 이해할 수 있다. 명명 규칙이나 사용자의 명령이 암시하는 내용을 추정할 수도 있다.

예를 들어 “하늘에서 바위를 떨어뜨린다”라는 명령을 내리면 화면 상단에서 바위가 떨어지고 낙하 속도는 점점 빨라진다. 이는 코덱스가 ‘하늘’이 위쪽을 의미한다는 것을 알고 있으며, 낙하물이 일정한 가속도를 가져 점점 빨라진다는 자유낙하운동 이론까지 이해한다는 것을 의미한다.

(출처 : OpenAI)

오픈AI가 보여준 자연어 기반 코딩 예시를 보면, 사용자가 입력한 명령의 내용은 다음과 같다.

“로켓을 클릭하면, 현재 위치에 일시적으로 “쓰러스터 발사!”라고 말하는 흰색 텍스트를 보여준다. 그리고 0.25초 동안 속도를 4배 빠르게 한다.”

화살표 버튼을 누르면 명령한 내용이 코드로 변환돼 오른쪽에 나타난다. 그리고 화면에 보이는 로켓을 클릭하니 명령했던 내용이 그대로 구현되는 걸 확인할 수 있다.

또 다른 예시에서는 “모든 줄을 분홍, 주황, 보라, 빨강, 파랑, 초록 중 랜덤한 색으로 설정한다.”라는 명령을 내리자 텍스트에 색이 칠해진 모습을 확인할 수 있다. (출처 : 오픈AI)

이렇게 자연어 명령으로 코딩하는 것은 단순히 편리할 뿐만 아니라 신체적 장애가 있는 프로그래머에게도 매우 중요한 기능이 될 수 있다.

단, 코덱스가 프로그래머의 역할을 모두 떠맡을 수는 없다. 원하는 기능을 어떤 방식으로 구현할지, 진행 과정을 어떻게 구축해야 할지, 문제가 발생하면 어떻게 해결해야 할지는 프로그래머가 생각하고 명령해야 한다. 하지만 변수 이름을 어떻게 지을지 고민하거나, 기능과 관련된 API를 찾아 적용하거나, 코드를 타이핑하는 과정이 모두 자동화되는 것만으로도 시간을 획기적으로 절약할 수 있다. 또한 초보 프로그래머에게는 코드를 어떻게 구현해야 할지 고민하고 구상할 수 있게 하는 교육적 이점도 있다.

코덱스는 비공개 베타 테스트 중이다. 코덱스를 적용해보고 싶은 프로젝트를 첨부해 테스터에 지원하면 오픈AI 팀이 검토한 뒤 테스터 자격을 부여한다. 정식 출시 일정이나 이용 요금에 대해서는 아직 알려지지 않았다.

테크플러스 에디터 이병찬

tech-plus@naver.com

- Advertisement -

Related Stories