brunch

4. AI 프롬프트 활용하기

더 멋진 프로그램을 향한 레벨업!

by 갸리


AI에게 원하는 답을 얻어내는 '질문의 기술'


프롬프트 적응하기: AI와의 효과적인 소통을 위한 여정

ChatGPT를 비롯한 다양한 AI 모델을 처음 접했을 때, 저는 마치 신기한 장난감을 발견한 아이처럼 수많은 질문을 쏟아냈습니다. 질문에 즉각적으로 답하는 AI의 모습은 정답 여부와 관계없이 구글 검색과는 확연히 다른 새로운 경험을 선사했죠. 하지만 이러한 즉답성은 때로는 단점으로 작용하기도 했습니다. 제가 진짜 원하는 답을 얻기 위해 무분별한 질문을 반복하다 보니, 결국 핵심에서 벗어나 먼 길을 돌아가는 시행착오를 겪곤 했습니다. 이러한 경험을 통해 AI와 효과적으로 소통하기 위해서는 좀 더 체계적인 접근 방식이 필요하다는 것을 깨달았고, 그 해답이 바로 '프롬프트'에 있다는 것을 알게 되었습니다.

00_1.png 이미지 : ChatGPT


최근 몇 년 사이 '프롬프트 엔지니어'라는 새로운 직업까지 생겨날 정도로 이 프롬프트의 중요성이 점점 커지고 있어요. AI가 똑똑한 답변을 내놓게 하려면 우리(사용자)가 명확하고 구체적인 질문, 즉 좋은 '지시문'을 작성해야 한다는 의미죠. 처음에는 이 단어가 조금 낯설고 어렵게 느껴질 수 있지만, AI와 조금만 친해지려 노력하면 금방 익숙해질 수 있답니다.


그래서 이번 챕터에서는 AI 활용의 핵심 열쇠인 프롬프트 작성법에 대해 조금 더 깊이 이야기해 보려고 해요. 이건 단순히 질문을 던지는 기술을 넘어 AI와 한 팀처럼 움직여서 원하는 결과를 더 쉽고 빠르게 얻어내는 필수 과정이랍니다. 이 과정을 통해 여러분도 AI를 훨씬 더 능숙하게 다루고 창의적인 아이디어를 현실로 만드는 즐거움을 느끼실 수 있을 거예요.




프롬프트를 사용해야하는 이유


AI와 잘 통하는 비밀. 그 핵심에는 바로 이 '프롬프트'가 있답니다. 성공적인 프롬프트를 만들기 위해서는 몇 가지 중요한 점들을 기억해두면 좋더라고요.


앞선 챕터에 다룬 "타이머 앱 만들기"를 예로 알아보겠습니다.



첫째, AI에게 정확한 내비게이션을 찍어주기 (명확성과 구체성)

당연한 소리처럼 들릴 수 있지만 AI도 우리가 뭘 원하는지 정확히 알려주지 않으면 헤맬 수밖에 없어요. 뜬구름 잡는 듯한 질문보다는 구체적이고 자세한 지시사항을 주는 게 정말 중요하더라고요.


프롬프트는 AI에게 "내가 원하는 건 이런 방향이고, 이런 모양이었으면 좋겠어"라고 알려주는 친절한 이정표 같은 역할을 해요.


00_2.png 이미지 : ChatGPT


예를 들어, 그냥...

"타이머 앱 하나 만들어줘"

라고 하면? AI는 어떤 스타일로 만들어야 할지 막막할 거예요. 우리가 식당에 가서 "아무거나 주세요" 하는 것과 비슷하죠.


하지만 여기에 딱 한 마디만 덧붙여서,

"macOS 스타일의 타이머 앱을 만들어줘"

라고 하면, AI는 '아하! 사용자는 매끈하고 미니멀한 디자인을 원하는구나!' 하고 바로 알아듣고 길을 찾아 나선답니다. 이렇게 조금 더 구체적으로 말해주는 것. 이게 바로 좋은 프롬프트의 첫걸음이에요.



둘째, 결과물의 '견본'을 보여주기 (출력 형식 명시)

AI에게 우리가 원하는 결과물이 어떤 모습일지 구체적으로 알려주는 것도 정말 중요해요. 마치 우리가 디자이너에게 "이런 느낌으로 만들어주세요" 하고 샘플 사진을 보여주는 것과 같답니다.


결과물의 퀄리티를 높이고 싶다면 우리가 원하는 디자인, 기능, 테마 등을 명확하게 콕콕 집어주는 게 좋아요.

00_3.png 이미지 : ChatGPT
"macOS 스타일의 타이머 앱을 위한 프롬프트 작성해 줘"


이렇게 질문한 뒤에 우리가 원하는 세부 사항들을 하나씩 덧붙여주는 거죠.


"macOS 디자인 스타일은 반투명한 창, 부드러운 곡선, 섬세한 음영"
"테마: 다크 모드와 라이트 모드"
"기능: 타이머 설정, 시작, 일시정지, 재설정 버튼"
"스타일: 미니멀리즘, 정렬된 인터페이스, 깔끔한 타이포그래피"


여기서 저만의 꿀팁 하나!

만약 머릿속에 '아, 딱 이런 앱처럼 만들고 싶다!' 하는 레퍼런스가 있다면 그 앱의 스크린샷을 AI에게 보여주는 것도 정말 좋은 방법이에요. 백 마디 말보다 한 장의 그림이 더 효과적일 때가 많더라고요.



셋째, 큰 그림부터 차근차근 그려나가기 (단계별 접근)

가끔 복잡한 프로그램을 만들고 싶을 땐 이렇게 하세요. 한 번에 모든 걸 다 해달라고 하기보다 단계를 나누어 차근차근 부탁하는 게 훨씬 좋은 결과를 가져오더라고요. 마치 화가가 그림을 그릴 때 스케치를 먼저 하고, 그 다음에 색을 칠해나가는 것처럼요.

00_4.png 이미지 : ChatGPT


예를 들면 이렇게요.


1. (개요) 먼저 큰 주제를 던져줘요.

개요 - "macOS 스타일의 타이머 앱"


2. (세부 사항 1) 그 다음, 우리가 사용할 언어를 알려줘요.

세부 사항 - "개발 언어는 파이썬으로 해줘"


3. (세부 사항 2) 사용할 핵심 도구도 콕 집어줘요.

세부 사항 - "메인 UI 라이브러리는 PyQt5를 사용할 거야"


4. (세부 사항 3) 필요한 다른 도구가 있다면 그것도 알려주고요.

세부 사항 - "이미지 라이브러리는 OpenCV를 사용해 줘"

이렇게 단계를 밟아가면 AI도 헷갈리지 않고 우리가 원하는 방향으로 훨씬 더 잘 따라와 준답니다.



마지막으로, 필요하다면 피드백과 반복을 통해 결과를 개선해 나가세요.

이게 제일 중요할지도 몰라요. AI가 처음 내놓은 답변이 100% 완벽하지 않은 건 너무나 당연한 일이랍니다. 실망하지 마시고 구체적인 피드백을 주면서 조금씩 다듬어 나가는 과정이 필요해요.

00_5.png 이미지 : ChatGPT


"여기 이 버튼 색깔이 마음에 안 드는데 조금 더 밝은 회색으로 바꿔줄래?"
"타이머가 끝나면 '딩동' 소리가 나게 해줘."


이런 식으로 AI와 대화를 주고받으며 함께 결과물을 완성해나간다고 생각하면 과정 자체가 훨씬 즐거워진답니다.


꼭 기본적인 원칙들을 기억하고 AI와 소통한다면 분명 이전보다 훨씬 더 만족스러운 결과물을 얻으실 수 있을 거예요.





더 편리한 프롬프트


"3. AI 프로그래머의 첫 발"에서 ChatGPT에서 작성한 프롬프트로 타이머 앱을 만드는 방법을 설명했습니다. 이번 챕터에서는 더 멋진 프로그램을 만들기 위해서 한 걸음 더 나아가겠습니다.


프롬프트는 ChatGPT나 다른 AI에서도 충분히 만들 수 있지만 우리의 비밀 병기인 Cursor를 이용하면 훨씬 더 쉽고 디테일한 설계도를 얻을 수 있답니다.


이번 예제에서 사용할 파일 이름은 timer_cursor_prompt.py 예요.


1. Cursor의 CHAT 탭에서 질문하기

Cursor의 CHAT 탭을 열고 지난번과 똑같이 한번 물어볼까요?

macOS 스타일의 타이머 앱을 위한 프롬프트 작성해 줘
SCR-20250131-kflq.png



2. Cursor의 스마트한 답변

그러면 Cursor가 아래처럼 훨씬 더 구체적인 프롬프트를 짜주는 걸 볼 수 있어요.

제가 이미 Cursor에 '나는 파이썬으로 작업할 거야' 라고 설정을 해뒀잖아요? 그걸 기억하고 있던 Cursor가 알아서 거기에 딱 맞는 맞춤형 프롬프트를 만들어주는 거예요.


앗, 영어로 나왔다고 해서 당황하지 않으셔도 괜찮아요. 코드를 만드는 데는 전혀 문제가 없으니까요. ChatGPT가 만들어준 프롬프트와 비교해보면 훨씬 더 상세하고 체계적이라는 걸 느끼실 수 있을 거예요.


Create a macOS-style Timer app using PyQt5 with the following features:


1. UI Design:

- Dark theme matching macOS aesthetics

- Top tab bar with:

* World Clock

* Alarms

* Stopwatch

* Timers (selected)

- Large digital display for timer countdown

- Time unit labels: hr, min, sec

- Spinboxes for setting timer duration

- Timer name input field

- Sound selection dropdown for macOS system sounds

- Start/Pause and Cancel buttons


2. Timer Functionality:

- Set timer duration using spinboxes:

* Hours (0-23)

* Minutes (0-59)

* Seconds (0-59)

- Default timer set to 25 minutes

- Start/Pause functionality

- Cancel/Reset functionality

- Countdown display in large digits

- Play selected sound when timer ends


3. System Sound Integration:

- Use macOS system sounds with dropdown selection:

* Glass.aiff (default)

* Tink.aiff

* Hero.aiff

* Morse.aiff

* Ping.aiff

* Pop.aiff

* Purr.aiff

* Submarine.aiff

* Blow.aiff

* Bottle.aiff

* Frog.aiff

* Funk.aiff

* Sosumi.aiff


4. Technical Requirements:

- PyQt5 for UI

- QTimer for countdown

- System sound integration using 'afplay'

- Error handling for sound playback

- Clean code structure with:

* Proper initialization

* Clear method organization

* Error handling

* Debug logging

- Responsive layout and styling


5. UI Styling Details:

- Background color: #1E1E1E

- Button colors:

* Normal: #3A3A3A

* Start button: #34C759

- Text colors:

* Primary: white

* Secondary: #888888

- Input fields:

* Background: #2C2C2C

* Text: white

- Rounded corners for buttons and inputs

- Proper padding and margins

- Large, clear typography for timer display


Please implement this design with attention to detail, matching the macOS Timer app's appearance and behavior.




3. Cursor의 설계도를 ChatGPT에게 전달하기.

이제 Cursor가 꼼꼼하게 짜준 이 설계도(프롬프트)를 그대로 복사해서 우리의 만능 해결사 ChatGPT에게 가져가 볼게요. 그리고 이 설계도를 기반으로 코드를 만들어 달라고 부탁하는 거예요.

SCR-20250131-ljvp.png 파이썬 기반으로 코드를 작성하는 ChatGPT



4. ChatGPT가 만든 코드를 Cursor에서 실행하기

ChatGPT가 코드를 완성해주면 다시 우리의 작업실인 Cursor로 돌아올 차례예요.

먼저 timer_cursor_prompt.py 라는 이름으로 새로운 빈 파일을 하나 만들어 주세요. (물론 파일 이름은 자유롭게 정하셔도 괜찮아요!)

SCR-20250131-llgd.png


5. ChatGPT가 생성한 코드를 Cursor에 복사 붙여 넣기.

그리고 ChatGPT가 만들어준 코드를 이 새 파일에 그대로 복사해서 붙여넣어 줍니다.

SCR-20250131-lnhw.png


6. 두근두근, 업그레이드된 앱 실행하기.

이제 Run Python File 아이콘을 클릭해서 코드를 실행해 볼까요?

운이 좋다면 한 번에 짠! 하고 실행될 수도 있지만 보통은 그렇지 않아요. 몇 번 에러를 고쳐야 할 수도 있어요. (이제 우리에겐 익숙한 과정이죠?) 에러가 나도 당황하지 않고 Cursor의 도움을 받아 차근차근 해결해주면 아래처럼 멋진 앱이 나타날 거예요.

SCR-20250131-loyt.png Cursor가 작성한 프롬프트로 만든 타이머 앱



7. ChatGPT & Cursor 결과물 비교: 어떤 점이 달라졌을까요?

왼쪽이 지난번에 ChatGPT 프롬프트로 만든 앱, 오른쪽이 이번에 Cursor 프롬프트로 만든 앱이에요.

13.png
SCR-20250131-ltyg.png
ChatGPT 프롬프트 결과물 (좌) / Cusor 프롬프트 결과물 (우)

어떤가요? 한눈에 봐도 오른쪽 앱이 디자인도 더 세련되고 기능적으로도 더 완성도가 높아 보이지 않나요?


이처럼 Cursor를 활용하면 프롬프트를 만드는 과정이 훨씬 편리해지고 결과적으로 더 좋은 프로그램을 만들 수 있답니다. 물론 Cursor의 모든 기능을 제대로 활용하려면 유료 버전이 필요할 수 있지만 무료 버전만으로도 충분히 그 강력함을 느껴보실 수 있을 거예요.




마무리를 하며:

제 경험상 그냥 막연하게 "만들어줘!" 하고 질문하기보다는, 만들고 싶은 앱의 모습을 대충이라도 머릿속으로 스케치해본 뒤에 AI나 Cursor에게 프롬프트를 요청하면 우리가 원하는 결과물에 훨씬 더 쉽게 다가갈 수 있더라고요.


그리고 이건 정말 재미있는 부분인데요. ChatGPT, Claude, Grok, Gemini 같은 AI 친구들마다 프롬프트를 짜주는 스타일이 다 제각각이랍니다. 어떤 친구는 꼼꼼한 모범생 같고, 어떤 친구는 창의적인 예술가 같달까요?


이것저것 써보시면서 나에게 잘 맞는 '케미'를 자랑하는 친구를 찾아보는 재미도 정말 쏠쏠해요. 가끔은 생각지도 못했던 멋진 결과물을 선물해주기도 하거든요. 여러분만의 스타일을 찾아 즐겁게 탐험해 보시길 바라요!

keyword
매거진의 이전글3. AI 프로그래머, 그 설레는 의 첫걸음