코딩하고 앱개발하는 인공지능 Bayou 개발한 라이스대학

인공지능 프로그램 Bayou

코딩하는 인공지능 개발한 라이스대학

소프트웨어 공학자들은 수십년동안 컴퓨터 스스로 코딩을 할 수 있게 하는 방법을 연구해왔지만 아직까지 AI가 스스로 완벽하게 코딩을 하는 기술은 개발되지 못했습니다.


이에 라이스대학의 지능형 소프트웨어 시스템연구소는 보다 현실적인 방법으로 이 문제에 접근하게 됩니다. 연구팀을 이끄는 Swarat Chaudhuri 교수는 "XX앱을 만들어줘"라고 애매한 명령을 하는 것만으로 컴퓨터가 코딩을 할 수 있게 개발하는 것은 불가능 하다고 판단합니다.

▲ Swarat Chaudhuri 교수(오른쪽에서 두번째)


때문에 조금더 구체적으로 컴퓨터에게 명령함으로써 컴퓨터가 스스로 코딩을 할 수 있게 하는 방법으로 이 문제를 해결하기로 합니다. Warat 교수의 새로운 접근법로 인해 연구팀은 미 국방부의 DARPA (Defense Advanced Research Projects Agency)와 Google로 부터 투자를 받기도 했습니다.


그 결과 연구팀은 코딩 검색엔진 역할을 하는 딥러닝 Tool 개발에 성공합니다. Bayou라 불리는 이 Tool은 개발자의 Java 프로그래밍 및 API를 포함하는 코드스니펫을 작성을 도와줍니다.


Bayou▲ 스스로 코딩하는 Bayou(영상)


따라서 인간 개발자는 이전보다 코딩 작업을 쉽고 빠르게 할 수 있습니다. 이 AI는 검색엔진처럼 작동하기 때문에 개발자가 몇가지 키워드만 입력하면 AI가 자동으로 Java 코드를 작성해 줍니다.


Bayou의 동작원리는 간단합니다. 개발자들은 코딩을 할 때 모든 코드를 스스로 작성하지 않고 구글이나 Github에서 검색을 하면서 개발을 하게 되는데. 어떤 경우 코딩시간보다 코드를 검색하는데 시간이 더 오래 걸리는 경우도 있습니다.

연구원인 Vijay Murali는 "최근의 소프트웨어 개발은 ​​API로 시작해서 API로 끝난다. 개발자들은 특정 운영체제, DB, 하드웨어 플랫폼 또는 다른 SW 시스템에 적용하기 위한 수백개의 API를 검색하는 데 많은 시간을 소모하고 있다. 정답을 찾이 못할 경우 스택 오버플로와 같은 사이트 다른 개발자에데 도움을 요청한다."라고 설명했습니다.

관련글 : MS 공동 코딩 & 디버킹도구 라이브 쉐어 공개

Vijay Murali▲ Vijay Murali(맨 오른쪽)과 연구팀


그는 "Bayou는 이 과정을 획기적으로 단축시킴으로써 코딩 시간을 획기적으로 단축시킬 수 있다."고 밝혔습니다.


연구팀에 따르면 Bayou는 기본적으로 수백만 라인의 Java 코드를 학습했다고 합니다. 또한 심층학습을 위해 Github에 등록된 모든 코드에 대해서도 학습을 마쳤습니다.


인공지능 프로그래밍


Bayou는 신경스케치 학습으로 Java 코드를 학습했는데, 이 방식은 먼저 프로그램 코드를 읽고 스케치 한 후 이미 학습된 데이터 중 유사한 스케치를 가진 코드와 비교해 개발자가 어떤 의도로 코딩을 하고 있는지 파악한다고 합니다.


이러한 추측을 바탕으로 Bayou는 4~5개의 코드 조각을 생성하고, 이렇게 생성된 코드는 웹 검색을 통해 검색한 것 처럼 개발자에게 보여줍니다. 이렇게 보여지는 코드는 개발자가 원하는 코드일 가능성이 매우 높다고 합니다.


bayou 자동코딩


이 인공지능 Tool은 현재 http://askbayou.com/ 에서 사용해 보실 수 있습니다. 아직 AI가 스스로 코딩하는 단계는 아니지만 계속해서 발전된다면 언젠가는 AI가 스스로 코딩을 하는 날이 오지 않을까 하는 생각을 해봅니다.


댓글

Designed by JB FACTORY