AI에게 프로그램을 만들게 하기 전에 알아야 할 기본 개념
바이브 코딩은 개발자가 아니어도 AI와 대화하면서 프로그램을 만들 수 있게 해주는 새로운 개발 방식입니다.
예전에는 프로그램을 만들려면 개발언어 문법을 배우고, 개발툴을 설치하고, 코드를 직접 작성하고, 오류를 하나씩 고쳐야 했습니다.
하지만 지금은 ChatGPT 같은 AI에게 원하는 기능을 설명하면 코드, 화면, DB 구조, 테스트 방법까지 도움을 받을 수 있습니다.
그렇다고 해서 아무 지식 없이 바로 좋은 프로그램을 만들 수 있는 것은 아닙니다.
AI는 사용자가 설명한 내용을 바탕으로 결과를 만듭니다.
따라서 비개발자도 최소한의 개발 개념은 알고 있어야 합니다.
이 글에서는 바이브 코딩을 시작하기 전에 알아두면 좋은 사전 지식을 쉽게 정리합니다.
1. 바이브 코딩이란 무엇인가?
바이브 코딩은 사람이 자연어로 원하는 프로그램을 설명하고, AI가 그 설명을 바탕으로 코드를 작성하거나 수정하는 방식입니다.
예를 들어 이렇게 요청할 수 있습니다.
“Android 앱으로 현재 위치를 확인하고, 버튼을 누르면 내 위치를 가족에게 보내는 앱을 만들어줘.”
또는
“C# WinForms로 품목관리 프로그램을 만들어줘. 품목코드, 품명, 규격, 단위, 사용여부를 입력하고 저장할 수 있게 해줘.”
AI는 이 요청을 바탕으로 화면 코드, 버튼 동작, 저장 로직, 오류 처리 코드를 만들어 줄 수 있습니다.
하지만 중요한 점이 있습니다.
AI가 만든 결과는 초안입니다.
최종 확인은 사람이 해야 합니다.
2. 비개발자가 먼저 알아야 할 핵심
바이브 코딩을 잘하려면 다음 개념을 알아야 합니다.
개발언어
개발툴
프로젝트
프로그램 종류
DB
API
화면
빌드
배포
테스트
로그
오류 메시지
이 단어들을 깊게 외울 필요는 없습니다.
다만 각각이 무엇을 의미하는지 알아야 AI에게 정확히 요청할 수 있습니다.
3. 개발언어란 무엇인가?
개발언어는 컴퓨터에게 명령을 내리기 위한 언어입니다.
사람끼리는 한국어로 대화합니다.
컴퓨터에게는 Python, C#, JavaScript, Dart, SQL 같은 언어로 명령합니다.
대표적인 개발언어는 다음과 같습니다.
Python은 자동화, 엑셀 처리, 데이터 분석, AI 테스트에 많이 사용합니다.
C#은 윈도우 프로그램, 업무 프로그램, MES, ERP, MAUI 앱 개발에 많이 사용합니다.
JavaScript는 웹 화면을 만들 때 많이 사용합니다.
Dart는 Flutter 앱 개발에 사용합니다.
SQL은 DB에 데이터를 저장하고 조회할 때 사용합니다.
비개발자는 모든 문법을 외울 필요는 없습니다.
다만 “무엇을 만들 때 어떤 언어를 쓰는지” 정도는 알아야 합니다.
예를 들어 AI에게 이렇게 요청하면 좋습니다.
“Python으로 엑셀 파일을 읽어서 정리하는 프로그램을 만들어줘.”
“C# WinForms로 재고관리 화면을 만들어줘.”
“.NET MAUI로 Android 앱을 만들어줘.”
“MariaDB 기준으로 품목 조회 SQL을 만들어줘.”
4. 개발툴이란 무엇인가?
개발툴은 프로그램을 만들기 위한 작업 도구입니다.
글을 쓰려면 워드프로세서가 필요하고, 그림을 그리려면 그림 도구가 필요합니다.
프로그램을 만들려면 개발툴이 필요합니다.
대표적인 개발툴은 다음과 같습니다.
Visual Studio는 C#, WinForms, MAUI, ASP.NET 개발에 많이 사용합니다.
Visual Studio Code는 Python, JavaScript, 웹 개발, 간단한 코드 수정에 많이 사용합니다.
Android Studio는 Android 앱 개발과 Emulator 관리에 사용합니다.
DBeaver, HeidiSQL은 DB를 보고 수정하는 도구입니다.
Git은 소스코드 변경 이력을 관리하는 도구입니다.
비개발자가 바이브 코딩을 하더라도 개발툴은 설치해야 합니다.
AI가 코드를 만들어 줘도 실행하고 테스트할 공간이 필요하기 때문입니다.
5. 프로젝트와 솔루션이란?
프로젝트는 프로그램 하나를 만들기 위한 작업 묶음입니다.
예를 들어 Android 앱 하나, 윈도우 프로그램 하나, 웹 API 하나가 각각 프로젝트가 될 수 있습니다.
솔루션은 여러 프로젝트를 묶은 큰 단위입니다.
Visual Studio에서는 보통 .sln 파일이 솔루션 파일입니다.
예를 들어 MES 시스템을 만든다면 다음처럼 구성할 수 있습니다.
MES.WinForms
MES.Api
MES.Common
MES.Models
MES.Tests
이 여러 프로젝트를 하나로 묶은 것이 솔루션입니다.
비개발자는 이렇게 이해하면 됩니다.
프로젝트는 프로그램 작업 폴더입니다.
솔루션은 여러 프로젝트를 담는 큰 묶음입니다.
6. 프로그램의 종류
프로그램은 크게 세 가지로 나눌 수 있습니다.
앱
윈도우용 프로그램
웹 프로그램
각각 실행되는 환경과 사용 목적이 다릅니다.
6-1. 앱
앱은 스마트폰이나 태블릿에 설치해서 사용하는 프로그램입니다.
예를 들어 다음과 같은 프로그램은 앱에 적합합니다.
현재 위치 확인 앱
여행 정보 앱
미세먼지 조회 앱
교통정보 앱
위급 알림 앱
현장 태블릿 작업 앱
사진 촬영 후 서버 업로드 앱
앱은 GPS, 카메라, 알림, 센서 같은 스마트폰 기능을 사용하기 좋습니다.
단점은 설치가 필요하고, 구글플레이나 앱스토어 배포 절차가 필요하다는 점입니다.
6-2. 윈도우용 프로그램
윈도우용 프로그램은 Windows PC에서 실행하는 프로그램입니다.
예를 들어 다음과 같은 프로그램에 적합합니다.
MES Lite
ERP 보완 프로그램
재고관리 프로그램
생산실적 입력 프로그램
설비 통신 프로그램
엑셀 업로드 프로그램
파일 변환 프로그램
DB 관리 프로그램
C# WinForms는 이런 업무용 프로그램을 만들 때 많이 사용합니다.
윈도우 프로그램은 사무실 PC, 현장 PC, 설비 연결, 프린터, 바코드 리더기, 엑셀 처리에 강합니다.
단점은 PC마다 설치와 업데이트가 필요할 수 있다는 점입니다.
6-3. 웹 프로그램
웹 프로그램은 브라우저에서 접속하는 프로그램입니다.
Chrome, Edge, Safari 같은 브라우저에서 주소를 입력해 사용합니다.
예를 들어 다음과 같은 프로그램에 적합합니다.
회사 관리자 페이지
웹 MES 대시보드
고객 포털
게시판
통계 조회 시스템
예약 시스템
공공데이터 조회 서비스
웹 프로그램은 설치가 필요 없습니다.
여러 사람이 동시에 접속하기 좋습니다.
단점은 서버가 필요하고, 보안과 네트워크 설정을 신경 써야 한다는 점입니다.
7. DB란 무엇인가?
DB는 Database의 약자입니다.
데이터를 저장하고 관리하는 공간입니다.
프로그램에서 입력한 품목, 거래처, 작업지시, 생산실적, 재고, 사용자 정보는 대부분 DB에 저장됩니다.
엑셀도 데이터를 저장할 수 있지만, 여러 사람이 동시에 사용하거나 대량 데이터를 안정적으로 관리하기에는 DB가 더 적합합니다.
대표적인 DB는 다음과 같습니다.
SQLite는 작은 프로그램이나 앱 내부 저장소에 적합합니다.
MariaDB와 MySQL은 웹과 업무 시스템에서 많이 사용합니다.
PostgreSQL은 안정성과 확장성이 뛰어난 오픈소스 DB입니다.
SQL Server는 Microsoft 환경과 잘 맞는 DB입니다.
비개발자가 바이브 코딩을 할 때는 최소한 다음 개념은 알아야 합니다.
테이블은 데이터를 저장하는 표입니다.
컬럼은 항목입니다.
행은 실제 데이터 한 건입니다.
기본키는 한 건을 구분하는 고유값입니다.
SQL은 DB에 명령을 내리는 언어입니다.
예를 들어 품목 테이블에는 다음 항목이 있을 수 있습니다.
품목코드
품명
규격
단위
사용여부
등록일자
8. SQL이란 무엇인가?
SQL은 DB와 대화하는 언어입니다.
대표적인 SQL 동작은 네 가지입니다.
SELECT는 조회입니다.
INSERT는 추가입니다.
UPDATE는 수정입니다.
DELETE는 삭제입니다.
이 네 가지를 CRUD라고 부릅니다.
Create, Read, Update, Delete의 약자입니다.
예를 들어 AI에게 이렇게 요청할 수 있습니다.
“MariaDB 기준으로 품목 목록을 조회하는 SELECT SQL을 만들어줘.”
“품목코드가 있으면 UPDATE, 없으면 INSERT하는 저장 로직을 만들어줘.”
“DELETE 대신 use_yn을 N으로 바꾸는 논리 삭제 방식으로 작성해줘.”
DB 관련 작업은 특히 조심해야 합니다.
운영 DB에 잘못된 UPDATE나 DELETE가 실행되면 데이터가 손상될 수 있습니다.
9. API란 무엇인가?
API는 프로그램과 프로그램이 데이터를 주고받는 약속입니다.
예를 들어 앱이 서버에 요청합니다.
“현재 위치 기준 관광지 목록을 주세요.”
서버는 응답합니다.
“관광지명, 주소, 전화번호, 거리 목록입니다.”
이 요청과 응답의 약속이 API입니다.
공공데이터 API, 기상청 API, 관광공사 API, 회사 내부 서버 API 등이 모두 API입니다.
API를 사용할 때는 다음 정보가 중요합니다.
API 주소
요청 방식
요청 파라미터
응답 형식
인증키
오류 처리 방식
바이브 코딩에서는 이렇게 요청할 수 있습니다.
“공공데이터 API를 호출해서 결과를 카드형 목록으로 보여주는 MAUI 화면을 만들어줘.”
“API 호출 실패 시 앱이 종료되지 않고 오류 메시지를 보여주게 해줘.”
10. 화면, UI, UX
화면은 사용자가 보는 부분입니다.
UI는 User Interface의 약자입니다.
버튼, 입력창, 목록, 이미지, 탭, 메뉴, 팝업 같은 요소를 말합니다.
UX는 User Experience의 약자입니다.
사용자가 프로그램을 얼마나 편하게 사용할 수 있는지를 의미합니다.
예를 들어 버튼이 예쁘게 생긴 것은 UI입니다.
버튼 위치가 누르기 쉽고, 작업 순서가 자연스러운 것은 UX입니다.
현장용 프로그램에서는 UX가 특히 중요합니다.
작업자가 장갑을 끼고도 누를 수 있는가?
태블릿에서 글자가 잘 보이는가?
필수 입력만 먼저 보이는가?
오류 메시지가 쉬운 한글로 나오는가?
AI에게 화면을 요청할 때는 이렇게 말하는 것이 좋습니다.
“현장 작업자가 태블릿에서 사용할 수 있도록 버튼을 크게 만들어줘.”
“조회 조건은 상단, 목록은 중앙, 상세 입력은 하단에 배치해줘.”
“오류 메시지는 개발 용어가 아니라 사용자가 이해할 수 있는 문장으로 표시해줘.”
11. 빌드란 무엇인가?
빌드는 소스코드를 실행 가능한 프로그램으로 만드는 과정입니다.
C# 코드를 작성했다고 바로 사용자가 실행할 수 있는 것은 아닙니다.
빌드를 거쳐야 exe, apk, aab 같은 실행 또는 배포 파일이 만들어집니다.
빌드 오류는 프로그램을 만들 수 없다는 뜻입니다.
예를 들어 다음 상황에서 빌드 오류가 날 수 있습니다.
문법 오류
파일 누락
네임스페이스 오류
라이브러리 누락
패키지 버전 충돌
XAML 연결 오류
비개발자가 AI에게 오류를 물어볼 때는 빌드 오류 메시지를 그대로 전달하는 것이 좋습니다.
12. 실행과 테스트
실행은 프로그램을 실제로 켜 보는 것입니다.
테스트는 프로그램이 제대로 동작하는지 확인하는 과정입니다.
빌드가 성공했다고 프로그램이 정상이라는 뜻은 아닙니다.
실행해 보고, 버튼을 눌러 보고, 데이터를 저장해 보고, 오류 상황도 확인해야 합니다.
테스트할 때는 다음을 확인합니다.
프로그램이 정상 실행되는가?
화면이 깨지지 않는가?
버튼이 정상 동작하는가?
DB에 저장되는가?
API 호출이 되는가?
오류가 나도 프로그램이 종료되지 않는가?
실제 폰이나 실제 PC에서도 동작하는가?
앱이라면 Android Emulator뿐 아니라 실제 폰에서도 테스트해야 합니다.
13. 로그란 무엇인가?
로그는 프로그램의 기록입니다.
오류가 났을 때 왜 문제가 생겼는지 확인하려면 로그가 필요합니다.
로그에는 다음 정보가 남을 수 있습니다.
실행 시간
사용자 작업
API 호출 결과
DB 저장 결과
오류 메시지
예외 상세 내용
AI에게는 이렇게 요청하면 좋습니다.
“오류가 발생하면 사용자에게는 쉬운 메시지를 보여주고, 상세 오류는 log 폴더에 날짜별 txt 파일로 저장해줘.”
로그가 없으면 오류가 발생해도 원인을 찾기 어렵습니다.
14. 예외 처리란 무엇인가?
예외 처리는 오류가 발생했을 때 프로그램이 갑자기 종료되지 않도록 처리하는 것입니다.
예를 들어 DB 연결이 실패했을 때 프로그램이 꺼지는 것이 아니라 다음처럼 안내해야 합니다.
“서버 또는 네트워크 연결을 확인해 주세요.”
그리고 상세 오류는 로그에 남겨야 합니다.
바이브 코딩에서는 반드시 이렇게 요청하는 것이 좋습니다.
“오류가 발생해도 프로그램이 종료되지 않게 예외 처리를 해줘.”
“사용자 메시지와 개발자용 로그를 분리해줘.”
15. 배포란 무엇인가?
배포는 만든 프로그램을 사용자가 쓸 수 있게 전달하는 과정입니다.
윈도우 프로그램은 exe 파일이나 설치 파일로 배포합니다.
Android 앱은 APK 또는 AAB로 배포합니다.
웹 프로그램은 서버에 올려 배포합니다.
APK는 Android 폰에 직접 설치할 수 있는 파일입니다.
AAB는 Google Play에 업로드하는 앱 번들 파일입니다.
개발자가 테스트할 때는 APK를 사용하고, Google Play에 올릴 때는 AAB를 사용합니다.
배포는 개발의 마지막이 아니라 실제 사용의 시작입니다.
16. 버전과 업데이트
버전은 프로그램의 변경 번호입니다.
예를 들어 다음과 같습니다.
1.0.0
1.0.1
1.1.0
2.0.0
앱을 새로 배포할 때는 버전을 올려야 합니다.
Android 앱에서는 사용자에게 보이는 버전명과 내부 버전코드가 따로 있습니다.
Google Play에 새 AAB 파일을 올릴 때는 내부 버전코드를 반드시 이전보다 높여야 합니다.
17. 권한이란 무엇인가?
권한은 앱이나 프로그램이 특정 기능을 사용하기 위해 필요한 허가입니다.
특히 스마트폰 앱에서는 권한이 중요합니다.
위치 권한
카메라 권한
마이크 권한
알림 권한
파일 접근 권한
인터넷 권한
예를 들어 위치 기반 앱을 만들려면 위치 권한이 필요합니다.
AI에게는 이렇게 요청할 수 있습니다.
“Android에서 현재 위치를 사용해야 하므로 위치 권한 요청과 권한 거부 시 안내 메시지를 포함해줘.”
권한 처리를 하지 않으면 앱이 제대로 동작하지 않거나 앱 심사에서 문제가 될 수 있습니다.
18. 비개발자가 AI에게 잘 요청하는 방법
바이브 코딩에서 가장 중요한 것은 요청을 구체적으로 하는 것입니다.
좋지 않은 요청은 다음과 같습니다.
“앱 만들어줘.”
“저장되게 해줘.”
“오류 안 나게 해줘.”
좋은 요청은 다음과 같습니다.
.NET MAUI로 Android 앱을 만들어줘.
앱 목적은 현재 위치를 확인하고 가족에게 상태 메시지를 보내는 것이다.
화면은 홈, 상태확인, 설정, 안내 탭으로 구성한다.
위치 권한을 요청하고, 권한을 거부하면 안내 메시지를 보여줘.
오류가 발생해도 앱이 종료되지 않게 처리해줘.
윈도우 프로그램이라면 이렇게 요청할 수 있습니다.
C# WinForms로 품목관리 프로그램을 만들어줘.
DB는 MariaDB를 사용한다.
품목코드, 품명, 규격, 단위, 사용여부를 입력한다.
신규 품목은 INSERT, 기존 품목은 UPDATE 처리한다.
SQL은 파라미터 바인딩을 사용한다.
오류는 log 폴더에 날짜별 txt 파일로 기록해줘.
웹 프로그램이라면 이렇게 요청할 수 있습니다.
웹 기반 재고 조회 대시보드를 만들어줘.
프론트엔드는 HTML, CSS, JavaScript로 구성하고,
백엔드는 ASP.NET Core Web API로 구성한다.
DB는 MariaDB를 사용한다.
품목별 현재고와 최근 입출고 이력을 조회할 수 있게 해줘.
19. 바이브 코딩에서 꼭 넣어야 할 요청 문장
비개발자가 AI에게 요청할 때 자주 넣으면 좋은 문장입니다.
기존 기능은 삭제하지 말고 유지해줘.
기존 네임스페이스와 클래스명은 변경하지 말아줘.
수정한 파일 목록과 변경 내용을 요약해줘.
오류가 발생해도 프로그램이 종료되지 않게 처리해줘.
사용자에게는 쉬운 메시지를 보여주고 상세 오류는 로그에 남겨줘.
SQL은 문자열 결합이 아니라 파라미터 바인딩을 사용해줘.
DB 비밀번호나 API Key는 코드에 직접 넣지 말아줘.
운영 DB가 아니라 테스트 DB 기준으로 작성해줘.
수정 후 테스트 방법도 같이 알려줘.
불필요한 외부 패키지는 추가하지 말아줘.
20. 바이브 코딩에서 주의할 점
AI가 만든 코드를 무조건 믿으면 안 됩니다.
반드시 직접 실행해 봐야 합니다.
DB 작업은 테스트 DB에서 먼저 해야 합니다.
운영 데이터는 백업해야 합니다.
비밀번호와 API Key는 AI에게 직접 노출하지 않는 것이 좋습니다.
오류 메시지는 그대로 복사해서 AI에게 전달해야 합니다.
앱은 Emulator뿐 아니라 실제 폰에서도 테스트해야 합니다.
웹은 서버 배포 후 접속 테스트를 해야 합니다.
윈도우 프로그램은 실제 사용할 PC에서 테스트해야 합니다.
마무리
바이브 코딩은 비개발자에게 큰 기회를 줍니다.
아이디어를 가진 사람이 직접 프로그램 개발에 참여할 수 있습니다.
업무 담당자가 필요한 화면과 기능을 설명하고, AI가 코드를 만들어 주는 시대가 되었습니다.
하지만 바이브 코딩은 “개발 지식이 전혀 필요 없는 방식”은 아닙니다.
정확히 말하면,
전문 개발자가 아니어도 개발에 참여할 수 있게 해주는 방식입니다.
그러기 위해서는 최소한의 사전 지식이 필요합니다.
개발언어가 무엇인지
개발툴이 무엇인지
앱, 윈도우 프로그램, 웹이 어떻게 다른지
DB와 SQL이 무엇인지
API가 무엇인지
빌드와 배포가 무엇인지
로그와 예외 처리가 왜 중요한지
이 정도만 이해해도 AI에게 훨씬 정확한 요청을 할 수 있습니다.
AI에게 좋은 결과를 얻는 사람은 질문을 잘하는 사람입니다.
질문을 잘하려면 기본 용어와 구조를 알아야 합니다.
바이브 코딩의 시작은 코딩 실력이 아니라, 만들고 싶은 프로그램을 정확히 설명하는 능력입니다.
'바이브 코딩(Vibe Coding) > 비개발자에게 바이브 코딩이란?' 카테고리의 다른 글
| [5회] 비개발자가 알아야 할 바이브 코딩 필수 개발 용어 (0) | 2026.07.08 |
|---|---|
| [4회] 비개발자가 알아야 할 프로그램의 종류와 구조 (0) | 2026.07.04 |
| [3회] DB란 무엇인가?— DB 종류, 설치 방법, 접근 방식까지 한 번에 이해하기 (0) | 2026.07.03 |
| [2회] 개발툴이란 무엇인가?— VS Code, Visual Studio, SDK, Git 설치 개념 잡기 (0) | 2026.07.03 |
| [1회] 바이브 코딩 전에 알아야 할 개발언어 이야기— Python, C#, JavaScript, SQL 쉽게 이해하기 (0) | 2026.07.03 |