지난 몇 달 동안 우리는 Bay Area 전역의 Disrupt 및 기타 기술 행사 덕분에 다양한 빅테크 회사의 최고 기술 인력, 엔지니어 및 관리자와 이야기할 수 있는 기회를 얻었습니다. 일반 대중 중 상당수는 소스 코드 생성이라는 용어와 소프트웨어가 일반적으로 구축되는 방식에 익숙합니다. 그러나 기술 담당자, 특히 최신 소프트웨어 개발을 추적하는 사람들과 이야기할 때 AppMaster 가 GitHub Copilot 과 어떻게 다른지에 대한 질문을 받습니다. 꽤 흥미로운 질문입니다.
내 게시물을 읽고 있다면 고급 소스 코드 완성 및 생성을 위한 AI 도구인 Copilot 에 대해 들어봤을 것입니다. Copilot 은 개발자가 소스 코드의 일부만 작성하고 AI가 전체 기능까지 코드 완성을 제공할 때 이미 보조 프로그래밍을 위한 꽤 좋은 도구입니다. 패턴과 사전을 완성하는 데 특히 뛰어난 Copilot: 몇 가지 항목을 작성하면 나머지는 자동으로 생성됩니다. 커뮤니티 피드백과 최근 GitHub CEO 게시물에 따르면 Copilot 은 좋은 속도로 성장하고 있습니다.
Copilot 과 달리 AppMaster 는 조각 대신 완전한 소프트웨어 프로젝트를 생성하는 데 중점을 둡니다. AppMaster 는 서버 응용 프로그램(백엔드), 웹 응용 프로그램, 모바일 응용 프로그램 및 모든 보완 항목과 같은 전체 프로젝트에 대한 요구 사항을 축적합니다. 일반적으로 엔지니어 데이터 모델 스키마, 애플리케이션 로직, 엔드포인트, UI 요소 및 미래 애플리케이션에 대한 모든 표준 요구 사항을 시각적 drag-and-drop 형식으로 수집합니다. 올인원 접근 방식을 통해 소프트웨어 엔지니어는 더 적은 작업으로 더 많은 것을 얻을 수 있습니다.
더 나은 이해를 위해 작은 예를 들어 보겠습니다.
웹 또는 모바일 애플리케이션에서 서버/백엔드로 API를 호출하는 것은 가장 일반적인 작업 중 하나입니다. 일반적으로 엔지니어는 서버 API 문서를 살펴보고 요청/응답 및 모든 해당 코드의 구조를 만들어야 합니다. AppMaster 에서 한 번의 dran&drop 작업으로 동일한 작업을 수행할 수 있습니다. 플랫폼은 데이터 모델과 끝점에 대한 모든 것을 알고 있기 때문에 해당 개체 구조를 포함하여 손쉬운 API 요청을 만들기 위해 시각적 블록을 자동으로 미리 생성합니다. 또한 데이터 모델이 변경될 때마다 비즈니스 로직 또는 엔드포인트 플랫폼이 엔지니어 개입 없이 종속 UI 요소를 자동으로 업데이트합니다.
측면에서 AppMaster 와 Copilot 이 서로 다른 문제를 해결하려고 하는 것처럼 보이지만 우리는 동일한 소프트웨어 엔지니어링 문제에 대해 작업하고 있지만 접근 방식은 상당히 다릅니다. Copilot 은 소프트웨어 엔지니어가 더 많은 코드를 더 빠르고 쉽게 작성할 수 있도록 지원하기로 결정했지만, 우리는 소프트웨어 개발 패러다임을 프로그램 코드를 작성하여 소프트웨어를 생성하는 것에서 고수준 요구 사항을 정의하는 것으로 전환하는 데 중점을 두었습니다. 요구 사항이 있으면 전체 프로젝트 코드 기반을 처음부터 다시 생성할 수 있다는 큰 이점이 있습니다. 요구 사항이 변경될 때, 개선된 코드 생성 알고리즘을 사용할 수 있을 때, 프로그래밍 언어 또는 라이브러리 버전을 업데이트하거나 전체 기술 스택을 변경하기 위해 어떤 이유로든 재생성을 수행할 수 있습니다!
우리는 " 소스 코드를 만지지 말라 "는 접근 방식과 소프트웨어 엔지니어링에 대한 높은 수준의 요구 사항을 통해 미래를 믿습니다.
어떻게 생각해? 사실 너무 좋은? 유토피아?
추신: 이 분야에 관심이 있으시면 Tesla의 전 AI 이사인 Andrei Karpathy와 함께 Software 2.0 및 코드 생성에 대한 최신 Lex Fridman 팟캐스트를 확인하십시오.