syurhia 님의 블로그

프롬프트 엔지니어링 교과서 본문

도서/IT

프롬프트 엔지니어링 교과서

syurhia 2026. 5. 23. 16:54

서승완 지음

 

개인적으로 AI(챗지피티, 제미나이)를 쓸 때, 검색의 기능을 대신해서 사용해보자니 환각이 자주 발생하기도 했고, 설명을 하는 방식도 좀 불편하게 설명을 해주는 문제점이 있었다. 그래서, 프롬프트 엔지니어링이라는 걸 이용하면 환각 문제점과 내가 원하는 방식대로 설명을 할 수 있는지, 그리고 좀 더 전문적으로 내용을 작성해줄 수 있을까 싶었다.

과거(2023년도) 책이라 그런지 최신과는 좀 동떨어져있긴 하지만, 엔지니어링 기법을 배우기에는 적합한 책이라고 생각되었다. 

최신기법을 사용함에 있어서는 다른 책을 읽어볼 필요가 있다고 생각된다.


이 책에서는 근본적으로 챗지피티를 쓸 때 적용 가능한 방법들을 얘기한다. 바드,클로드,...와 같은 LLM들에도 적용은 가능하지만 각각의 LLM들은 특성이 다르기에 다 똑같이 적용을 할 수는 없다고 한다.

총 12개의 기법에 대해 설명을 한다.

1. Few Shot 기법

 Shot이란 건 간단하게 설명하면 예시로 생각하면 된다. LLM은 패턴을 잡아내는 능력이 뛰어나기 때문에 내가 원하는 대답과 패턴이 있다면 그 예시들을 여러개(Few) 제공할수록 내가 원하는 답에 가까운 결과물이 나올거라는 기법이다. 

 비슷한 개념으로 Zero Shot과 One Shot등등이 있다만, 결국에는 예시를 하나도 제시를 안 하느냐 또는 예시를 한 개는 제공했느냐라는 뜻이다.  

2. 역할 지정 기법(페르소나 기법)

 말 그대로, AI에게 "너는 어떠한 사람이다"라는 역할을 부여해줌으로써 그 분야에 관련성이 높은 답변을 유도하는 기법이다. (할루시네이션이 발생할 순 있다) -> 페르소나 기법이란 건 몰랐는데, AI로 프롬프트를 작성하게 시켰을 때 '너는 무슨 전문성을 가진 누구다.' 이런 식으로 하길래 나도 모르게 보고 배워 자주 사용하던 기법이었다.

 사용방법은 "너는 풀스택 개발을 10년 한 전문가야."와 같이 역할을 부여해 준 후, 무슨 일을 해야 할 지 프롬프트를 작성한다.

3. 마크다운 활용 기법

 이건 챗GPT가 서식을 출력할 때 마크다운(표, 링크, 인용 등등)을 이용한다는 걸 사용한 기법이다. 이걸 이용해서 프롬프트의 형식을 정제할 수 있고, AI에게 정보를 제공할 때 어디가 정보 제공인지 나눠서 보여준다는 식으로도 쓸 수 있다.

 예시를 설명하자면 ---와 개행으로 내용들을 구분시키는 방법이 있다. 이것들을 통해서 내용들을 구분시켜주기도 하는데 일종의 마크다운 활용 기법으로 볼 수 있다.

4. 후카츠 프롬프트 기법

 후카츠라는 사람이 고안한 프롬프트 기법이다. 프롬프트를 만들 때 이런 형식으로 만드세요 라는 템플릿에 가깝다. #명령문, #제약조건, #입력문, #출력문으로 나눠서 AI에게 데이터를 제공하고, 출력을 제어한다.

 예시는 아래와 같다. 그냥 저 내용을 입력하면 된다.

#명령문

너는 풀스택 개발자이다.

이하의 제약조건과 입력문을 토대로 최고의 웹하드 사이트를 제작하라.

#제약조건

- OWASP TOP10을 참고해서 보안적으로 안전한 웹사이트를 제작해야 한다.

- 사용을 함에 있어서 유저들이 피로를 덜 느낄 수 있도록 구조를 단순화해야 한다.

#입력문

- 개발 언어 및 프레임워크 : 백엔드는 PHP, 프론트엔드는 HTML/CSS와 바닐라 자바스크립트, 데이터베이스는 MySQL을 사용한다.

- 핵심 기능: 회원가입/로그인, 파일 업로드/다운로드, 파일 목록 조회 및 삭제 기능이 필수적으로 포함되어야 한다.

#출력문

5. 형식 지정 기법

 얘는...후카츠 프롬프트의 파생버전이다. 출력형식까지 정해서 더 자신이 원하는 형태의 결과물을 나오게 하는 기법이다. 후카츠 프롬프트 기법에서 #출력문 부분을 출력형식으로 바꿔서 답변을 줄 때 원하는 형식을 작성하면 된다.

6. 슌스케 템플릿 기법

 약간 프로그래밍 비슷하게 작성한 기법이다. 마크다운으로 형식을 나눠서 단락을 구분하고 프로그래밍 코드처럼 설계해서 성능이 올라간다는데 솔직히 나는 잘 모르겠다. 그냥 내용을 자세히 작성하면 되는 게 아닌가 싶기도 하고..

 예시이다. 예시를 보면 알겠지만, 리눅스의 커맨드를 실행하는 거에 비슷하게 해놨다. 

#콘텐츠 상세

[주제] = 웹하드 사이트 개발

[개발 언어] = PHP, MySQL

[보안 기준] = OWASP TOP 10

#명령어

[C1] = [주제]를 위해 [개발 언어]를 기반으로 한 전체 디렉터리 구조를 설계해 주세요.

[C2] = [C1]에서 설계한 구조 중, [보안 기준]을 충족하는 '파일 업로드 검증' 핵심 코드를 작성해 주세요.

#실행

$ run [C1] [C2]

7. Q&A 기법

 Few Shot이랑 비슷하다. Q&A를 이어가는 척 하면서 다음 A에 올 때 대화를 유도하는 것이다. 내가 제공한 데이터를 통해 맥락을 이어가게 하는 게 가능하다. 어쩌면 앞부분의 Q&A예시를 던짐으로써 스스로 질문을 던지게도 유도할 수 있을 듯 하다.

예시이다. Q랑A를 내가 직접 써서 AI에게 제공하는거다.

Q: 오늘은 비가 내릴까?

A: 50%확률로 내릴 것 같네요.

Q: 내일은?

A: 내일도 50%겠죠?

Q: 내일모레는?

 

8. 이어쓰기 기법

 내가 쓰던 글의 뒷부분을 이어서 쓰게 해주는 기법이다. 이건 LLM의 특성을 이용한 기법이다. LLM은 기본적으로 확률로 다음 토큰을 예상하는데 이 특성을 이용한거다.

 예시는 다음과 같다.

다음 괄호에 들어갈 내용을 이어 써 주세요.

학교 종이 땡땡땡 어서 모이자~ ()

9. Chain of Thought 기법

 사고의 연쇄 기법이라 해서, AI가 단계적으로 추론하게 하는 기법이다. "한 단계씩 생각해봐"라는 문장을 추가해서 단계적인 추론을 하게 한다고 한다. 요즘은 AI모델 자체에 이 기법이 내장됐다고는 하는데 잘 모르겠다. 유튜브 쇼츠에서 이걸 이용한 프롬프트가 뭔가 유행했다는 걸 본 것 같기도 하고..

 예시이다.

한 단계씩 생각해봐. 

3,6,10은 3의 배수이다 = 거짓

3,2,79,3은 3의 배수이다 =

10. 멀티 페르소나 기법

 말 그대로 멀티 페르소나이다. AI가 복수 인격을 가진 것 마냥 행동하게 시킨다. 예를 들면, 풀스택 개발자 한 명을 쓰는 게 아니라 풀스택 개발자와 보안 담당자, 디자인 전문가 등등을 한 팀으로 꾸려서 각자가 검수한 뒤에 코드를 출력하라고 하는 식이다.

11. 할루시네이션 유도 기법

 얘는 가상의 작품을 제시하고, 그 내용을 상상하게 시키는 것으로 할루시네이션을 유도하는 기법이다. 솔직히, 유도할 필요까지 있나 싶긴 하다. 냅두면 알아서 할루시네이션을 뿜어내는데..

12. ReAct 기법

 외부의 정보를 참고하여 사고하게 하고, 그 사고의 과정을 출력하게 하는 기법이다. 이 방법으로 AI가 무언가 결과를 내놨을 때 어떠한 과정을 통해 결과를 냈는지 알 수 있는 장점이 있다는데, 이게 진짜일지가 의문이다. 그냥 내용만 막 쓰고, 실제로는 다른 작업을 했을 수도 있으니까... 참 AI는 블랙박스와 같아서 알기가 어렵다.

 예시이다.

검색을 통해 질문에 답하라. 다음 형식을 사용해야 한다.

Question: 유저의 질문이며 너가 이 질문에 대한 답을 해야한다.

Thought: 질문에 답을 하기 위해 무엇을 해야 할지 상상한다. 

Action: 구체적으로 검색한다.

Action Input: 검색 키워드를 답하라.

Observation: Action을 수행한 결과를 요약하라.

Final Answer: 입력 질문인 Question에 대한 최종 답변

 

Question: ~~라는 기업의 동향과 최신 보고서에 대해 작성해줘.


다 읽어보며 느낀 점들이다.

다양한 기법들이 존재하는데 사실 상 내가 질문을 좀 더 상세하게 하고 어떠한 출력을 원하는지를 잘 작성하는 것을 템플릿으로 구체화했다는 느낌을 강하게 받았다.

개인적으로 2023년즈음인가 그 때에는 AI와 소통을 하기 위한 직업이 생길거라 생각했었다. 그런데, 요즘의 기술들이 개발되는 것을 보니까 그럴 것 같지도 않다. 오히려 AI를 사용하는 모든 직업에서 취직할 때 기본적인 소양으로서 요구가 될 것 같기도 하고..

전반적으로, 프롬프트 엔지니어링을 어떻게 만들어가는 건지에 대한 책이라기 보다는 이러한 기법들이 있고 이걸 통해 더 정확성을 올릴 수 있다는 소개에 가까워서 살짝 아쉬웠다. 다음번엔 좀 더 근본적인 책이 있나 한 번 찾아봐야겠다. 

'도서 > IT' 카테고리의 다른 글

PHP로 쉽게 시작하는 웹 프로그래밍  (0) 2026.05.13
실무자가 말하는 모의해킹  (0) 2026.04.20