AI 에이전트, 소프트웨어 개발의 혁신을 이끌까?
최근 AI 분야의 가장 뜨거운 주제는 단연 ‘에이전트 AI’입니다. 특히 소프트웨어 엔지니어링 분야에서 에이전트 AI를 활용하는 방안에 대한 논의가 활발하게 이루어지고 있습니다. 에이전트 AI는 개발자의 생산성을 향상시키고, 개발 과정을 자동화하여 효율성을 극대화할 수 있는 잠재력을 지니고 있습니다.
독립형 에이전트 vs 통합형 에이전트
에이전트 AI는 크게 두 가지 유형으로 나눌 수 있습니다. 첫 번째는 개발 환경과 독립적으로 작동하는 ‘독립형 에이전트’입니다. 코그니션 AI의 데빈(Devin)처럼 자체적인 작업 공간을 갖추고 셸, 코드 편집기, 웹 브라우저 등을 활용하여 마치 원격 개발자처럼 작업을 수행합니다. 두 번째는 개발자의 환경 내에서 작동하며 셸, 편집기, 디버거 등 기존 도구를 공유하는 ‘통합형 에이전트’입니다. 구글의 파이어베이스 스튜디오(Firebase Studio)가 대표적인 예시이며, 구글 제미나이(Gemini)를 활용하여 개발자가 애플리케이션을 프로토타이핑하고 빌드하는 과정을 지원합니다.
AI 어시스턴트, 개발자의 역량 강화
AI 어시스턴트는 마치 자동차의 파워 스티어링과 같습니다. 운전자인 프로그래머에게 통제권이 있으며, 툴은 개발자의 역량을 증폭시키는 역할을 합니다. 개발자가 코드를 입력하면 어시스턴트는 함수를 완성하여 코딩 프로세스의 속도를 높입니다. 나아가 테스트 실행, 코드 디버깅, UI 모델링 등 다양한 작업을 스스로 수행할 수 있도록 역량을 부여하는 단계로 발전하고 있습니다. 파이어베이스 스튜디오는 에이전트가 적절한 동작을 수행하도록 지시하는 프롬프트를 입력할 수 있는 환경을 제공합니다. 이러한 에이전트는 프롬프트에 대한 단순 응답을 넘어 사용자의 의도를 실행에 옮겨 파일을 변경하거나 명령을 실행하는 등 능동적인 역할을 수행합니다.
파이어베이스 스튜디오, 앱 프로토타입 제작 에이전트
파이어베이스 스튜디오의 제미나이에는 프롬프트를 통해 앱 아이디어를 탐색할 수 있는 앱 프로토타입 제작 에이전트가 포함되어 있습니다. 예를 들어 "아웃도어 장비를 판매하는 상점을 만들자"는 프롬프트를 입력하면 제미나이는 제품 카탈로그, 제품 필터링 툴, 장바구니 등을 포함한 앱 프로토타입 제작 계획을 제시합니다. 또한 스타일 가이드라인도 제공합니다. "이 앱 프로토타입 만들기" 버튼을 클릭하면 UI가 자동으로 생성됩니다. 가격 범위 슬라이더와 카테고리 선택기 등이 동작하며, UI의 반응성도 뛰어납니다. 제품 설명과 이미지 모두 AI가 생성했지만 테스트 데이터일 뿐입니다. AI 에이전트는 높은 수준의 프롬프트를 받아 환경 내에서 스스로 움직여 필요한 작업을 수행합니다.
파이어베이스 스튜디오 개발 환경
파이어베이스 스튜디오는 미리보기 창과 관리형 클라우드 VM 인프라를 제공하며, 여기에는 코드를 실행하고 내부를 조작할 수 있게 해주는 컴퓨팅 및 기타 리소스가 포함되어 있습니다. 제미나이 AI 모델이 생성한 내부 구조를 살펴보면 Next.js 앱을 제공하는 것을 확인할 수 있습니다. 프론트엔드와 백엔드를 모두 처리할 수 있는 자바스크립트/타입스크립트 스택이 제공됩니다. 파이어베이스 환경은 깃허브와 잘 통합되어 기존 깃허브 리포지토리에서 앱을 실행할 수도 있습니다. /.idx/dev.nix 파일은 환경 파일로, Nix 패키지 관리자를 사용해서 VM에 설치되는 툴과 패키지를 설명합니다.
제미나이와 대화하기
파이어베이스 스튜디오의 오른쪽 창에는 미리보기와 제미나이 탭이 있으며, 제미나이 탭을 통해 AI 챗봇에 액세스할 수 있습니다. "이 앱이 어떻게 작동하는지 설명할 수 있어? 데이터는 어디서 가져와?"와 같은 질문을 통해 앱의 전체적인 구조와 사용 기술에 대한 설명을 얻을 수 있습니다. 또한 "이 데이터를 라이브로 사용 가능하도록 만들고 싶은 경우 CRUD가 가능한 실제 데이터를 사용하는 가장 간단한 경로는 뭐야?"와 같은 질문을 통해 데이터베이스 연결 방법에 대한 제안을 받을 수 있습니다. 제미나이는 몽고DB, 포스트그레SQL, 파이어베이스 파이어스토어 등 합리적인 방법을 제안합니다.
파이어베이스 파이어스토어 활용
"파이어스토어와 통합을 구현해. 필요한 Next.js 서비스를 생성하고 새 데이터 저장소와 연결하고 몇 가지 테스트 데이터를 채워 넣고 새로운 백엔드를 사용해 UI가 정상적으로 작동하도록 해."와 같은 복잡한 요청은 제미나이가 처리할 수 없습니다. 하지만 파이어스토어 프로비저닝 및 커넥터 추가와 같은 프로세스 시작을 지원할 수 있습니다. 이를 위해서는 파이어베이스 프로젝트 ID, 파이어베이스 초기화 방법, 인증 사용 여부 등의 정보가 필요합니다. 제미나이는 로컬 컴퓨터에서 소프트웨어를 설치하거나 데이터베이스 서버와 같은 시스템 서비스를 관리하는 명령을 직접 실행할 수 없습니다. 제공된 터미널 환경 내에서 프로젝트 파일을 다루고 명령을 실행하는 것으로 기능이 제한됩니다.
관리자 페이지 작업
"기존 데이터에 새 항목을 추가할 수 있는 관리자 페이지를 만들 수 있어? 다른 모든 부분은 지금 상태로 두고, 아직 인증에 대해서도 신경 쓰지 말고 간단한 백오피스 페이지만 만들어."와 같은 요청은 제미나이가 처리할 수 있습니다. 제미나이는 새 페이지 파일(admin/page.tsx)을 생성하고, 백엔드에서 Next.js 경로를 처리하는 새로운 src/app/api/products/route.ts 파일도 생성합니다. 또한 관리자 페이지로 이동할 수 있도록 헤더에 링크를 추가합니다. 관리자 페이지에서 테스트 데이터를 입력하고 "제품 추가"를 클릭하면 데이터가 추가됩니다.
결론
파이어베이스 스튜디오와 같은 AI 기반 개발 환경은 아직 완벽하지 않지만, 개발 과정에서 발생하는 많은 번거로운 작업을 덜어주고 더 큰 그림에 집중할 수 있도록 도와줍니다. AI가 툴 내에서 직접 행동을 수행할 수 있는 형태가 미래의 소프트웨어 개발을 주도할 것이라는 점은 분명합니다. 다만, AI 에이전트가 클라우드 대시보드에 들어가서 관리형 데이터 저장소, 사용자, 인증을 프로비저닝하고 준비할 수 있게 되는 시기는 예상보다 늦어질 수 있습니다. 그럼에도 불구하고 AI 어시스턴트는 소프트웨어 개발의 생산성과 효율성을 향상시키는 데 중요한 역할을 할 것입니다.