요즘IT
위시켓
최근 검색어
전체 삭제
최근 검색어가 없습니다.

인공지능(AI) 기술의 발전은 소프트웨어 개발에 많은 영향을 미치고 있습니다. 이에 따라 개발자는 다양한 AI 도구를 활용하여 개발 생산성을 대폭 향상시킬 수 있게 되었죠. 하지만 반대로 이러한 흐름에 적응하지 못하면 점차 도태될 수도 있다는 우려가 있습니다. 이번 글에서는 AI를 활용한 개발 방법과 관련해, 웹 개발 프로젝트 각 단계에서 활용할 수 있는 AI 도구와 프롬프트 팁에 대해 정리해 보았습니다.

회원가입을 하면 원하는 문장을
저장할 수 있어요!

다음

회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!

확인

개발

AI 활용한 개발 방법과 프롬프트 팁 정리

년차,
어떤 스킬
,
어떤 직무
독자들이 봤을까요?
어떤 독자들이 봤는지 궁금하다면?
로그인

인공지능(AI) 기술의 발전은 소프트웨어 개발에 많은 영향을 미치고 있습니다. 이에 따라 개발자는 다양한 AI 도구를 활용하여 개발 생산성을 대폭 향상시킬 수 있게 되었죠. 하지만 반대로 이러한 흐름에 적응하지 못하면 점차 도태될 수도 있다는 우려가 있습니다. 이번 글에서는 AI를 활용한 개발 방법과 관련해, 웹 개발 프로젝트 각 단계에서 활용할 수 있는 AI 도구와 프롬프트 팁에 대해 정리해 보았습니다.

 

개발에 활용할 수 있는 AI 도구

먼저 간단하게 웹 개발 프로젝트에서 활용할 수 있는 AI 도구에 대해 알아보겠습니다. 우선 가장 대표적인 개발자용 AI 도구로 깃허브 코파일럿(GitHub Copilot)이 있죠. 지금은 깃허브 코파일럿 없는 개발은 상상하기 힘들 정도로 코딩 작업에 많이 활용되고 있습니다. 이외에도 깃허브 코파일럿과 비슷한 AI 도구로 아마존의 코드위스퍼러(Code Whisperer), 구글의 듀엣AI(Duet AI), 리플릿의 고스트라이터(Ghostwriter) 등이 있습니다.

 

깃허브 코파일럿 <출처: github.com, 작가 캡처>

 

이와 같은 개발자용 AI 외에도 프로젝트 각 개발 단계에서 다양한 용도로 활용할 수 있는 생성형 AI인 챗GPT와 구글 제미나이(Gemini), 엔트로픽 클로드(Claude)가 있으며, 빠르게 UI 프로토타입을 만들 수 있는 유아이자드(Uizard), 개발자 전용 AI 검색 엔진인 파인드(Phind)등도 개발 프로젝트에서 활용할 수 있는 AI 도구 중 하나입니다. 이제 각 프로젝트 단계에서 이러한 AI 도구들을 어떻게 활용할 수 있는지 살펴볼게요.

 

 개발자용 검색 엔진 파인드 <출처: phind.com, 작가 캡처>

 

 

요구사항 수집 및 정리

웹 개발 프로젝트는 먼저 요구사항(Requirements)을 정리하고 시작합니다. 요구사항을 정리하는 문서를 영어로 SRS(Software Requirements Specification)라고 하는데요. SRS는 소프트웨어의 기능인 측면과 비기능적인 측면에서 요구되는 항목을 정리하고 전반적인 프로젝트 방향을 설정하는 역할을 합니다. 이러한 SRS 작성할 때는 챗GPT와 같은 생성형 AI를 활용하여 템플릿을 만들고, 프로젝트 방향성을 설정하기 위한 브레인스토밍, 시장조사, 트렌드 파악, 경쟁사 분석 등을 효과적으로 수행할 수 있습니다. 

 

다음은 학습 관리 시스템인 LMS(Learning Management System)를 개발하는 프로젝트를 예시로 프롬프트를 정리한 표입니다.

 

SRS 작성을 위한 프롬프트 예시 <출처: 작가>

 

규모가 큰 프로젝트의 경우, 훨씬 더 복잡한 SRS를 작성하기도 합니다. 따라서 몇 번의 프롬프트로 완벽한 문서를 만들기는 어렵습니다. 다만 이처럼 생성형 AI를 이용하면 프로젝트 초기에 아무것도 없는 상태에서 기본적인 SRS 포맷을 작성하고, 어떤 요소들을 정리해야 하는지 등을 미리 체크할 수 있다는 장점이 있습니다. 아울러, SRS의 각 섹션에 대한 상세한 지침과 더불어 점진적으로 템플릿을 보완하는 방식으로 문서를 고도화할 수도 있습니다.

 

 

설계 단계

1) UI/UX 설계

규모가 작은 프로젝트나 빠르게 프로토타입을 개발해야 하는 경우에는 개발자가 UI/UX 설계를 직접 하기도 합니다. 이 과정에서는 유아이자드(UIzard) 같은 AI 도구를 활용해 기본 레이아웃이나 와이어프레임을 효율적으로 생성할 수 있는데요. 유아이자드는 피그마(Figma)와 유사하게 버튼이나 폼 요소를 드래그 앤 드랍(Drag & Drop)으로 배치할 수 있으며, 오토디자이너(Autodesigner)에 프롬프트를 입력하여 빠르게 AI가 제안하는 UI를 확인할 수 있습니다.

 

Uizard 화면 <출처: uizard.io, 작가 캡처>

 

유아이자드의 AI 기능은 대시보드 왼쪽의 도구 모음에 있습니다. 버튼 이름은 Magic이며, 이 버튼을 클릭하면 AI 기능 목록이 나타납니다. 그리고 Autodesigner 기능을 선택하고, 디자인하고자 하는 대상 기기(모바일, 태블릿, 웹)와 UI에 대한 설명을 입력하면 AI를 통해 자동으로 와이어프레임을 생성할 수 있습니다.

 

Uizard AI 기능을 통한 와이어프레임 생성 <출처: uizard.io>

 

유아이자드 외에도 UI 작업에 챗GPT와 같은 생성형 AI를 통해 색상이나 글꼴, 그래픽 디자인과 같은 시각적 요소에 대한 영감을 얻을 수도 있습니다. 예를 들어, 아래 프롬프트와 같이 개발하고자 하는 웹사이트나 앱의 기본 레이아웃, 내비게이션 구조, SEO 전략 등을 제안하도록 할 수 있습니다. 

 

  • [특정 웹 사이트 또는 앱]의 브랜딩과 일치하는 색상 구성 및 글꼴 스타일에 대한 아이디어를 제시하라.
  • [특정 웹 사이트 또는 앱]의 메인 페이지에 사용자 친화적인 레이아웃을 제안하라.
  • [특정 웹 사이트 또는 앱]의 내비게이션 구조를 설계하고, 각 페이지에 적합한 SEO 전략을 제시하라.

 

2) 데이터베이스 설계

데이터베이스를 설계할 때도 AI 도구를 활용할 수 있습니다. 저는 월킥(Workik)이라는 서비스를 사용해 봤는데요. 프롬프트 입력창에 프로젝트에 대한 설명을 입력하면, 이에 맞는 DB 스키마와 테이블 등을 자동으로 생성합니다.

 

Workik 화면 <출처: workik.com, 작가 캡처>

 

데이터베이스 설계를 위한 AI 도구로는 월킥 외에도 스키마 AI(Schema AI)와 앱 마스터(AppMaste)의 데이터 모델 디자이너(Data Models Designer) 같은 도구들이 있습니다. 다만 이러한 데이터베이스 설계용 AI 도구에는 여러 종류가 있으며, 아직 이 분야의 시장 전체를 압도하는 제품은 없는 것으로 보입니다.

 

Schema AI 화면 <출처: backendless.com, 작가 캡처>

 

앞서 살펴본 UI/UX 설계와 마찬가지로 생성형 AI는 데이터베이스를 설계할 때도 활용할 수 있습니다. 아래 예시와 같은 프롬프트를 통해 프로젝트에 맞는 데이터베이스 유형을 결정하고, 테이블 및 필드 설계, 성능 최적화와 비용 관리, 보안 설정 등에 대한 팁을 얻을 수 있습니다.

 

데이터베이스 설계 프롬프트 예시 <출처: 작가>

 

 

구현 단계

1) 프로젝트 구조 만들기

구현 단계에서 본격적인 코드 작업을 하기에 앞서 전반적인 프로젝트 구조를 만들어야 합니다. 이 경우에도 생성형 AI로 기술 스택이나 프레임워크에 대한 인사이트를 얻고, 전반적인 프로젝트 구조를 만들 수 있습니다. 아울러 보일러플레이트 코드(Boilerplate code)를 빠르게 생성하여 코딩 작업 속도를 더욱 빠르게 할 수도 있죠.

 

클로드를 통한 보일러플레이트 코드 생성 <출처: 작가>

 

2) 코드 작성과 디버깅

코드 작업에서는 앞서 살펴본 깃허브 코파일럿과 같은 AI 페어 프로그래밍 도구를 사용하여 작업 효율을 높일 수 있습니다. 이러한 AI 페어 프로그래밍 도구는 대부분 비주얼 스튜디오 코드(VSCode)나 인텔리제이(IntelliJ) 같은 IDE에 플러그인을 설치하여 사용합니다. 

 

다만 AI 페어 프로그래밍 도구를 사용할 때, 한 가지 주의할 점은 개발자가 충분히 코드를 이해한 후 적용해야 한다는 점입니다. AI가 제시한 코드는 100% 완벽하지 않기 때문입니다.

 

깃허브 코파일럿 플러그인 <출처: 작가>

 

디버깅 작업에서도 AI 페어 프로그래밍 도구나 생성형 AI를 이용하면 버그를 빠르게 처리할 수 있습니다. 예를 들어, 생성형 AI를 이용할 때는 프롬프트 창에 코드와 에러 메시지를 복사/붙여넣기 한 후, 아래와 같이 ‘에러 원인을 파악하고 해결책을 제시하라’는 프롬프트를 입력하면 됩니다. 이밖에 코드를 리팩토링할 때도 생성형 AI를 통해 효율적으로 작업할 수 있습니다.

 

  • 에러 메시지를 분석하고 에러의 원인과 기존 코드에 적용할 수 있는 해결책을 제시하라.
  • 제시한 함수의 성능을 향상시키기 위한 최적화 방안을 제안하라.
  • 제시한 코드의 가독성을 향상시키고, 유지 보수를 용이하게 하려면 어떻게 리팩토링해야 하는지 제시하라.

 

 

테스트 및 배포 단계

1) 테스트 케이스 작성

테스트 케이스를 작성할 때도 생성형 AI를 활용하여 많은 시간과 노력을 줄일 수 있습니다. 아래 예시와 같이 테스트 해야 하는 코드와 시나리오를 설명하는 프롬프트를 입력하면, 일반적인 테스트 케이스부터 예외적인 상황까지 고려한 테스트 코드를 작성해 줍니다.

 

테스트 유형별 프롬프트 예시 <출처: 작가>

 

참고로 데이터베이스나 도커(Docker) 등이 연동된 복잡한 테스트 시나리오의 경우에는 생성형 AI의 테스트 코드가 만족스럽지 않을 수 있습니다. 이런 경우에는 먼저 수동으로 몇 가지 테스트 케이스를 작성한 후, 이를 토대로 생성형 AI에 추가 테스트를 작성하도록 하는 방법이 있습니다.

 

2) 배포 작업

마지막 배포 단계에서도 챗GPT와 같은 생성형 AI를 활용할 수 있습니다. 예를 들어, 배포 작업을 위한 체크리스트 작성과 자동화를 위한 bash 스크립트 작성 등에 활용할 수 있습니다. 아울러 프로덕션 환경에서의 주요 설정과 배포 과정 중 발생할 수 있는 서버 타임아웃 오류에 대한 해결 방법도 제안받을 수 있습니다. 또한 무중단 배포에 대한 모범 사례(Best Practice)도 생성형 AI를 통해 빠르게 파악할 수 있습니다. 

 

배포 단계 프롬프트 예시 <출처: 작가>

 

 

마치며

지금까지 개발 프로젝트의 각 단계에서 AI 도구를 어떻게 활용할 수 있는지 살펴보았습니다. 이렇게 AI 도구를 활용하면 요구사항 수집부터 설계, 구현, 테스트, 배포에 이르기까지 더욱 효율적인 작업이 가능합니다. 따라서 개발자는 다양한 AI 도구를 사용해 보고 각각의 장단점을 파악하여 최적의 활용을 도모해야 합니다.

 

다만 AI는 환각(hallucination), 지식재산권 및 개인정보 이슈, 보안 위험, 편향(Bias) 등의 문제가 발생할 수 있으므로, AI로부터 도출된 결과물은 항상 꼼꼼히 검토하고 적용하는 것이 중요합니다.

 

요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.

좋아요

댓글

공유

공유

Developer, Blogger
324
명 알림 받는 중

작가 홈

Developer, Blogger
324
명 알림 받는 중
곰씨네 IT를 비롯하여 다양한 블로그를 운영 중인 개발자입니다. 2010년부터 LG CNS에서 소프트웨어 엔지니어로 근무하며, LG전자 물류 시스템 구축, 스마트 TV OS 개발, LG화학 모바일 프로젝트 등에 참여했습니다. 2017년 미국으로 이주해 프리랜서 개발자로 전향했으며, 현재는 AI와 머신러닝 분야로의 경력 확장을 위해 미국 매사추세츠 주립대에서 컴퓨터 공학 석사 과정을 병행하고 있습니다.

운영 중인 블로그
곰씨네 IT: https://gomcine.tistory.com
곰씨네USA: https://gomcineusa.tistory.com
코리얼티USA: https://korealtyusa.com

저서
개발자가 영어도 잘해야 하나요? (English for Developer)
http://gilbut.co/c/24026188iO

인터뷰
미국에서 1인 개발자로 홀로서기
https://yozm.wishket.com/magazine/detail/2508/

좋아요

댓글

스크랩

공유

공유

요즘IT가 PICK한 뉴스레터를 매주 목요일에 만나보세요

요즘IT가 PICK한 뉴스레터를
매주 목요일에 만나보세요

뉴스레터를 구독하려면 동의가 필요합니다.
https://auth.wishket.com/login